Web Services allow integrating applications across platforms and programming languages. Lately, the concepts of Service Oriented Architecture (SOA) and Enterprise Service Bus (ESB) have been introduced as a basis for more flexible and extensible applications. However, to fully leverage the potential of these evolving technologies and concepts, we need to define how to apply and extend the J2EE platform to make developing these new solutions easy and effective.
This session introduces an approach toward building a new type of enterprise application, based on open standards. These applications are process-based, event-driven and are composed of Web services that communicate across an Enterprise Service Bus (ESB). We will describe various elements of this approach, for data transformation, business process flow and human interactions, just to name a few examples. Major elements of the solution are described in a declarative manner, supporting changes to the behavior of the application without having to change code or redeploy.
After the session, attendees will have an understanding of the building blocks of advanced enterprise business software. They will learn how to apply these building blocks to the concepts of Service Oriented Architecture and Enterprise Service Bus.
Since September 2003, we – a group of IBM Web services developers and consultants – have created and published a series of articles around Web services coding on the developerWorks Web site. These articles are relatively short and target only one particular topic related to – Surprise! – Web services programming. They always come with examples, and are geared toward developers that implement real world solutions with Web services.
This session provides a collection of the ideas and concepts that have been introduced in the series. It gives an overview of the types of problems developers face when building and/or consuming Web services and how to overcome them. We are not addressing architectural issues, simply taking for granted that a Service Oriented Architecture (SOA) is the basis for application design. Hence, we go to a lower level of detail than typically seen in papers and presentations. The code examples that are given can be directly utilized in a project.
Many of the articles address how to use the various standards that exist for Web services programming, most notably the JAX-RPC standard. We explain how to create JAX-RPC handlers to intercept SOAP messages, how to create and work with SOAP headers, or how to send and receive binary data as attachments, to name just a few examples. Other topics focus on design issues – for example, which encoding and invocation styles to use for a Web service, or how to deal with Java-to-XML-Schema mapping issues.
The covered topics and ideas are the result of many questions, concerns and problems that we have encountered when working on real life projects. These are the questions that are asked when the architects have left the room, and real development work begins. We intend to continue documenting and publishing common concerns and issues and how to successfully address them.
Andre Tost works as a Solution Architect in the WebSphere Business Development group, where he helps IBM's Strategic Alliance partners integrate their applications with WebSphere. His special focus is on Web services technology throughout the WebSphere product family. Before his current assignment, he spent ten years in various development and architecture roles in IBM software development, most recently for the WebSphere Business Components product. Andre has coauthored three books on J2EE and Web services programming and has published many articles on software development related topics. He was also a speaker at software conferences worldwide, like JavaOne, Web Services One, or developerWorks Live. Originally from Germany, he now lives and works in Rochester, Minnesota. In his spare time, he likes to spend time with his family and play and watch soccer whenever possible.