BEAAquaLogic. Service Bus. JPD Transport User Guide

Similar documents
BEAAquaLogic. Service Bus. Interoperability With EJB Transport

BEAAquaLogic. Service Bus. MQ Transport User Guide

BEAAquaLogic. Service Bus. Native MQ Transport User Guide

Oracle Service Bus. Interoperability with EJB Transport 10g Release 3 (10.3) October 2008

ORACLE INTRODCUTION. Service Bus 11g For the Busy IT Professional. munz & more Dr. Frank Munz November getting started

edocs Home > BEA AquaLogic Service Bus 3.0 Documentation > Accessing ALDSP Data Services Through ALSB

J2EE APIs and Emerging Web Services Standards

C exam. IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1.

BEAAquaLogic. Service Bus. Upgrade Guide

Oracle SOA Suite 11g: Build Composite Applications

Oracle SOA Suite 12c: Build Composite Applications. About this course. Course type Essentials. Duration 5 Days

1Z Oracle SOA Suite 12c Essentials Exam Summary Syllabus Questions

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006

MOC 6461A C#: Visual Studio 2008: Windows Communication Foundation

Ellipse Web Services Overview

Oracle SOA Suite 11g: Build Composite Applications

ActiveVOS Technologies

(9A05803) WEB SERVICES (ELECTIVE - III)

Oracle SOA Suite 12c: Build Composite Applications

Oracle Service Bus 10g R3: Design & Integrate Services for SOA

Artix for J2EE. Version 4.2, March 2007

Oracle WebLogic Integration

Lisa Banks Distributed Systems Subcommittee

Oracle SOA Suite 12c : Build Composite Applications

Integration Framework. Architecture

BEAWebLogic Server. WebLogic Web Services: Advanced Programming

Deccansoft Software Services. J2EE Syllabus

SUN. Java Platform Enterprise Edition 6 Web Services Developer Certified Professional

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints

BEAAquaLogic. Service Bus. Release Notes

IEC : Implementation Profile

Java EE 7: Back-End Server Application Development

Enterprise SOA Experience Workshop. Module 8: Operating an enterprise SOA Landscape

SOA Expert Series: OSB Internals with Oracle A-Team

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

Oracle FLEXCUBE Universal Banking 12.0 Interface Getting started. Release 1.0

Oracle Developer Day

1Z Java EE 6 Web Services Developer Certified Expert Exam Summary Syllabus Questions

Integrating JD Edwards Enterprise One and Oracle Service Bus

WebLogic JMS Clustering. Jayesh Patel

Oracle SOA Suite 10g: Services Orchestration

Naming & Design Requirements (NDR)

Microsoft Exam Questions & Answers

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

Implementing a Business Process

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

4 Connecting to Composites

Services Oriented Architecture and the Enterprise Services Bus

Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer

1Z Oracle. Java Platform Enterprise Edition 6 Web Services Developer Certified Expert

BPEL Research. Tuomas Piispanen Comarch

Lesson 3 SOAP message structure

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

JD Edwards EnterpriseOne Tools

Enterprise Java Security Fundamentals

Using the Cisco ACE Application Control Engine Application Switches with the Cisco ACE XML Gateway

BEAWebLogic Server and WebLogic Express. Programming WebLogic JNDI

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

CO Java EE 7: Back-End Server Application Development

Web Service Elements. Element Specifications for Cisco Unified CVP VXML Server and Cisco Unified Call Studio Release 10.0(1) 1

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

Oracle Fusion Middleware

Artix Building Service Oriented Architectures Using Artix

Developing Windows Communication Foundation Solutions with Microsoft Visual Studio 2010

Connecting Enterprise Systems to WebSphere Application Server

Oracle Fusion Middleware

Data Management in Application Servers. Dean Jacobs BEA Systems

ActiveVOS JMS Transport options Technical Note

B. By not making any configuration changes because, by default, the adapter reads input files in ascending order of their lastmodifiedtime.

Oracle Fusion Middleware

TIBCO ActiveMatrix Policy Director Administration

BEAWebLogic. Server. Introduction to WebLogic Server and WebLogic Express. Version 8.1 Revised: June 28, 2006 Part Number:

1Z

ebusiness Suite goes SOA

Oracle Cloud. Using Oracle Eloqua Adapter Release E

Neuron Change History

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6

Vendor: Oracle. Exam Code: 1Z Exam Name: Oracle SOA Suite 12c Essentials. Version: Demo

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1

3 Connecting to Applications

Oracle Cloud Using the Oracle SOAP Adapter with Oracle Integration Cloud

CICS solutions White paper Delivering e-business access to CICS: strategic options.

70-487: Developing Windows Azure and Web Services

Artix ESB. Building Service Oriented Architectures Using Artix ESB. Making Software Work Together. Version 5.0 July 2007

"Charting the Course... Mastering EJB 3.0 Applications. Course Summary

Testpassport.

Lesson 15 SOA with REST (Part II)

This presentation is a primer on the BPEL Language. It s part of our series to help prepare you for creating BPEL projects. We recommend you review

Oracle Service Bus. 10g Release 3 (10.3) October 2008

Web Services Development for IBM WebSphere Application Server V7.0

Fast Track to EJB 3.0 and the JPA Using JBoss

AquaLogic BPM Enterprise Configuration Guide

P02439 Business Service Delivery. Non-Functional Requirements, Service Characteristics and Policies

RESTful SCA with Apache Tuscany

Contents at a Glance. vii

WebSphere Application Server - Overview

Oracle Java CAPS FTP Binding Component User's Guide

: ESB Implementation Profile

Oracle Service Bus Integration Implementation Guide Oracle FLEXCUBE Universal Banking Release [April] [2014]

1. A developer is writing a Web service operation namedgetquote?select the proper code to obtain the HTTP Query String used in the request:

Transcription:

BEAAquaLogic Service Bus JPD Transport User Guide Version: 3.0 Revised: March 2008

Contents Using the JPD Transport WLI Business Process......................................................2 Key Features.............................................................2 Service Types.........................................................2 Messaging Patterns.....................................................2 Limitations...............................................................3 Quality of Service.........................................................3 Typical Scenario..........................................................4 Before you Configure a Business Service.......................................5 Configuring Business Services to use the JPD Transport...........................7 Asynchronous Business Processes with Callbacks................................7 Error Handling............................................................8 Transport Header..........................................................8 JPD Transport User Guide iii

iv JPD Transport User Guide

Using the JPD Transport 1 AquaLogic Service Bus (ALSB) can leverage WebLogic Integration (WLI) as a service end point. WLI business processes and composite applications can act as business services (service providers) or as service clients (service consumers). The JPD transport allows ALSB to natively invoke WLI business processes (JPD) using RMI synchronously. Note that the JPD transport can invoke only WLI business process and cannot invoke any Java Web services. The JPD transport provides access to WLI processes along with support for both transaction and security context propagation from ALSB to WLI. Although ALSB does not manage conversions, an external client can interact with conversational WLI processes using the JPD transport as long as the client is conversational aware. That is, the client must be either a JPD client or a web service conversational client and must have support for generating and understanding conversational headers. For more information, see About Conversation Management in Calling Business Processes in Guide to Building Business Processes. The JPD transport is an outbound transport and can be used to invoke only external services. This implies that you can configure the JPD transport only with business services. There is no support for inbound transport and so this transport cannot be configured for ALSB proxy services. JPD or web service (WS) clients can send a request message to an ALSB proxy service, which after processing forwards the message to the WLI business process using the ALSB business service configured with JPD transport. For more information, see Typical Scenario. You can configure WLI as a service client by importing the service client WSDL from ALSB into WLI, generating a Service Control, and adding a node in the business process to invoke the service. You can expose WLI to ALSB by generating the WSDL file from the existing business process and registering with ALSB as a business service. JPD Transport User Guide 1

Using the JPD Transport WLI Business Process A business process is a collection of interrelated tasks associated with a specific organizational requirement. WLI Business Process Management (BPM) allows users to model and execute business processes that span multiple internal systems, external resources, and users. From the BPM perspective, the enterprise is a set of business services that are accessed through controls and can be orchestrated to model a business process. WLI supports synchronous and asynchronous communications and stateless and stateful processes. Business processes can expose their functionality to clients in several ways, including through WSDL files. Key Features This section describes the key features that are supported by the JPD transport. Service Types The JPD transport supports the following service types: WSDL Any XML Any SOAP The incoming message should be in compliance with the WLI business process semantics. For WSDL and SOAP-based business services, the request should be a SOAP message that can be understood by a WLI business process. For an XML-based business service, the XML should be a self-contained document with a method name and parameters serialized to XML along with the namespace. Note: JPD transport provides support for SOAP 1.1 and limited support for SOAP 1.2. Messaging Patterns The JPD transport supports: Outbound synchronous request/response The JPD transport can do synchronous request/response invocations on synchronous business processes. Outbound one-way (notifications) The JPD transport can do one-way invocations on asynchronous business processes without callbacks. 2 JPD Transport User Guide

Limitations Limitations JPD transport does not support: The WS security policies specified through @ WSSecurityCallback and @ WSSecurityService annotations in a WLI business process file (JPD) when the business process is invoked through the JPD transport. If required, you may enable WS security on the ALSB proxy service that is used to invoke the business process. You need not enable WS security on the JPD business service. Two-way SSL while transporting messages over RMI. Only one-way SSL is supported. HTTP-GET binding in the WSDL generated from the business process file. The generated WSDL has support for only SOAP, HTTP-GET and HTTP-PUT bindings. Business processes with bindings that are set to either RosettaNet or ebxml. Quality of Service The Quality of Service (QoS) can be Best-Effort or Exactly-Once and can be configured in the message flow. For messages sent over RMI, the security and transaction context may be propagated from the client to ALSB. Security context is propagated to the remote WLI end point. The transaction can be propagated based on QoS settings and value of the Propagate-Transaction option set while configuring a business service to use the JPD transport. Propagating the security context from ALSB to WLI may require enabling domain trust between domains. Domain trust is required when ALSB and WLI are on different domains. Domain trust is not required when credentials specified in a service account are used for invoking the WLI business service. While configuring a business service to use the JPD transport, you can set the Propagate-Transaction option to specify if an existing transaction in ALSB can be propagated to the WLI business process or not. The propagation of the transaction depends on the QoS parameters as listed below: When QoS is Best-Effort and: There is no transaction in the pipeline and the Propagate-Transaction option is not set, the call to the business process in not made in a transaction. There is no transaction in the pipeline and the Propagate-Transaction option is set, the call to the business process in not made in a transaction. JPD Transport User Guide 3

Using the JPD Transport There is a transaction in the pipeline and the Propagate-Transaction option is not set, the original transaction is suspended before calling the business process. There is a transaction in the pipeline and the Propagate-Transaction option is set, the original transaction is suspended before calling the business process. When QoS is Exactly-Once and: There is no transaction in the pipeline and the Propagate-Transaction option is not set, the call to the business process in not made in a transaction. There is no transaction in the pipeline and the Propagate-Transaction option is set, the call to the business process in not made in a transaction and the business process runs its own transaction. There is a transaction in the pipeline and the Propagate-Transaction option is not set, the original transaction is suspended before calling the business process. There is a transaction in the pipeline and the Propagate-Transaction option is set, the call to the business process is made in the original transaction. Typical Scenario A typical scenario where the JPD transport can be used is as follows: 1. An external client sends a request message to a proxy service in ALSB. The proxy service can be configured with any transport that is supported by ALSB, and the service type of the proxy service can be WSDL (generated from the business service JPD), Any SOAP, or Any XML. Note: Ensure that the incoming requests are compliant with the JPD semantics. That is, the file format of the WSDL, SOAP, or XML file should be as expected by the business process JPD file. 2. The proxy service receives the message and forwards it to ALSB message flow for processing. The outbound message to be sent to the WLI business process is created in the message flow after removing the binding and transport-specific headers. The request message flow is invoked for processing. 3. After the request message flow processing is over, the message is forwarded to the ALSB business service. 4. The business service invokes WLI Stateless Session Bean (SLSB) deployed on the WLI server using SOAP over RMI, which in turn invokes the WLI business process. 4 JPD Transport User Guide

Before you Configure a Business Service An SLSB-named proxy dispatcher bean is registered on the WLI server and is used to handle requests from the JPD proxies. The JPD transport forwards the messages received by the business service to the SLSB, which in turn invokes the WLI business process. 5. The response from the WLI business process is returned to the business service end point. The response message flow is invoked for processing. 6. The response message is processed in the response message flow and the response is returned to the external client through the ALSB proxy service. Figure 1 shows a typical scenario where you can use the JPD transport. Figure 1 Typical Scenario Using the JPD Transport Before you Configure a Business Service Before you configure a business service, you may need to do any or all of the following tasks based on your requirements: 1. Generate the WSDL file associated with the business process that you want to call from the business service. Right-click on the JPD file and select the Generate-WSDL option. Use the generated WSDL to configure the JPD business service. For more information, see Configuring Business Services to use the JPD Transport. 2. Create a service account. The service account credentials can be used for system or process. The system service account specifies the user credentials for the invocation of the WLI stateless session bean that the JPD transport uses to send incoming messages. If no service account is specified, the inbound request subject is used. If there is no inbound request subject, an anonymous subject is used. JPD Transport User Guide 5

Using the JPD Transport The process service account specifies the user credentials for the invocation of the JPD. If no service account is specified, the inbound request subject is used. If there is no inbound request subject, an anonymous subject is used. For more information, see Service Accounts in Using the AquaLogic Service Bus Console. 3. Configure a JNDI provider. The JNDI provider points to the WLI JNDI provider where the WLI SLSB is registered. When you create a business service, you can associate it with a JNDI provider. For more information, see Adding JNDI Providers in Using the AquaLogic Service Bus Console and Configuring Business Services to use the JPD Transport. Note: When a JNDI provider is not specified during the business service configuration, the default context is used. This implies that the service and the ALSB server are located on the same machine. When the call is co-located, serialization is skipped during service invocation. IIOP(S), T3(S), and HTTP(S) transport protocols can be used by the JNDI provider. The preferred communication protocol from ALSB to a WLS domain is T3 or T3S. If messages need to go through a firewall, you can use HTTP tunneling by using an HTTP provider url in the context and by enabling HTTP tunneling on the WLS server. It is the responsibility of the administrator to ensure that the protocol supported by the JNDI provider is on the remote ALSB server. If the JNDI provider is configured with a user name and password, IIOP and IIOPS protocols are not supported when WLI and ALSB are co-located on the same machine. 4. Create an instance of WLS Work Manager that you want to use as the dispatch policy for the service end point. The default Work Manager is used if no other Work Manager exists. For information about work managers, see Using Work Managers to Optimize Scheduled Work and Create Work Manager in WebLogic Server Administration Console Online Help. 5. Configure a proxy service for receiving callbacks from a business process. This callback proxy service is not required if the business process being invoked is a synchronous JPD or an asynchronous JPD without callbacks. This service may be used when the business process being invoked is an asynchronous business process with callbacks. For more information, see Asynchronous Business Processes with Callbacks. 6 JPD Transport User Guide

Configuring Business Services to use the JPD Transport Configuring Business Services to use the JPD Transport Because the JPD transport is an outbound transport, it can only be configured for a business service. When you create a business service from the ALSB Console, select WSDL, Any XML, or Any SOAP as the service type in the General Configuration page. Note: Ensure that the incoming requests are compliant with the JPD semantics. That is, the file format of the WSDL, SOAP, or XML file should be as expected by the business process JPD file. Select the transport protocol as jpd in the Transport Configuration page. For information about: Handling errors, see Error Handling Transport configuration, see Before you Configure a Business Service, Asynchronous Business Processes with Callbacks, and Configuring Business Services to use the JPD Transport. Configuring a business service using the JPD transport, see in Business Services: Creating and Managing in Using the AquaLogic Service Bus Console. With ALSB throttling, you can limit the amount of throughput to business services to support policy enforcement and prevent overloading of those services. For more information, see Throttling in ALSB in AquaLogic Service Bus Operations Guide. Asynchronous Business Processes with Callbacks Any JPD client that needs to receive callbacks needs to send the callback location (URL) as part of the initial request. This callback location specifies that the client is waiting to receive callbacks from the business process at the specified URL. To support callbacks in ALSB, you need to configure two message flows one for request processing and the other for callback processing. To use the JPD transport for invoking an asynchronous business process with callbacks through ALSB, you need to configure a callback proxy service. You can specify the location of the callback proxy service during the JPD business service configuration. Because callbacks are only supported over JMS, the callback proxy service must be configured over JMS. WLI sends the callback response and the initial callback location URL to the JMS queue associated with the callback proxy service as a JMS transport header BEA_WLI_Target_Callback_Location. You can use the $inbound message context variable to retrieve the initial callback location (sent using the JPD client request) and configure the business service to send the callback to the actual JPD callback client. JPD Transport User Guide 7

Using the JPD Transport Error Handling You can configure the JPD transport-based business services to handle application errors by specifying whether or not to retry business service end point URIs when application errors occur. See Retry Application Errors in Creating and Configuring Business Services - Transport Configuration page in Using the AquaLogic Service Bus Console. An application error occurs when a JPD transport-based business service receives a SOAP fault as a response and the BEA-380001 error code is generated. If an error handler is configured for the response message flow, the error is handled according to the service configuration. Otherwise, the error is propagated back to the proxy service end point. Note: When a response timeout or sequence timeout occurs for a request to a business service, the ALSB server tries to send the message to the next URI in the end point URI list based on the load-balancing algorithm. This behavior does not depend on the Retry Application Errors option. Transport Header The JPD transport is not bound to any specific protocol and all the invocations happen over RMI. Therefore, there are no protocol-specific headers required by the JPD transport. You can pass any custom request headers as name-value pairs. JPD transport defines two headers that may be used by WLI to process a message. The transport headers are shown in Table 1: Table 1 JPD Transport Headers Header Name Content-Type SOAPAction Description Content type of the message received by the JPD transport (for example, text/xml, application/soap + XML or multipart/related). If this value is not specified, it is determined during runtime and passed to WLI. An optional SOAP Action header. SOAPAction header is only available when the proxy service receives the SOAP message over HTTP(S) and can be mapped to the JPD transport header. 8 JPD Transport User Guide