Welcome!

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

Related Topics: Weblogic

Weblogic: Article

An Architectural Blueprint Part 3

Process offers unification

As we've discussed over the past few issues, JTA-style transactions provide a way for multiple data updates to be tied together so application logic can operate safely in the assumption that it will succeed or fail consistently, even in the face of technical failures along the road.

In this last article in this series, I will apply some of the BPM techniques covered in the first two articles (WLDJ, Vol. 3, issues 4-5) to a business case, in order to design a robust SOA-based solution. In particular, I will (1) define the business case as a set of high-level policies, and (2) apply business process improvement techniques to derive an efficient business process model that encapsulates the real-world problem. The business model will contain business events that start processes, the high-level process threads and how they decompose to low-level enterprise business services. Then I will discuss various architectural design options towards building a proof of concept (POC). But first, I'll talk about BEA WebLogic Workshop 8.1's new IDE programming paradigm and in particular how the process integration framework provides a solid programming environment for building SOA Web services integration applications.

From Database Client/Server Tools to a Distributed Application Integration Platform

BEA's new IDE provides a powerful, seamless, and all-encompassing tool for designing and deploying J2EE applications. In the same fashion that MS Access and PowerBuilder propagated the development of mission-critical applications using the client/server model in the early '90s without requiring deep expertise in RDBMS or TCP-IP communication, Workshop hides the OO and J2EE complexities by using simple concepts such as controls, events, methods, and properties without compromising the expressiveness and quality of applications. Visual controls act as the interface layer between developer and application infrastructure. Workshop transforms visual controls into J2EE components and the developer can always write Java code when necessary.

Developers can build complex Web-based user interfaces using Java Page Flow (JPF). Workshop leverages Struts, an open source implementation of Model-View-Controller architecture for binding data elements with interface widgets. This is now called the MVC1 architectural pattern; as opposed to MVC2, which more closely resembles the initial Smalltalk pattern that decouples data presentation and user control from business model. It is worth mentioning here that Barracuda is another open source implementation, not implemented out of the box, of the MVC1 pattern that comes closer to the simplicity of event-based UI that the Visual Studio .NET IDE provides, but I will leave this comparison for another time! Web services connections are built as Java Web Services (JWS) files - standard Java files with a simple Javadoc annotation for accessing Web services functionality. The developer can worry about SOAP protocol, WSDL, and XML bindings only if he wants to!

A Java Control is the single most important concept in WebLogic Workshop 8.1. Pretty much any programmatic resource can be handled as a visual Java Control. A legacy system or a Web service, a custom Java object or an EJB, an external resource or a workflow implementing a piece of proprietary business logic, an asynchronous or two-way messaging state full or stateless conversation, can all be represented as controls. Developers interact with controls by handling events and setting properties, and extend the built-in controls by writing custom controls.

The Business Case

Our fictitious, but virtually real, Car Insurance Company (CIC) is faced with competitive pressures, lower margins, and a higher cost of operating and maintaining legacy systems. Some of the problems are customers demanding shorter decision-making time; client applications for insurance are misplaced when moving from front office to middle office; the complexity in getting information from the legacy systems and vast data repositories; requests for credit information and motor vehicle records is time consuming and hard to track; and finally, underwriters come and go and keep changing communication requirements.

In light of these challenges, the board of directors voted on a number of new policies: (1) establish an e-commerce presence by allowing potential clients to get a 60-second response via the Web; (2) streamline the credit check process and take advantage of the new secure Web services interface that the Department of Motor Vehicle (DMV) just deployed; and (3) become a leader within the underwriting space by establishing a B2B collaborative community. If the project accomplishes its objectives, the board will then make decisions on retiring some of the aging legacy systems. But in this phase, the board strongly recommends optimal utilization of any legacy systems and existing data.

Business Rules
Users visiting the Web site enter their car type, year, miles per year; name, sex, age, and Social Security number. For simplicity, car types are compact, sedan, and SUV with base premiums of 200, 250, and 400 respectively. The mileage per year produces a mileage factor (MF): if less than 8,000 the MF is 1; if between 8,000 and 20,000, the MF is 2; if greater than 20,000, the MF is 3. The gender and age also produce a sex-age factor (SAF): the SAF is 4 for males under 24, 3 for females under 25, 2 for males older than 24 and females between 24 and 34, and 1 for females older than 34. The insurance company uses the DMV's state-of-the-art secure Web service to pull the driver's record. Using proprietary methods based on data collected throughout many years, a legacy back-office application scores the DMV record and produces a driver profile factor (DPF), a number between one and four. The final premium calculation is equal to base premium + weighted factor * 50, where the weighted factor (WF) is equal to (3*MF+4*SAF+4*DPF)/10.

If the WF is less than 20, the agent can produce a quote and send it back to the user; otherwise, the user request for a quote needs to be sent for underwriting. The underwriters want to use the same premium calculation techniques if possible. The user can then decide if he wants to apply for the coverage, in which case he submits payment information, etc. The rest of the process is out of scope for this POC.

Clearly all of these rules are volatile and subject to constant changes and adjustments. Most of them are currently implemented in various systems with varying degree of complexity, from spreadsheets to COBOL books. Human intervention and coordination are also required to complete a request for quote.

Developing a Business Model

Think processes not functions. A process starts with a predefined business event and is what a business does - not how - to produce results consistent with the business policies and corporate vision set by the executive office and mission statement. An event can trigger one or more process threads and can be internal or external to the business. Money-making events are usually external and associated in some fashion with the supply chain. Events can be actual or temporal. Results may be felt inside or outside the firewall, the imaginary protective boundaries of the enterprise. A good and consistent naming convention is always important: a verb plus an object for a business process, i.e., Get DMV records and Calculate Premiums; an actor plus a verb plus an object for an actual event, i.e., Customer Requests Quote; and a time snapshot definition for a temporal event, i.e., Sixty Second Response or 9:00 AM Consolidation.

Clearly, one of the merits of a BPM design and development approach is the visual workflow aspect. However, WebLogic Workshop has no facilities for developing swim-lane type diagrams. The processing design phase has to happen on paper, or using Visio-like drawing tools or BPM tools with design capabilities. The latter approach would create two substantial issues:

  1. Burden of importing/exporting processes
  2. Traceability issues when making changes. Workshop does not even allow a simple view of two or more processes side-by-side in the design area of the IDE. Such a simple solution would make an interactive design session much easier.
For this article, I used the OpenOffice drawing package for the first one of two levels of process decomposition. As the processes gain more depth and get closer to EBS (Enterprise Business Services), I'll start designing in Workshop Studio. I have the ability to group together activities in a box that I can name descriptively and collapse at will. The first step is to develop a high-level process map (see Figure 1) containing actors or participants initiating business events and coarse grain decomposition to sub-processes and activities. This diagram serves a good purpose. It is a baseline communication and serves as a straw man; however, it has a weak point. It misses the fact that processes among two parties have two views. Processes are just like objects that have internal and private implementation and an external public interface. Of course it is all relative and depends on which side of the process you are. In this case, the classification is from the CIC point of view. Figure 2 contains the processes distributed in "swim lanes." There are five processes from left to right: request quote public process, request quote private process, process Quote private process, underwrite private process, and Underwrite public process.

Design Decisions and Architectural Choices

You would think that building UI should be well understood and a simple matter by now. Think again. There are as many options as problem types and each option has its own challenges. For now, I will discuss two issues: event communication and building widgets.

Event Communication
User events need to either start a process and then interact with it or perhaps attach to a long-running monitoring process that in response spawns an instance of a process thread dedicated to a specific client; something like a TCP/IP server listening to a port for client requests and spawning a new process thread to facilitate the interaction with a new client via a dedicated socket. But how do you do that with a request and reply protocol? The answer is you don't; at least not in a trivial and efficient way.

Business events, the heart of a business process-driven enterprise, are at odds with the Web. No surprise here, http was never meant to be a substitute for a full-blown programming paradigm, just a mere protocol for exchanging information, pictures, text and the likes. So what now? In the case of a stateless interaction no real issues exist. Web services can encapsulate and facilitate communication in a synchronous fashion. In the case of stateful interaction conversational Web services, asynchronous in nature, they can maintain state across multiple calls. The programmer equips a conversational Web service with a callback. When the Web service completes its service, the callback in the client code gets activated. That is a nice clean solution; however, some clients cannot have a callback. For example, a Web page interaction using http cannot have a callback installed. So we are back where we started, about three decades ago: polling. Yes, polling. The Web service has to implement a method something like: areYouDoneYet () returning a Boolean true or false. When the service is done, it updates a state variable from false to true. The client code keeps polling or executing the areYouDoneYet () method until it gets a true. The client can then call a getResults () method of the Web service to get the result.

Building Widgets
At first look, JPF sounds similar to process flow but they have nothing in common other than the word process. JPF manages the navigation amongst http pages. Workshop provides a widget-rich environment for building complex UIs. What is particularly powerful is the use of Form Beans, which manage the binding, storage, and validation of form data. JPF communicates with the rest of the system via a conversational Web service. The Web service uses a process control to execute the private process quote process. Since the JPF cannot have a callback mechanism, the Web service implements the polling technique described earlier. In addition, the Web service implants the sixty seconds timer to monitor response from the rest of the systems (see Figure 3).

Worklist Client API

BEA WebLogic Integrator provides a programmatic interface for applications to interact with the process container. As part of the process, an activity may require human interaction. Worklist is a simple HTTP-based testing tool that enables human interaction. It is a work queue. Clearly, a better design is to define your own client interface and hook up to the process engine using the Worklist Client API, but the details of building such an interface would be out of the scope of this article. Worklist provides a simple solution for testing the validity of the Underwriting process. Gregor Hohpe and Bobby Woolf in Enterprise Integration Patterns provide a whole chapter describing a Loan Broker example that is very similar to the concept of Underwriters B2B ecosystem. In particular, they describe three different models: Fixed addressing, Distribution, and Auction. Using a combination of Web services, a list of URIs, and messaging channels, a fully extendable solution can be build.

BPM as Programming Tool

In my previous articles, I said that most process engines are implemented as a kind of state machine, and that Petri nets are Turing complete. You can then prove that any program written in any language can also be implemented in BPM. Clearly, some languages are better than other languages for some specific problem types. The BPM language is the natural choice for implementing the integration layer or volatile and fast changing aspects of the problem.

Business rules make a perfect candidate for a BPM implementation. To make a clarification here, I don't mean more business rules in the sense of Artificial Intelligence expert systems with inference engines and the like. I mean business rules in the sense of what I stated previously with factor calculations and premiums. However, I must admit it would be an interesting exercise to build a generalized expert shell using BPM workflows. To illustrate the point, I have implemented the business rules of our business as a process: computeFactors. I implement a parallel split for the three different factors. In reality, parallel branches are logically concurrent. WebLogic Server serializes the execution of the branches. When grid computing and high-performance computing become a common practice, true parallelization may be just an additional option. For now, such an option is available only through grid-enabling software from specialized companies like Powerllel, or Distributed Resource Manager (DRM) systems providers like Platform and Sun. The third branch executes the DMV Web service that returns the DMV factor. Here is how: assuming the Web service is available on the Internet, I point the browser to it and download the WSDL file on my local disk. Then, in Workshop I browse to the WSDL location, right-click, and select Generate JCX from WSDL. The resulting JCX file is a Web service control that I can now bind to a process element.

Conclusion

WebLogic Platform provides a robust product stack for deploying SOA-based solutions. It offers a highly productive environment that enables the development, deployment, and operations of enterprise-wide distributed solutions. The visual paradigm does a nice job in hiding J2EE and OO complexities. I find the concept of turning almost every resource available into a control - a computing component with a consistent interface - its most powerful feature. In a very consistent and repeatable way, controls harness the power of object reuse and make solutions easily extendible in response to the ever changing agile enterprise.

Process is the unifying construct that is applicable across all development phases. Process bridges the modeling tower of Babel. Business and technology can now talk the same language. At the macro level, process is the natural choice for implementing integration tasks. At the micro level, process is the perfect place to implement volatile aspects of a solution, like business rules. Indeed, BPM is a first-class computing citizen.

The WebLogic Platform implements a comprehensive BPM environment. However, BEA does not provide a critical component of a BPM solution: a pure business process design and modeling environment. In the same way that few business analysts were object modelers, few business analysts will become fluent in BEA's business integration environment. But considering the activities in the modeling space with the acquisitions of Rational Rose and TogetherSoft, Microsoft's renewed interest in UML modeling, and the continued success of the pure-play BPM players, BEA better be working hard on the next all-encompassing release of BPM for Business Analysts, which will probably be UML compliant!

Finally, service-oriented architecture has emerged as the unambiguous fabric of modern distributed systems. The universal acceptance of Web services as the connectivity technology makes collaboration more attainable than ever. Clearly there is more to come in this area. After all, we still accumulate questions faster than we can give answers to existing ones. Some of the questions are in key areas such as security and networking. The very foundation of our technology, TCP/IP, is in doubt, as it is described by Paul A. Watson, in his recent paper "Slipping In The Window: TCP Reset Attacks." And if there is any doubt, we have lost the war on spam, at least for now. Inevitably we can stand still; we never have. The time of IT commoditization has yet to come. I predict that in the next two to three years new technologies and innovations that better answer some of these questions will deliver yet another generation in distributed systems, with more mature, dynamic, and adaptable architectural paradigms.

Until then, processes are everywhere. Can you see them?

More Stories By Labro Dimitriou

Labro Dimitriou is a BPMS subject matter expert and grid computing advisor. He has been in the field of distributed computing, applied mathemtics, and operations research for over 20 years, and has developed commercial software for trading, engineering, and geoscience. Labro has spent the last five years designing BPM-based business solutions.

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
SYS-CON Events announced today that Evatronix will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Evatronix SA offers comprehensive solutions in the design and implementation of electronic systems, in CAD / CAM deployment, and also is a designer and manufacturer of advanced 3D scanners for professional applications.
SYS-CON Events announced today that Synametrics Technologies will exhibit at SYS-CON's 22nd International Cloud Expo®, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Synametrics Technologies is a privately held company based in Plainsboro, New Jersey that has been providing solutions for the developer community since 1997. Based on the success of its initial product offerings such as WinSQL, Xeams, SynaMan and Syncrify, Synametrics continues to create and hone inn...
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...
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
Smart cities have the potential to change our lives at so many levels for citizens: less pollution, reduced parking obstacles, better health, education and more energy savings. Real-time data streaming and the Internet of Things (IoT) possess the power to turn this vision into a reality. However, most organizations today are building their data infrastructure to focus solely on addressing immediate business needs vs. a platform capable of quickly adapting emerging technologies to address future ...
With tough new regulations coming to Europe on data privacy in May 2018, Calligo will explain why in reality the effect is global and transforms how you consider critical data. EU GDPR fundamentally rewrites the rules for cloud, Big Data and IoT. In his session at 21st Cloud Expo, Adam Ryan, Vice President and General Manager EMEA at Calligo, examined the regulations and provided insight on how it affects technology, challenges the established rules and will usher in new levels of diligence arou...
In his session at 21st Cloud Expo, Raju Shreewastava, founder of Big Data Trunk, provided a fun and simple way to introduce Machine Leaning to anyone and everyone. He solved a machine learning problem and demonstrated an easy way to be able to do machine learning without even coding. Raju Shreewastava is the founder of Big Data Trunk (www.BigDataTrunk.com), a Big Data Training and consulting firm with offices in the United States. He previously led the data warehouse/business intelligence and B...
"Digital transformation - what we knew about it in the past has been redefined. Automation is going to play such a huge role in that because the culture, the technology, and the business operations are being shifted now," stated Brian Boeggeman, VP of Alliances & Partnerships at Ayehu, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"Evatronix provides design services to companies that need to integrate the IoT technology in their products but they don't necessarily have the expertise, knowledge and design team to do so," explained Adam Morawiec, VP of Business Development at Evatronix, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
The 22nd International Cloud Expo | 1st DXWorld Expo has announced that its Call for Papers is open. Cloud Expo | DXWorld Expo, to be held June 5-7, 2018, at the Javits Center in New York, NY, brings together Cloud Computing, Digital Transformation, Big Data, Internet of Things, DevOps, Machine Learning and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding busin...
In his Opening Keynote at 21st Cloud Expo, John Considine, General Manager of IBM Cloud Infrastructure, led attendees through the exciting evolution of the cloud. He looked at this major disruption from the perspective of technology, business models, and what this means for enterprises of all sizes. John Considine is General Manager of Cloud Infrastructure Services at IBM. In that role he is responsible for leading IBM’s public cloud infrastructure including strategy, development, and offering m...
Nordstrom is transforming the way that they do business and the cloud is the key to enabling speed and hyper personalized customer experiences. In his session at 21st Cloud Expo, Ken Schow, VP of Engineering at Nordstrom, discussed some of the key learnings and common pitfalls of large enterprises moving to the cloud. This includes strategies around choosing a cloud provider(s), architecture, and lessons learned. In addition, he covered some of the best practices for structured team migration an...
No hype cycles or predictions of a gazillion things here. IoT is here. You get it. You know your business and have great ideas for a business transformation strategy. What comes next? Time to make it happen. In his session at @ThingsExpo, Jay Mason, an Associate Partner of Analytics, IoT & Cybersecurity at M&S Consulting, presented a step-by-step plan to develop your technology implementation strategy. He also discussed the evaluation of communication standards and IoT messaging protocols, data...
Recently, REAN Cloud built a digital concierge for a North Carolina hospital that had observed that most patient call button questions were repetitive. In addition, the paper-based process used to measure patient health metrics was laborious, not in real-time and sometimes error-prone. In their session at 21st Cloud Expo, Sean Finnerty, Executive Director, Practice Lead, Health Care & Life Science at REAN Cloud, and Dr. S.P.T. Krishnan, Principal Architect at REAN Cloud, discussed how they built...
22nd International Cloud Expo, taking place June 5-7, 2018, at the Javits Center in New York City, NY, and co-located with the 1st DXWorld Expo will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud ...
22nd International Cloud Expo, taking place June 5-7, 2018, at the Javits Center in New York City, NY, and co-located with the 1st DXWorld Expo will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud ...
DevOps at Cloud Expo – being held June 5-7, 2018, at the Javits Center in New York, NY – announces that its Call for Papers is open. Born out of proven success in agile development, cloud computing, and process automation, DevOps is a macro trend you cannot afford to miss. From showcase success stories from early adopters and web-scale businesses, DevOps is expanding to organizations of all sizes, including the world's largest enterprises – and delivering real results. Among the proven benefits,...
@DevOpsSummit at Cloud Expo, taking place June 5-7, 2018, at the Javits Center in New York City, NY, is co-located with 22nd Cloud Expo | 1st DXWorld Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait...
SYS-CON Events announced today that T-Mobile exhibited at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. As America's Un-carrier, T-Mobile US, Inc., is redefining the way consumers and businesses buy wireless services through leading product and service innovation. The Company's advanced nationwide 4G LTE network delivers outstanding wireless experiences to 67.4 million customers who are unwilling to compromise on qua...