BPEL Cookbook: Best Practices for SOA-based integration and composite applications development

More Information

In the Packt book Business Process Execution Language for Web Services by Matjaz Juric, we learnt about the building blocks and how these technologies could be used to build a simple SOA solution. As organizations increase their SOA footprint, IT Managers, Architects, and developers are starting to realize that the impact of SOA on IT and business operations can be immense. After having gained confidence with web services, they want to take it to the next level. However, adopters are challenged with some basic questions: How do I SOA-enable my existing integration investment? Can I build flexible and agile business processes? How can I administer my SOA environment without spending a fortune? There have been various best practices defined around SOA, but to date these have been somewhat abstract and lacking a real-world basis. The IT community is looking for real-world examples; examples of how other companies are embarking on an SOA initiative and how to apply that industry learning to their own projects.

What makes this a Cookbook? After you have been exposed to the different ingredients (BPEL, WSDL, and web services), this book takes the adventure to the next level by helping you cook new recipes (SOA applications) using efficient kitchen techniques (best practices). 10 SOA practitioners have gotten together to share their SOA best practices and provide practical viewpoints to tackle many of the common problems SOA promises to solve. Their recommendations are based on projects in production; their existing projects could be your next ones. Through this process you'll learn the techniques and gain the confidence to create and deliver the recipe that's right for your particular situation.

Chapter 1 focuses on a very common business problem: siloed applications and segregated data glued together using proprietary integration solutions. How can we best leverage SOA to add value on top of existing integration infrastructure? By service-enabling existing data integration processes, business processes could be easily automated by orchestrating underlying services. Infosys, a leading systems integrator, has helped many of its customers leverage their existing EAI investment, and here Praveen Chandran and Arun Poduval show you how it does it. In this chapter, they take an example of broken customer data synchronization between Siebel and SAP and outline a strategy to automate this process by integrating with proprietary integration solutions like TIBCO and webMethods.

Driven by the business requirements of different departments, countries, and subsidiaries, many organizations end up with multiple ERP systems. The result is data fragmentation and manual processes. This, in turn, leads to poor customer service and loss of revenue. How can you address this problem without re-architecting the entire solution? In Chapter 2, Sierra Atlantic, a leading consulting firm with specialization in the integration technologies, encountered similar issue with its client. In this chapter, Lawrence Pravin, Architect at Sierra Atlantic, takes an example of a broken sales order creation process. He walks you through a step-by-step approach to automate it across PeopleSoft HR and Oracle E-Business Suite using BPEL in a service-oriented approach.

Not all integrations are limited within the enterprise. Processes interact with applications, people, and partners. You might have heard the term Business-to-Business (B2B) frequently in the past few years. How can organizations build a network of services spanning multiple organizations? The European Space Agency built such a network of web services across 20+ partners in 9 different countries. The primary purpose of this network is to offer Earth Observation and Geographic Information System services to consumers. Chapter 3 presents an initial strategy of how to architect and design a service oriented partner-friendly network using web Services and BPEL for orchestration. The focus is on four important aspects of network design: Defining partner relationships, enabling partner provisioning, offering a central registry of available services, and empowering partners and end-users.

Organizations have processes and processes have rules. Processes need to be automated. Rules need to be defined intuitively. BPEL automates process and a Rules Engine automates policies. These rules essentially drive the processes. IT organizations have so far struggled to delineate business processes from rules leading to operational inconsistency and duplication. Policy Studies Inc. provides an approach to segregate rules from processes and offers a blueprint to expose rules as services for building cleaner applications. Using BPEL and a rules engine, PSI has built a shared services platform to perform Medicare eligibility processing for different states. Kevin Geminiuc, former architect at PSI, explains in Chapter 4 the development strategy to integrate BPEL with a rules engine resulting in a solution that is more agile and flexible. With this approach, it is possible to change a business process without touching policies. Policies can be changed graphically without affecting the business processes.

As we discussed before, processes interact with applications, people, and partners. How can we build an application that enables business users to interact with processes seamlessly? Applications should be built to enhance end-user experience. Enterra Solutions marries the world of SOA with the world of Web 2.0. In Chapter 5, Doug Todd, CTO of Enterra, presents a strategy to extend BPEL workflow in a rich user interface and build an application that not only automates processes but also ups the ante in terms of aesthetic appeal. It also represents a unique approach to customize a platform, which is SOA ready.

BPEL provides an opportunity to bring business and IT together. Business can help define the key processes and IT provides the necessary infrastructure to run and automate those processes. Some might argue that BPEL is too technical to be handed over to analysts for process modeling. CenterStone software, a provider of workplace management solutions, addressed this very concern by building a custom designer geared towards property managers to define processes for workplace management. CenterStone devised an approach to convert the processes designed using this custom designer into BPEL processes. Chapter 6 will "inspire" you to build applications, which will facilitate tighter integration with your business counterparts. Jerry Thomas, Chief Architect at CenterStone Software, takes you into the guts of this approach by explaining how process definition can be stored in the database and how XQuery and Saxon parser can help you to build an executable BPEL process from its higher-level process definition.

The benefit of agility has been belabored exhaustively in the industry. We decided to go back to basics and offer you a very simple technical insight into how SOA enables business agility. Agility is directly correlated to the ability to quickly respond to business changes. By using dynamic partner links, processes can effectively change their behavior to adapt themselves to external business conditions and thereby offer flexibility. SPS Commerce, provider of hosted EDI solutions, has built an SOA-enabled platform for enabling seamless exchange of EDI documents between different entities. In Chapter 7, SPS Commerce will explain the significance of dynamic partner links and walk you through a step-by-step guide to implement partner links in a sample loan-processing scenario. This approach will enable you to quickly add/delete service providers participating in a business process without actually changing the process.

Organizations operate in a heterogeneous environment. Applications are built using different technologies, from different vendors and different implementers. As you start building a process, you will realize that the underlying applications are not necessarily web services. More often than not, they are either .NET applications or applications built using J2EE i.e. either purchased applications or home grown Java Applications. Matjaz Juric, author of the Packt book 'Business Process Execution Language using Web Services' presents in Chapter 8 a strategy to integrate with Java resources using Web Services Invocation Framework (WSIF). Matjaz, professor of Computer Science at the University of Maribor, argues that although it is possible to expose these applications as web services and use them in the process, accessing these resources natively can improve the application performance significantly.

The success of any service in the SOA world depends upon its degree of reusability, which in turn, depends upon the quality of service offered. As you run your SOA applications, many things could go wrong. Network connections may be lost, participating applications may go down, incoming data might be corrupted, etc. These external interruptions can degrade the quality of a particular application. How can you design an application that can withstand all these failures and still emerge as a winner? Qualcomm encountered this specific issue while leveraging SOA to build an Entitlement Provisioning application. Presented in the fashion of a step-by-step tutorial, Jeremy Bolie, IT Manager and Michael Cardella, Architect at Qualcomm, shares with you in Chapter 9 a strategy to design a reusable BPEL process capable of offering any service capable of defeating rectifiable errors.

Chapter 10, which is the last chapter of the book, deals with an important aspect of any application maintenance. More dollars are spent in maintenance and enhancement of an application than the combined amount spent during the design, development, and testing phases of any application. Once the application is deployed into production, the real work begins. Belgacom, one of the leading telecommunications companies in Belgium, has automated the DSL service provisioning and diagnosis using BPEL. Having been in production for a long time, Belgacom has vast practical experience in managing a BPEL infrastructure. In this chapter, Stany Blanvalet, former architect at Belgacom, explains various strategies for managing a BPEL production environment. This is a must read for all BPEL administrators.


Service Oriented Architecture is generating a buzz across the whole IT industry. Propelled by standards-based technologies like XML, Web Services, and SOAP, SOA is quickly moving from pilot projects to mainstream applications critical to business operations. One of the key standards accelerating the adoption of SOA is Business Process Execution Language for Web Services (BPEL).

BPEL was created to enable effective composition of web services in a service-oriented environment. In the past two years, BPEL has become the most significant standard to elevate the visibility of SOA from IT to business level. BPEL is not only commoditizing the integration market, but it is also offering organizations a whole new level of agility - ability to rapidly change applications in response to the changing business landscape. BPEL enables organizations to automate their business processes by orchestrating services within and across the firewall. It forces organizations to think in terms of services. Existing functionality is exposed as services. New applications are composed using services. Communication with external vendors and partners is through services. Services are reused across different applications. Services are, or should be, everywhere!

  • Real-world BPEL recipes for SOA integration and Composite Application development
  • Combining business process management and web services orchestration
  • Techniques and best practices with downloadable code samples from ten real-world case studies
Page Count 188
Course Length 5 hours 38 minutes
ISBN 9781904811336
Date Of Publication 22 Jul 2006


Arun Poduval

Arun Poduval works as a Technical consultant at Midwave Corporation specialized in SOA/Middleware.

Doug Todd

Doug Todd is CTO of Enterra Solutions in Yardley, PA. He has more than 20 years of experience in systems architecture, applications architecture, systems integration, and applications integration with major corporations. Todd is responsible for Enterra's overall IT strategy and tactical implementation, enterprise information architecture, and technology product offerings. Doug Todd worked on Chapter 5.

Contact Doug Todd

Harish Gaur

Harish Gaur has more than 13 years of experience in the enterprise software industry including 7+ years at Oracle. He is currently the Director of Product Management for Fusion Middleware at Oracle. In his current role, he works closely with strategic customers implementing SOA & BPM using Oracle Fusion Middleware. He is co-author of BPEL Cookbook (2007) and Fusion Middleware Patterns (Sept 2010)

Before Oracle, he worked as a Solution Specialist with Vitria Technology educating customers about the benefits of Business Process Management. Prior to that, he helped Fortune 500 companies architect scalable integration solutions using EAI tools like webMethods and CrossWorlds (now IBM).

Harish holds an engineering degree in Computer Science and is an MBA from Haas School of Business, UC Berkeley.

Contact Harish Gaur

Jeremy Bolie

Jeremy Bolie is a Senior IT Manager at QCT, managing the custom applications and Documentum development team. Jeremy has over 10 years of experience with Java and Oracle technologies, and has been involved with web services and Service-Oriented Architectures since the late 1990s. Jeremy Bolie and Michael Cardella worked together on Chapter 9.

Contact Jeremy Bolie

Jerry Thomas

Jerry Thomas is Chief Architect at CenterStone Software, which helps many of the world's largest organizations automate and manage their real estate, facilities, personnel, assets, leases, and workplace operations more efficiently. Thomas focuses on CenterStone's enterprise workplace management product and web services, BPEL, and system infrastructure. Prior to CenterStone, Thomas worked as a consultant and held principal development positions at Riverton, ONTOS, and Hewlett-Packard. Jerry Thomas wrote Chapter 6 for this cookbook.

Contact Jerry Thomas

Kevin Geminiuc

Kevin Geminiuc currently works as a senior software architect in Denver. Over the last 15 years, Kevin has worked as a systems architect, technical manager, developer, and hardware engineer. Kevin's technical interests include SOA, RFID, AVL, and genetic software. Kevin contributed Chapter 4 for this book.

Contact Kevin Geminiuc

Lawrence Pravin

Lawrence Pravin is the Product Manager, Process Integration Packs, Sierra Atlantic Inc. Process Integration Packs deliver end-to-end business process integration solutions between enterprise applications. He has over 10 years of rich experience in packaged applications, and has deep integration expertise with Oracle, PeopleSoft, Siebel, and SAP applications. Lawrence Pravin worked on Chapter 2 for this book.

Contact Lawrence Pravin

Markus Zirn

Markus Zirn is a Senior Director of Product Management for Oracle Fusion Middleware. In this role he heads the Strategic Customer Program, where he works with Oracle's leading and most innovative middleware customers. He has been part of the Enterprise Software industry for more than 10 years, including roles as Vice President of Product Marketing and part of the founding team of QUIQ and as a Management Consultant of Booz Allen & Hamilton's Silicon Valley High Tech Practice. Markus' passion for Service-Oriented Architecture (SOA) and BPEL stems both from practical experience designing and optimizing business processes as part of process reengineering projects and from being part of the advent of "software as a service" before web services became mainstream. He holds a Masters of Electrical Engineering from the University of Karlsruhe and is an alumnus of the Tripartite program, a joint European degree from the University of Karlsruhe, Germany, the University of Southampton, UK, and ESIEE, France.

Contact Markus Zirn

Matjaz B. Juric

Matjaz B. Juric holds a PhD in computer and information science. He is a full-time professor at the University of Ljubljana and heads the Cloud Computing and SOA Competence Centre (http://www.soa.si). Matjaz is an Oracle ACE Director and has been designated Java Champion and IBM Champion. He has more than 20 years of work experience.

He has authored and coauthored Do More with SOA Integration: Best of Packt, WS-BPEL 2.0 for SOA Composite Applications with IBM WebSphere 7, Oracle Fusion Middleware Patterns, Business Process Driven SOA using BPMN and BPEL, Business Process Execution Language for Web Services (both English and French editions), BPEL Cookbook (which was awarded the best SOA book in 2007 by SOA World Journal), SOA Approach to Integration, Professional J2EE EAI, Professional EJB, J2EE Design Patterns Applied, and Visual Basic .NET Serialization Handbook.

He has published chapters in More Java Gems, Cambridge University Press, and in Technology Supporting Business Solutions, Nova Science Publishers, Inc. His work has also been published in several journals and magazines and presented at conferences.

Michael Cardella

Michael Cardella is a Staff Engineer at Qualcomm CDMA Technologies (QCT). Michael works in the custom applications development team, primarily on web-service- and business-process-related applications. Previously he served as Principal Architect for a leading web services security and management product.

Contact Michael Cardella

Praveen Ramachandran

Praveen Ramachandran works as a Technical Consultant for Midwave Corporation focusing on BPEL and other EAI technologies.

Midwave is a rapidly growing firm that specializes in building highly available and highly secure information technology systems for medium to large companies and government agencies in seven midwestern states. Midwave is an Oracle Partner.

Contact Praveen Ramachandran

Sean Carey

Sean Carey is a Software Architect at SPS Commerce, a leader in hosted EDI. Sean has over seven years of experience in mission-critical e-commerce implementations, and 15 years of industry experience in software design. Sean Carey gave us Chapter 7.

Contact Sean Carey

Stany Blanvalet

Stany Blanvalet is a BPEL and J2EE consultant. Previously, working as a Java EE architect, Stany introduced and administered Belgacom's BPEL-based DSL provisioning application, a mission-critical BPEL production system. He is a contributor to the Jaisy-ORABPEL Interface project , an open-source JMX monitoring tool for Oracle BPEL Process Manager. Stany Blanvalet contributed Chapter 10.

Contact Stany Blanvalet

The Hoa Nguyen

The Hoa Nguyen currently works for the SDC subsidiary of SpaceBel SA in Brussels as senior software engineer. His main interests are J2EE, web services, and workflow development with BPEL. Since 2001, he has been one of the lead engineers of the SSE project team at SpaceBel and is also in charge of SSE software releases and on-site SSE software installations at ESA. The Hoa Nguyen and Yves Coene contributed Chapter 3.

Contact The Hoa Nguyen

Yves Coene

Yves Coene currently works for SpaceBel SA in Brussels as Project Manager. He has 15 years of experience in aerospace software projects such as Ariane 5, the International Space Station, F16 MLU, and various other projects for the European Space Agency. Since 2001, he and his team have been responsible for the SSE project for ESA in Frascati, Italy.

Contact Yves Coene