BPELforum.com

Business Process Execution Language (BPEL)

Similar Posts

  • Implementing SOA Using Java EE
  • WebSphere Business Integration Primer: Process Server, BPEL, SCA, and SOA
  • Developping Applications With Enterprise SOA
  • MagicDraw UML 10.5 Extends Business Process Modeling with Export to BPEL
  • SOA and WS-BPEL: Composing Service-Oriented Architecture Solutions with PHP and Open-Source ActiveBPEL

Building SOA-Based Composite Applications Using NetBeans IDE 6

May 1, 2010 by BPELforum

Product Description

In Detail

Composite applications aid businesses by stitching together various componentized business capabilities. In the current enterprise scenario, empowering business users to react quickly to the rapidly changing business environment is the topmost priority. With the advent of composite applications the `reuse’ paradigm has moved from the technical aspect to the business aspect. You no longer re-use a service. You re-use a business process. Now enterprises can define their own behaviors optimized for their businesses through metadata and flows. This business process composition has become increasingly important for constructing business logic.

The ability of composite applications to share components between them nullifies the distinction between actual applications. Business users should be able to move between the activities they need to do without any actual awareness that they are moving from one domain to another.

The composite application design enables your company to combine multiple heterogeneous technologies into a single application, bringing key application capabilities within reach of your business user. Enterprises creating richer composite applications by leveraging existing interoperable components increase the organization’s ability to respond quickly and cost-effectively to emerging business requirements.

While there are many vendors offering various graphical tools to create composite applications, this book focuses on using the BPEL service engine from the OpenESB project for solving business integration problems. Project OpenESB implements an Enterprise Service Bus runtime using Java Business Integration (JBI) as the base. This allows easy integration of web services to create loosely coupled enterprise-class composite applications.

The objective of this book is to help enterprise application architects and developers to understand various SOA tools available as part of the NetBeans IDE that will enable them to build an enterprise-grade, scalable application in a short period using a single development interface. The NetBeans SOA tools form an open-source and freely available add-on to the NetBeans IDE that is targeted for enterprise application development. This pack contains open-sourced features from Sun’s Java Studio Enterprise and Java CAPS products, as well as all-new features for creating composite applications, BPEL-based web services, secure Java EE web services, and real-world XML artifacts like XML Schema and WSDL. Part of NetBeans Enterprise Pack is integrated with NetBeans 6.0, so you don’t need to download additional add-ons or plug-ins if you are using NetBeans version 6.0 or higher. However, not all OpenESB components are integrated with NetBeans 6.0. For instance you may not be able to create an Intelligent Event Processor using the standard NetBeans IDE; these components can be downloaded and installed into the NetBeans IDE.

What you will learn from this book?

  • Basic understanding of SOA and BPEL Processes
  • Setting up NetBeans IDE, OpenESB runtime, and BPEL engine
  • Designing BPEL processes
  • Packaging and deploying BPEL processes
  • JBI runtime and GlassFish Application Server.
  • Using the JBI service engine in NetBeans
  • OpenESB Binding Components, Service Engines, and other tools
  • Using the WSDL Editor for enterprise applications
  • Rapid development and testing with the XML schema designer
  • Working with the Intelligent Event Processor (IEP) module and the IEP Service Engine
  • Fault handling within a BPEL process

Approach

This book introduces basic SOA concepts and shows how you can use NetBeans and OpenESB tools to design and deploy composite applications. After introducing the SOA concepts, you are introduced to various NetBeans Editors and aids that you need to understand and work with for designing a composite application. For example you are introduced to a WSDL editor before dealing with web services. The last part of the book deals with a full-fledged incremental example on how you can build a complex composite application with key screenshots accompanied by the source code available on the website.

Who this book is written for?

This book is for enterprise developers and architects interested in using NetBeans IDE and OpenESB tools to build their SOA based applications.

Building SOA-Based Composite Applications Using NetBeans IDE 6

Filed Under: SOA Books Tagged With: Aid Businesses, Application Architects, Application Capabilities, Application Design, Applications, Building, Business Aspect, Business Capabilities, Business Logic, Business User, composite, Composite Application, Composite Applications, Enterprise Service, Graphical Tools, Integration Problems, Interoperable Components, Java Business, Jbi, NetBeans, Service Bus, SOAbased, Technical Aspect, Topmost Priority, using, Using Java

Figthing Process Fragmentation

April 28, 2010 by BPELforum

Professionals all over the world in Information Technology are fighting the never ending battle against project creep, missed deadlines and cost overruns. The lack of success in doing so seems to indicate that there is a deeper problem that has to be solved first. After analyzing customer projects for 20 years, I may have discovered a key element of this problem. Well, it actually is not a unique discovery, because it is likely that every professional in IT has run into the same situation but has looked at the consequences and not at the cause.

It seems that process fragmentation is the root cause of most unsolved IT problems.

It starts with the meta-process of IT Change Management that requires that a business application (made up from processes, tasks and actvities itself) is first analysed, then developed, tested, integration tested, rolled out and then put into production by different IT departments that distance themselves ever more from the business user. Current Change Management has however emerged over many years because of a quality requirement that is totally unreasonable in its expecations and thus has driven IT applications off the cost scale. 99.99% availability makes sense for infrastructure but not for a business service front-end. It is also not necessary as we can see from Internet use.

Here a more human problem enters the landscape. What is it that management wants from IT? One of the interests is higher productivity, meaning that less people can achieve a certain amount of throughput. The second is ensuring the quality of the work performed independant of the people and ideally enable an untrained person to perform the work needed. People are in fact put last, and that creates the problem for IT. Putting people first – employees AND customers – would make a world of difference. People are actually seen seperated from the business when they really are the business.

The current approach to the above is to analyse the business process and encode decision making into rigid rules. The resultant simplistic 2D-flowcharts and IF/THEN rules can however not properly represent the business activity that the user needs to perform his job well and to user satisfaction. It is pretty obvious that a fragmented, rigid 2D flowchart cannot represent a 4D event-driven, dynamic world that is not fragmented. Process or application monitoring does not help, as it only tells you if the defined processes are executed as defined. Business intelligence might tell you that some expected numbers are wrong but not where to improve the process. Even if you know how to improve the process, you then need it developed, tested and put into production. This loop is long and expensive as mentioned before. The business also looses its ability to adapt to market changes.

Right here, IT Change Management has to change and consolidate with application or process development. Ideally, it would already include application or process analysis with the resultant documentation that becomes part of the application. Right here, it too becomes obvious that state-of-the-art application development using programming languages such as Cobol, Java or C++ with APIs are unable to cope. This is where the SOA concept developed that tries to create a flexible definable layer between the front-end application and the back-end service. But current SOA approaches do not deliver these aspects of Change Management and are built on either Java programming with UML modelling or jBPEL with BPM modelling. Extactly that creates another even more complex layer of fragmentation and spoils the potential benefits of SOA. Adding additional fragmentation layers such as outsourcing and governance simply does not seem the right approach to achieve shorter projects and more agility.

The application solution is to see business process not as step-by-step fragments but as a collection of business services that do not much more than bundle and hold the case related business communication and information content. The content is state/event driven and implicitly creates the progression of the business case to its completion. Business professionals must be able to interactively define the business services they need (I propose by recording or training) without the use of flowchart analysis tools that are completely abstract to a business user and do mostly require later use of programming tools anyway.

The current IT process segment of defining and testing such services (processes) must not be seen as a programming effort but as part of normal business activity. The business department must be agile enough to provide the input to the power users defining services and be willing to test and fine-tune such applications. A gradual and interactive development approach like that it not really new but was first suggested in 1990 as Extreme Programming using programming languages. The difficulty of achieving reasonable system stability with compiled languages ended that approach. The project benefits of Extreme Programming can however be achieved with an application platform that includes analysis tools, deployment and monitoring/tuning as part of it‘s Change Management.

In short, what IT needs is a defragmented approach to Change Management and a defragmented approach to creating business services (a.k.a. as processes). In fact, that implies that a much further reaching consolidation of user frontend processes is necessary, and that includes BPM, CRM , ECM and SOA.

Max J. Pucher is the founder and current Chief Architect of ISIS Papyrus Software, a globally operating company that specializes in Arificial Intelligence for Business Process and Communication. He has written several books, frequently speaks and writes on IT and holds several patents.

Filed Under: BPEL News Tagged With: Business Application, Business Service, Business User, Consequences, Customer Projects, Discovery, Figthing, Fragmentation, Information Technology, Infrastructure, Internet Use, Landscape, Meta, Overruns, Process, Productivity, Quality Requirement, Root Cause, Scale 99, Seperated, Throughput, Untrained Person

Creating A Business Architecture

April 28, 2010 by BPELforum

Many – including me – evangelize on the noble goal of creating a Enterprise Architecture before setting out on an IT project. One of the key issues with that is that the ‘Enterprise’ hardly ever acts as such. The typical enterprise is at best a federation of little fiefdoms, that more often than not are in constant political warfare against each other. That gets even worse when the enterprise has been assembled by acquisition and worst with hostile takeovers. It is highly unlikely that these fiefdom chiefs will be too happy to collaborate with other chiefs on creating a new Enterprise Architecture. Even if there is c-level buy-in and a champion has been chosen, bureaucratic resistance makes many projects falter. I am quite certain that one reason is wrong expectations set by over-hyped marketing.

Several BPM and application vendors promote the benefits of model-driven development and some even claim that they make that available to the business user (fiefdom chief). Some BPM vendors want the business user to work with a flowcharting tool and others with a requirements wiki/blog thing. This amazing business user would then ‘model’ the necessary business entities. I am sure that comes natural for most, right? This ‘ExtremlySMART’ process software would then generate the process CODE to execute those models. I have to admit that I am in awe. Supposedly that functionality – as simple as described here – ensures a dynamic enterprise with the agility to handle rapid change. Hmm? The user not only can create enterprise models and deploy them automatically but can foresee the necessary changes and how those will impact the current generated code? Amazing. A few abstract models supposedly do the trick. Astonishing. In less than three month those users make it all happen? Wow!

We propose to make much simpler features than architecture models available to business users and more often than not that fails quite miserably. So our software must be less good than our competition? I think not, it is just our marketing that is less blunt. Business users aren’t architects. They do not care about architecture. Just defining what processes one business unit needs and to get them tested takes certainly already longer than three months! Without architectural considerations. No implementation yet. Certainly not the final thing.

But I agree that the reuse and sharing of conceptual business knowledge would be the only chance to properly sell the benefits of a business architecture to business users. It has to be made visible and usable and allow them to not only participate but utilize the existing models to speed up their own implementation and deployment. Business users think in business terms, in content and what they see. Some may even think in rules. Finito. Thats as far architecture will go.

The benefits of creating a consolidated process and content driven architecture are:

Create a reusable business architecture by doing local projects that are managed in a repository Grow the applications by involving business users iteratively within the project to define content, views and processes (not models!) Utilize version controlled change management to deploy the architecture models into a scalable production environment Processes are not rigid flows that require analysis effort but are assembled by users and controlled by rules and trained patterns Enable business users to enter simple natural language business rules

For the business user the application has to look different than to the architect. It has to start with the business organization that represents effectively the role/policy definition for the actual process authorization. Data entities must be real-word plausible things that a business person can make sense of – a so called business object. Not SOA/XML data structures for the service interface. Certainly not BPMN or BPEL. The connection of the service interface to the business object (with or without SOA) must happen once by an IT expert to be reused all across the enterprise given the right authorization.

The next element to be created by business is the business content. Not documentation or descriptive text, but documents that contain relevant business data and information. There is no content without process and process without content you don’t need. (Here I go again …) Based on their authorization business users can assemble and create new business content from a library of texts and logic building blocks. These are linked to task/activity/todo and stored in a business library of processes.

To be able to work with the content the users have to be able to define their processes/cases. I propose (as you know) that there should not be any rigid processes. Users simply drag and drop content and business objects into the case. The process is owned and created by the relevant business users. Creating content outside the context of a business case/process should ideally be impossible.

Now, how can the process/case be controlled and propagated? I propose further that if you start with the right user role/policy authorization and your content is assigned the right role/policy definition for its executable methods, then many complex process definitions fall by the wayside. If only one user role is authorized to change the case state then no further business rules or decision blocks are necessary. But obviously it is possible that a fairly complex rule has to be added that controls what can or can not be done. In this case the business user or analyst can add business rules to the case model, ideally in a non-technical manner. Rules that are linked into the context of the business process are connected to it by events that trace the relationships and therefore complex resolution algorithms such as RETE are not required.

The first level of task assignment should be by role authorization and queue visibility.
If one or more users or departments share the same role assignments then automatic load balancing must take over (load, availability, priority). Rather than coding complex decision trees, decision maps, and decision tables the training if decision patterns is more efficient.
Simple time controlled state changes can ensure that service level agreements are adhered to in the process. Event listeners can trigger rules and rules can send events to interconnect object attribute value changes Rules can not only be simple IF/THEN statements but also commands and object-relational queries and searches. The context of the rule in the process and its event linkage avoids the need for conventional forward or backward chaining. Process state can simply decide whether a process requires human interaction or can run in lights-out mode. (aka straight-through processing).

Let’s  not forget that each user likes his own very special way how the workload should be presented to him/her. I suggest that the users should be allowed and enabled to freely customize their own user interface to their liking. With your typical forms, Java or Ajax interfaces that is not feasible or maintainable.

Last but not least: would it not be nice if the system could discover by itself what summary content state will drive the process state forward. I propose that this has to be the future.

Yes, we can and we should strive to empower the business user. But it has to be more than a marketing announcement. Those you will find predominantely in the BPM community. From giving away flowchart design tools to business users, to requirement wikis there are many so-called revolutionary ideas that at best are incremental progress if at all. The revolutionary ideas are found in the Papyrus Platform.

Filed Under: BPEL News Tagged With: Abstract Models, Application Vendors, Architecture, Architecture Models, Bpm Vendors, Business, Business Architecture, Business Entities, Business User, Creating, Dynamic Enterprise, Enterprise Architecture, Enterprise Models, Fiefdom, Fiefdoms, Flowcharting Tool, Hostile Takeovers, Model Driven Development, Necessary Business, Noble Goal, Political Warfare, Process Software, Typical Enterprise

RSS BPELpros.com

  • BizTalk Server
  • IBM
  • OpenLink Software
  • SAP AG

Return to top of page

Copyright © 2012 · Delicious Theme on Genesis Framework · WordPress · Log in