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.