background image

java.sun.com/javaone/sf

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

1

Building Service-
Oriented Architectures 
With Java

™ 

Platform, Enterprise 
Edition (J2EE

)

Ted Farrell
Chief Architect, Application Development

Oracle Corporation

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

2

Agenda

Service-Oriented Architectures
SOA on the J2EE™ Platform
Best Practices
Demonstration
Q&A

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

3

Service-Oriented Architectures

Decouple architecture from implementation

Loosely- coupled interfaces

Multi- channel access across different tiers

Process-oriented vs. component-based

Orchestration

Process flow between services

Data mapping/transformation

Evolving business models

Technology changes and new business requirements

Continuous small changes vs. sporadic large ones

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

4

Benefits of SOA

Better reuse

Build new client functionality on top of 

existing Business Services

Well-defined interfaces

Make changes without affecting clients

Easier maintainability

Changes/versions are not all-or-nothing

Better flexibility

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

5

SOA Across the Enterprise

receive

get order

get props

get desc.

SCOPE

FLOW

reply

receive

ship order

send msg

FLOW

reply

Business 
Services

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

6

Service-Oriented Interface

The interface contract to the service is 

implementation-independent

The service can be dynamically invoked

Runtime binding

The service is self-contained

Maintains its own state

Examples

Web Services

WSRP

Data Control (JSR 227)

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

7

Web Service

WSDL for definition

SOAP for protocol

UDDI for lookup

True implementation and OS independence

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

8

Business Process Execution 
Language (BPEL)

WSDL for definition

High-level business definition

Low-level technical definition

XPath for expression language

XML Schema for data typing

Protocol independent

Definition

Binding

WSDL

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

9

Web Services Interchange 
Format (WSIF)

Framework for WSDL Bindings

Open source

Extendable

Technology-specific adaptors 

SOAP

Java™ Cryptography Architecture (JCA)

EJB™ specification

Java Message Service (JMS)

Etc.

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

10

Web Services Interchange 
Format (WSIF)

WSIF

JCA

EJB

SOAP

Generic Definition

App Server

JCA

Native Objects

Generic Objects

WSDL

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

11

Web Services for Remote 
Portals (WSRP)

WSDL for definition

SOAP for protocol 

UDDI for lookup

Meta information for:

User context

Device information

Locale

Publishing information

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

12

Data Control (JSR 227)

SOI for data binding data into user interfaces

What about Web Services?

!

Consistent definition

X

Conversion to XML 

X

Binding-specific attributes

Too specific for general service

X

Overhead for native 

(EJB spec, Java class, etc.) types

Data Control

!

Consistent definition

!

No conversion of data

!

Native communication to services

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

13

Data Control Architecture

Client

Data Control

EJB

JCA

WS

App Server

WS

Client

Server

Generic Objects

Native Objects

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

14

The Implementation Is the Service

Performance

Scalability

Transactions

Caching

Clustering

Capabilities/choice

Integration into legacy systems

Optimizations

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

15

Same

Objects

Vendor’s

Server

Optimizing Your SOA

Interface-only

XML, WSDL, SOAP, HTTP, BPEL, WSRP

Same technology (Good)

JSR 207 Process Definition for Java Technology

JSR 208 Java Business Integration

JSR 235 Service Data Objects

JSR 227 Declarative Data Binding

JSR 168 (Portal)

Same server (Better)

Optimized XML

By-pass network calls

Shared connections

Same container (Best)

Native communication

Integrated cache, etc.

J2EE

Anyone

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

16

J2EE Platform for SOAs

More vendor support

More common technologies

More optimization

Increased chance of optimized 

implementation

Standard definitions—optimized 

implementation

WSIF Adaptor for the J2EE platform?

Optimized when both the 

J2EE platform

SOAP when mixed

No change for developer

More platform support

Better legacy access

Same

Objects

Vendor’s

Server

J2EE

Anyone

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

17

Where Are Your Services?

Interfaces to existing functionality

Service-oriented interfaces

From existing APIs (EJB, Beans, etc.)

New APIs (refactoring and delegation)

Security

State Management

New interfaces to new functionality

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

18

What Are Your Interfaces?

Web Services

Wrap all functionality as Web Services

Map all data into XML

Translate and load all data into/out of XML

SOAP

What else?

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

19

Choosing a Service-Oriented Interface

Consistent interface

Targeted at function

Hide implementation

Expose capabilities

Generic data description

Reduce runtime overhead

Consider the clients

Now and future

Mutually agreed upon

Standards when they fit

Extend standards where they don’t

Submit standards when possible

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

20

Demo

Building an End-to-end 

Application Using SOA

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

21

Summary

Services-oriented architectures

Running back-end business processes

Feeding front-end user interfaces

Pick the right interface for the job

Consider the clients

Utilize standards

Take advantage of optimizations

SOA on the J2EE platform

Choice

Diversity

Optimization

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

22

For More Information

BOF-1917: XML and J2EE™ Technology-

Based Information Integration–Real-World 

Experiences and Case Studies 

TS-3203: On the Road to SOA: Building 

Real-World Enterprise Web Services

Oracle Booth #601

background image

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

23

Q&A

background image

java.sun.com/javaone/sf

|   2004 JavaOne

SM

Conference   |   Session TS-2941 

24

Building Service-
Oriented Architectures 
With Java

™ 

Platform, Enterprise 
Edition (J2EE

)

Ted Farrell
Chief Architect, Application Development

Oracle Corporation