Building SOA solutions with Apache Tuscany


Published on

Introduction to Apache Tuscany,
Infrastructure for SOA

Published in: Technology, Education, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Building SOA solutions with Apache Tuscany

  1. 1. Apache Tuscany A quick introduction Haleh Mahbod Apache Tuscany committer and PMC member [email_address] April 12, 2009, Update Aug 10, 2009
  2. 2. Meet Apache Tuscany <ul><li>You understand the benefits of Service Oriented Architecture (SOA) Approach and want to adopt it. </li></ul><ul><ul><li>What’s next? </li></ul></ul><ul><li>You realize that Service Oriented Architecture is just an architectural approach. </li></ul><ul><ul><li>This can be costly to implement! </li></ul></ul><ul><li>Meet Apache Tuscany ( )! It gives you infrastructure for developing and managing SOA solutions. </li></ul><ul><ul><li>Standard based Solution ( ) </li></ul></ul><ul><ul><li>Provides high Return On Investment (ROI) </li></ul></ul><ul><ul><ul><li>Promotes innovation and business agility </li></ul></ul></ul><ul><ul><ul><li>Greatly lowers development cost and the need for various skills </li></ul></ul></ul><ul><ul><ul><li>Supports incremental growth towards SOA while the business is operational </li></ul></ul></ul>
  3. 3. What is Apache Tuscany? <ul><li>Apache Tuscany provides an infrastructure for SOA </li></ul><ul><ul><li>Service Development, service assembly/composition, deployment, management </li></ul></ul><ul><li>Implements Service Component Architecture (SCA), SOA programming standard ( ) </li></ul><ul><li>It is a lightweight infrastructure </li></ul><ul><ul><li>Can be embedded </li></ul></ul><ul><ul><li>Can be used standalone </li></ul></ul><ul><ul><li>Highly modularized, choose components you need as you need them </li></ul></ul><ul><li>Works with multiple platforms. </li></ul><ul><ul><li>Examples Tomcat, Geronimo, JBOSS, Websphere, Weblogic, .. </li></ul></ul><ul><li>Works with many languages and technologies. </li></ul><ul><ul><li>Examples include Java, Javascript, Spring, BPEL, OSGI, C++, Scripting,.. </li></ul></ul>
  4. 4. Why Tuscany supports SCA? <ul><li>A simple, standard model for developing, assembling services into SOA based solutions and managing them. </li></ul><ul><ul><li>Standard is in OASIS ( ) </li></ul></ul><ul><li>Loose Coupling </li></ul><ul><li>Flexible and adaptable </li></ul><ul><ul><li>Separates business and infrastructure code </li></ul></ul><ul><ul><li>Enables business developer to remain focused on business logic </li></ul></ul><ul><ul><li>Removes the need to modify code when change is introduced </li></ul></ul><ul><li>Works with non-SCA applications </li></ul><ul><li>Supports distributed, heterogeneous, large, small </li></ul><ul><li>Works with many programming languages or technologies </li></ul><ul><ul><li>Easily extensible </li></ul></ul><ul><li>Policies such as security and transaction are pluggable </li></ul><ul><ul><li>Business developer focuses on business logic rather than infrastructure </li></ul></ul>
  5. 5. Apache Tuscany’s Very High Level Architecture <ul><li>Tuscany is a set of “functional reusable” modules or building blocks for developing SOA solutions. </li></ul><ul><ul><li>Can be embdded or used as a standalone platform </li></ul></ul><ul><li>Logically divided into Core and Extension building blocks </li></ul><ul><ul><ul><li>Core – Supports SCA and allows for pluggability </li></ul></ul></ul><ul><ul><ul><li>Extensions – Support various technologies. </li></ul></ul></ul>SCA Programming Model Tuscany Core Supports SCA and extensions Various Bindings Tuscany 30,000 foot view Data Binding Supports (SDO, JAXB, etc) Standalone or Other runtime platforms (Geronimo, Tomcat, Websphere, JBOSS, ..) … . core extensions Various Implementation Types Various Data Support Various Policy intents
  6. 6. Extensions: SCA Bindings <ul><li>SCA separates protocol handling from business logic </li></ul><ul><ul><li>Results in Reusable components </li></ul></ul><ul><ul><li>Protocol handling becomes a pluggable choice through binding support </li></ul></ul><ul><ul><li>A component can be accessed via different bindings (ex: shoppingCart above) </li></ul></ul><ul><li>Examples of Bindings supported by Tuscany </li></ul><ul><ul><li>SCA binding, Webservices, web20, EJB, CORBA, Gdata, RMI, … </li></ul></ul><ul><li>New bindings can easily be added through Tuscany extension capability </li></ul>Store Fruit Catalog http ShoppingCart
  7. 7. Extensions – Implementation types <ul><li>SCA allows services in a composition be developed in any technology </li></ul><ul><li>Examples of implementation types Tuscany supports </li></ul><ul><ul><li>Java, Javascript BPEL, JEE, Scripting, Spring, OSGI, Xquery, … </li></ul></ul><ul><li>New implementation types can easily be added through Tuscany extension capability. </li></ul>Store Fruit Catalog http ShoppingCart BPEL Or Pojo, PBEL, C++, scripting,… Or Pojo, Spring, C++, scripting,… Spring
  8. 8. Extensions – Data Support <ul><li>SCA does not mandate how data should be handled, but recommends SDO (( ) and Jaxb </li></ul><ul><li>Examples of data types supported by Tuscany </li></ul><ul><ul><li>SDO, JAXB, AXIOM, … </li></ul></ul><ul><li>New data types can easily be supported through Tuscany extension capability </li></ul>Store Fruit Catalog Can use Jaxb http ShoppingCarta Can use SDO
  9. 9. SCA works with non-SCA applications <ul><li>Calling out: the “Fruit Catalog” can be a non-SCA application </li></ul><ul><ul><li>It can be referenced through any binding/protocol that it understands </li></ul></ul><ul><li>Calling into: A buyer whose application is non-SCA can access “Store” that is an SCA application </li></ul><ul><ul><li>It can be referenced through any binding/protocol that it understands </li></ul></ul>Store Fruit Catalog ShoppingCart Buyer Json
  10. 10. Parting Words <ul><li>Apache Tuscany simplifies development of SOA solutions </li></ul><ul><ul><li>Provides an infrastructure for developing, deploying and managing SOA solutions </li></ul></ul><ul><ul><li>Eclipse provides SCA tooling for Tuscany ( ) </li></ul></ul><ul><li>Tuscany is under Apache License and is free </li></ul><ul><li>Visit Tuscany at htttp:// </li></ul><ul><ul><li>Downloads: </li></ul></ul><ul><ul><li>Learn more about SCA : </li></ul></ul><ul><ul><li>Want to get involved? </li></ul></ul><ul><ul><li>“ Tuscany In Action” Book, </li></ul></ul><ul><ul><li>Learn SCA through use of Tuscany with practical, real life examples </li></ul></ul><ul><li>THANK YOU and SEE YOU IN TUSCANY </li></ul>