What this book covers
Chapter 1, Calling BPEL from Java, explains how to call a BPEL process from Java programs. Invoking synchronous and asynchronous BPEL processes from the Java code is also covered.
Chapter 2, Calling Services from BPEL, introduces the development lifecycle of web services and explains how to call web services from a BPEL process.
Chapter 3, Advanced Tracing and Logging, covers the configuration of logging in Oracle SOA Suite and explains the usage of the BPEL processes and composite sensors.
Chapter 4, Custom Logging in the Oracle SOA Suite, explains the advanced techniques of logging and provides an in-depth view of logging in Oracle SOA Suite.
Chapter 5, Transforming and Validating the BPEL Services, covers the transformation of the variables with XSLT in the BPEL processes and introduces the development of the user-defined functions.
Chapter 6, Embedding Third-party Java Libraries, explains the usage of the extensions in JDeveloper, the BPEL processes, and Oracle SOA Suite in general.
Chapter 7, Accessing and Updating the Variables, will help us discover all the aspects of the variable manipulation in the BPEL processes.
Chapter 8, Exposing Java Code as a SOAP Service, introduces the complete lifecycle of web service development with the bottom-up design approach in Oracle SOA Suite.
Chapter 9, Embedding Java Code Snippets, deals with using and executing the Java code from the BPEL processes and introduces the development sandbox for the Java code to be executed in the BPEL processes.
Chapter 10, Using XML Facade for DOM, focuses on all the aspects of XML façade development, which helps us overcome the problems with DOM manipulation in the BPEL processes from the Java code.
Chapter 11, Exposing Java Code as a Web Service, shows how to expose the Java code to become a web service. The whole web service lifecycle is covered in a neutral vendor solution manner using the JAX-WS annotations.
What you need for this book
To use this book efficiently, the required software to be installed is Oracle SOA Suite 11g v11.1.1.6.0. The majority of the recipes also use Oracle JDeveloper 11g v11.1.1.6.0. Some recipes use the Eclipse development environment. Those recipes were developed using Eclipse IDE Juno v4.2 – SR2. For the web services development, we also use Apache Axis2 v1.6.1. For the advanced logging recipes, we use Apache Log4j v1.2.17.
Who this book is for
This book is aimed at the Java developers who need to use BPEL programming to develop web services for SOA development. It is assumed that readers have some prior knowledge of SOA development. Developers should be experienced with Java programming, but knowledge of BPEL is not necessarily required. It does not matter if you are an experienced developer or just starting to learn. There are recipes suitable for every knowledge level. For beginners, we provide introductory explanations with references. More experienced developers will find the recipe description of how they work and discussion on how the topic can be further enhanced very useful.
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, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: "Let us examine the ClientProxy.java
class first. We start, by creating the ServiceClient
client and prepare the Options
class to configure the ServiceClient
client."
A block of code is set as follows:
<element name = "fault"> <complexType> <sequence> <element name = "msg" type = "string"/> </sequence> </complexType> </element>
When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:
@Path("RESTWeatherService") public class WeatherProvider { @GET @Path("/query") @Produces("text/xml") public String getWeatherInfo(@QueryParam("name") String name, @QueryParam("zip") String zip) { return "<weatherRes>Hello " + name + ". The weather in " + zip + " city cloudy. \n" + "Temperature is 24 degrees Celsius. \n" + "Humidity is 74%</weatherRes>"; } }
Any command-line input or output is written as follows:
Error deploying BPEL suitcase. error while attempting to deploy the BPEL component file "C:\Programs\Oracle\Middleware\user_projects\domains\SOA_Dev\servers\AdminServer\dc\soa_8606ace0-2193-4 719-8cd7-08b2f0d57a04"; the exception reported is: java.lang.RuntimeException: failed to compile execlets of BPELProcess2_0 This error contained an exception thrown by the underlying deployment module. Verify the exception trace in the log (with logging level set to debug mode).
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: "When you double-click on the Java Embedding activity, a new dialog opens where we have to enter the code. We finish configuring the Java Embedding activity by clicking on the OK button."
Note
Warnings or important notes appear in a box like this.
Tip
Tips and tricks appear like this.