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
BnkToTheFuture.com is the largest online investment platform for investing in FinTech, Bitcoin and Blockchain companies. We believe the future of finance looks very different from the past and we aim to invest and provide trading opportunities for qualifying investors that want to build a portfolio in the sector in compliance with international financial regulations.
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...
Imagine if you will, a retail floor so densely packed with sensors that they can pick up the movements of insects scurrying across a store aisle. Or a component of a piece of factory equipment so well-instrumented that its digital twin provides resolution down to the micrometer.
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. 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 settle...
Product connectivity goes hand and hand these days with increased use of personal data. New IoT devices are becoming more personalized than ever before. In his session at 22nd Cloud Expo | DXWorld Expo, Nicolas Fierro, CEO of MIMIR Blockchain Solutions, will discuss how in order to protect your data and privacy, IoT applications need to embrace Blockchain technology for a new level of product security never before seen - or needed.
Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
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...
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
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...
"IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
When shopping for a new data processing platform for IoT solutions, many development teams want to be able to test-drive options before making a choice. Yet when evaluating an IoT solution, it’s simply not feasible to do so at scale with physical devices. Building a sensor simulator is the next best choice; however, generating a realistic simulation at very high TPS with ease of configurability is a formidable challenge. When dealing with multiple application or transport protocols, you would be...
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 ...
We are given a desktop platform with Java 8 or Java 9 installed and seek to find a way to deploy high-performance Java applications that use Java 3D and/or Jogl without having to run an installer. We are subject to the constraint that the applications be signed and deployed so that they can be run in a trusted environment (i.e., outside of the sandbox). Further, we seek to do this in a way that does not depend on bundling a JRE with our applications, as this makes downloads and installations rat...
Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
DX World EXPO, LLC, a Lighthouse Point, Florida-based startup trade show producer and the creator of "DXWorldEXPO® - Digital Transformation Conference & Expo" has announced its executive management team. The team is headed by Levent Selamoglu, who has been named CEO. "Now is the time for a truly global DX event, to bring together the leading minds from the technology world in a conversation about Digital Transformation," he said in making the announcement.
In this strange new world where more and more power is drawn from business technology, companies are effectively straddling two paths on the road to innovation and transformation into digital enterprises. The first path is the heritage trail – with “legacy” technology forming the background. Here, extant technologies are transformed by core IT teams to provide more API-driven approaches. Legacy systems can restrict companies that are transitioning into digital enterprises. To truly become a lead...
Digital Transformation (DX) is not a "one-size-fits all" strategy. Each organization needs to develop its own unique, long-term DX plan. It must do so by realizing that we now live in a data-driven age, and that technologies such as Cloud Computing, Big Data, the IoT, Cognitive Computing, and Blockchain are only tools. In her general session at 21st Cloud Expo, Rebecca Wanta explained how the strategy must focus on DX and include a commitment from top management to create great IT jobs, monitor ...
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
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 ...