Building Service-Oriented Architectures with Java 2 Platform, Enterprise Edition (J2EE)

JavaOne: Sun’s 2004 Wordwide Java Developer Conference, Oracle Corp. – 24 slides. www.java.sun.com/javaone/sf. Agenda. S

328 111 165KB

English Pages [24]

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

Building Service-Oriented Architectures with Java 2 Platform, Enterprise Edition (J2EE)

  • Commentary
  • 735814
  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Building ServiceOriented Architectures With Java™ 2 Platform, Enterprise Edition (J2EE™) Ted Farrell Chief Architect, Application Development Oracle Corporation 1

| 2004 JavaOneSM Conference | Session TS-2941

java.sun.com/javaone/sf

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

2

| 2004 JavaOneSM Conference | Session TS-2941

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 3

| 2004 JavaOneSM Conference | Session TS-2941

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

4

| 2004 JavaOneSM Conference | Session TS-2941

SOA Across the Enterprise receive FLOW

get props

get order

get desc.

reply SCOPE

receive FLOW

send msg

ship order

reply

Business Services 5

| 2004 JavaOneSM Conference | Session TS-2941

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) 6

| 2004 JavaOneSM Conference | Session TS-2941

Web Service • • • •

7

WSDL for definition SOAP for protocol UDDI for lookup True implementation and OS independence

| 2004 JavaOneSM Conference | Session TS-2941

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

8

| 2004 JavaOneSM Conference | Session TS-2941

WSDL

Web Services Interchange Format (WSIF) • Framework for WSDL Bindings ─ Open source ─ Extendable

• Technology-specific adaptors ─ ─ ─ ─ ─

9

SOAP Java™ Cryptography Architecture (JCA) EJB™ specification Java Message Service (JMS) Etc.

| 2004 JavaOneSM Conference | Session TS-2941

Web Services Interchange Format (WSIF) WSDL

Generic Definition Generic Objects WSIF

JCA

EJB

SOAP Native Objects

JCA 10

| 2004 JavaOneSM Conference | Session TS-2941

App Server

Web Services for Remote Portals (WSRP) • • • •

WSDL for definition SOAP for protocol UDDI for lookup Meta information for: ─ ─ ─ ─

11

User context Device information Locale Publishing information

| 2004 JavaOneSM Conference | Session TS-2941

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 12

| 2004 JavaOneSM Conference | Session TS-2941

Data Control Architecture

Client Generic Objects

Client

Data Control EJB JCA WS Native Objects

Server

13

App Server

| 2004 JavaOneSM Conference | Session TS-2941

WS

The Implementation Is the Service • • • • • • • • 14

Performance Scalability Transactions Caching Clustering Capabilities/choice Integration into legacy systems Optimizations

| 2004 JavaOneSM Conference | Session TS-2941

Optimizing Your SOA • Interface-only

Anyone

─ 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. 15

| 2004 JavaOneSM Conference | Session TS-2941

J2EE

Vendor’s Server Same Objects

J2EE Platform for SOAs • More vendor support

Anyone

─ 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 16

| 2004 JavaOneSM Conference | Session TS-2941

J2EE

Vendor’s Server Same Objects

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

17

| 2004 JavaOneSM Conference | Session TS-2941

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?

18

| 2004 JavaOneSM Conference | Session TS-2941

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 19

| 2004 JavaOneSM Conference | Session TS-2941

Demo Building an End-to-end Application Using SOA 20

| 2004 JavaOneSM Conference | Session TS-2941

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 21

| 2004 JavaOneSM Conference | Session TS-2941

For More Information • BOF-1917: XML and J2EE™ TechnologyBased Information Integration–Real-World Experiences and Case Studies

• TS-3203: On the Road to SOA: Building Real-World Enterprise Web Services

• Oracle Booth #601

22

| 2004 JavaOneSM Conference | Session TS-2941

Q&A

23

| 2004 JavaOneSM Conference | Session TS-2941

Building ServiceOriented Architectures With Java™ 2 Platform, Enterprise Edition (J2EE™) Ted Farrell Chief Architect, Application Development Oracle Corporation 24

| 2004 JavaOneSM Conference | Session TS-2941

java.sun.com/javaone/sf