Service Oriented Architecture (SOA)
SOA is an architectural approach using technology to present business processes as reusable services.
One of the keys to SOA architecture is that interactions occur with loosely coupled services that operate independently. SOA architecture allows for service reuse, making it unnecessary to start from scratch when upgrades and other modifications are needed. This is a benefit to businesses that seek ways to save time and money.
SOA is not a technology, it is a concept and a strategy for using technologies to build business automation solutions. SOA can be achieved through web services like BPEL.
BPEL and BPMN
BPEL “Business Process Execution Language” is an XML-based language that enables task-sharing in a distributed computing or grid computing environment.
BPEL allows Web services to interconnect and share data.
Programmers use BPEL to define how a business process that involves web services will be executed. BPEL messages are typically used to invoke remote services, orchestrate process execution and manage events and exceptions.
BPEL is often associated with Business Process Management Notation (BPMN), a standard for representing business processes graphically. In many organizations, analysts use BPMN to visualize business processes and developers transform the visualizations to BPEL for execution.
IBM WebSphere Software
WebSphere Process Server (WPS)
WPS serves as the runtime engine for artifacts produced in a business-driven development process. In short, it is server software that allows you to run IBM's Business Process Management (BPM), Service Component Architecture (SCA), and Enterprise Service Bus (ESB) functionality on a server, just as WebSphere Application Server allows you to run Web Application Server functionality. WebSphere Process Server is mounted on top of WebSphere Application Server and extends the WebSphere Enterprise Service Bus.
Any type of application that you create in WID can be deployed to this server.
WebSphere Enterprise Service Bus (ESB)
Only ESB logic in mediation modules can be deployed to this server. ESB is a subset of WPS.
Rational Application Developer (RAD)
RAD is a commercial Eclipse-based IDE integrated development environment made by IBM Rational Software, for visually designing, constructing, testing, and deploying Web services, portals, and Java Enterprise Edition(JEE) applications
WebSphere Integration Developer (WID)
WID is an Integrated Development Environment (IDE) for end-to-end integration of service oriented application. It is a tool for building business process management (BPM) and integration solutions, based on Service Oriented Architecture (SOA).
WID is the IDE used to develop WebSphere Process Server (WPS) modules. WID is essentially RAD (or Eclipse) with a number of additional plugins to support BPM, SCA, and ESB functionality and a WPS server profile for testing against.
Business functions are encapsulated into service components that are assembled to create an integrated application, which is also a service. The services created comply with the leading, industry-wide standards. Business processes, which also become components, are similarly created with easy-to-use visual tools that comply with the industry-standard Business Process Execution Language (BPEL).
Service Component Architecture (SCA)
An SCA Module is a new concept with WID that combines a number of projects that support the same set of functionality into one conceptual grouping. In WID, one can create a new module, and the tool will automatically create a Java Project, a Web Project, and an Enterprise Archive project which all contain the files necessary to support and deploy a full SCA module to WPS.
A binding defines the data format and transport protocol for transferring data between services. Imports and exports require binding information. An import binding describes the specific way an external service is bound to an import component. An export binding describes how that export (or service) will be published or made available to clients outside the module. The kind of binding determines what kind of client is supported; for example, a Web service binding makes the service available to any Web-based client, while an SCA binding makes it available to other SCA modules. Import bindings tell the SCA run time processes how to access an external service. For example, if you publish a service with an SCA export binding, an import with a JMS binding will not be able to successfully call it. Import bindings do not have to be defined at development time; they can be defined at deployment time.
The SCA binding is the default binding; if no binding is specified for an export, the runtime process assumes an SCA binding when the module is deployed. An import with an SCA binding lets you access a service in another SCA module. You can use either of two bindings to invoke Web services - a Web service binding or an HTTP binding. The Hypertext Transfer Protocol (HTTP) is a widely-used protocol for transferring information on the Web as defined by the World Wide Web consortium (W3C). Today many standard HTTP requests such as GET, POST, PUT, DELETE and so on are a part of this widely used protocol.
Business Object Maps (BO Maps)
When writing web services, a common task is to map the data you are working with from one format or structure to another. In WID, all data is stored and passed between components as XML, which eliminates the need to map from one data format to another. However, the need to map data from one structure to another is still present. WID offers data maps as a way to achieve this, in addition to the classic method of manually writing Java code to do it. Data Maps come in two major flavors: Business Object Maps and XSL Maps.