This course teaches students how to integrate applications using business process management, and Web services on BEA WebLogic Integration 8.1 Server. BEA WebLogic Workshop 8.1 is the development environment.
You Will Learn How To:
After completing this course, the student should be able to:
Build integration applications using BEA WebLogic Integration 8.1
Use the control architecture to integrate with databases, JMS servers, legacy systems etc.
Develop workflows supporting human intervention and back-end integration
Create and consume Web services using a variety of industry standards
Incorporate security technologies in integration applications
Monitor and debug long-lived process flows
Work with XQuery, XPath and XSLT for data transformation and translation
Trigger process flows on message, time, and remote system events
Add and use asynchronous behavior and transactions in process flows
Course Prerequisites
Object-Oriented Java Programming
Knowledge of J2EE development.
Knowledge of WebLogic Workshop to develop web based application is strongly recommended.
Who Should Attend?
Integration specialists / developers / architects
Workflow developers
Business process / logic developers with programming experience
System architects
Technical lead
Course Outline
Introduction to WebLogic Platform
Introduction
WebLogic Server
WebLogic Portal
WebLogic Integration
WebLogic Workshop
WebLogic Workshop Framework
Annotation Based Programming
The Project Structure
The Build Process
Server Setup
The Development Process
Testing and Debugging
Using the Debugger
Integration Patterns
Need for Integration
Factors that Affect Integration
Challenges of Integration
Common Solution Implementations
Channel Implementation Choices
Messaging Channel Patterns
Message Type Patterns
Message Routing Patterns
Message Transformation Patterns
Service Oriented Architecture (SOA)
Service Invocation
Business Process
Enterprise Service Bus (ESB)
XML Schema Basics
Objectives
What is an XML Schema?
Creating a Schema File
Defining a Simple Element
Defining a Complex Element
Defining Element Attributes
Referring to an Element From Another Element
Defining Abstract Data Types
Adding Restrictions
Referring to a Schema from an XML Document
Validating the XML Against the Schema
Summary
Web Services Description Language (WSDL)
Objectives
WSDL Overview
WSDL Document Tags
WSDL Namespaces
Sample WSDL Document Structure
<definitions>
<import>
<types>
<message>
<portType>
<operation>
One-way <operation>
Request-Response <operation>
Solicit-Response <operation>
Notification <operation>
Modeling Simple Operation
Modeling Complex Operation
Modeling Complex Message
<binding>
More on <binding>
<binding> Syntax
SOAP Binding Example
<service> and <port>
More on <port>
WSDL SOAP Binding Extensions
soap:binding
soap:operation
RPC or Document Style?
WSDL API for Java
Summary
Building Business Processes
Introduction
Challenges in Process Implementation
BPEL4WS (or just BPEL)
Partnership
Example: Buy-Sell Partnership
Modeling Partnership in BPEL
Variables
Simple Activities
Invoke Activity
Structured Activities
Building a Process in WebLogic Workshop
Mapping BPEL to Workshop
Process Development Tools
Properties of a Process
State Variables of a Process
Designing the Start Node
Synchronous and Asynchronous Process
Designing the Start Node
Client Request Node
Client Response Node
Perform Node
Invoking a Service
Data Transfer in a Process
Switch Node
Parallel Node
Invoking the Process
Data Transformation Using XQuery
Introduction
XQuery and Web Services
Basic XQuery Syntax
XML Conversion
Element Constructor
Common XQuery Functions
If-then-else construct
Data Conversion Using XQuery in WebLogic Integration
Managing Schema Files
Designing XQuery Maps
The Map Editor
Testing the Map
Mapping Techniques
Map to JavaBean
Non-XML Data
Using Format Builder
Designing a Group
Mapping Non-XML Schema
Using a Map in a Process
Message Broker
Introduction
How to Use the Message Broker
Event Generators
Available Event Generators
Motivation Behind the Message Broker Architecture
Defining Channels
Dead Letter Channels
Publishing Messages from a Process
Subscribing to a Channel
Creating Event Generators
File Event Generator
JMS Event Generator
E-mail Event Generator
Timer Event Generator
Database Event Generator
Database Event Generator Channel Rule
Post Query
Reading Database Event Generator Messages
Reading XML Data
Reading Binary Data
Invoking a Business Process
Basics
Invocation Options
Use of Callback by a Client
Not Using Callbacks
The Web Service Option
The Service Broker Control Option
Using Service Broker Control Option
The Process Control Option
The JPD Proxy Option
Generating JPD Proxy
Using JPD Proxy in a Client
Example JPD Proxy Client
Page Flow and Business Process
Control Architecture
Introduction
Types of Controls
Advantage of Controls
Basic Features of the Framework
Control Invocation
Control Development Artifacts
Using Controls
Extending a Pre-built Control
Creating a Custom Control
Using a Control
Registering Callbacks
Database Control
SQL Statement for Method
Returning Values
Web Service Control
Creating a Web Service Control
Using a Web Service Control
JMS Control
Extending the JMS Control
Asynchronous Programming
Introduction
Use of Callbacks
Polling
Method Buffering
Conversational Web Service
Developing a Conversational Web Service
Details on State Persistence
Example Conversational Service
Example Using Buffering
Asynchronous Business Process
Developing an Asynchronous Business Process
Security in WebLogic Workshop
Introduction
J2EE Authorization Model
Challenge Mechanism
Basic Challenge
Client Certificates
Form Based Authentication
Protecting Web Resources
Workshop Framework Security
Securing a Page Flow
Securing a Web Service and Business Process
Map Roles to Principals
Web Services Security Challenges
Public Key Infrastructure (PKI)
Digital Signature
Overview of WS-Security
Integrity
Example: Signed XML Document
Canonicalization
WebLogic and Web Services Security
Configuring Web Services Security
The WSSE File
Associating a WSSE File to a Web Service or Control
Trading Partner Protocols
Trading Partner
Partner Profile
Trading Partner and Business Process
Role Based Design Pattern
Service Profile
Standard Protocols
RosettaNet Overview
Advantage Of RosettaNet
PIP Development Process
PIP Definition
Example PIP
Private and Public Processes
PIP Design Pattern
Two-Action Example: 3A2 - Request Price and Availability
Business Message
RosettaNet Control
Guidelines for Implementing a RosettaNet Business Process
Creating a RosettaNet Process
ebXML Basics
ebXML Business Message Structure
Creating an ebXML Process in Workshop
Advanced Process Development
Grouping Nodes
Adding Timeout
Example
Timeout Details
How Does Interruption Work?
Adding a Timeout Path
Exception Handling
Example
Creating Exception Handling Path
Exception Handling Details
Compensation From Error Path
Conditional Execution
Configuring the Condition
The Switch Node
Adding Looping Logic
Adding a While Node
Adding a For Each Node
Creating Parallel Paths of Execution
When to Use Parallel Path
Event Choice Node
Creating an Event Choice Node
Adding Timeout to Event Choice
Transaction Management
Transaction Basics
EJB Transaction Basics
Transaction Propagation
Transaction in WebLogic Workshop Framework
Transaction and Built-in Controls
Transaction in Business Process
Default Transaction Behavior
Example
Custom Transaction Behavior
Example
Manual Intervention Using Worklist
Introduction
Key Features of Worklist
Worklist Tasks
Task Data Details
Task State Transition
The Worklist GUI
Worklist Controls
Task Control
Using Task Control
Example
Task Security
The Request Document
Creating a TaskCreationXMLDocument Object
The Response Document
Task Identifier
Application Integration
Introduction
J2EE Connector Architecture (JCA)
Overview of JCA
The System Contract
The Client API
The Inconvenience of JCA
Application View
More on Application View
Schema
Execution of a Synchronous Service
Execution of an Asynchronous Service
Tasks Performed in Application Integration Console