Intalio – eBayOpenSource.org
        Cloud Mashup Webinar




               29 June 2011
Presenters


            Jose Alvarez Muguerza                                    Manuel Chinea
               CĂłrdoba, Argentina                                    Caracas, Venezuela
        Senior Software Engineer @Intalio                            Senior Software Engineer @Intalio

       Blog: http://itsecrets.wordpress.com                          Blog: http://softwarediaries.wordpress.com/
  GitHub: github.com/josealvarezmuguerza                             GitHub: github.com/mchinea




               José Alvarez Muguerza – Manuel Chinea / Cloud Mashup Webinar 06.29.2011
Agenda

● Context – Turmeric, Ebay & Open Source
● Turmeric Core
● Workshop Bird eye
● Some shorts HOW-TO
● QOS Demos: Rate Limiting, Policy Admin, and Monitoring Console
● Summary - Q&A
Agenda

● Context – Turmeric, Ebay & Open Source
● Turmeric Core
● Workshop Bird eye
● Some shorts HOW-TO
● QOS Demos: Rate Limiting, Policy Admin, and Monitoring Console
● Summary - Q&A
Context: SOA @eBay



● One of the first to expose APIs Services
● Support SOAP style as well as REST style
● Learned a lot from feedback from their customers and
  operational issues and evolved our technology over
  time
● Early adopters of SOA governance automation
● Continuously improving their architecture
Context: Open Source


● Mission is to open source some of the best of breed technologies that
  were developed originally within eBay Inc. For the benefit of the
  community
● Under a liberal open source license.
● These projects are generic technology projects and several years of
  development effort has gone into them to mature them.
● Turmeric's turn
● Why Intalio?
Turmeric Platform
Agenda

● Context – Turmeric, Ebay & Open Source
● Turmeric Core
● Workshop Bird eye
● Some shorts HOW-TO
● QOS Demos: Rate Limiting, Policy Admin, and Monitoring Console
● Summary - Q&A
Turmeric Core
                                 SPF


                                       Logging handler
                             Global
                                &
                             Service            Auth handler
                             Specific
                             Config
                              files                   G11N
                                  Reads


                                            3                         Request
                                                                       Disp
    Incoming Framework             MCtx
                                                   In Pipeline                   5
     request   servlet        Server         4                                           ServiceImpl
                         2   Message
          1                                       Out pipeline
Outgoing
               OR        8   Processor      6
response 9     New
              tomcat                         7
             connector
                                                                  Resp                  Transport
                                                                  disp
                                          Protocol specific
                                          (e.g SOAP) processors


                                                                  (de)serialization happens
                                                                  here if not already done
Native (de)serialization
                                                                                 Native
                                  Uniform                                        serialization
                                  interface
 XM
                                           Pluggable formats
 L

                                                                                                 A single
                            pi       S                                                           Instance of
JSO                         p        er/    XML          Directly                                Service Impl
                                                         deserialize
                                     D
N                           eli      es      NV          d
                                                         into
                                     er                                Java          Passed to
                            n        m     JSON                        objects
                                     od
                            e        ul    others
                                     e

 N
 V
                                           SOA
                                           framework

Other
formats
                                                    No intermediate format
                                                    Avoids extra conversion
Custom Data Formats - JAXB
                                      Calls from handlers (pipeline)
                                      Or from Req/Resp
                                      dispatchers
                                          1
                                                             (de)serialize
                                                             (incoming)outgoing message


                             (Request/Response) Message
                              Cache (de)serialized objects
                              5

getSerializer/          2
getDeserializer
(based on the type)
                                                      3
   (de)serializer factory

                                                                                          Pluggable (via config)
                            XML   N        JSO             Binar        Other             Uniform JAXB based
                                  V        N               y            s                 (de)serializers
                                      4                    XML
                                                                                          Stax parsers
                            XML   N        JSO             Binar        Other
                                                                                          for each data format
                                  V        N               y            s
                                                           XML
Turmeric: Local Binding


                                             Logging


                               Client
                              Specific            Auth
                              Config                                           Transpor
                                file                                           t factory
                                                    G11N
                                   Reads                                                     6
                                                                                         Local
                                             3                                         transport
                                                                   Request
         1        SI      2
                                                 Out Pipeline       Disp       5
                                                                                     HTTP sync and
                                            4                                           async
Client            F            Client
App          10           9   Message             In pipeline
                  A                          7                                      SMTP or others
                              Process
                  PI             or         8                                        Pluggable transports
              JAX-WS
                                                                   Resp disp
              compliant



                                           Protocol specific
                                           processors (e.g SOAP)
Agenda

● Context – Turmeric, Ebay & Open Source
● Turmeric Core
● Workshop Bird eye
● Some shorts HOW-TO
● QOS Demos: Rate Limiting, Policy Admin, and Monitoring Console
● Summary - Q&A
Workshop Bird-
eye

                              TURMERI
                              C
           Turmeric Eclipse Plugin + Turmeric SOA Perspective


          SP                                       SIF
          F                                           Amz
            ItemSe
           ItemSearch
               arch
                                                      eBay

                                                                Internet

                        Monitoring       Policy Admin
Agenda

● Context – Turmeric, Ebay & Open Source
● Turmeric Core
● Workshop Bird eye
● Some shorts HOW-TO
● QOS Demos: Rate Limiting, Policy Admin, and Monitoring Console
● Summary - Q&A
HOW TO #1




            Short HOW-TO
     Create a Turmeric Service
Agenda

● Context – Turmeric, Ebay & Open Source
● Turmeric Core
● Workshop Bird eye
● Some shorts HOW-TO
● QOS Demos: Rate Limiting, Policy Admin, Monitoring Console
● Summary - Q&A
HOW TO #2




            Short HOW-TO
RateLimiting and Policy Administartion
Agenda

 ● Context – Turmeric, Ebay & Open Source
 ● Turmeric Core
 ● Workshop Bird eye
 ● Some shorts HOW-TO
QOS Demos: Rate Limiting, Policy Admin, and
Monitoring Console
 ● Summary - Q&A
Summary - Q&A

Call to Action

Project Home: https://www.ebayopensource.org/index.
php/Turmeric/HomePage

Forum:
https://www.ebayopensource.org/forum/

IRC:
irc://irc.freenode.net Channels: #turmeric and #turmeric-dev

Turmeric SOA Cloud Mashups

  • 1.
    Intalio – eBayOpenSource.org Cloud Mashup Webinar 29 June 2011
  • 2.
    Presenters Jose Alvarez Muguerza Manuel Chinea Córdoba, Argentina Caracas, Venezuela Senior Software Engineer @Intalio Senior Software Engineer @Intalio Blog: http://itsecrets.wordpress.com Blog: http://softwarediaries.wordpress.com/ GitHub: github.com/josealvarezmuguerza GitHub: github.com/mchinea José Alvarez Muguerza – Manuel Chinea / Cloud Mashup Webinar 06.29.2011
  • 3.
    Agenda ● Context –Turmeric, Ebay & Open Source ● Turmeric Core ● Workshop Bird eye ● Some shorts HOW-TO ● QOS Demos: Rate Limiting, Policy Admin, and Monitoring Console ● Summary - Q&A
  • 4.
    Agenda ● Context –Turmeric, Ebay & Open Source ● Turmeric Core ● Workshop Bird eye ● Some shorts HOW-TO ● QOS Demos: Rate Limiting, Policy Admin, and Monitoring Console ● Summary - Q&A
  • 5.
    Context: SOA @eBay ●One of the first to expose APIs Services ● Support SOAP style as well as REST style ● Learned a lot from feedback from their customers and operational issues and evolved our technology over time ● Early adopters of SOA governance automation ● Continuously improving their architecture
  • 6.
    Context: Open Source ●Mission is to open source some of the best of breed technologies that were developed originally within eBay Inc. For the benefit of the community ● Under a liberal open source license. ● These projects are generic technology projects and several years of development effort has gone into them to mature them. ● Turmeric's turn ● Why Intalio?
  • 7.
  • 8.
    Agenda ● Context –Turmeric, Ebay & Open Source ● Turmeric Core ● Workshop Bird eye ● Some shorts HOW-TO ● QOS Demos: Rate Limiting, Policy Admin, and Monitoring Console ● Summary - Q&A
  • 9.
    Turmeric Core SPF Logging handler Global & Service Auth handler Specific Config files G11N Reads 3 Request Disp Incoming Framework MCtx In Pipeline 5 request servlet Server 4 ServiceImpl 2 Message 1 Out pipeline Outgoing OR 8 Processor 6 response 9 New tomcat 7 connector Resp Transport disp Protocol specific (e.g SOAP) processors (de)serialization happens here if not already done
  • 10.
    Native (de)serialization Native Uniform serialization interface XM Pluggable formats L A single pi S Instance of JSO p er/ XML Directly Service Impl deserialize D N eli es NV d into er Java Passed to n m JSON objects od e ul others e N V SOA framework Other formats No intermediate format Avoids extra conversion
  • 11.
    Custom Data Formats- JAXB Calls from handlers (pipeline) Or from Req/Resp dispatchers 1 (de)serialize (incoming)outgoing message (Request/Response) Message Cache (de)serialized objects 5 getSerializer/ 2 getDeserializer (based on the type) 3 (de)serializer factory Pluggable (via config) XML N JSO Binar Other Uniform JAXB based V N y s (de)serializers 4 XML Stax parsers XML N JSO Binar Other for each data format V N y s XML
  • 12.
    Turmeric: Local Binding Logging Client Specific Auth Config Transpor file t factory G11N Reads 6 Local 3 transport Request 1 SI 2 Out Pipeline Disp 5 HTTP sync and 4 async Client F Client App 10 9 Message In pipeline A 7 SMTP or others Process PI or 8 Pluggable transports JAX-WS Resp disp compliant Protocol specific processors (e.g SOAP)
  • 13.
    Agenda ● Context –Turmeric, Ebay & Open Source ● Turmeric Core ● Workshop Bird eye ● Some shorts HOW-TO ● QOS Demos: Rate Limiting, Policy Admin, and Monitoring Console ● Summary - Q&A
  • 14.
    Workshop Bird- eye TURMERI C Turmeric Eclipse Plugin + Turmeric SOA Perspective SP SIF F Amz ItemSe ItemSearch arch eBay Internet Monitoring Policy Admin
  • 15.
    Agenda ● Context –Turmeric, Ebay & Open Source ● Turmeric Core ● Workshop Bird eye ● Some shorts HOW-TO ● QOS Demos: Rate Limiting, Policy Admin, and Monitoring Console ● Summary - Q&A
  • 16.
    HOW TO #1 Short HOW-TO Create a Turmeric Service
  • 17.
    Agenda ● Context –Turmeric, Ebay & Open Source ● Turmeric Core ● Workshop Bird eye ● Some shorts HOW-TO ● QOS Demos: Rate Limiting, Policy Admin, Monitoring Console ● Summary - Q&A
  • 18.
    HOW TO #2 Short HOW-TO RateLimiting and Policy Administartion
  • 19.
    Agenda ● Context– Turmeric, Ebay & Open Source ● Turmeric Core ● Workshop Bird eye ● Some shorts HOW-TO QOS Demos: Rate Limiting, Policy Admin, and Monitoring Console ● Summary - Q&A
  • 20.
    Summary - Q&A Callto Action Project Home: https://www.ebayopensource.org/index. php/Turmeric/HomePage Forum: https://www.ebayopensource.org/forum/ IRC: irc://irc.freenode.net Channels: #turmeric and #turmeric-dev