building service oriented architectures (soa) with the j2ee platform ts2941.pdf

Upload: rogermartinezzaldivar

Post on 02-Jun-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    1/24

    java.sun.com/javaone/sf

    | 2004 JavaOneSM Conference | Session TS-29411

    Building Service-Oriented Architectures

    With Java 2Platform, EnterpriseEdition (J2EE)

    Ted Farrell

    Chief Architect, Application Development

    Oracle Corporation

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    2/24

    | 2004 JavaOneSM Conference | Session TS-29412

    Agenda

    Service-Oriented Architectures

    SOA on the J2EE PlatformBest Practices

    DemonstrationQ&A

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    3/24

    | 2004 JavaOneSM Conference | Session TS-29413

    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

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    4/24| 2004 JavaOneSM Conference | Session TS-29414

    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

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    5/24| 2004 JavaOneSM Conference | Session TS-29415

    SOA Across the Enterprise

    receive

    get orderget props

    get desc.

    SCOPE

    FLOW

    reply

    receive

    ship ordersend msg

    FLOW

    reply

    Business

    Services

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    6/24| 2004 JavaOneSM Conference | Session TS-29416

    Service-Oriented Interface

    The interface contract to the service isimplementation-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)

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    7/24| 2004 JavaOneSM Conference | Session TS-29417

    Web Service

    WSDL for definition

    SOAP for protocol UDDI for lookup

    True implementation and OS independence

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    8/24| 2004 JavaOneSM Conference | Session TS-29418

    Business Process ExecutionLanguage (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

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    9/24| 2004 JavaOneSM Conference | Session TS-29419

    Web Services InterchangeFormat (WSIF)

    Framework for WSDL Bindings!Open source

    !Extendable

    Technology-specific adaptors

    !SOAP

    !Java Cryptography Architecture (JCA)

    !EJB specification

    !Java Message Service (JMS)

    !Etc.

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    10/24| 2004 JavaOneSM Conference | Session TS-294110

    Web Services InterchangeFormat (WSIF)

    WSIF

    JCA EJB SOAP

    Generic Definition

    App ServerJCA

    Native Objects

    Generic Objects

    WSDL

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    11/24| 2004 JavaOneSM Conference | Session TS-294111

    Web Services for RemotePortals (WSRP)

    WSDL for definition

    SOAP for protocol UDDI for lookup

    Meta information for:!User context

    !Device information

    !Locale

    !Publishing information

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    12/24

    | 2004 JavaOneSM Conference | Session TS-294112

    Data Control (JSR 227)

    SOI for data binding data into user interfaces

    What about Web Services?! Consistent definitionX 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

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    13/24

    | 2004 JavaOneSM Conference | Session TS-294113

    Data Control Architecture

    Client

    Data ControlEJB JCA WS

    App Server WS

    Client

    Server

    Generic Objects

    Native Objects

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    14/24

    | 2004 JavaOneSM Conference | Session TS-294114

    The Implementation Is the Service

    Performance

    Scalability Transactions

    Caching

    Clustering

    Capabilities/choice

    Integration into legacy systems

    Optimizations

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    15/24

    | 2004 JavaOneSM Conference | Session TS-294115

    Same

    Objects

    Vendors

    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

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    16/24

    | 2004 JavaOneSM Conference | Session TS-294116

    J2EE Platform for SOAs

    More vendor support! More common technologies

    !More optimization

    Increased chance of optimizedimplementation

    !Standard definitionsoptimizedimplementation

    ! 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

    Vendors

    Server

    J2EE

    Anyone

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    17/24

    | 2004 JavaOneSM Conference | Session TS-294117

    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

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    18/24

    | 2004 JavaOneSM Conference | Session TS-294118

    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?

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    19/24

    | 2004 JavaOneSM Conference | Session TS-294119

    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 dont

    !Submit standards when possible

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    20/24

    | 2004 JavaOneSM Conference | Session TS-294120

    Demo

    Building an End-to-end

    Application Using SOA

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    21/24

    | 2004 JavaOneSM Conference | Session TS-294121

    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

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    22/24

    | 2004 JavaOneSM Conference | Session TS-294122

    For More Information

    BOF-1917: XML and J2EE Technology-Based Information IntegrationReal-World

    Experiences and Case Studies

    TS-3203: On the Road to SOA: BuildingReal-World Enterprise Web Services

    Oracle Booth #601

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    23/24

    | 2004 JavaOneSM Conference | Session TS-294123

    Q&A

  • 8/10/2019 Building Service Oriented Architectures (SOA) with the J2EE Platform ts2941.pdf

    24/24

    java.sun.com/javaone/sf

    | 2004 JavaOneSM Conference | Session TS-294124

    Building Service-Oriented ArchitecturesWith Java 2Platform, EnterpriseEdition (J2EE)

    Ted Farrell

    Chief Architect, Application Development

    Oracle Corporation