Skip to content


JD Edwards EnterpriseOne Business Services Server ALTERNATE ENDING

JD Edwards E1 Business Services Server BSSV alternate ending

JD Edwards has come a long way and so has Inter-operating with it.  Interoperability with Xe started with GenJava, GenCOM , matured with XPI, WSG (webMethods). Oracle has come up with BSSV as their future of Interoperability with JD Edwards which Oracle calls native to E1 Toolset.

While its true that you can develop, and deploy Business Services using standard JDE package management and migration tools. Its still not native because BSSV’s are written in Java using JDeveloper. For me native would mean some solution written in C which is what Business Functions and NER’s are written in.

With BSSV you can expose EnterpriseOne business functionality as webservices and also consume external webservices. In short BSSV is a webservices wrapper to E1 Business processes. If you are wondering if webservices can be implemented using ‘C’ , yes it can be , Apache Axis2/C is an excellent web services engine, it supports SOAP1.1 and SOAP1.2 as well as REST style of webservice programming

Not to confuse with Oracle’s SOA and fusion architecture and strategy. You can architect your system using SOA Design principles even in C. Either way Oracle Fusion is the right way forward for JD Edwards customers

Coming back to my point, BSSV is a java application-framework which runs on a application server like ‘Oracle Application Server’  or WebSphere (only 2 servers certified for BSSV). BSSV connects to E1 Enterprise Server through a java connector under the hoods.

Lets ‘C’ how it would have panned out if BSSV was implemented in C programming language. For clarity I am going to call BSSV as Java-BSSV and the alternate ending as C-BSSV

C with this approach you would write a C Business Function in OMW and the system will create the webservices Handling partfor you when you deploy it to server. All the classes you have to write in Java-BSSV will be eliminated I am talking about Value Classes, Config Classes etc etc. The C-BSSV can call Business Functions, Table I/O, UDC, Processing Options, Soft Coding etc natively. This approach will work on all platforms windows and unix based. A C-Business Function programmer can verify this for you.

Why I wanted the alternate ending

The bulk of JD Edwards is written in C programming language, millions and millions of lines of code. There is no way you are able to transition away from ‘C’. As far as JDE is concerned Oracle will have to do develop and enhance these C codes, so why introduce a new language in the mix and in doing so another transition point and potential point for failure.

Lets see how past E1 integration frameworks worked, and we will contrast it with BSSV. Brace yourself its going to get real technical.  To list a few are GenJava, GenCOM, and XPI

First we had GenJava, in which you ran an exe process which generated  Java-Stubs or classes. You would then import these stub-classes in your Java Applications for calling C-Business functions within JD Edwards.  This approach was the only realtime option available and it worked well for the most part. At the heart of this framework was the connector.jar which provided connectivity with JDE Xe. The weakest link in this approach is the connection between java class and E1 server

Along came XPI which is  rebranded webMethods. XPI had the concept of Adapter which is a java connector, which was configured through AdapterManager a java based program and later a  web based console. You would provide it with username, password, servername port etc. you would create AdapterServices to call the business functions. The weakest link in this approach is the connector between 3rd party(XPI) and E1 server

WSG which ia again WebMethods added a webservice layer to E1 , WSG also had the connector architecture, so Does Java-BSSV

Posted in JDE EnterpriseOne, Oracle Fusion, webMethods.

Tagged with , , , , , , .


Migrating from Webservices gateway a.k.a WebMethods to Business Services Server

Migrating from Webservices gateway a.k.a WebMethods to Business Services Server

WebServices Gateway and the underlying toolset has been JD Edwards E1 integration tool since Xe.

Web Services Gateway is nothing but webMethods 6.1 or 6.5 with the JD Edwards E1 adapter

Oracle has decided to scrap WSG and replace it with Business Services Server.

Like it or not BSSV is the Oracle Vision for SOA enabling JD Edwards EnterpriseOne. Its easier to implement BSSV than to

Posted in Oracle Fusion, webMethods.

Tagged with , , , .


TroubleShooting webmethods out-Of-Memory exception

TroubleShooting webmethods out-Of-Memory exception

Every once in a while I come across a webMethods installation which has regular JAVA out of memory. Usually when this occurs The system crashes with a java heap dump file.

Even before the system crashes there is a long period of inactivity which is a ’server hang’ in Administrators lingo. No new requests are processed and the webmethods server is generally unavailable.

These out of memory exceptions are most often than not triggered by a long running job/scheduler or a process which goes through a lot of data. This usually means that your server is not sized for your requirements.

In the small instances I have seen, a Out Of Memory occurring when the server was left alone for some time without any load, This means that you have a memory leak within JVM or webMethods

Ok so you have a OOM, what now. Definitely call webMethods support and enter a case, include the following in the case documents

1)server logs at time of crash

2)error logs at time of crash

3)java heap dump if available

4)core dump , usually is a very large file.. usually approaching a Gig …OPTIONAL

5)webMethods server version, service pack, http://wmserver:port/WmRoot/server-environment.dsp

6)Operating system version and Service packs

7)OS architecture 32-bit/64-bit and JVM arch 32-bit/64-bit

8)wM diagnostic information , can be gathered by visiting http://wmserver:port/invoke/wm.server.admin/getDiagnosticData

Please include as many of the above files as possible , it usually speeds up the wM support process.

With that out of the way lets do some investigation on our own.

1)Check the server log around the crash to see if you can find out the process which was active during the crash(this could have caused the OOM)

2)Check error logs around crash

3)Use the stats parser tool to look at the stats.log around crash time, look for memory usage, thread usage and session usage. the tool can be downloaded from here

4) Run the java dump through the IBM Thread and Monitor Dump Analyzer for Java available here look for the term “Cause of thread dump” , frequency of garbage collection and free thread pool

IBM Thread and Monitor Dump Analyzer for Java

Posted in webMethods.

Tagged with , , , .


JD Edwards Business Services Server for Dummies

JD Edwards Business Services Server for Dummies

JD Edwards BSSV or Business Services server is a webservice layer for JDE E1. Its a Java Enterprise module which is installed on WebSphere or Oracle Application Server.

At the high level, this is how it looks

Figure 1


Explainer: You would install the BSSV ESU on your chosen application server (webShpere/OAS) using server manager.

BSSV Connects to your enterprise server to access business functions and expose them to the outside world as webservices

Figure 2

Explainer

Figure 3

Posted in webMethods.


Business Process Management

Business Process Management , just add a burning desire to improve processes and enjoy.

BPM is a trend that is sweeping the IT sectors of companies , next only to SOA.

in the spirit of oversimplification and dejargonification, BPM is the methodology to better manage your processes.

B usiness  P rocess M anagement, nothing less nothing more. I recently read an article in which the author proceeded to define BPM separately into Business.. and Process.. and Management…. . This is the biggest mistake when you start off. Its actually like you guessed it BusinessProcess Management, Business&Process together

if you want to manage you have to measure, before you measure have to know(analyze) what to measure.

realLifeizing : say you have a process in your organization, that takes longer than you think it should and breaks every month-end on
finance closing day on the only one time it is run and the only time it needs to work. Fails every time old faithful.

Nobody knows why it fails, heck nobody even knows what the process should be. There is a faint inkling in peoples minds on what it should be. these people are
distributed in various departments, who hardly talk. But talk they do, when? when sparks are flying and the s–t has hit the fan. some months its spectacular with the CEO involved,
not so spectacular  in some months.

STEPO 1 WHO_DOES_THIS BusinessOwners, BusinessAnalysts, BusinessUsers. Common sense dictates that you or someone knows his processes, so you analyze and model your processes, there are software tools available for this, but for now use paper and pen.draw it like a flow chart top-down. Dont abstract too-much dont granulate too much. Get all the teams and deaprtments to agree that this is the process. This is called Business Process Analysis.

You would typically throw in a few existing process-metrics like total-processing time, efficiency, profitability yada yada . even as you are modelling your existing process you start to get a epiphany(or something similar) a revelation at least, on how non-optimized your processes are. you also get inspirations, what-ifs on how to better it. this alone is worth the effort.

STEPO 2 WHO_DOES_THIS ITDeveloper Before starting this stepo you should have a model from the above step. This model is abstract and needs to be converted to actual executing process-tasks. e.g 1) enter requisition, 2)manage-approve 3)convert-to-purchase order 4)generate quote 5) send to vendors 6) etc. These steps will be in different systems and/or departments. This model is converted to actual executable process using BPEL language and deployed on a BPEL container or server. this is called Business Process Execution. The execution throws up real metrics

STEPO 3 : WHO_DOES_THIS ProcessAdmin The above BPEL process is monitored usually on a dashboard like interface. The executing process outputs metrics which are predefined by the business analyst. this is called Business Activity Monitoring or BAM. this could very well be called business process monitoring , but then it would conflict with the original BPM def.

now BPM is an iterative process, you cannot get your processes optimized at the end of these 3 steps
this real life metrics data that step3 generated is fed to the model. What-if scenarios analyzed and thought upon. this will hopefully lead to a change in the model which is then fed to the executable BPEL and then actually monitored.

people, not software, improve processes, the BPM software you choose can only help you identify bottlenecks, delays, inefficiencies etc. It is up to you to identify and remove unwanted steps, build interfaces, train your staff to achieve this end. BPM is no AI

Oracle BPM Solution uses the industry leading ARIS platform
1) oracle BP Architect, used for analysing and simulating
2) oracle BP publisher is used by IT Developer to create and publish the processes to the BPM server with role bases process steps
3) oracle Business process repository , usually a database to store meta data information
4) oracle BP repo server to run multiple versions of processes and run simulations

http://www.oracle.com/technology/software/products/bpa/index.html

Posted in webMethods.

Tagged with , , , .


WebMethods Enterprise Service Bus

Whats an ESB:

An Enterprise Service Bus is a software which provides a enterprise wide messaging mechanism ,a.k.a the BUS.

Sorry to disappoint you, but that’s what a Enterprise Service Bus is, a Common interface to which your enterprise systems can communicate with.

An ESB is pretty much useless if its only the above, hence the attempt to extend it to a definition of something useful to your EAI and SOA effort.

So what should a ESB have apart from the common messaging framework.

1. Support for a Enterprise Message Model
2. Transformation and Routing capability
3. Service Invocation
4. Complex Event Processing
5. Security & Encryption

Nice to Have

1. Process Choreography
2. Service Orchestration
3. Service Management, BAM

webMethods Enterprise Service Bus High Level

webMethods Enterprise Service Bus setup

Step 1:Install the Core WebMethods IS Server

Step 2: Install and Configure Broker-JMS

Step1, Provides the BUS functionality, along with the WebService Stack
Step2, Provides the backbone for supporting a Event Driven Architecture

Step1 and Step2 are what make a ESB.webMethods further extends this Architecture by providing and supporting these

  1. open standards HTTP,XML,SOAP,WSDL
  2. Easy service enabler, –> click–>tools–>generate WSDL existing and new flows
  3. Mapping and Transformation of Documents from disparate systems
  4. Unified Eclipse-based, graphical drag-and-drop development environment for designing, developing and orchestrating services
  5. Security and authentication SSL/TLS for securing the HTTP and JMS transports, and WS-Security for securing messages, encrypt and digitally sign messages

***Just to be clear, ESB does not have to support these above mentioned standards, you can very well have a closed and proprietary ESB and Corporations have been having these ESB’s since time immemorial.

Also you can build an ESB w/o using webMethods. But this topic is about Building a ESB using webMethods

Posted in webMethods.

Tagged with , , .