YOUR FEEDBACK
Adobe Flex 2 - Answering Tough Questions About Enterprise Development
A Correct Person wrote: Denis Roebrt commented on the 21 Aug 2006 "Tough Que...
SOA World Conference
Virtualization Conference
$50 Savings Expire May 23, 2008... – Register Today!

2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts

SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


Create a Real-World Business Process Model, Part 4
How changing an order can be added to an ERP-based system

Digg This!

In the first article in this series (Vol. 3, issue 6), I gave you an overview of business process management (BPM) and covered the specifications in this area. I described the order change example and the steps needed to create the business process in WebLogic Integration (WLI). In the second article I looked at how to create a process application (orderChange). In this application I created a new process called orderChange.jpd. To start the process we added a ClientRequest received. Next we added the Web service validate config.

In the third article I added a decision point to handle the result from validate config Web service. The decision point helps in handling both the positive and negative outcomes of the result from the process. Then I added a database control to the process, which checks the status of the order to be changed. Finally, I added another decision node to handle the result from the database Control. In this article we will see how the change order is written out to a file. We will also see how this change order can be added to an ERP-based system (SAP). The code for the process will be examined.

Add a File Control
First let's see how to add the file control to the process.If the orderStatus allows for the order to be changed, the order can be written out to a file through a File Control. Alternatively, you can change an order in SAP using the Application View Control as decribed below.

A File Control makes it easy to read, write, or append to a file in a file system. You can also use the File Control to copy, rename, and delete files. To write to a file control you can add the File Control-ChangeorderFile to the process as shown in Figure 1. This writes an XML file to c:/bea directory, which can then be used to change the order. Once you have written the XML file to the directory, you can use it to update your order management systems.

Add an Application View Control for SAP
To write the order change to SAP, we need to create an integration solution from WebLogic to SAP using an SAP adapter. The integration framework in WLI is based on J2EE Connector Architecture 1.0. WLI provides adapters, application views, and Application View Control for integrating with an EIS.

The SAP adapter provides integration with SAP Business APIs (BAPIs), which are interfaces you can use to link your applications to SAP components. BAPI calls are synchronous and return information. This information is either error notification or a well-formed XML document containing the result of the BAPI call. The adapter also provides integration to Intermediate Documents (IDocs). These calls are asynchronous and do not return any information synchronously. The third integration is to Remote Function Calls (RFCs). RFCs are calls in which the application establishes a connection to the SAP system (using a valid User ID) and then issues a call to an SAP function. RFC calls are synchronous and usually return information.

To design an application integration solution with an SAP adapter, you must first download the SAP Adapter from the BEA Web site and the SAP JCo from the SAP Web site. To place an order in SAP from BEA WebLogic, you need to generate schemas for the Create Sales Order BAPI. This BAPI will facilitate creation of the order in SAP.

To generate schemas for SAP Business Objects (which will facilitate creation of the order), you need to install BEA Application Explorer. To create schemas you first need to either establish a new connection with SAP or use an existing connection. For a new connection you must name the connection (e.g., D7b), application server system number, client number, username, and password. When you connect to SAP, all the application components, IDocs, and RFCs are pulled into the Application Explorer. We specifically want to create a schema for the Change Sales Order BAPI. We can do that by right clicking on the BAPI and creating the request and response schemas (see Figure 2). These schemas and the manifest.xml file are stored in the working directory.

Next we need to define an RFC remote destination in SAP. You must define an SAP remote destination so that the SAP system can send IDocs to the adapter and respond to RFCs and BAPIs. This SAP remote destination must be defined before you create your application view.

Now create the application view by using the Application View Console. Select the SAP adapter and then create a new browsing connection. You then need to configure your service with or without load balancing. Figure 3 shows an example of SAP without load balancing. To test a service, go to the Application View Administration page and click the Test link next to the service to be tested. In the Test Service window, copy the appropriate XML strings from the SAP request. When you click Test, the results appear in the Test Results window.

After you have created an application view to send and receive schemas, a Control can be created from the application view. This Application View Control for SAP can be used in business processes.

Code for orderChange Business Process
In this section we'll look at the JPD for the orderChange business process and the code for the different parts of the process that we have created in the last few articles. Let's look at the details.

Start of the process:

/**
* @jpd:process process::

Name of the process:

* <process name="orderchange">

OrderChangeRequest as ClientRequest:

* <clientRequest name="orderChangeRequest" method="orderChangeRequest"/>

Process calling the validateConfig Web service:

* <controlSend name="validateConfig" method="validateConfignewValidateConfig"/>

First decision point to check if the configuration is valid:

* <decision name="Is configuration Valid?">
* <if name="true" condition="cond_outValidateConfig_1($outValidateConfig)">

Process calling the order status database control:

* <controlSend name="OrderStatus" method="orderstatusGetJNDIName"/>

Second decision point to find out if order is changeable:


 *       <decision name="Is order changeable?">
 *         <if name="Yes" conditionMethod="condition"/>
 *         <default name="No"/>
 *       </decision>
 *     </if>
 *     <default name="No"/>
 *   </decision>

Business process writes the file through file control:

* <controlSend name="write" method="changeorderFileWrite"/>
* </process>::

Summary
We have seen how to write the change order file through a file control to a directory. This XML file can be used to create a change order in any of your order management systems. I have also shown you how to use an SAP adapter to connect to SAP. We looked at how to use BEA Application Explorer to connect to SAP to create request and response schemas. We saw how the Application View Console uses these schemas and creates an Application View. This Application View can be exposed to WebLogic Workshop to create an Application View Control. The Application View Control can be used in the business process to create a change order in SAP.

In the next and final article, we will look at converting this JPD process into a WSBPEL-specified process and how WLI accomplishes it. This process will be examined to see how it is executed. We will look at tools to monitor the process and see how HP and BEA are partnering to monitor the process in WLI.

References

  • BEA WebLogic Workshop Help: http://e-docs.bea.com/workshop/docs81/doc/en/core/index.html
  • About Anjali Anagol-Subbarao
    Anjali Anagol-Subbarao works in HP's IT organization as an IT architect. She has 12 years of IT experience, the last five in Web services. Her book on J2EE Web services on BEA WebLogic was published in October 2004.

    BEA WEBLOGIC LATEST STORIES
    3rd International Virtualization Conference & Expo: Themes & Topics
    From Application Virtualization to Xen, a round-up of the virtualization themes & topics being discussed in NYC June 23-24, 2008 by the world-class speaker faculty at the 3rd International Virtualization Conference & Expo being held by SYS-CON Events in The Roosevelt Hotel, in midtown
    Microsoft To Keynote 4th International Virtualization Conference & Expo
    Mike Neil is general manager for virtualization strategy in the Windows Server Division at Microsoft. Mike is focused on the delivery of the Windows virtualization technology, including Windows Server 2008 Hyper-V, Microsoft Hyper-V Server and Virtual PC 2007. Mike also directs the tec
    Virtualization Meets DaaS - Desktop-as-a-Service
    After a $1.5 million angel round, Desktone, which was started in 2006 by Eric Pulier, who also started SOA Software, US Interactive and IVT, picked up $17 million in first-round funding about a year ago from Highland Capital Partners, SoftBank Capital, Citrix Systems and the China-base
    Engelbart's Usability Dilemma: Efficiency vs Ease-of-Use
    The mouse was the original idea of Doug Engelbart who was the head of the Augmentation Research Center (ARC) at Stanford Research Institute. Engelbart's philosophy is best embodied, in my opinion, in the design of another device that he invented, the five-finger keyboard - with keys li
    Web 2.0 Is Fundamentally About Empowering People
    'Unlocking content to be remixed into new business value' is the driver of Web 2.0 in the enterprise, says Rod Smith, IBM VP of Emerging Internet Technologies, in this Exclusive Q&A with Jeremy Geelan on the occasion of IBM's release of a new technology created by IBM researchers, code
    Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
    Here is a question that I have been pondering on and off for quite a while: Why do 'cool kids' choose Ruby or PHP to build websites instead of Java? I have to admit that I do not have an answer. Why do I even care? Because I am a Java developer. Like many Java developers, I get along w
    SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
    SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
    Click to Add our RSS Feeds to the Service of Your Choice:
    Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
    myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
    Publish Your Article! Please send it to editorial(at)sys-con.com!

    Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

    SYS-CON FEATURED WHITEPAPERS

    MOST READ THIS WEEK
    ADS BY GOOGLE
    BREAKING NEWS FROM THE WIRES
    AmberPoint Extends SOA Governance to Apache ServiceMix, BEA AquaLogic Service Bus 3.0, BEA WebLogic Integration, Cisco ACE XML Gateway, JBoss Enterprise Application Platform and Oracle Fusion
    AmberPoint announced today that it has extended the reach of its runtime SOA governance