Enterprise Service Assembly with SCA using Apache Tuscany
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Enterprise Service Assembly with SCA using Apache Tuscany

  • 3,004 views
Uploaded on

This is the presentation we gave at JavaOne 2009.

This is the presentation we gave at JavaOne 2009.

More in: Technology , Spiritual
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,004
On Slideshare
2,992
From Embeds
12
Number of Embeds
3

Actions

Shares
Downloads
137
Comments
0
Likes
2

Embeds 12

http://www.slideshare.net 9
https://www.linkedin.com 2
http://www.linkedin.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Enterprise Service Assembly with Apache Tuscany SCA Raymond Feng, Luciano Resende, Simon Laws IBM PMC members of Apache Tuscany Project
  • 2. Agenda > Apache Tuscany > SCA Benefits > SCA Tours - Online Travel Sample Scenario  Demo  Features  Building components with Java, Spring, JEE  Wiring components with Web services, JMS, HTTP  Web2.0 in the service assembly  Your app goes mobile with Android  Deploying applications standalone, in OSGi, in JEE 2
  • 3. Apache Tuscany > Apache Tuscany provides a component based programming model which simplifies development, assembly and deployment and management of composite applications in SOA. > Apache Tuscany implements SCA standards defined by the OASIS OpenCSA and also provides extensions based on real user feedback. 3
  • 4. What’s new with Apache Tuscany > 1.x Code Stream  OSOA Based SCA Specification  Stable code base  SCA Java 1.5 Released 05/31/2009 > 2.x Code Stream  OASIS OpenCSA Specification  OSGi enabled runtime  SCA Java 2.0 M2 Released on 04/15/2009  M3 Released being prepared 4
  • 5. The power of Tuscany/SCA > Quick prototype for PoC to convince your boss in hours  Mock up new functions (POJOs) > Reuse existing assets (Java classes, BPEL, Spring, JEE, OSGi) > Talk to external services transparently  (WS, RMI, CORBA, EJB, JMS, …) > Expose services to other clients transparently  (WS, JSONRPC, FEED, RMI, CORBA …) > Built-in interaction patterns:  Req/Res, Oneway, Callback > Run and debug directly within the IDE 5
  • 6. SCA Tours Online Travel Sample Scenario http://svn.apache.org/repos/asf/tuscany/sandbox/travelsample 6
  • 7. SCA Tours - Travel Booking (Page #1) fu lla p p - u i ( 8 0 8 0 ) fu lla p p - fr o n te n d ( 8 0 8 4 ) fu lla p p - p a c k a g e d tr ip ( 8 0 8 5 ) T rip T r a v e lC a ta lo g P a r tn e r Java T us c anyS C A T o u rs U I S C A To u rs > ls - ls a Java fu lla p p - b e s p o k e tr ip ( 8 0 8 6 ) H o te l P a r tn e r Java T rip B o o k in g 123 456 F lig h t 789 W id g e t Java P a r tn e r Java Java C ar P a r tn e r Java fu lla p p - c u r r e n c y ( 8 0 8 3 ) C u rre n c y C o n v e r te r E JB 7
  • 8. SCA Tours - Travel Booking (Page #2) fu lla p p - s h o p p in g c a r t ( 8 0 8 7 ) p a ym e n t (8 0 8 1 ) c re d ic a rd (8 0 8 2 ) C r e d itC a r d S h o p p in g C a rt P a y m e n tP r o c e s s Java S p rin g Java p a y m e n tw e b C r e d itC a r d U I C a r tS to r e E m a ilG a te w a y > ls - ls a Java S c rip t S e rv le t 8
  • 9. SCA Tours Online Travel Sample Scenario DEMO http://svn.apache.org/repos/asf/tuscany/sandbox/travelsample 9
  • 10. Web 2.0 Client Application SCA Tours Travel Catalog Implementation.java Implementation.java implementation.widget Embedded Tomcat Trip Booking Implementation.java Shopping Cart Implementation.java 10
  • 11. SCA Composite for Tuscany Widget <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" targetNamespace="http://scatours" xmlns:scatours="http://scatours" xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" xmlns:pp="http://www.example.org/PaymentProcess" name="ui"> <component name="scatours"> <tuscany:implementation.widget location="scatours.html"/> <service name="Widget"> <tuscany:binding.http uri="/scatours"/> </service> <reference name="scaToursCatalog" target="SCAToursComponent/SCAToursSearch"> <tuscany:binding.jsonrpc/> </reference> <reference name="scaToursBooking" target="SCAToursComponent/SCAToursBooking"> <tuscany:binding.jsonrpc/> </reference> <reference name="scaToursCart" target="SCAToursComponent/SCAToursCart"> <tuscany:binding.jsonrpc/> </reference> </component> </composite> 11
  • 12. Mobile Client Application with Android SCA Tours Travel Catalog Implementation.java Implementation.java Trip Booking Implementation.java Shopping Cart Implementation.java 12
  • 13. Credit Card Payment Scenario creditcard.jsp RFC 119: Distributed OSGi implementation.web Tomcat binding.rmi Credit Card Currency binding.ws Payment Converter implementation.osgi implementation.osgi Web Service Client Equinox Equinox 13
  • 14. SCA composite for the Web component <composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" targetNamespace="http://creditcard" name="CreditCardPaymentWeb"> <component name="CreditCardPaymentWeb"> <implementation.web web-uri="" /> <reference name="service"> <interface.java interface="scatours.payment.creditcard.CreditCardPayment"/> <binding.ws uri="http://localhost:8082/CreditCardPayment" /> </reference> </component> </composite> > JSP <%@ taglib uri="http://www.osoa.org/sca/sca_jsp.tld" prefix="sca"%> <sca:reference name="service" type="scatours.payment.creditcard.CreditCardPayment" /> 14
  • 15. Distributed OSGi with Tuscany/SCA Local Service OSGi Service Local OSGi Service SCA Service Registry Implementation CreditCard Payment Web Service Currency Converter RMI SCA References SCA proxies 15
  • 16. OSGi services in the SCA domain CreditCard Currency Payment Converter Credit Card Payment Currency Converter Bundle Bundle Node #1 Node #2 SCA Domain binding.rmi Credit Card Currency binding.ws Payment Converter implementation.osgi implementation.osgi 16
  • 17. SCA composite for the OSGi bundle <composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://creditcard" name="CreditCardPaymentComposite"> <component name="CreditCardPaymentComponent"> <tuscany:implementation.osgi bundleSymbolicName="scatours.creditcard.payment" bundleVersion="1.0.0" /> <service name="CreditCardPayment"> <binding.ws uri="http://localhost:8082/CreditCardPayment"/> </service> <reference name="currencyConverter"> <tuscany:binding.rmi uri="rmi://localhost:8085/CurrencyConverter"/> </reference> </component> </composite> 17
  • 18. Raymond Feng (rfeng@apche.org) Luciano Resende (lresende@apache.org) http://tuscany.apache.org 18