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

What is Service Oriented Architecture (SOA)?


There is no single unique and easy way to define or explain SOA. Given a room full of C-level executives, IT Managers, IT-Architects, and developers with each asked to give a one sentence explanation of what SOA is, for sure, each answer will be different. What is the fundamental message behind SOA? What is it trying to achieve and what does it provides the adopter with? This will help the reader to be able to define or explain it correctly. Let's list some of most common facts he/she may have heard about SOA:

  • It's a style for building loosely coupled and distributed applications

  • It's all about service providers providing services to service consumers that conform to contracts

  • It provides a programming model based on standards defined by various standard bodies including OASIS, WS-*, and so on

Note

Service Oriented Architecture (SOA) is a set of architectural styles, patterns, principles, procedures, and criteria for building solutions and applications.

Such applications exhibit the following characteristics:

  • Loosely coupled from operating systems, programming languages, and protocols

  • Expose coarse grained Business Services that can be mapped to business capabilities

  • Business Services are Modular, Encapsulated, and Reusable

  • Can be Composed, Orchestrated, or Choreographed

  • Services expose standardized interfaces

  • Services are described though contracts and hence discoverable

  • Leverages a standards-compliant middleware

The process of adopting an SOA is a journey and possibly an ever-evolving, ever-learning, never ending one. With SOA, you progress and mature over time to reach a state where you can truly achieve the benefits, as promised.

Process, Business Services, and Components—the core constructs

Business Processes represent the flow of activities required to complete a business process, which, in turn, help achieve a business objective. They are orchestrations, choreography, or compositions of Business Services targeted to achieve business goals.

Business Service, to be more precise, represents a discrete business function that makes meaningful sense to an organization. A Business Service can be composed of one of the many fine-grained functions or atomic services, and by the true definition of SOA, encapsulation, it can dynamically behave depending on how it is invoked. Services form the building blocks of SOA and should be reusable, decoupled, exposed in a standardized fashion, and derived from disparate IT resources.

Components realize and provide services from one or more applications and these components are wrapped into the Business Services. Components help realize not only the functionality of the services they expose, but also ensure that their Quality of Service (QoS) is good, as guaranteed by the service provider. The following figure depicts how all of the above are interrelated and interconnected at a very high level.