Lesson 3 Intro Part II

download Lesson 3 Intro Part II

of 18

Transcript of Lesson 3 Intro Part II

  • 7/27/2019 Lesson 3 Intro Part II

    1/18

    WebLanguages

    Part II Advanced Topics

  • 7/27/2019 Lesson 3 Intro Part II

    2/18

    The J ourney till now

    suppliercustomer

    SOAP-based

    middleware

    SOAP-

    basedmiddlewareSOAP messages

    (invoke)

    UDDI registry

    SOAP-basedmiddleware

    SOAP messages

    (publish)SOAP messages

    (bind)

    WSDL interfaces

  • 7/27/2019 Lesson 3 Intro Part II

    3/18

  • 7/27/2019 Lesson 3 Intro Part II

    4/18

    Part II Approach to designing service-oriented systems

    Properties of the interaction

    Secure

    Reliable

    Routing

    Policies

    Coordination

    Business Protocols

    Transactions

    Service Bus

    Composition and Mashups

  • 7/27/2019 Lesson 3 Intro Part II

    5/18

    Part II - Project

    Develop a useful service combining buildingblocks

    Publish them as web services and make them

    available as Web pages

    Adopt interface-first approach

    BPEL

  • 7/27/2019 Lesson 3 Intro Part II

    6/18

    A note oninterfaces

    The art ofKISSing

  • 7/27/2019 Lesson 3 Intro Part II

    7/18

    Quality of code (and of interfaces)

    http

    ://www.osn

    ews.com/sto

    ry/19266/WTFs_m

  • 7/27/2019 Lesson 3 Intro Part II

    8/18

    good code (and interfaces)

    Despite deadlines, take time to write goodcode.

    Good code does not help only for doing

    maintenance next year, it will help you doingmaintenance in a couple of hours.

    LeBlancs law: later equals never

    Robert Martin: Take the time to go fast

    Poor code will slow you down even before thedeadline

  • 7/27/2019 Lesson 3 Intro Part II

    9/18

    Characteristics of good code Stroustrup: elegant, straightforward (make it hard for

    bugs to hide)

    Thomas: can be read and enhanced by somebodyelse. Includes testing. Minimal dependencies,

    Featers: looks like written by someone who cares Booch: re a d s lik e we ll-w ritte n p ro se

    (from Clean Code, by Robert Martin. Read also effectivejava, by J oshua Bloch)

    Minimal API

  • 7/27/2019 Lesson 3 Intro Part II

    10/18

    Google Big Table

  • 7/27/2019 Lesson 3 Intro Part II

    11/18

    What about Web servicesinterfaces

    The same, but with MORE emphasis on simplicity

    SERVICE DESCRIPTION AND INTERFACES SPECSARE WRITTEN FOR OTHERS TO READ. THINK ABOUT

    THE READER

    If the specs are not clear, its your fault

    If the specs are not clear, your service does notget used

    REMEMBER THE HOW TO

  • 7/27/2019 Lesson 3 Intro Part II

    12/18

    Dynamics of the ecosystem Constant growth since programmableweb.com went

    online (over 600 days) [by Michael Weiss, Carleton University]

    Number of APIs Number of mashups

  • 7/27/2019 Lesson 3 Intro Part II

    13/18

    Some figures(programmableweb.com)

    Most popularcategories ofmashups

    Most popularweb APIs

  • 7/27/2019 Lesson 3 Intro Part II

    14/18

    Protocol usage by APIs

  • 7/27/2019 Lesson 3 Intro Part II

    15/18

    Compositionand Mashups

  • 7/27/2019 Lesson 3 Intro Part II

    16/18

    A B

    C

    P

    Choreography vsComposition

  • 7/27/2019 Lesson 3 Intro Part II

    17/18

    17

    Business Process

    Service composition

    WAS.net

    CICS

    Web service

    Legacy integration

    WS-BPEL def i nes a model and a gr ammar f or descr i bi ng t he behavi or of abusiness pr ocess based on int eract i ons bet ween t he pr ocess and i t s pa r t ner s.

    The int er act ion w it h each par t ner occurs t hrough Web Servi ce int er f aces.

    Web serviceWeb service

    Web service

  • 7/27/2019 Lesson 3 Intro Part II

    18/18

    (Enterprise) Application

    Integration

    18

    Business Process

    WAS.net

    CICS

    SOAP

    RMI/IIO

    P

    MQSeries

    MQSeries

    Delivery

    channels

    Legacy

    integration