SlideShare a Scribd company logo
1 of 32
Download to read offline
This Presentation Courtesy of the
                          International SOA Symposium
                          October 7-8, 2008 Amsterdam Arena
                          www.soasymposium.com
                          info@soasymposium.com


                                       Founding Sponsors




Platinum Sponsors




Gold Sponsors       Silver Sponsors
Using REST and WS-* for SOA


                  Dr Mark Little
     Technical Development Manager, Red Hat
Background

• Research into fault-tolerant distributed systems
  since 1986
      – Arjuna, Argus, Isis/Horus, Emerald, Xerox, …
      – DCE, DCOM, CORBA, JavaRMI, HTTP, Web Services, …
• Active in OMG, OASIS, W3C, JCP, GGF, OSGi and
  others
• Involved with Web Services since 1999
      – Co-author of a number of WS-* specifications and standards
• Involved with REST/HTTP since at least 2000
      – W3Objects
• IBM, Arjuna Solutions, Bluestone, HP, Arjuna
  Technologies, JBoss, Red Hat
• Newcastle University


  2                                                       Red Hat
Overview
• SOA in a nutshell
• WS-* and REST
• Where should you start?
   – Donʼt panic!
• One size does not fit all
   – Donʼt believe everything you read
• Bridging the divide
   – Can REST be used with WS-*?




   3                                     Red Hat
The debate

• Actually more about WS-* and RESTful HTTP
  (REST/HTTP)
      – REST is a valid approach to SOA
• No REST bashing
      – REST is a valid architectural approach
      – HTTP is one way of implementing it
• No WS-* bashing
      – And specifically no WSDL bashing please
• These types of debate have raged throughout
  history
      – BetaMax vs VHS
      – Blu-Ray vs HD-DVD
• Hybrid systems are the norm
      – Very few places can afford to rip-n-replace

  4                                                   Red Hat
SOA in a nutshell

• SOA is an architectural style to achieve loose
  coupling
      – A service is a unit of work done by a service provider to
        achieve desired end results for a consumer

• SOA is deliberately not prescriptive about what
  happens behind service endpoints
      – We are only concerned with the transfer of structured
        data between parties
• SOA turns business functions into services that can
  be reused and accessed through standard interfaces.
      – Should be accessible through different applications
        over a variety of channels


  5                                                       Red Hat
Achieving loose coupling

• SOA employs two architectural constraints
      – A small set of simple and ubiquitous interfaces to all
        participating software agents. Only generic semantics are
        encoded at the interfaces. The interfaces should be
        universally available for all providers and consumers
      – Descriptive messages constrained by an extensible schema
        delivered through the interfaces. No, or only minimal, system
        behavior is prescribed by messages. A schema limits the
        vocabulary and structure of messages. An extensible
        schema allows new versions of services to be introduced
        without breaking existing services




  6                                                          Red Hat
Implementing SOA

• Many different possible approaches to SOA
      – CORBA
      – J(2)EE
         • JMS
• Two most popular approaches are
      – WS-*
      – REST
         • Actually an architecture in its own right (not tied to HTTP)
         • Much more solidly defined than SOA
• Which is the right approach?
      – Why should there be only one?




  7                                                                 Red Hat
The protocol stack




8                        Red Hat
Distributed Systems

• Same fundamental laws
      – Develop “entity”
          • Define the UOW it supports
      – Search for “entity”
          • Agree “entity” offers the desired capability or UOW
      – Request “entity” to perform UOW
          • Create a network-transferable message
          • Send the message
      – Maybe try to make the remote interaction appear local
      – Maybe do some “enterprise” work as well
          • Security, transactions, replication etc.
              – Contextualization of messages




  9                                                               Red Hat
The most popular (by demand)

 •   Client and server technologies based on RPC
      – Hide distribution
      – Make remote service invocation look the same as local
        component invocation
      – In use since the 1970’s
 •   Unfortunately this leads to tightly coupled applications
      – Changes to the IDL require re-generation of stubs
          • And dissemination of new code
          • Or errors will occur during interactions

      – Such applications can be brittle
          • Hard to control the infrastructure as needed
          • No quiescent period



10                                                              Red Hat
Degrees of coupling

 • At the one extreme
     – Defining specific service interfaces, akin to IDL
         • Easier to reason about the service
         • Limits the amount of freedom in changing the implementation
 • At the other extreme
     – Single operation (e.g., doWork)
         • More flexibility is changing the implementation
             – Well, almost …
         • More difficult to determine service functionality a priori
             – Need more service metadata
 • There are degrees of coupling and you should
   choose the level that is right for you
     – Not specific to distributed systems



11                                                                      Red Hat
Distributed Systems 101

 • The same requirements are present throughout
   the stack
     – Split differently between the infrastructure and the
       “application”
 • Uniform interface allows for generic
   infrastructural support
     – Caching, extremely loose coupling
     – Can push more requirements on to the “developer”
     – Requires more from external contract meta-data
 • Specific interface allows for more limited generic
   support
     – Targeted caching, application semantics
     – Impacts less on the “developer” but may cost in terms of
       flexibility


12                                                                Red Hat
So what do we need for SOA?

 • An architectural approach that supports
     – Loose coupling
     – Enterprise capabilities
         • Security, reliable messaging, fault tolerance
     – Different invocation mechanisms
         • UDP, TCP, HTTP, JMS, IIOP
     – Integration with back-end “legacy” systems
     – Standards based
 • Things that would be nice (not architecture)
     – Easy to use and administer
     – Good tooling




13                                                         Red Hat
REST

 • Defined by Roy Fielding in his PhD
     – One of a range of approaches
 • Core set of architectural principles
     – Identify all resources/entities
     – Link resource together
         • Hypermedia as the engine of application state
     – Use standard methods for interacting with resources
     – Multiple resource representation
     – Stateless communication
 • Not tied to HTTP




14                                                           Red Hat
REST/HTTP in a nutshell

 •   RESTful HTTP
     – Just because you use HTTP does not mean you are using REST
 •   Original HTTP specification talked about adding new
     commands
     – GET only in 0.9
     – GET, HEAD, POST, extension-method in 1.0
     – Now we have up to 8 different verbs
          • Changes to “interface” occur but users aren’t affected
 •   Many good distributed systems characteristics
     –   OPTIONS
     –   Try-before-you-buy
     –   Caching
     –   Scalability
 •   HTTP is NOT a transport




15                                                                   Red Hat
Human driven?

 • Often stated that REST is only suitable for
   hypertext
     – “Because thatʼs the way the majority of the Web works”
 • Weak argument
     – Itʼs still a distributed system, just based on resources
     – OK, humans fill in the “gaps” in contract definition
     – Extra infrastructure support could help
         • Anyone remember URN name servers (1994/1995)?
         • But now we have Google!
 • Not enough “application” standards
     – Good point
 • Lack of good tooling
     – Well … JAX-RS, WCF, …

16                                                                Red Hat
Standards

 • The Web is a series of standards
     – URIs
     – HTTP
     – HTML
 • Universal adoption has to count for something!
 • REST/HTTP is ubiquitous
     – Communication interoperability, which is a good start
         • Also why WS-* standardized on HTTP
     – But application semantic interoperability is not there (yet)
         • Take a minimum of 5 years to do




17                                                                    Red Hat
Enterprise ready?

 • DʼOh!
     – Take a look at the world!
 • Enterprise capabilities
     – Reliable messaging
     – Some fault tolerance
         •   No transactions
         •   Workflow
         •   404 rules!
         •   Stale links
 • Components are there, just not necessarily used
 • But … itʼs not that easy!
     – Human interaction style can sometimes confuse



18                                                     Red Hat
Transactions

 • REST transactions by HP in 2000
     – Yes, customers want to coordinate business interactions
       across multiple sites
        • Even if only atomically
     – Machine driven
 • http://<machine>/transaction-coordinator
   Performing a GET returns a list of all transactions
   know to the coordinator (active and recovery)
 • http://<machine>/transaction-
   coordinator/begin?<ClientID>
   Performing a PUT will start a new transaction and
   return a URL /transaction-coordinator/<id>


19                                                               Red Hat
What about Web Services?

 • Popular integration approach
     – XML
     – HTTP
         • Other transport bindings are possible
 • Developed with machine-to-machine interactions
   in mind
 • Not specific to SOA
     – Web Services began life as CORBA-over-HTTP
     – XML-RPC
     – WS-RF and WS-Addressing
 • Web Services+SOA gives benefits
     – Loose coupling
     – Interoperability
     – Enterprise capabilities, e.g., security and transactions


20                                                                Red Hat
Enterprise realities

 • Customers want interoperability of
   heterogeneous systems
 • They want guaranteed delivery of messages
     – Even in the presence of failures such as network partitions
 • They want transactions
     – Not just ACID transactions!
 • They need audit trails
     – Sarbanes-Oxley anyone?
 • They need bullet-proof security
     – Sarbanes-Oxley
 • They need machine-readable contracts with SLAs



21                                                              Red Hat
WS-* Architecture




22                       Red Hat
Fault tolerance

 • WS-* has driven protocol interoperability
     – More so than CORBA, DCE, Java
 • Native data and protocol bridging
 • Clearly defined semantics for transactions,
   security, reliable messaging
     – Not specific to HTTP




23                                              Red Hat
WS-* backlash?

 • “Itʼs too complex”
     – Complicated problems often require complex solutions
 • “Itʼs using HTTP as a transport!”
     – Get over it! Mistakes happen.
 • “It doesnʼt offer anything better than REST/HTTP”
     – Short-sightedness works in both directions
 • “It doesnʼt leverage the Web”
     – Valid point for Web deployments
     – Not so valid for every other type of deployment




24                                                            Red Hat
SOA: REST or WS-*?

 • SOAP/HTTP
     – WS-* vendors have spent a lot of time ensuring it integrates
       with legacy systems
         • How many people remember that WS-* is supposed to also be
           about Internet scale computing?
     – Thatʼs important for out-of-the-box and interoperable
       deployments
     – But REST as a general architectural approach has merits
 • REST/HTTP has “simplicity” and (relative) ease of
   use
     – No vendor-lockin at the infrastructure level
     – Is precisely for Internet scale computing as well
     – Remember that a lot of cool Web applications arenʼt
       RESTful

25                                                               Red Hat
What can REST learn from WS-*?

 • Uniform interface isnʼt enough for complex
   application requirements
     – Standardize on the application protocol semantics
     – Ad hoc does not scale and leads to interoperability
       nightmares
 • Use outside of the browser
     – Yes, there are examples and implementations, but they are
       the exception to the rule
 • Just because the Web “works” is not sufficient
   reason to assume itʼs right for everything
     – HTTP versus IIOP?




26                                                           Red Hat
Industrial realities

 • WS-* captured the mind-set
 • REST is gaining momentum
 • But …
     – Large investment in WS-* and application-level standards
       are important
     – Probably too much effort to assume the same will happen in
       REST/HTTP
        • At least not with a big bang approach
     – More customers persuaded by WS-*
        • It’s familiar (JEE, .NET, DCOM, DCE)
        • But they want future proof
 • Combinations of WS-* and REST are beginning to
   evolve
     – May lead to standards

27                                                            Red Hat
What can WS-* learn from REST?

 • Donʼt abuse transports, they donʼt like it!
 • Adopt SOA principles
     – No more WS-RF please!
     – WS-Context in favour of WS-Addressing “extensions”
 • Late binding is good
     – But extremely late binding can be a burden
 • Occams Razor
     – Simple but no simpler
 • Infrastructure support for common
   services/resources simplifies development
 • The Web uses HTTP



28                                                          Red Hat
What should you use?

 • If it needs to be on the Web
     – REST/HTTP
 • If it needs to be interoperable with arbitrary
   vendors
     – WS-* for standards
     – Or persuade vendors to work on standards for REST
 • If you must use HTTP
     – Consider REST before WS-*
         • But understand all of the implications
 • If integrating with back-end systems out-of-the-
   box
     – WS-* has a lot of out-of-the-box solutions



29                                                         Red Hat
The combination

 • WS-* used within the firewall
     – REST principles could still help
     – SOAP is not fast and neither is HTTP
 • REST/HTTP for between firewalls
     – Improved application protocol standards
 • Bridge between WS-* and REST/HTTP
     – Leverage all of HTTP where possible
     – Definitely not easy to do, but …
 • WS-* between firewalls?
     – Unlikely to see massive adoption




30                                               Red Hat
Conclusions

 •   What have we learnt from the last 40 years?
     – One size does not fit all!
     – Use the right tool for the right job
         • If all you’ve got is a hammer then of course everything looks like a nail!
 •   Just because you are using HTTP does not mean you are
     using REST
 •   Just because you are using WS-* does not mean you are
     developing with SOA




31                                                                              Red Hat

More Related Content

Viewers also liked

Ian Robinson Testable Foundations
Ian  Robinson    Testable  FoundationsIan  Robinson    Testable  Foundations
Ian Robinson Testable FoundationsSOA Symposium
 
Dharmes Mistry Tony De Bree S O A Business Persp V1a
Dharmes  Mistry    Tony De  Bree   S O A Business Persp V1aDharmes  Mistry    Tony De  Bree   S O A Business Persp V1a
Dharmes Mistry Tony De Bree S O A Business Persp V1aSOA Symposium
 
Andre Tost Service Models Java
Andre  Tost    Service Models JavaAndre  Tost    Service Models Java
Andre Tost Service Models JavaSOA Symposium
 
Anish Karmakar S C A
Anish  Karmakar    S C AAnish  Karmakar    S C A
Anish Karmakar S C ASOA Symposium
 
Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based ApproachSOA Symposium
 
Robert Schneider 10 Strategies
Robert  Schneider   10  StrategiesRobert  Schneider   10  Strategies
Robert Schneider 10 StrategiesSOA Symposium
 

Viewers also liked (6)

Ian Robinson Testable Foundations
Ian  Robinson    Testable  FoundationsIan  Robinson    Testable  Foundations
Ian Robinson Testable Foundations
 
Dharmes Mistry Tony De Bree S O A Business Persp V1a
Dharmes  Mistry    Tony De  Bree   S O A Business Persp V1aDharmes  Mistry    Tony De  Bree   S O A Business Persp V1a
Dharmes Mistry Tony De Bree S O A Business Persp V1a
 
Andre Tost Service Models Java
Andre  Tost    Service Models JavaAndre  Tost    Service Models Java
Andre Tost Service Models Java
 
Anish Karmakar S C A
Anish  Karmakar    S C AAnish  Karmakar    S C A
Anish Karmakar S C A
 
Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based Approach
 
Robert Schneider 10 Strategies
Robert  Schneider   10  StrategiesRobert  Schneider   10  Strategies
Robert Schneider 10 Strategies
 

Similar to Mark Little R E S Tand W S Star

Mark Little Web Services And Transactions
Mark  Little    Web  Services And  TransactionsMark  Little    Web  Services And  Transactions
Mark Little Web Services And TransactionsSOA Symposium
 
2 rest-elevator-pitch
2 rest-elevator-pitch2 rest-elevator-pitch
2 rest-elevator-pitchzafargilani
 
Understanding REST-Based Services: Simple, Scalable, and Platform Independent
Understanding REST-Based Services: Simple, Scalable, and Platform IndependentUnderstanding REST-Based Services: Simple, Scalable, and Platform Independent
Understanding REST-Based Services: Simple, Scalable, and Platform IndependentCharles Knight
 
What ya gonna do?
What ya gonna do?What ya gonna do?
What ya gonna do?CQD
 
REST vs. GraphQL: Critical Look
REST vs. GraphQL: Critical LookREST vs. GraphQL: Critical Look
REST vs. GraphQL: Critical LookNordic APIs
 
Cross-platform interaction
Cross-platform interactionCross-platform interaction
Cross-platform interactionOleksii Duhno
 
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...DataStax Academy
 
Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIWSO2
 
Technical standards & the RDTF Vision: some considerations
Technical standards & the RDTF Vision: some considerationsTechnical standards & the RDTF Vision: some considerations
Technical standards & the RDTF Vision: some considerationsPaul Walk
 
Service-oriented architecture
Service-oriented architectureService-oriented architecture
Service-oriented architectureShalva Usubov
 
Apache Thrift, a brief introduction
Apache Thrift, a brief introductionApache Thrift, a brief introduction
Apache Thrift, a brief introductionRandy Abernethy
 
Stateful Interaction In Serverless Architecture With Redis: Pyounguk Cho
Stateful Interaction In Serverless Architecture With Redis: Pyounguk ChoStateful Interaction In Serverless Architecture With Redis: Pyounguk Cho
Stateful Interaction In Serverless Architecture With Redis: Pyounguk ChoRedis Labs
 
MarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCenturyMarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCenturyKostas Mavridis
 
An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST Ram Awadh Prasad, PMP
 
Escalando Foursquare basado en Checkins y Recomendaciones
Escalando Foursquare basado en Checkins y RecomendacionesEscalando Foursquare basado en Checkins y Recomendaciones
Escalando Foursquare basado en Checkins y RecomendacionesManuel Vargas
 

Similar to Mark Little R E S Tand W S Star (20)

Mark Little Web Services And Transactions
Mark  Little    Web  Services And  TransactionsMark  Little    Web  Services And  Transactions
Mark Little Web Services And Transactions
 
What is REST?
What is REST?What is REST?
What is REST?
 
2 rest-elevator-pitch
2 rest-elevator-pitch2 rest-elevator-pitch
2 rest-elevator-pitch
 
Understanding REST-Based Services: Simple, Scalable, and Platform Independent
Understanding REST-Based Services: Simple, Scalable, and Platform IndependentUnderstanding REST-Based Services: Simple, Scalable, and Platform Independent
Understanding REST-Based Services: Simple, Scalable, and Platform Independent
 
What ya gonna do?
What ya gonna do?What ya gonna do?
What ya gonna do?
 
Containers and Big Data
Containers and Big Data Containers and Big Data
Containers and Big Data
 
Mini-Training: Let's have a rest
Mini-Training: Let's have a restMini-Training: Let's have a rest
Mini-Training: Let's have a rest
 
REST vs. GraphQL: Critical Look
REST vs. GraphQL: Critical LookREST vs. GraphQL: Critical Look
REST vs. GraphQL: Critical Look
 
Cross-platform interaction
Cross-platform interactionCross-platform interaction
Cross-platform interaction
 
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...
 
Microservices
MicroservicesMicroservices
Microservices
 
Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EI
 
Technical standards & the RDTF Vision: some considerations
Technical standards & the RDTF Vision: some considerationsTechnical standards & the RDTF Vision: some considerations
Technical standards & the RDTF Vision: some considerations
 
Service-oriented architecture
Service-oriented architectureService-oriented architecture
Service-oriented architecture
 
Redis meetup
Redis meetupRedis meetup
Redis meetup
 
Apache Thrift, a brief introduction
Apache Thrift, a brief introductionApache Thrift, a brief introduction
Apache Thrift, a brief introduction
 
Stateful Interaction In Serverless Architecture With Redis: Pyounguk Cho
Stateful Interaction In Serverless Architecture With Redis: Pyounguk ChoStateful Interaction In Serverless Architecture With Redis: Pyounguk Cho
Stateful Interaction In Serverless Architecture With Redis: Pyounguk Cho
 
MarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCenturyMarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCentury
 
An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST
 
Escalando Foursquare basado en Checkins y Recomendaciones
Escalando Foursquare basado en Checkins y RecomendacionesEscalando Foursquare basado en Checkins y Recomendaciones
Escalando Foursquare basado en Checkins y Recomendaciones
 

More from SOA Symposium

Sven Hakan Olsson Composability Index V2
Sven Hakan Olsson    Composability  Index V2Sven Hakan Olsson    Composability  Index V2
Sven Hakan Olsson Composability Index V2SOA Symposium
 
Thomas Erl Introducing S O A Design Patterns
Thomas  Erl    Introducing  S O A  Design  PatternsThomas  Erl    Introducing  S O A  Design  Patterns
Thomas Erl Introducing S O A Design PatternsSOA Symposium
 
Radovan Janecek Avoiding S O A Pitfalls
Radovan  Janecek   Avoiding  S O A  PitfallsRadovan  Janecek   Avoiding  S O A  Pitfalls
Radovan Janecek Avoiding S O A PitfallsSOA Symposium
 
Natasja Paulssen S A P M D M And E S O A At Philips
Natasja  Paulssen    S A P  M D M And E S O A At  PhilipsNatasja  Paulssen    S A P  M D M And E S O A At  Philips
Natasja Paulssen S A P M D M And E S O A At PhilipsSOA Symposium
 
Anthony Carrato S O A Business Architecture
Anthony  Carrato    S O A  Business  ArchitectureAnthony  Carrato    S O A  Business  Architecture
Anthony Carrato S O A Business ArchitectureSOA Symposium
 
David Chappel S O A Grid
David  Chappel    S O A  GridDavid  Chappel    S O A  Grid
David Chappel S O A GridSOA Symposium
 
Johan Kumps Federal E S B
Johan  Kumps    Federal  E S BJohan  Kumps    Federal  E S B
Johan Kumps Federal E S BSOA Symposium
 
Laurent Tarin B P M Ilog
Laurent  Tarin    B P M  IlogLaurent  Tarin    B P M  Ilog
Laurent Tarin B P M IlogSOA Symposium
 
Jim Webber Guerrilla S O A With Web Services
Jim Webber    Guerrilla  S O A With  Web  ServicesJim Webber    Guerrilla  S O A With  Web  Services
Jim Webber Guerrilla S O A With Web ServicesSOA Symposium
 
Robert Schneider What Every Developer
Robert  Schneider    What Every DeveloperRobert  Schneider    What Every Developer
Robert Schneider What Every DeveloperSOA Symposium
 
Thomas Rischbeck Real Life E S B
Thomas  Rischbeck    Real  Life  E S BThomas  Rischbeck    Real  Life  E S B
Thomas Rischbeck Real Life E S BSOA Symposium
 
Stefan Pappe Making S O A Operational
Stefan  Pappe    Making  S O A  OperationalStefan  Pappe    Making  S O A  Operational
Stefan Pappe Making S O A OperationalSOA Symposium
 
Paul Brown Org Man Issues
Paul  Brown    Org  Man  IssuesPaul  Brown    Org  Man  Issues
Paul Brown Org Man IssuesSOA Symposium
 
Arnaud Simon Flight Data Processing
Arnaud  Simon    Flight  Data ProcessingArnaud  Simon    Flight  Data Processing
Arnaud Simon Flight Data ProcessingSOA Symposium
 
S Ven Hakan Olsson Compos Index
S Ven  Hakan  Olsson    Compos IndexS Ven  Hakan  Olsson    Compos Index
S Ven Hakan Olsson Compos IndexSOA Symposium
 
Art Ligthart Service Identification Techniques
Art  Ligthart    Service  Identification  TechniquesArt  Ligthart    Service  Identification  Techniques
Art Ligthart Service Identification TechniquesSOA Symposium
 
Paul C Brown S O A Governance
Paul  C  Brown    S O A  GovernancePaul  C  Brown    S O A  Governance
Paul C Brown S O A GovernanceSOA Symposium
 
Brian Loesgen An Early Look At Oslo
Brian  Loesgen    An  Early  Look At  OsloBrian  Loesgen    An  Early  Look At  Oslo
Brian Loesgen An Early Look At OsloSOA Symposium
 
Chris Riley S O A Modeling
Chris  Riley    S O A ModelingChris  Riley    S O A Modeling
Chris Riley S O A ModelingSOA Symposium
 
Prakash Narayan Building Social Web V1
Prakash  Narayan    Building  Social  Web V1Prakash  Narayan    Building  Social  Web V1
Prakash Narayan Building Social Web V1SOA Symposium
 

More from SOA Symposium (20)

Sven Hakan Olsson Composability Index V2
Sven Hakan Olsson    Composability  Index V2Sven Hakan Olsson    Composability  Index V2
Sven Hakan Olsson Composability Index V2
 
Thomas Erl Introducing S O A Design Patterns
Thomas  Erl    Introducing  S O A  Design  PatternsThomas  Erl    Introducing  S O A  Design  Patterns
Thomas Erl Introducing S O A Design Patterns
 
Radovan Janecek Avoiding S O A Pitfalls
Radovan  Janecek   Avoiding  S O A  PitfallsRadovan  Janecek   Avoiding  S O A  Pitfalls
Radovan Janecek Avoiding S O A Pitfalls
 
Natasja Paulssen S A P M D M And E S O A At Philips
Natasja  Paulssen    S A P  M D M And E S O A At  PhilipsNatasja  Paulssen    S A P  M D M And E S O A At  Philips
Natasja Paulssen S A P M D M And E S O A At Philips
 
Anthony Carrato S O A Business Architecture
Anthony  Carrato    S O A  Business  ArchitectureAnthony  Carrato    S O A  Business  Architecture
Anthony Carrato S O A Business Architecture
 
David Chappel S O A Grid
David  Chappel    S O A  GridDavid  Chappel    S O A  Grid
David Chappel S O A Grid
 
Johan Kumps Federal E S B
Johan  Kumps    Federal  E S BJohan  Kumps    Federal  E S B
Johan Kumps Federal E S B
 
Laurent Tarin B P M Ilog
Laurent  Tarin    B P M  IlogLaurent  Tarin    B P M  Ilog
Laurent Tarin B P M Ilog
 
Jim Webber Guerrilla S O A With Web Services
Jim Webber    Guerrilla  S O A With  Web  ServicesJim Webber    Guerrilla  S O A With  Web  Services
Jim Webber Guerrilla S O A With Web Services
 
Robert Schneider What Every Developer
Robert  Schneider    What Every DeveloperRobert  Schneider    What Every Developer
Robert Schneider What Every Developer
 
Thomas Rischbeck Real Life E S B
Thomas  Rischbeck    Real  Life  E S BThomas  Rischbeck    Real  Life  E S B
Thomas Rischbeck Real Life E S B
 
Stefan Pappe Making S O A Operational
Stefan  Pappe    Making  S O A  OperationalStefan  Pappe    Making  S O A  Operational
Stefan Pappe Making S O A Operational
 
Paul Brown Org Man Issues
Paul  Brown    Org  Man  IssuesPaul  Brown    Org  Man  Issues
Paul Brown Org Man Issues
 
Arnaud Simon Flight Data Processing
Arnaud  Simon    Flight  Data ProcessingArnaud  Simon    Flight  Data Processing
Arnaud Simon Flight Data Processing
 
S Ven Hakan Olsson Compos Index
S Ven  Hakan  Olsson    Compos IndexS Ven  Hakan  Olsson    Compos Index
S Ven Hakan Olsson Compos Index
 
Art Ligthart Service Identification Techniques
Art  Ligthart    Service  Identification  TechniquesArt  Ligthart    Service  Identification  Techniques
Art Ligthart Service Identification Techniques
 
Paul C Brown S O A Governance
Paul  C  Brown    S O A  GovernancePaul  C  Brown    S O A  Governance
Paul C Brown S O A Governance
 
Brian Loesgen An Early Look At Oslo
Brian  Loesgen    An  Early  Look At  OsloBrian  Loesgen    An  Early  Look At  Oslo
Brian Loesgen An Early Look At Oslo
 
Chris Riley S O A Modeling
Chris  Riley    S O A ModelingChris  Riley    S O A Modeling
Chris Riley S O A Modeling
 
Prakash Narayan Building Social Web V1
Prakash  Narayan    Building  Social  Web V1Prakash  Narayan    Building  Social  Web V1
Prakash Narayan Building Social Web V1
 

Recently uploaded

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 

Recently uploaded (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 

Mark Little R E S Tand W S Star

  • 1. This Presentation Courtesy of the International SOA Symposium October 7-8, 2008 Amsterdam Arena www.soasymposium.com info@soasymposium.com Founding Sponsors Platinum Sponsors Gold Sponsors Silver Sponsors
  • 2. Using REST and WS-* for SOA Dr Mark Little Technical Development Manager, Red Hat
  • 3. Background • Research into fault-tolerant distributed systems since 1986 – Arjuna, Argus, Isis/Horus, Emerald, Xerox, … – DCE, DCOM, CORBA, JavaRMI, HTTP, Web Services, … • Active in OMG, OASIS, W3C, JCP, GGF, OSGi and others • Involved with Web Services since 1999 – Co-author of a number of WS-* specifications and standards • Involved with REST/HTTP since at least 2000 – W3Objects • IBM, Arjuna Solutions, Bluestone, HP, Arjuna Technologies, JBoss, Red Hat • Newcastle University 2 Red Hat
  • 4. Overview • SOA in a nutshell • WS-* and REST • Where should you start? – Donʼt panic! • One size does not fit all – Donʼt believe everything you read • Bridging the divide – Can REST be used with WS-*? 3 Red Hat
  • 5. The debate • Actually more about WS-* and RESTful HTTP (REST/HTTP) – REST is a valid approach to SOA • No REST bashing – REST is a valid architectural approach – HTTP is one way of implementing it • No WS-* bashing – And specifically no WSDL bashing please • These types of debate have raged throughout history – BetaMax vs VHS – Blu-Ray vs HD-DVD • Hybrid systems are the norm – Very few places can afford to rip-n-replace 4 Red Hat
  • 6. SOA in a nutshell • SOA is an architectural style to achieve loose coupling – A service is a unit of work done by a service provider to achieve desired end results for a consumer • SOA is deliberately not prescriptive about what happens behind service endpoints – We are only concerned with the transfer of structured data between parties • SOA turns business functions into services that can be reused and accessed through standard interfaces. – Should be accessible through different applications over a variety of channels 5 Red Hat
  • 7. Achieving loose coupling • SOA employs two architectural constraints – A small set of simple and ubiquitous interfaces to all participating software agents. Only generic semantics are encoded at the interfaces. The interfaces should be universally available for all providers and consumers – Descriptive messages constrained by an extensible schema delivered through the interfaces. No, or only minimal, system behavior is prescribed by messages. A schema limits the vocabulary and structure of messages. An extensible schema allows new versions of services to be introduced without breaking existing services 6 Red Hat
  • 8. Implementing SOA • Many different possible approaches to SOA – CORBA – J(2)EE • JMS • Two most popular approaches are – WS-* – REST • Actually an architecture in its own right (not tied to HTTP) • Much more solidly defined than SOA • Which is the right approach? – Why should there be only one? 7 Red Hat
  • 10. Distributed Systems • Same fundamental laws – Develop “entity” • Define the UOW it supports – Search for “entity” • Agree “entity” offers the desired capability or UOW – Request “entity” to perform UOW • Create a network-transferable message • Send the message – Maybe try to make the remote interaction appear local – Maybe do some “enterprise” work as well • Security, transactions, replication etc. – Contextualization of messages 9 Red Hat
  • 11. The most popular (by demand) • Client and server technologies based on RPC – Hide distribution – Make remote service invocation look the same as local component invocation – In use since the 1970’s • Unfortunately this leads to tightly coupled applications – Changes to the IDL require re-generation of stubs • And dissemination of new code • Or errors will occur during interactions – Such applications can be brittle • Hard to control the infrastructure as needed • No quiescent period 10 Red Hat
  • 12. Degrees of coupling • At the one extreme – Defining specific service interfaces, akin to IDL • Easier to reason about the service • Limits the amount of freedom in changing the implementation • At the other extreme – Single operation (e.g., doWork) • More flexibility is changing the implementation – Well, almost … • More difficult to determine service functionality a priori – Need more service metadata • There are degrees of coupling and you should choose the level that is right for you – Not specific to distributed systems 11 Red Hat
  • 13. Distributed Systems 101 • The same requirements are present throughout the stack – Split differently between the infrastructure and the “application” • Uniform interface allows for generic infrastructural support – Caching, extremely loose coupling – Can push more requirements on to the “developer” – Requires more from external contract meta-data • Specific interface allows for more limited generic support – Targeted caching, application semantics – Impacts less on the “developer” but may cost in terms of flexibility 12 Red Hat
  • 14. So what do we need for SOA? • An architectural approach that supports – Loose coupling – Enterprise capabilities • Security, reliable messaging, fault tolerance – Different invocation mechanisms • UDP, TCP, HTTP, JMS, IIOP – Integration with back-end “legacy” systems – Standards based • Things that would be nice (not architecture) – Easy to use and administer – Good tooling 13 Red Hat
  • 15. REST • Defined by Roy Fielding in his PhD – One of a range of approaches • Core set of architectural principles – Identify all resources/entities – Link resource together • Hypermedia as the engine of application state – Use standard methods for interacting with resources – Multiple resource representation – Stateless communication • Not tied to HTTP 14 Red Hat
  • 16. REST/HTTP in a nutshell • RESTful HTTP – Just because you use HTTP does not mean you are using REST • Original HTTP specification talked about adding new commands – GET only in 0.9 – GET, HEAD, POST, extension-method in 1.0 – Now we have up to 8 different verbs • Changes to “interface” occur but users aren’t affected • Many good distributed systems characteristics – OPTIONS – Try-before-you-buy – Caching – Scalability • HTTP is NOT a transport 15 Red Hat
  • 17. Human driven? • Often stated that REST is only suitable for hypertext – “Because thatʼs the way the majority of the Web works” • Weak argument – Itʼs still a distributed system, just based on resources – OK, humans fill in the “gaps” in contract definition – Extra infrastructure support could help • Anyone remember URN name servers (1994/1995)? • But now we have Google! • Not enough “application” standards – Good point • Lack of good tooling – Well … JAX-RS, WCF, … 16 Red Hat
  • 18. Standards • The Web is a series of standards – URIs – HTTP – HTML • Universal adoption has to count for something! • REST/HTTP is ubiquitous – Communication interoperability, which is a good start • Also why WS-* standardized on HTTP – But application semantic interoperability is not there (yet) • Take a minimum of 5 years to do 17 Red Hat
  • 19. Enterprise ready? • DʼOh! – Take a look at the world! • Enterprise capabilities – Reliable messaging – Some fault tolerance • No transactions • Workflow • 404 rules! • Stale links • Components are there, just not necessarily used • But … itʼs not that easy! – Human interaction style can sometimes confuse 18 Red Hat
  • 20. Transactions • REST transactions by HP in 2000 – Yes, customers want to coordinate business interactions across multiple sites • Even if only atomically – Machine driven • http://<machine>/transaction-coordinator Performing a GET returns a list of all transactions know to the coordinator (active and recovery) • http://<machine>/transaction- coordinator/begin?<ClientID> Performing a PUT will start a new transaction and return a URL /transaction-coordinator/<id> 19 Red Hat
  • 21. What about Web Services? • Popular integration approach – XML – HTTP • Other transport bindings are possible • Developed with machine-to-machine interactions in mind • Not specific to SOA – Web Services began life as CORBA-over-HTTP – XML-RPC – WS-RF and WS-Addressing • Web Services+SOA gives benefits – Loose coupling – Interoperability – Enterprise capabilities, e.g., security and transactions 20 Red Hat
  • 22. Enterprise realities • Customers want interoperability of heterogeneous systems • They want guaranteed delivery of messages – Even in the presence of failures such as network partitions • They want transactions – Not just ACID transactions! • They need audit trails – Sarbanes-Oxley anyone? • They need bullet-proof security – Sarbanes-Oxley • They need machine-readable contracts with SLAs 21 Red Hat
  • 24. Fault tolerance • WS-* has driven protocol interoperability – More so than CORBA, DCE, Java • Native data and protocol bridging • Clearly defined semantics for transactions, security, reliable messaging – Not specific to HTTP 23 Red Hat
  • 25. WS-* backlash? • “Itʼs too complex” – Complicated problems often require complex solutions • “Itʼs using HTTP as a transport!” – Get over it! Mistakes happen. • “It doesnʼt offer anything better than REST/HTTP” – Short-sightedness works in both directions • “It doesnʼt leverage the Web” – Valid point for Web deployments – Not so valid for every other type of deployment 24 Red Hat
  • 26. SOA: REST or WS-*? • SOAP/HTTP – WS-* vendors have spent a lot of time ensuring it integrates with legacy systems • How many people remember that WS-* is supposed to also be about Internet scale computing? – Thatʼs important for out-of-the-box and interoperable deployments – But REST as a general architectural approach has merits • REST/HTTP has “simplicity” and (relative) ease of use – No vendor-lockin at the infrastructure level – Is precisely for Internet scale computing as well – Remember that a lot of cool Web applications arenʼt RESTful 25 Red Hat
  • 27. What can REST learn from WS-*? • Uniform interface isnʼt enough for complex application requirements – Standardize on the application protocol semantics – Ad hoc does not scale and leads to interoperability nightmares • Use outside of the browser – Yes, there are examples and implementations, but they are the exception to the rule • Just because the Web “works” is not sufficient reason to assume itʼs right for everything – HTTP versus IIOP? 26 Red Hat
  • 28. Industrial realities • WS-* captured the mind-set • REST is gaining momentum • But … – Large investment in WS-* and application-level standards are important – Probably too much effort to assume the same will happen in REST/HTTP • At least not with a big bang approach – More customers persuaded by WS-* • It’s familiar (JEE, .NET, DCOM, DCE) • But they want future proof • Combinations of WS-* and REST are beginning to evolve – May lead to standards 27 Red Hat
  • 29. What can WS-* learn from REST? • Donʼt abuse transports, they donʼt like it! • Adopt SOA principles – No more WS-RF please! – WS-Context in favour of WS-Addressing “extensions” • Late binding is good – But extremely late binding can be a burden • Occams Razor – Simple but no simpler • Infrastructure support for common services/resources simplifies development • The Web uses HTTP 28 Red Hat
  • 30. What should you use? • If it needs to be on the Web – REST/HTTP • If it needs to be interoperable with arbitrary vendors – WS-* for standards – Or persuade vendors to work on standards for REST • If you must use HTTP – Consider REST before WS-* • But understand all of the implications • If integrating with back-end systems out-of-the- box – WS-* has a lot of out-of-the-box solutions 29 Red Hat
  • 31. The combination • WS-* used within the firewall – REST principles could still help – SOAP is not fast and neither is HTTP • REST/HTTP for between firewalls – Improved application protocol standards • Bridge between WS-* and REST/HTTP – Leverage all of HTTP where possible – Definitely not easy to do, but … • WS-* between firewalls? – Unlikely to see massive adoption 30 Red Hat
  • 32. Conclusions • What have we learnt from the last 40 years? – One size does not fit all! – Use the right tool for the right job • If all you’ve got is a hammer then of course everything looks like a nail! • Just because you are using HTTP does not mean you are using REST • Just because you are using WS-* does not mean you are developing with SOA 31 Red Hat