Building apps with tuscany

  • View
    4.550

  • Download
    3

Embed Size (px)

DESCRIPTION

Building and composing the components of a distributed application can be a challenge and complex bespoke solutions are commonplace. The Apache Tuscany runtime, and the Service Component Architecture (SCA) on which the runtime is based, simplifies the process be presenting a component based application assembly model. In this talk we look at the Tuscany travel booking application and explain how the individual components of the application are constructed using a variety of technologies including Java, BPEL, Python and Javascript. We also look at how these services are wired together using a different communication protocols such as SOAP/HTTP and JSON-RPC. The complete model can then be deployed to both stand-alone and distributed runtimes without changes to the application itself.

Text of Building apps with tuscany

  • 1. IBM Software Group Building Applications with Apache Tuscany Luciano Resende lresende@apache.org http://lresende.blogspot.com Jean-Sebastien Delfino jsdelfino@apache.org http://jsdelfino.blogspot.com Simon Laws slaws@apache.org Open Source SOA: SCA and SDO 1 http://tuscany.apache.org
  • 2. IBM Software Group Abstract Building and composing the components of a distributed application can be a challenge and complex bespoke solutions are commonplace. The Apache Tuscany runtime, and the Service Component Architecture (SCA) on which the runtime is based, simplify the process by presenting a component based application assembly model. In this talk we look at the Tuscany travel booking application and explain how the individual components of the application are constructed using a variety of technologies including Java, Spring, BPEL and Python. We also look at how these services are wired together using a variety of communication protocols such as SOAP/HTTP and JSON-RPC. The complete model can then be deployed to both stand-alone and distributed runtimes without changes to the application itself. Open Source SOA: SCA and SDO 2 http://tuscany.apache.org
  • 3. IBM Software Group Agenda Service Component Architecture Apache Tuscany TuscanySCATours, a Sample Travel Booking App Development Process Packaging, Build, Test Extending the App o Bindings o Spring o BPEL o Policies Deploying to an SCA Domain Getting Involved Open Source SOA: SCA and SDO 3 http://tuscany.apache.org
  • 4. IBM Software Group SCA and Apache Tuscany Open Source SOA: SCA and SDO 4 http://tuscany.apache.org
  • 5. IBM Software Group Enterprise App Development - History Flexibility SCA and Cloud Computing Agility elastic composites ROI Service Component more componentization portability across clouds Architecture (SCA) easy to wire, rewire, service Components reconfigure business logic shielded from policies and Provisioning tech APIs reusable components in Web Services multiple programming languages services service Interfaces easy to assemble into X business logic mixed with compositions easy to bind to different tech APIs X no Components protocols Monolithic external policy configuration X no policy model X business logic mixed with communication logic X no service interfaces X no components X no policies Time Open Source SOA: SCA and SDO 5 http://tuscany.apache.org
  • 6. IBM Software Group SCA Assembly Model Service Interface Reference Interface - Java Property - Java - WSDL - WSDL Composite A property setting Component Component Service A B Reference promote wire promote Service Binding Implementation Reference Binding Web Service Java Web Service JMS BPEL JMS SLSB PHP SLSB Rest SCA composite Rest JSONRPC Spring JSONRPC JCA EJB module JCA Open Source SOA: SCA and SDO 6 http://tuscany.apache.org
  • 7. IBM Software Group SCA Specifications SCA is going through a formal standardization process at OASIS OpenCSA (http://www.oasis-opencsa.org) Assembly Implementation Policy Framework Bindings Languages Security Java Java EE Web services RM Spring BPEL JMS Transactions C++ JCA Open Source SOA: SCA and SDO 7 http://tuscany.apache.org
  • 8. OASIS Open CSA - http://www.oasis-opencsa.org/ Open Source SOA 8 http://tuscany.apache.org
  • 9. IBM Software Group Apache Tuscany Apache Tuscany provides a component based programming model which simplifies development, assembly and deployment and management of composite applications. Apache Tuscany implements SCA standards defined by OASIS OpenCSA + extensions based on community feedback. Open Source SOA: SCA and SDO 9 http://tuscany.apache.org 9
  • 10. IBM Software Group TuscanySCATours Sample Travel Booking Application Open Source SOA: SCA and SDO 10 http://tuscany.apache.org
  • 11. IBM Software Group Tuscany SCA In Action Example from Tuscany Book http://www.manning.com/laws/ Example can be downloaded from Apache Tuscany http://tuscany.apache.org/sca-java-travel-sample-1x-releases.html Open Source SOA: SCA and SDO 11 http://tuscany.apache.org
  • 12. IBM Software Group The TuscanySCATours Shopping Site Open Source SOA: SCA and SDO 12 http://tuscany.apache.org
  • 13. IBM Software Group Tusc