Oracle SOA BPEL Process Manager 11gR1 - A Hands-on Tutorial - Ravi Saraswati - E-Book

Oracle SOA BPEL Process Manager 11gR1 - A Hands-on Tutorial E-Book

Ravi Saraswati

0,0
44,39 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

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:

EPUB
MOBI

Seitenzahl: 255

Veröffentlichungsjahr: 2013

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

Oracle SOA BPEL Process Manager 11gR1 – A Hands-on Tutorial
Credits
About the Authors
Acknowledgement
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Instant Updates on New Packt Books
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Errata
Piracy
Questions
1. Creating Basic BPEL Processes
Evolution of web applications
Evolution of integration technologies
An introduction to BPEL
Installing and configuring BPEL Process Manager
Step 1 – install Oracle JDeveloper
Installing SOA extensions
Step 2 – download and install Oracle Database
Step 3 – install Oracle SOA Suite
Creating an SOA Suite domain
Creating sample BPEL business processes
Deploying BPEL business processes
Testing and managing BPEL business process instances
Summary
2. Configuring BPEL Processes
Understanding the BPEL language framework
BPEL activities
Creating basic activities in BPEL
Activities
Basic activities
Structured activities
Fault and error handling
Synchronous versus asynchronous processes
Selecting the timeout value for synchronous processes
BPEL correlation
Creating a Correlation set
Associating the Correlation set
Creating property aliases
Adapters
Database Adapter
File Adapter
JMS Adapter
Web Service Adapter
Implementing human workflow with Human Task components
Summary
3. Invoking a BPEL Process
Communicating between BPEL to/from Java
Invoking a BPEL process from Java
Invoking a service from a BPEL process
Partner Link
Writing Java code within BPEL activities
Invoking Java from BPEL
Configuring BPEL timeouts
Setting the JTA Transaction Timeout aka Global Transaction Timeout parameters
Changing the SyncMaxWaitTime parameter
Transaction settings
BPEL EJB's transaction timeout
Timeout for Asynchronous BPELs
Summary
4. Orchestrating BPEL Services
Orchestration
Designing orchestration
Flow
Switch
Custom XPath functions
Creating custom XPath functions
Custom XPath function class
Registering with SOA Suite
Registering with JDeveloper
Scope
BPEL variables
Human Task
Worklist application
Creating Human Tasks
Standalone Human Task – expose as a service
Human Task – part of a BPEL process
Business Rules engine
Adding business rules as part of a BPEL process
Creating business rules
Facts and Bucketsets
Summary
5. Test and Troubleshoot SOA Composites
Testing SOA composites from the EM
Testing a composite from JDeveloper
Viewing instances and messages on JDeveloper
Creating a test suite
Initiating the Test
Emulating inbound messages
Emulating outbound messages
The Dehydration Store
Options for purging the Dehydration Store
Troubleshooting
BPEL Process Manager logging
Domain logs
Access.log
The admin/managed server log
The logging level
The audit level
Monitoring
The MBean browser
Summary
6. Architect and Design Services Using BPEL
Services architecture and design guidelines
Services-based application design
SOA Suite
Enterprise Service Bus (ESB)
Use case of the service bus
Interaction design patterns
Synchronous request and response
Asynchronous request and response
One request and multiple responses
One request, a mandatory response, and an optional response
One-way message
Event-Driven Architecture (EDA)
Request-driven interaction
Event-driven interaction
Human tasks
Summary
7. Performance Tuning – Systems Running BPEL Processes
The Java Virtual Machine
Garbage collection process
Young generation
Tenured generation
Permanent generation
Garbage collection tuning
Choosing the garbage collection algorithm
Select NewSize
Select heap size
Garbage collection tool – JVisualVM
SOA Suite
SOA infra application
The WebLogic console
The enterprise manager
Dynamic Monitoring Service (DMS)
The B2B console
The System MBeans browser
SOA Suite tuning
Load balancers
Operating system
File descriptors
Adaptors
Database
Dehydration store
Init.Ora
Automatic Workload Repository
Summary
8. Integrating the BPEL Process Manager with Service Bus, Registry, and SOA Deployment
The SOA composite application architecture
Oracle Registry
Service Registry install
Publish services to registry
Consume services from registry
Service bus
SOA Suite deployment
Summary
9. Securing a BPEL Process
Securing a BPEL process
Enterprise Security Gateway
Oracle Web Service Manager (OWSM)
OWSM security implementation use cases
Attaching security policies using the OWSM console
Attaching security policies using JDeveloper
WS-Security
OWSM implementation – an example
Configuring a secured service provider with username tokens
Configuring a service client for calling a secured web service
Oracle security products
Oracle Identity Manager
Oracle Entitlement Server
Network Firewall with Intrusion Prevention System
Web Application Firewall
Data security in Transit and at Rest
Summary
10. Architecting High Availability for Business Services
SOA environment
Cluster architecture
Load balancer(s)
Compute resource(s)
Web server(s) – clustering for scalability and availability
WebLogic application server(s) and Oracle SOA Suite server(s) – clustering for scalability and availability
Database clustering
GridLink data source
Backup and recovery strategy
Data center(s)
Deployment architecture options
Multi data center deployment
Active – Active
Active – Passive
Oracle Service Bus
Summary
11. The Future of Process Modeling
Commercial off-the-shelf (COTS)
The evolution of business process modeling
Business Process Management (BPM)
Oracle BPM Suite and BPA Suite
Modeling the process – BPMN
BPM Studio
Summary
12. Troubleshooting Techniques
JVM issues
JVM troubleshooting tools
Linux troubleshooting commands
Application issues
Database issues
CPU spikes
Load balancing issues
SSL issues
Network issues
User activity issues
Verifying the server health
Extending to a domain
Oracle troubleshooting tools
Oracle Remote Diagnostics Agent
WebLogic Diagnostic Framework
Summary
Index

Oracle SOA BPEL Process Manager 11gR1 – A Hands-on Tutorial

Oracle SOA BPEL Process Manager 11gR1 – A Hands-on Tutorial

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]>)

Credits

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

About the Authors

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.

Acknowledgement

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.

About the Reviewers

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:

Oracle SOA Suite 10g Developer's Guide, Packt PublishingOracle SOA Suite 11gR1 Developer's Guide, Packt PublishingOracle SOA Suite 11g Developer's Cookbook, Packt Publishing

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.

www.PacktPub.com

Support files, eBooks, discount offers and more

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. 

Why Subscribe?

Fully searchable across every book published by PacktCopy and paste, print and bookmark contentOn demand and accessible via web browser

Free Access for Packt account holders

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.

Instant Updates on New Packt Books

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

Preface

For implementing business process agility using Oracle SOA BPEL Process Manager, most books cover few of the following domains:

Designing and architecting SOA composite applicationsDeveloping SOA composite applications using BPELTesting and debugging SOA composite applicationsInstalling, configuring, deploying, securing, and administering SOA composite applications

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.

What this book covers

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.

What you need for this book

Oracle SOA Suite 11g Release 11gR1 (11.1.1.7.0)BPEL Process ManagerOracle Business RulesOracle Web service Manager (OWSM)Oracle Business Activity Monitoring (BAM)Oracle JDeveloper 11g (11.1.2.4.0)JDeveloper Extension - Oracle SOA Composite Editor (11.1.2.4.0)Oracle Database Express Edition 11g Release 2Oracle Service Bus Release 11gR1 (11.1.1.7.0)Oracle Service Registry (11.1.1.6.0)Oracle BPM Suite 11gR1 (11.1.1.7.0)Oracle BPA Suite 11g Release 1 (11.1.1.7)JDK 6

Who this book is for

This book is primarily written for the following:

SOA Developers: To develop SOA Composite applicationsAdministrators: To install, configure, deploy, troubleshoot, and for performance tuning of SOA Suite PlatformEnterprise/Security/System/Infrastructure architects: To design composite applications, create infrastructure and system architecture, and to design security solutionsBusiness Analysts/QA Testers, Project Managers, and Engineers: To design SOA services and business processes, monitor and test composite applications, and oversee &/ manage SOA projects

Conventions

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:

setup.exe -jreLoc C:\Oracle\Middleware\jdk160_24

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.".

Note

Warnings or important notes appear in a box like this.

Tip

Tips and tricks appear like this.

Reader feedback

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.

Customer support

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.

Errata

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

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.

Questions

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.

Chapter 1. Creating Basic BPEL Processes

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.

Evolution of web 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.

Evolution of integration technologies

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.

An introduction to BPEL

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 is one of the leading specifications to standardize orchestration logic and process automation between web services.The key benefit of BPEL is about leveraging more from existing application assets. BPEL enables legacy applications to be deployed as web services and orchestrated across platforms.Identifying and documenting both the existing and new required high-level business process is a time-consuming but essential job.BPEL enables developers to develop processes quickly by defining the order in which services will be invoked and provide an easy interface to connect processes from external systems.Business Process Execution Language for web services provides a means to formally specify business processes and interaction protocols. BPEL is acting as a glue to bind web services into a cohesive business solution and facilitating their orchestrated interaction within and between enterprises.Web service is an integration model created for allowing integration of systems built using heterogeneous tools and technologies. BPEL is one of the core components for defining composite web services to perform complex business functions.

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.

BPEL ProcessesMediatorBusiness RulesHuman Task

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:

Design and develop business servicesManage business servicesOrchestrate services in to SOA composite applicationsProvide a runtime engine for deploying and managing SOA composite applications

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:

BPEL processes for process orchestrationHuman workflows for modeling human interactions such as approving a salary increment for an HR systemMediator for routing and transforming the messages (Oracle Service bus can be used for the same purposeSpring framework for integrating Java interfaces to SOA Composite applicationsBusiness rules for acting as a simple rules engine

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:

Oracle Application Development Framework (ADF) is a Java framework initiated from the original Model View Controller (MVC) frameworkEJB service for adding enterprise servicesJ2EE technologies such as JSP, Servlet, and JSF for web applicationsJMS for messaging

Following are the Oracle SOA Suite management applications and services as part of the SOA Suite installation:

Welcome Page: http://{hostname}:{port}Admin Server: http://{hostname}:{port}/consoleEnterprise Manager (EM): http://{hostname}:{port}/emDynamic Monitoring Service (DMS): http://{hostname}:{port}/dmsB2B: http://{hostname}:{port}/b2bconsoleWeb Services Inspection Language (WSIL): http://{hostname}:{port}/inspection.wsil