Weblogic Authors: Yeshim Deniz, Elizabeth White, Michael Meiner, Michael Bushong, Avi Rosenthal

Related Topics: Weblogic

Weblogic: Article

A Real-World Business Process Model Part 2

Creating the process application

In my first article (WLDJ, Vol. 3, issue 6), I provided an overview of BPM specifications in this area. I described the order change example and the steps needed to create the business process in WebLogic Integration.

In this article, you will see how to create a process application. We can call this application orderChange. In this application we need to create a new process called orderChange.jpd. To start the process, we need to add a ClientRequest received. Next we will add the Web service validate. We will be looking in detail at the steps to create this business process in WebLogic Workshop.

Create New Application and New Process

When you start modeling a business process in WebLogic Integration, you first need to create a business process application called orderChangeprocess, in which you create the business process OrderChange.jpd. When you create orderChange.jpd in the Design View, you will see only the Start and Finish nodes

Create Client Request to Start Process

In WebLogic Workshop there are five different ways to start a business process.
  • Invoked via a client request
  • Invoked synchronously via a client request with return
  • Subscribe to a message broker channel and start via an event (timer, e-mail, file, adapter, etc.)
  • Subscribe synchronously to a message broker channel and start via an event
  • Invoked via one of several client requests or subscriptions (event choice)
In our example, an XML document is sent with changes to request a ChangeOrder. The XML document has the format of RosettaNet PIP 3A8. Let us call it orderchange.xsd. First add the orderchange.xsd to the schemas folder by importing it in the application. When you add the schema, XML Beans are created. We will look at XML Beans in detail in the next section.

We will use Invoked via a Client Request to start the business process as the client is requesting an order change. To do this, you need to create the method and parameters that your client uses to trigger the start of your business process, which is specified in the General and Receive Data settings of this node. General Settings specifies the method exposed by your business process to clients. Clients invoke the orderChange method to start and make requests on your business process. We map this method to a typed XML, orderchange.xsd. That is, the messages received from clients must contain XML that is valid against an XML Schema orderchange.xsd.The General Settings tab is updated to indicate that you successfully completed the specification of a method name and parameters:

In Receive Data, specify a variable to which an Order Change request, received from a client, is assigned at run time. You can use Variable Assignment mode or Transformation mode. Here, you will assign the XML message received from the client directly to a variable orderChangexsd of the same data type as shown in Figure 1.

The JPD process looks like this:

@jpd:process process::
* <process name="orderchange">
* <clientRequest name="orderChangeRequest" method="orderChangeRequest"/>
* </process>::

The code behind it looks like that in Listing 1.

Add a Web Service

The next step is to call the validateConfig Web service. You can create a Web service control to invoke this Web service. I assume here that you have a WSDL defined for this service. We will create the Web service control through a WSDL. The first step is to import the WSDL into the schemas folder.

When you import the WSDL to the schemas folder of your process application XML, Beans are created. Let's look at XML Beans in detail first.

XML Beans
XML Schema is the starting point for XMLBeans. The XML Schema specification provides a rich data model that allows you to express structure and constraints on your data. In an XML Schema you can enforce control over how data is ordered in a document or how you can constraint particular values (for example, price has to be more than $150.00). To do this in Java you have to write custom code. XMLBeans honors these schema constraints.

Let's take the schema and XML for outValidateConfig shown in Listing 2 and see how it is converted to XMLBeans. This is the output schema for the validateConfig service and specifies if the configuration is valid or not valid and if it is not valid, the error.

You have one complex type element outValidateConfig. In a schema, a complex type is one that defines an element that may have child elements and attributes. The sequence element nested in the complex type lists its child elements. Since outValidateConfig is at the top of the schema, it is a global type.

Within a complex type, outValidateConfig, you use simple types like ConfigID and complex types like Status. The simple type, which is a built-in type, is part of the schema specification. There are 46 built-in types defined in the specification. When you compile XML schema, the resulting API is made up of two categories of types, built-in types that mirror those in the schema specification and others that are generated from user-derived schema types. To compile the XML schema, you can import the schema or WSDL into the schemas directory in WebLogic Workshop; it will create the XMLBeans.

The compiled XML Schema gives you two generated XMLBeans interfaces: OutValidateConfigDocument and outValidateConfigDocument.outValidateConfig. From the schema point of view, the generated outValidateConfig interface represents the complex type you see inside the schema's outValidateConfig element declaration. This complex type translates into a sequence of four elements: Status, Error, ConfigID, and ShipDate. The outValidateConfig interface exposes methods such as getStatus and setStatus to get and set the value status element.

The outValidateConfigDocument interface represents the outValidateConfig document that contains the root outValidateConfig element. XMLBeans create a special "document" type for global element types. A document type provides a way for you to get and set the value of the underlying type, here represented by outValidateConfig. The outValidateConfig element is considered a global element because it is the root element and can be referenced from anywhere else in the schema. To set or get the value of the user defined types get and set methods are provided.

Once we have the XMLBeans, we will create a Web service control from the WSDL. To do this you can add a Web services control with the option of specifying it from a WSDL. Let us look in detail at the control framework.

Control Framework

You can use the control framework of WebLogic Workshop 8.1 to easily connect to and use databases, back-end systems like ERP or legacy systems, custom or vendor applications, and Web services with Java controls. These controls wrap up other controls and add business logic to create reusable, composite components that are part of a business process.

BEA WebLogic Workshop ships with the following controls:

  • Web service control: The control can import Web services from their WSDL files, which can be local or dynamically picked up from UDDI server. These controls are interoperable with any .NET or Java Web service.
  • EJB control: The EJB control contains the code for JNDI lookups, object creation, and casting steps. EJBs can be invoked through control objects.
  • Database control: Enterprise databases are integrated via JDBC through the database control. SQL Maps allow you to indicate how their Java parameters should be replaced into the query.
  • JMS control: The client listens on this JMS control via callbacks defined in the client. This control enables publishing and subscribing to queues.
  • J2EE CA Adapter control: Enterprise applications and legacy systems can be accessed via J2EE CA adapters, which are controlled by J2EE CA controls. J2EE CA interfaces are integrated with Java through XML maps.
  • Timer control: Scheduling for responses and requests can be managed through this control, which triggers the Web service periodically. This enables it to send status updates to the client, poll a data source, or establish a time-out on a request to a resource.
Once we have created the Web service control, we need to specify the call to the validateConfig Web service control in the business process definition. We need to send data specified by the validateConfig method. To do this, we build a data transformation from the data received in the orderchange.xsd to the validateConfig as shown in Figure 2. The code for the data transformation is shown in Listing 3. In Listing 4, the model element from orderchange.xsd is mapped to the model element in the validateConfig method:

The cstic element from orderchange.xsd is mapped to the cstic element in the validateConfig method in Listing 5.

Figure 3 shows the transformation.


In my next article I will look at how to create decision points and the order status control in the business process. In the fourth article I'll write the change to a file and end the process. I'll discuss process monitoring in the last article in the series.


  • BEA WebLogic Workshop Help: http://e-docs.bea.com/workshop/docs81/doc/en/core/index.html.
  • More Stories By 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.

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

    @ThingsExpo Stories
    DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of bus...
    Cloud Expo | DXWorld Expo have announced the conference tracks for Cloud Expo 2018. Cloud Expo will be held June 5-7, 2018, at the Javits Center in New York City, and November 6-8, 2018, at the Santa Clara Convention Center, Santa Clara, CA. Digital Transformation (DX) is a major focus with the introduction of DX Expo within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive ov...
    DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
    DXWorldEXPO | CloudEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
    DXWorldEXPO LLC announced today that ICOHOLDER named "Media Sponsor" of Miami Blockchain Event by FinTechEXPO. ICOHOLDER give you detailed information and help the community to invest in the trusty projects. Miami Blockchain Event by FinTechEXPO has opened its Call for Papers. The two-day event will present 20 top Blockchain experts. All speaking inquiries which covers the following information can be submitted by email to [email protected] Miami Blockchain Event by FinTechEXPO also offers s...
    Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.
    Digital Transformation and Disruption, Amazon Style - What You Can Learn. Chris Kocher is a co-founder of Grey Heron, a management and strategic marketing consulting firm. He has 25+ years in both strategic and hands-on operating experience helping executives and investors build revenues and shareholder value. He has consulted with over 130 companies on innovating with new business models, product strategies and monetization. Chris has held management positions at HP and Symantec in addition to ...
    Cloud-enabled transformation has evolved from cost saving measure to business innovation strategy -- one that combines the cloud with cognitive capabilities to drive market disruption. Learn how you can achieve the insight and agility you need to gain a competitive advantage. Industry-acclaimed CTO and cloud expert, Shankar Kalyana presents. Only the most exceptional IBMers are appointed with the rare distinction of IBM Fellow, the highest technical honor in the company. Shankar has also receive...
    Enterprises have taken advantage of IoT to achieve important revenue and cost advantages. What is less apparent is how incumbent enterprises operating at scale have, following success with IoT, built analytic, operations management and software development capabilities - ranging from autonomous vehicles to manageable robotics installations. They have embraced these capabilities as if they were Silicon Valley startups.
    Poor data quality and analytics drive down business value. In fact, Gartner estimated that the average financial impact of poor data quality on organizations is $9.7 million per year. But bad data is much more than a cost center. By eroding trust in information, analytics and the business decisions based on these, it is a serious impediment to digital transformation.
    The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addr...
    Predicting the future has never been more challenging - not because of the lack of data but because of the flood of ungoverned and risk laden information. Microsoft states that 2.5 exabytes of data are created every day. Expectations and reliance on data are being pushed to the limits, as demands around hybrid options continue to grow.
    As IoT continues to increase momentum, so does the associated risk. Secure Device Lifecycle Management (DLM) is ranked as one of the most important technology areas of IoT. Driving this trend is the realization that secure support for IoT devices provides companies the ability to deliver high-quality, reliable, secure offerings faster, create new revenue streams, and reduce support costs, all while building a competitive advantage in their markets. In this session, we will use customer use cases...
    Business professionals no longer wonder if they'll migrate to the cloud; it's now a matter of when. The cloud environment has proved to be a major force in transitioning to an agile business model that enables quick decisions and fast implementation that solidify customer relationships. And when the cloud is combined with the power of cognitive computing, it drives innovation and transformation that achieves astounding competitive advantage.
    Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
    With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors! In this blog post, we provide 7 tips on how, as part of our world-class faculty, you can deliver one of the most popular sessions at our events. But before reading...
    The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
    The IoT Will Grow: In what might be the most obvious prediction of the decade, the IoT will continue to expand next year, with more and more devices coming online every single day. What isn’t so obvious about this prediction: where that growth will occur. The retail, healthcare, and industrial/supply chain industries will likely see the greatest growth. Forrester Research has predicted the IoT will become “the backbone” of customer value as it continues to grow. It is no surprise that retail is ...
    Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
    DXWorldEXPO LLC announced today that "Miami Blockchain Event by FinTechEXPO" has announced that its Call for Papers is now open. The two-day event will present 20 top Blockchain experts. All speaking inquiries which covers the following information can be submitted by email to [email protected] Financial enterprises in New York City, London, Singapore, and other world financial capitals are embracing a new generation of smart, automated FinTech that eliminates many cumbersome, slow, and expe...