44,39 €
BPEL, Business Process Execution Language is the definitive standard in writing and defining actions within business processes. Oracle BPEL Process Manager R1 is Oracle's latest offering, providing you with a complete end-to-end platform for the creation, implementation, and management of your BPEL business processes that are so important to your service-oriented architecture."Oracle SOA BPEL Process Manager 11gR1 – A Hands-on Tutorial" is your guide to BPEL design and development, SOA Suite platform troubleshooting, and engineering in a detailed step-by-step guide working real-world examples and case studies. Using industry-leading practices you will start by creating your first BPEL process and move onto configuring your processes, then invoking, orchestrating, and testing them. You will then learn how to use architect and design services using BPEL, performance tuning, integration, and security, as well as high availability, troubleshooting, and modeling for the future.
"Oracle SOA BPEL Process Manager 11gR1 – A Hands-on Tutorial" is your complete hands-on guide to Oracle SOA BPEL Process Manager 11g.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 255
Veröffentlichungsjahr: 2013
Copyright © 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: June 2013
Production Reference: 1130613
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-84968-898-7
www.packtpub.com
Cover Image by Karl Moore (<[email protected]>)
Authors
Ravi Saraswathi
Jaswant Singh
Reviewers
Mehmet Demir
Hartmut Gräfenstein
Viral Kamdar
Antony Reynolds
Shanthi Viswanathan
Acquisition Editor
Antony Lowe
Lead Technical Editor
Neeshma Ramakrishnan
Technical Editors
Nitee Shetty
Dennis John
Project Coordinator
Amey Sawant
Proofreaders
Linda Morris
Kelly Hutchinson
Indexer
Monica Ajmera Mehta
Graphics
Ronak Dhruv
Abhinash Sahu
Valentina Dsilva
Production Coordinator
Shantanu Zagade
Cover Work
Shantanu Zagade
Ravi Saraswathi is an IT executive with more than 20 years of global professional experience. Ravi has expertise in aligning business and IT, SOA implementation, IT strategy, cloud infrastructure design, IT operations, security, architecture, and performance tuning. For over a decade now, Ravi has been successfully delivering large-scale technical projects and solutions. He is an expert in open source and vendor-based middleware products. From his experience, he gained a solid understanding of the tools and technologies needed to create large-scale web-based software and services.
Ravi currently heads the middleware engineering group for a highly-reputed Fortune 500 financial company. Ravi has spoken in several international conferences such as Apache, WebLogic conferences, and Java user group meetings. His professional focus is on technical management, SOA, middleware architecture, and infrastructure design.
Ravi holds a Masters in Technology Management from George Mason University and is a Bachelor of Engineering in Electronics and Communication Engineering from Karnataka University. Ravi holds a CIO University Certificate from Federal CIO University, General Services Administration, United States. He has extensive experience in architecting and designing solutions using various Oracle Fusion and open source middleware products.
Ravi is an aspiring leader and entrepreneur. He has founded a successful IT professional consulting company. He has trained many associates in Fusion Middleware 11g to gain the skills for developing and designing solutions using Oracle SOA Suite and Service Bus. He actively contributes to the online community for open source and commercial middleware products, SOA, cloud, BPM, and infrastructure architecture technologies.
Ravi holds various IT certifications such as TOGAF, Java, ITIL, Oracle, and WebLogic. His interests include open source containers, Java, infrastructure architecture, troubleshooting methodologies, and software design. Ravi blogs at www.ravisaraswathi.com.
This book would not have been possible without my wife Priya, who supported me on all those weekends and managed my work and life together. I would like to thank my children, Pritika and Vishnu, my mother Saraswathiamma, and my brother Reji for supporting my efforts in writing this book. I also thank my co-author and dear friend, Jaswant Singh for his contribution, support, and confidence throughout the writing process.
Jaswant Singh brings over 16 years of experience as an Executive Information Technologist with multiple industry verticals. Jaswant presently assists Fortune 1000 CXOs in creating, implementing, and managing technology strategy and roadmaps to gain efficiencies over existing capabilities and build new capabilities economically. As a CTO, he has co-founded Suchna!, a web portal linking people worldwide.
Jaswant has expertise in Service Oriented Architecture (SOA), cloud computing, big data, middleware technologies, and web architectures. He is also an expert in Business Continuity & Disaster Recovery (BCDR), Data Center migration and consolidation, and web applications security. He is known for building and leveraging cross-functional working relationships, mentoring, and problem solving for large global multi-organization environments across Asia Pacific, Europe, and North America.
Jaswant has been a recognized industry leader on emerging technologies at various professional trade conferences, companies, and educational institutes. He has been bestowed upon with various awards for outstanding performance, top talent, technological innovations, and technical publications. Jaswant blogs at http://techblog.baghel.com.
Jaswant received his CIO Certification from Federal CIO University, General Services Administration, United States. He received his M.S. degree in Technology Management from School of Management, George Mason University, and his M.S. degree in Mathematics with specialization in Operations Research and Statistics from Department of Mathematics, Indian Institute of Technology, Bombay. He served as the President of a cultural student body at the Indian Institute of Technology, Bombay.
I would like to thank my wife Mita for putting up with my writing sessions over weekends and late nights. I would also like to express deep gratitude towards my parents Ms. Kamla Devi and Mr. Jagram Singh for putting up with scaling down the summer outings.
I would also like to thank all of the mentors and mentees that I've had over the years. Last but not least, I would like to pay my sincere thanks to my dear friend and co-author Mr. Ravi Saraswathi.
Mehmet Demir is a TOGAF-certified enterprise architect with 15+ years of experience in designing systems for large companies. He has hands-on experience in developing and implementing SOA-based solutions using Oracle Fusion Middleware, WebCenter Portal, WebCenter Content, BEA WebLogic/AquaLogic product technologies, and Oracle Identity Access Management Suite. As an Oracle-certified SOA Architect, IBM-certified SOA Designer, BEA-certified Architect, and an Oracle WebCenter 11g-certified Implementation Specialist, Mehmet focuses on developing high-quality solutions using best practices.
He is currently working for EPAM Canada as an Enterprise Architect delivering high-value IT solutions to many of Canada's most prominent companies such as CIBC, Home Hardware, and Bell TV. Prior to EPAM, Mehmet worked for BEA Systems where he had been a principle member of the Canadian consulting team.
In addition to his technical capabilities, Mehmet has an MBA from Schulich School of Business and is a certified Project Manager with a PMI PMP designation.
Mehmet can be contacted at http://ca.linkedin.com/in/demirmehmet.
I would like to thank my beautiful wife Emily and my sweet daughter Lara for their support.
Viral Kamdar is a Principal Solution Architect for Oracle Identity Management products. He has a degree in Computer Science and over 12 years of experience working on enterprise applications using J2EE, SOA, and other middleware technologies.
Currently he is employed with Oracle Corporation in a specialized solution architecture team called the A-team. As a part of this team, he gets involved in solving complex customer problems, design discussions, and architecture reviews of fusion middleware products.
I would like to thank my wife for motivating me to review this book.
Antony Reynolds has worked in the IT industry for more than 25 years. First, getting a job to maintain yield calculations for a zinc smelter while still an undergraduate. After graduating from the University of Bristol with a degree in Mathematics and Computer Science, he worked first for a software house named IPL in Bath, England, before joining the travel reservations system named Galileo as a development team lead. Galileo gave him the opportunity to work in Colorado and Illinois where he developed a love for the Rockies and Chicago-style deep pan pizza.
Since joining Oracle in 1998, he has worked in sales consulting and support. He currently works as a sales consultant helping customers across North America realize the benefits of standards-based integration and SOA. While at Oracle, he has co-authored the following books:
Antony lives in Colorado with his wife and four children who make sure that he is gainfully employed playing games, watching movies, and acting as an auxiliary taxi service. Antony is a slow but steady runner and can often be seen jogging up and down the trails in the shadow of the Rocky Mountains.
Shanthi Viswanathan is a freelance consultant helping clients with architecture, development, implementation, high availability, performance tuning, and capacity planning of Oracle Fusion Middleware products. She trains and mentors clients and assists in jumpstarting projects. She is currently on assignment with Canon, Europe as a Strategy Architect. Shanthi also teaches at Seton Hall University in New Jersey.
You might want to visit www.PacktPub.com for support files and downloads related to your book.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at <[email protected]> for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books.
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access.
Get notified! Find out when new books are published by following @PacktEnterprise on Twitter, or the Packt Enterprise Facebook page.
I would like to dedicate this book to my late father N.K Unnithan. You are deeply missed.
—Ravi Saraswathi
I would like to dedicate this book to our families.
—Jaswant Singh
For implementing business process agility using Oracle SOA BPEL Process Manager, most books cover few of the following domains:
In this book, we have combined these domains to deliver the complete handbook. It provides our readers an understanding of what goes outside of their direct responsibilities. This horizontal understanding improves the collaboration among the cross functional groups that would result in increased team productivity.
This book is a comprehensive hands-on industry-leading-practice guide to deliver real-world SOA composite applications using the Oracle SOA Suite BPEL Process Manager platform. The content is 90 percent hands-on instructions with 10 percent of details. You will find an overview of technical fundamentals, step-by-step tutorials, and industry leading practices implementing SOA composite applications.
This book will teach you how to design, develop, test, deploy, secure, and administer an SOA composite application.
Chapter 1, Creating Basic BPEL Processes, provides an understanding of the concept and evolution of Business Process Execution Language (BPEL) and also provides step-by-step instructions for downloading, installing, and configuring Oracle SOA Suite BPEL Processer Manager Platform and JDeveloper.
Chapter 2, Configuring BPEL Processes, teaches about the BPEL language and helps you create basic and complex BPEL processes using JDeveloper and Oracle SOA Suite BPEL Process Manager Platform.
Chapter 3, Invoking a BPEL Process, teaches from examples how to invoke BPEL processes from any Java client or web services and vice versa. It also teaches how to configure transaction timeout for BPEL services.
Chapter 4, Orchestrating BPEL Services, provides step-by-step instructions for designing, creating, and configuring BPEL orchestration, adaptors, business rules, and human workflow. Some of the advanced BPEL orchestration techniques are covered as well.
Chapter 5, Test and Troubleshoot SOA Composites, teaches with examples how to create test suites for BPEL services, how to debug and troubleshoot Oracle SOA Suite Platform and BPEL processes. It also covers dehydration store purge strategies, SOA composites monitoring, SOA Suite logging, and audit configurations.
Chapter 6, Architect and Design Services Using BPEL, covers Oracle SOA Suite components and their use cases, interactions, BPEL design patterns, request- and event- driven architecture. It provides step-by-step instructions for integrating BPEL Process Manager with Oracle Service Bus along with instructions on achieving loose coupling using Oracle Enterprise Service Bus.
Chapter 7, Performance Tuning – Systems Running BPEL Processes, covers performance tuning of SOA composite applications for optimal performance and scalability. The industry leading practices for the Oracle SOA Suite platform components, WebLogic server platform, JVM, operating systems, and load balancers are also included.
Chapter 8, Integrating the BPEL Process Manager with Service Bus, Registry, and SOA Deployment, introduces the design of SOA composite application, use cases of Oracle Service Bus (OSB) and Oracle Registry (OSR) along with ways to create and consume services from Registry and Service Bus. The chapter also takes a look at the deployment of an SOA composite application using JDeveloper and Oracle Enterprise Manager's console.
Chapter 9, Securing a BPEL Process, introduces various options to design and implement a security solution for securing a BPEL process. This chapter provides the available security options and industry leading practices to implement authentication, authorization, data security in transit, and denial-of-service attacks for SOA composite applications. The usage of Oracle Web Service Manager (OWSM) for securing web services are described in detail.
Chapter 10, Architecting High Availability for Business Services, explains the systems architecture options for achieving high availability for SOA composite application's design and deployment. This chapter delves deeper into deployment architecture options—cluster architecture for achieving high scalability and availability of composite applications.
Chapter 11, The Future of Process Modeling, explains the evolution of Process Modeling and what to expect in the near future from various stakeholders in this domain. Also covered are the basics of Oracle BPM Suite (Business Process Management), BPA Suite (Business Process Analysis), along with BPMN (Business Process Model and Notation). It also explains how to use JDeveloper to design and develop process models using BPMN.
Chapter 12, Troubleshooting Techniques, covers possible issues during deployment and runtime with SOA Suite BPEL Process Manager and their troubleshooting techniques. The key takeaway is that knowing all the possible reasons for an issue and then going through the process of elimination to identify the root cause of the issue. The art and science lies in ranking the possible reasons and selecting which one to eliminate first for an issue at hand.
This book is primarily written for the following:
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
Code words in text are shown as follows: "To avoid the install error message, provide the location of JDK/JRE while running the setup.exe file from the commond line"
Any command-line input or output is written as follows:
New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: "You'll see the Middleware Home Directory screen (if needed, update the install directory), click on Next.".
Warnings or important notes appear in a box like this.
Tips and tricks appear like this.
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply send an e-mail to <[email protected]>, and mention the book title via the subject of your message.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the erratasubmissionform link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded on our website, or added to any list of existing errata, under the Errata section of that title. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.
Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.
Please contact us at <[email protected]> with a link to the suspected pirated material.
We appreciate your help in protecting our authors, and our ability to bring you valuable content.
You can contact us at <[email protected]> if you are having a problem with any aspect of the book, and we will do our best to address it.
Over a period of time, people are in the process of finding ways to reuse existing applications to build new applications that are cheaper and faster and achieve interoperability between applications. Loosely-coupled integration of existing applications is required to achieve application agility for timely responses to the changing business requirements. BPEL is one of the leading integration technologies to implement agility for composite applications.
Web applications can be created in multiple ways that depend on the business requirements. There are four generations of web applications which are currently used by the businesses. The first generation web applications were simply informational and static in nature. The second generation web applications enabled interaction with end users and dynamically presented and performed simple transactions online. The third and fourth generation web applications are allowing businesses to perform complex business transactions online that have increased the need for simplifying system integration and reusability of existing enterprise applications with agility.
Organizations iteratively work on improving and modifying business processes to stay competitive in the market. This requires application implementations to be more flexible that by design adapt to the changes in business processes. In other words, most enterprise businesses need agility in creating and maintaining applications to run mission-critical businesses functions, and that requires a platform to quickly create and update business process and/or workflow services. Usually these business process services are composite services that depend on the multiple services within and between enterprises. The application's platform, that enables mission-critical business processes online, is easy to maintain if they are developed using technology components such as SOA and BPEL.
This book uses the JDeveloper IDE for designing and validating BPEL services and Oracle BPEL Process Manager (part of SOA Suite) platform, which has a runtime engine, for BPEL services.
BPEL stands for Business Process Execution Language. The standard body for BPEL is Organization for the Advancement of Structured Information Standards (OASIS) that produces worldwide standards incorporating industry consensus. The syntax of BPEL is XML-based and the current specification is WSBPEL Version 2.0.
BPEL is a programming language that has a mix of structured (blocks) and unstructured (control-links and events). BPEL is used for designing business processes that integrate web services into end-to-end process flow, and for the orchestration of business services. BPEL is mainly used for orchestrating services. The following figure shows the sample structure of a BPEL process:
A brief description of BPEL is given as follows:
BPEL syntax is based on XML. Therefore, it may not be a good idea to design and develop BPEL code by using a text/XML editor. A visual BPEL editor under JDeveloper IDE helps to develop and validate BPEL code easily without memorizing the BPEL specifications line by line. The following figure shows the interaction between a BPEL process and other services:
To deploy and execute BPEL processes, one needs Oracle Business Process Manager Engine. Currently Business Process Manager is part of Oracle SOA Suite. This book covers Version 11.1.1.16 of Oracle SOA Suite.
The following figure shows details of the components that interact with a sample BPEL service:
OASIS Web Services Business Process Execution Language (WSBPEL) is a vendor-neutral specification.
BPEL process manager is one of the components of the Oracle SOA Suite. The Oracle SOA Suite is a combination of multiple applications created by Oracle developers and deployed in a WebLogic container. For example, SOA Infra.ear, Adaptors, B2B, and so on.
Four separate main components/engines are included in SOA Suite. Each of these components has been created by Oracle developers using JSP, Servlets, EJB, JMS, RDBMS, and other system components.
BPMN (BPM Suite) is another component that can configure along with SOA Suite. SOA Infra is the core application. Similar to any enterprise web application, SOA Suite uses a database for storing the metadata information. For example, SOA Infra application uses database schemas for storing all the application information.
Oracle SOA Suite, along with JDeveloper IDE, enables the following:
The following figure shows different service components of an SOA Suite:
JDeveloper packages various SOA components as SOA composite applications. SOA composite applications may contain some or all of the following components:
Since Oracle SOA Suite runs on top of WebLogic container, you can deploy normal J2EE components as part of SOA composite applications; however, it may not be a good idea to use SOA Suite as a normal J2EE container. Separate the J2EE components and deploy it in another instance of WebLogic instances. Some of the J2EE components are listed as follows:
Following are the Oracle SOA Suite management applications and services as part of the SOA Suite installation: