Book Image

Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7

Book Image

Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7

Overview of this book

By adopting an SOA approach in Business Process Management (BPM), you can make your application flexible, reusable, and adaptable to new developments. The SOA approach also gives you the potential to lower costs (from reuse), and increase revenue (from adaptability and flexibility). However, integrating basic SOA constructs (such as Process, Business Services, and Components) and core building blocks of BPM (such as Process Modeling and Enterprise Service Bus) in a real-world application can be challenging.This book introduces basic concepts of Business Integration, SOA Fundamentals, and SOA Programming Model and implements them in numerous examples. It guides you to building an Order Management application from scratch using the principles of Business Process Management and Service Oriented Architecture and using WebSphere Process Server (WPS) and WebSphere Enterprise Service Bus (WESB). The various detailed aspects, features, and capabilities of the product are conveyed through examplesWe begin with essential concepts on Business Integration, SOA Fundamentals and SOA Programming Model. Then we set up the development environment to build your first Hello Process and Hello Mediation applications.Gradually, we build an SOA-based Order Management Application. We cover important aspects and functions of WPS and WESB with numerous practical examples. We show how to analyze your application's business requirements and check if an SOA approach is appropriate for your project. Then you do a top-down decomposition of your application and identify its use cases, business processes, and services. Having built the SOA Application, we introduce you to various non-functional topics, including: Administration, Governance, Management, Monitoring, and Security. We also discuss deployment topologies for WPS and WESB, performance tuning, and recommended practices.
Table of Contents (20 chapters)
Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7
Credits
About the Authors
About the Reviewers
Preface
WID, WPS, and WESB Tips, Tricks, and Pointers
Index

Preface

By adopting an SOA approach in Business Process Management (BPM), you can make your application flexible, reusable, and adaptable to new developments. This book introduces basic concepts of Business Integration, SOA Fundamentals, and SOA Programming Model, and implements them in numerous examples.

You will learn to analyze business requirements and rationalize your thoughts to see if an SOA approach is appropriate for your project. Using the principles of Business Process Management, Service Oriented Architecture, using IBM WebSphere Process Server 7(WPS), and WebSphere Enterprise Service Bus 7 (WESB), the authors guide you through building an Order Management application from scratch.

What this book covers

Chapter 1, Introducing IBM BPM and ESB, discusses the core capabilities needed for a process integration approach, IBM’s SOA Reference Architecture, and IBM’s Business Process Management platform including WebSphere Process Server (WPS) and WebSphere Enterprise Service Bus. It also discusses IBM’s BPM enabled by SOA lifecycle methodology.

Chapter 2, Installing the Development Environment, takes you through the process of installing and setting up the WID development environment. During the course of setting up the environment, it takes a quick peek into some of the fundamentals of WID, key concepts, and terms. It takes us through a crash course in using WID and also shows us how to navigate using WID as well as some of the key activities that one would perform and how to perform them.

Chapter 3, Building your Hello Process Project, discusses the fundamental SOA programming model concepts and helps us understand how these concepts apply in the context of WID/WPS/WESB. It also discusses, in detail, the Service Component Architecture (SCA). It also rounds up the SOA programming model discussions with BPEL. It also provides instructions on building our first business process-based application—Greeting Solution. Though the application does a simple job, the purpose of building this application is to understand how to go about using WID, the various capabilities of WID, and how to apply these capabilities. It also briefly touches upon logging, debugging, and troubleshooting basics and exporting projects from WID.

Chapter 4, Building your Hello Mediation Project, provides an overview of WESB-based programming fundamentals including Service Message Objects (SMO) and Mediation Flows. It helps us to build our first HelloMediationModule. Instructions are provided to create, implement, and assemble the HelloMediationModule and HelloProcess. These modules are then deployed on the WebSphere Process Server, which is a part of the WID Unit Test Environment.

Chapter 5, Business Process Choreography Fundamentals, discusses the various aspects and functions of WPS and WESB that are absolutely and fundamentally essential. The topics covered are Business Process (WS-BPEL), Business Objects, Business Rules, State Machines, Visual Snippets, Compensation, Fault Handling, and Control Structures .

Chapter 6, Mediations Fundamentals, performs an in-depth study of mediation flows, mediation primitives, and adapters. It walks us through the various aspects and concepts about Mediation primitives and Service Message Objects that are absolutely fundamental and essential. The other topics that this chapter touches upon are Adapters and Dynamic routing.

Chapter 7, Sales Fulfillment Application for JungleSea Inc., guides you through the steps involved in architecting the new Sales Fulfillment Application. It also identifies the appropriate WPS and WESB components that will have to be built.

Chapter 8, Walk the Talk, provides details around the assembly phase of the IBM SOA Reference Architecture. It discusses how to assemble components to catalog their interface and data types in shared libraries that can then be leveraged by the different modules of the Sales Fulfillment Application.

Chapter 9, Building the Order Handling Processes, guides us through how to build the Process Services modules, namely, ProcessServices-OrderHandling and ProcessServices-CustomerInterfaceManagement, and the associated businesses processes (BPELs). It starts with the creation of shared libraries and then provides a top-down breakup of the process, business, and access services that will be developed and assembled for the Sales Fulfillment Application. It covers several topics including BPEL development steps, using business rules in the process, implementing human tasks, usage of control structures, fault handling including compensation, correlation sets, and discusses how to test the business processes end-to-end, once the Business Service and Access Service modules have been built.

Chapter 10, Integration with Various Applications, walks you through the implementation of the first working version of the Sales Fulfillment Application along with all the business service modules (with the associated components) and the corresponding Access Services (with the associated components). Then it discusses how to perform unit testing and component testing. It also helps in the implementation of the Business and Access Service modules. It also provides a step-by-step method to implement them and unit test them.

Chapter 11, Business Space, provides an overview of the Business Space and touches upon some of the basic concepts and functionalities to help you get started.

Chapter 12, Deployment Topologies, provides information regarding the fundamental aspects to take into consideration when choosing a deployment topology. It discusses the fundamentals behind WebSphere Application Server Network Deployment (WAS ND), which is the base foundation platform for the IBM BPM portfolio of products including WPS and WESB. Then it discusses clustering, how to do vertical and horizontal clustering, and briefly looks at the databases used by WPS. It also discusses the several deployment patterns available from IBM and how, from them, we can choose the Remote Messaging and Remote Support topology pattern (gold topology) as the production topology.

Chapter 13, Management, Monitoring and Security, shows us how to perform some of the most common solution administration tasks, including how to use the admin console and various activities we can perform using it. Then it discusses installing versioned SCA modules and how to monitor the applications deployed on WPS/WESB. It also discusses various tools and capabilities provided in WID/WPS/WESB to monitor the applications and components.

Appendix, WID, WPS, and WESB Tips, Tricks, and Pointers will be a random yet useful collection of typical questions, how-tos, and tips on different topics when developing with WID, WPS, and WESB. It will cover some of the most common questions related to WID tooling, managing, and administering the runtime. This chapter is meant to be a quick reference where we scratch the surface of some advanced topics that warrant a book by itself. It aims to provide you with the right pointers so that you can get to the appropriate information and not have to search for it.

What you need for this book

This book covers building an application using the principles of BPM and SOA and using WPS and WESB. The various detailed aspects, features, and capabilities of the product will be conveyed though examples. It will also provide pragmatic guidance on various aspects in relation to building the SOA application.

The software needed for this book is

Operating system: Windows or Linux

WebSphere Integration Developer v7

- This includes an Integrated WebSphere Process Server and WebSphere Enterprise Service Bus test environments

- For software requirements on Windows refer: http://www-01.ibm.com/support/docview.wss?rs=2308&context=SSQQFK&uid=swg27016958

- For software requirements on Linux refer: http://www-01.ibm.com/support/docview.wss?rs=2308&context=SSQQFK&uid=swg27016957

Who this book is for

This book is for SOA architects, designers and developers who have a basic understanding of SOA concepts and would like to learn more about building solutions and applications using IBM WebSphere Process Server and WebSphere Enterprise Service Bus.

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: “In WID the service component definition is included in the <SERVICE_NAME>.component file.”

A block of code is set as follows:

DataObject customerInfo) {} function with the following code:
public DataObject requestCreditApproval(DataObject customerInfo) {
    ServiceManager serviceManager = ServiceManager.INSTANCE;
    BOFactory boFactory = (BOFactory)serviceManager.locateService("com/ibm/websphere/bo/BOFactory");
    DataObject customerCreditApproval = boFactory.create("http://Ch6Library","CustomerCreditApproval");  customerCreditApproval.setString("id",customerInfo.getString("id"));

Any command-line input or output is written as follows:

manageprofiles(.bat)(.sh) -backupProfile -profileName profile_name
-backupFile backupFile_name -username user_name -password password

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: “Click on the Add button and then click on the Finish button.”

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 , and mention the book title via the subject of your message.

If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or e-mail .

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book on, 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.

Tip

Downloading the example code for this book

You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

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/support, selecting your book, clicking on the let us know 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 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 if you are having a problem with any aspect of the book, and we will do our best to address it.