SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
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




                                 Service Component Architecture
                                      Assembly Model: Overview and Features
                                           - Anish Karmarkar




                                                                              1
What SCA?



• Service Component Architecture

  – an executable model for building service-oriented applications as
    composed networks of service components

  – “how to build composite service applications”




 SOA Programming Model



• SOA Programming Model derives from the basic
  concept of a service:
   • A service is an abstraction that encapsulates a
     software function.

   • Developers build services, use services and develop
     solutions that aggregate services.

   • Loose coupling

   • Composition of services into integrated
     solutions is a key activity




                                                                        2
SCA: Simplified Programming Model for SOA


•   model for:
•   building service components
•   assembling components into applications
•   deploying to (distributed) runtime environments
      – Service components built from new or existing code using SOA
        principles
      – vendor-neutral – supported across the industry
      – language-neutral – components written using any language
      – technology-neutral – use any communication protocols and
        infrastructure to link components




    Key benefits of SCA


• Loose Coupling: components integrate without need to know how
  others are implemented
• Flexibility: components can easily be replaced by other components
• Services can be easily invoked either synchronously or
  asynchronously
• Composition of solutions: clearly described
• Productivity: easier to integrate components to form composite
  application
• Heterogeneity: multiple implementation languages, communication
  mechanisms
• Declarative application of infrastructure services

• Simplification for all developers, integrators and application deployers




                                                                             3
SCA Scenarios: Bottom-up Composition



Select a set of existing component
implementations for building the new
composite

Configure the component properties
                                                                    Composite
 Draw internal wires

                                               properties
Wrap the components in a
composite and configure
external services/references

Hand off the composite to
Deployer                                services       references




     SCA Scenarios: Top-down Composition
                                                      Properties
                                                                        Composite


Start with gathering                                                                Ref
requirements for the top-level
composite
                                   Service
Define the services/references
and properties for the composite                                                    Ref


Break down the composite
into individual components
and wires between them

Recursively break down
each component

Hand off the individual
component contracts to
developers for implementation




                                                                                          4
Heterogeneous Assembly




                                                    PHP


           BPEL
                              Java




                                           Legacy           C++


    Components in the same composite share a common
    context for many aspects such as installation,
    deployment, security settings, logging behavior, etc.




  Implementation Reuse – By Configuration




Select an existing component
implementation

                                                             Properties
Configure its behavior (via setting
props, refs) to match the current       Services
requirements

    E.g. Configure multiple instances
    of product pricing component,
                                               …




                                                                          …




                                                                              References
    each with different currency, tax
    rate, discount charts, etc.

                                                             Component
Deploy the component implementation
                                                       Implementation
    - Multiple instances of the same
                                                          - Java
    implementation may be running                         - BPEL
    simultaneously                                        - Composite




                                                                                           5
Deployment Flexibility



                      Deployer chooses and configures communication
                      mechanisms for services/references without
                      having to modify the component implementation




      WS
     Clients            SOAP/HTTP       Properties
                        WS Binding
                                                             References

                        Services



                                                                                  ERP
      JMS              JMS                                                       Service
     Clients          Binding
                                                                 JCA Binding




Abstract policy decleration

         Developer                              Deployer
                              SCA                            SCA
                        1                  2
                            Assembly                       Assembly


          Policy
        Administrator                                3
                                                                          4

                                                             5

               0                   Repository
                                                                  SCA Runtime

            SCA                     Registry
         policySets




0.   Policy Administrator authors SCA policySets with concrete policies
1.   Developer specifies intents on SCA assembly
2.   Developer hands over SCA assembly to Deployer
3.   Deployer configures SCA assembly by assigning SCA policySets (could be automated)
4.   Deployer deploys configured SCA Assembly to SCA Runtime
5.   Deployer updates Registry




                                                                                           6
SCA Technology

How do I define, use and                               How do I define, configure
administer policies for non-                           and assemble components
functional aspects (QoS, etc)?                         to create composites?
 SCA Policy Framework Spec                             SCA Assembly Spec
                                         Composite
                  SOAP/
                  HTTP


                                        Component


                  JMS
                                                       JCA



                                                       How do I develop SCA
How do I configure SCA                                 components in BPEL? Or
services/references to use                             in Java? Or C++, PHP,…
SOAP/HTTP or JMS or JCA, …                              SCA BPEL Client & Impl
 SCA WS Binding Spec, …                               Spec, …




    The SCA Specifications



                                     Assembly




                                 Implementation
 Policy Framework                                              Bindings
                                   Languages



  Security                   Java               JEE              Web services


     RM                     Spring              BPEL                 JMS


Transactions                           C++                           JCA




                                                                                    7
SCA – Separation of Concerns



• SCA Components & Composites
  – define business logic
  – describe structure of business solution

• Components and composition separated
  from infrastructure
  – Communication mechanisms = SCA Bindings
  – Infrastructure facilities = SCA Policy




 What is SCA Assembly?

 • SCA Assembly has been alternately described as:

   – Vendor-, technology- and language-neutral representation of
     composition and deployment of services for creating business
     solutions

   – Unified declarative model for describing and deploying service
     assemblies

   – Deployment descriptors on steroids

   – Component implementation technology for configuring and deploying
     other component implementation technologies
      • supports recursion of components to create hierarchical
        composition




                                                                         8
SCA assembly                               RMI/IIOP
                                                                    AccountsComposite
                                                                                                External
                                                                                                 Banking
                                                         Payment              Payments
                                                                                               Reference
                                                          Service            Component

      Order
      Processing          OrderProcessing
                            Component
      Service
                                                                                                           Java EE
                                                                               Accounts
                                                                                Ledger
                                                                              Component
                   BPEL
SOAP/HTTP

                                                        Multi-level
                                                        composition

                                                                                   External
                           WarehouseComposite                                       Warehouse
                                                                                   Reference


                                            Warehouse
                     Warehouse                                         Warehouse
                                              Broker
                      Service                                          Component
                                            Component


         JMS
                                                                                   Shipping
        C++                                                                        Reference




      SCA Concepts: Component


                                                                                           Properties
                                                                                           Implementation
Services                                                                                   configuration attribute
Business function
provided to clients
through an interface
contract

                                                    Component
                                            …




                                                                         …




                                                                                                References
                                                                                                Implementation
                                                                                                dependency on an
   Implementation                                                                               external service
   The implementation code
   for the component. In any
   one of many languages, eg.
   Java, BPEL, C++, PHP,
   Composite….




                                                                                                                     9
SCA Concepts: Wire, Interface, Binding


                                          Wire
                                          Connects services to references




           Component                                                           Component
                            …




Interface                                            Binding
Description of business functions of services &      Access mechanism used by services and
references. For example, Java interface,             references. For example, Web services binding,
WSDL 1.1 portType, WSDL 2.0 interface                JMS binding, EJB Session bean binding




    Bigbank Composite – multiple components, service,
    reference & property




              bigbank.accountcomposite


                                                                                      Reference
                                                                                      StockQuote
                                                                                       Service


        Service                    AccountService
       AccountService               Component



                                                              AccountData
                                                              Service
                                                              Component




                                                                                                      10
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
               targetNamespace="http://example.org"
               name="bigbank.accountcomposite" >

       <service name="AccountService" promote="AccountServiceComponent">
           <interface.java interface="services.account.AccountService"/>
           <binding.ws port="http://www.example.org/AccountService#
             wsdl.endpoint(AccountService/AccountServiceSOAP)"/>
       </service>

       <component name="AccountServiceComponent">
           <implementation.java class="services.account.AccountServiceImpl"/>
           <reference name="StockQuoteService"/>
           <reference name="AccountDataService"
                      target="AccountDataServiceComponent/AccountDataService"/>
           <property name="currency">EURO</property>              bigbank.accountcomposite
                                                                                      StockQuote

       </component>                                                                                   Reference
                                                                                                      StockQuote
                                                                                                       Service
                                                                        Service      AccountService
       <component name="AccountDataServiceComponent">         AccountService Component
                                                                                       AccountData
           <implementation.bpel process=“QName"/>                                      Service
                                                                                       Component

           <service name="AccountDataService">
               <interface.java interface="services.accountdata.AccountDataService"/>
           </service>
       </component>

       <reference name=“StockQuoteService" promote="AccountServiceComponent/StockQuoteService">
           <interface.java interface="services.stockquote.StockQuoteService"/>
           <binding.ws port="http://example.org/StockQuoteService#
             wsdl.endpoint(StockQuoteService/StockQuoteServiceSOAP)"/>
       </reference>
    </composite>




Java Implementation Example:
Service Interface

                                                                                  Interface is callable
package org.example.services.account;                                             remotely
                                                                                  eg. as a Web service
@Remotable
public interface AccountService {

      public AccountReport getAccountReport(String customerID);
}




                                                                                                                   11
Java Implementation Example –
  Implementation

package org.example.services.account;

import org.osoa.sca.annotations.*;                               Defines the service
                                                                 interface
@Service(AccountService.class)
public class AccountServiceImpl implements AccountService {

      private String currency = "USD";
      private AccountDataService accountDataService;           Defines a property
      private StockQuoteService stockQuoteService;             “currency”

      public AccountServiceImpl(
              @Property("currency") String currency,
              @Reference("accountDataService") AccountDataService dataService,
              @Reference("stockQuoteService") StockQuoteService stockService) {
         this.currency           = currency;
         this.accountDataService = dataService;
         this.stockQuoteService = stockService;
      } // end constructor
...                                                         Defines references
}                                                           “accountDataService”
                                                            and
                                                            “stockQuoteService”




      Assembly: Features

      •   Recursive composition
      •   ComponentType side file (in addition to annotations)
      •   ConstrainingType
      •   Local and Remote services
      •   Conversations interfaces
      •   Bidirectional interfaces
      •   Autowire
      •   Inclusion
      •   Extensible
      •   Domain
      •   Contribution
      •   Deployment composite
      •   Domain-level composite




                                                                                       12
Recursive Composition


• Composites and Implementations look the same
    –   services
    –   references
    –   properties
    –   composites have associated ComponentType

• “Recursive composition” = nesting of composites
    – composite can be a component implementation in a higher
      level composite
    – promotes reuse of assemblies
    – <implementation.composite../> as component implementation
    – component can be implemented by “atomic” implementation
      or by composite




Implementing AccountDataService Using a Composite

        bigbank.accountcomposite
                                                                                  Reference
                                                                                  StockQuote
                                                                                   Service


  Service                       AccountService
 AccountService                  Component



                                                           AccountData
                                                           Service
                                                           Component




                                                                   implements
                                    bigbank.accountdata

                      Service
                                                 AccountData                Logging
                  AccountDataService




                                                                                               13
AccountDataService ComponentType



<componentType>
   <service name="AccountDataService">
      <interface.java
         interface="services.accountdata.AccountDataService"/>
   </service>
</componentType>




bigbank.AccountData Composite
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
           targetNamespace="http://example.org"
           name="bigbank.AccountData" >

    <service name="AccountDataService" promote="AccountData">
        <interface.java interface="services.accountdata.AccountService"/>
    </service>

    <component name="AccountDataServiceComponent">
        <implementation.bpel process=“..."/>
        <reference name=“LoggingService"
                   target=“LoggingServiceComponent"/>
    </component>

    <component name=“LoggingServiceComponent">
        <implementation.spring location=“..."/>
    </component>

<composite>




                                                                            14
bigbank.account Composite (recursion)
 <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
            targetNamespace="http://example.org"
            name="bigbank.accountcomposite" >
     <service name="AccountService" promote="AccountServiceComponent">
         <interface.java interface="services.account.AccountService"/>
         <binding.ws port="http://..."/>
     </service>
     <component name="AccountServiceComponent">
         <implementation.java class="services.account.AccountServiceImpl"/>
         <reference name="StockQuoteService"/>
         <reference name="AccountDataService"
                    target="AccountDataServiceComponent/AccountDataService"/>
         <property name="currency">EURO</property>
     </component>

    <component name="AccountDataServiceComponent">
        <implementation.composite name=“bb:bigBank.AccountData"/>
        <implementation.bpel process=“QName"/>
        <service name="AccountDataService">
            <interface.java interface="services.accountdata.AccountDataService"/>
        </service>
    </component>

     <reference name="" promote="AccountServiceComponent/StockQuoteService">
         <interface.java interface="services.stockquote.StockQuoteService"/>
         <binding.ws port="http://..."/>
     </reference>
 <composite>




ComponentType

 • Describes component implementation type details
     –   Services
     –   References
     –   Properties
     –   Extensibility elements

 • Can be introspected from the implementation or
   specified in an XML sidefile
     – Typically will be introspected from the implementation
     – Component implementations may use annotations to specify
       componentType information
        • eg Java




                                                                                    15
Java Implementation Example: componentType
<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">

   <service name="AccountService">
       <interface.java
 interface="services.account.AccountService"/>
   </service>

   <reference name="accountDataService">
       <interface.java
 interface="services.accountdata.AccountDataService"/>
   </reference>

   <reference name="stockQuoteService">
       <interface.java
 interface="services.stockquote.StockQuoteService"/>
   </reference>

    <property name="currency" type="xsd:string"/>
</componentType>




SCA Interaction Model


      Synchronous & Asynchronous service
       relationships
      Conversational services
          stateful service interactions


      Asynchronous support
          “non-blocking” invocation
          asynchronous client to synchronous service
          callbacks




                                                           16
Bidirectional Interfaces (Callbacks)
   Useful for asynchronous messaging
   Support for callbacks using Java interfaces

<interface.java interface="services.invoicing.ComputePrice"
        callbackInterface="services.invoicing.InvoiceCallback"/>


   Support for callbacks using WSDL portTypes/interfaces

<interface.wsdl interface="http://example.org/inv#
                       wsdl.interface(ComputePrice)"
                callbackInterface="http://example.org/inv#
                       wsdl.interface(InvoiceCallback)"/>




Conversational Interfaces
   Frees application programmer from conversation/correlation
    management
   Imposes requirements on bindings
   Interfaces marked as conversational using SCA Policy intent
   Specific operations can be marked as “endsConversation”
   WSDL extensions for “conversational” and “endsConversation”

<portType name="LoanService"   sca:requires="conversational"      >
       <operation name="apply">
          <input message="tns:ApplicationInput"/>
          <output message="tns:ApplicationOutput"/>
       </operation>
       <operation name="cancel"   sca:endsConversation="true"     >
       </operation>
       ...
</portType>




                                                                      17
Packaging and Deployment: Domains
• Composites deployed, configured into SCA Domain
   – Defines the boundary of visibility for SCA
   – Typically an area of functionality controlled by single
     organization/division
      • E.g.: accounts

• Configuration represented by virtual composite
   – potentially distributed across a network of nodes
   – contains components, services, references, wires
   – configured using composites

• Composites make deployment simpler
  – individual composites created, deployed independently
  – may contain only wires or components or externally provided
    services or references


• Abstract services provided for management of the domain




Packaging and Deployment: Contributions
• Contributions hold artifacts available for use in the Domain
• Package containing artifacts necessary for SCA
   – SCA defined artifacts
      • E.g.: composites, constrainingType, etc
   – Non-SCA defined artifacts
      • E.g.: WSDL, XML schema, Java classes, object code etc
• Packaging must be hierarchical
• Metadata included in the “META-INF” directory
<contribution xmlns=http://www.osoa.org/xmlns/sca/1.0>
    <deployable composite="xs:QName"/>*
    <import namespace="xs:String" location=”xs:AnyURI”?/>*
    <export namespace="xs:String"/>*
</contribution>

• Interoperable packaging format: ZIP
• Other formats possible: filesystem directory, OSGi bundle, JAR
  file




                                                                   18
Reuse in SCA
    Inclusion
    Recursive composition
    Implementation reuse through configurable
     components
    Reusable services through composite references




    Assembly: Summary
• SCA Assembly models systems composed of reusable
  services

• A model for service-based system:

     – construction

     – assembly

     – deployment

• Heterogeneity

     – Multiple languages

     – Multiple container technologies

     – Service access methods

• Metadata driven




                                                      19

Más contenido relacionado

La actualidad más candente

Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Arun Gupta
 
Share Point Administrator Course Content
Share Point Administrator Course ContentShare Point Administrator Course Content
Share Point Administrator Course ContentSharePoint Experts
 
Compatibleone @ OpenStack In Action
Compatibleone @ OpenStack In Action Compatibleone @ OpenStack In Action
Compatibleone @ OpenStack In Action CompatibleOne
 
Jfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE ApplicationJfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE ApplicationArun Gupta
 
CompatibleOne @ OpenWorldForum 2011
CompatibleOne @ OpenWorldForum 2011CompatibleOne @ OpenWorldForum 2011
CompatibleOne @ OpenWorldForum 2011CompatibleOne
 
Compatible One - Open Cloud
Compatible One - Open CloudCompatible One - Open Cloud
Compatible One - Open CloudeNovance
 
CloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackCloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackbuildacloud
 
Java ee 7 platform developing for the cloud kshitiz saxena
Java ee 7 platform developing for the cloud   kshitiz saxenaJava ee 7 platform developing for the cloud   kshitiz saxena
Java ee 7 platform developing for the cloud kshitiz saxenaIndicThreads
 
Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011Arun Gupta
 
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012Arun Gupta
 
Amdatu - ApacheCon NA 2011
Amdatu - ApacheCon NA 2011Amdatu - ApacheCon NA 2011
Amdatu - ApacheCon NA 2011Bram de Kruijff
 
Integration of Web Service Stacks in an Esb
Integration of Web Service Stacks in an EsbIntegration of Web Service Stacks in an Esb
Integration of Web Service Stacks in an EsbWen Zhu
 
GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011Arun Gupta
 
N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)kvz
 
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...virtual-campus
 
Beyond the Basics: An Overview of User LifeCycle and Managing Users with TDI
Beyond the Basics: An Overview of User LifeCycle and Managing Users with TDIBeyond the Basics: An Overview of User LifeCycle and Managing Users with TDI
Beyond the Basics: An Overview of User LifeCycle and Managing Users with TDIStuart McIntyre
 
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, JohannesburgJava EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, JohannesburgArun Gupta
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration BackendArun Gupta
 

La actualidad más candente (19)

Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7
 
Share Point Administrator Course Content
Share Point Administrator Course ContentShare Point Administrator Course Content
Share Point Administrator Course Content
 
Compatibleone @ OpenStack In Action
Compatibleone @ OpenStack In Action Compatibleone @ OpenStack In Action
Compatibleone @ OpenStack In Action
 
Jfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE ApplicationJfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE Application
 
CompatibleOne @ OpenWorldForum 2011
CompatibleOne @ OpenWorldForum 2011CompatibleOne @ OpenWorldForum 2011
CompatibleOne @ OpenWorldForum 2011
 
Compatible One - Open Cloud
Compatible One - Open CloudCompatible One - Open Cloud
Compatible One - Open Cloud
 
CloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackCloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stack
 
Java ee 7 platform developing for the cloud kshitiz saxena
Java ee 7 platform developing for the cloud   kshitiz saxenaJava ee 7 platform developing for the cloud   kshitiz saxena
Java ee 7 platform developing for the cloud kshitiz saxena
 
Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011
 
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
 
Amdatu - ApacheCon NA 2011
Amdatu - ApacheCon NA 2011Amdatu - ApacheCon NA 2011
Amdatu - ApacheCon NA 2011
 
Integration of Web Service Stacks in an Esb
Integration of Web Service Stacks in an EsbIntegration of Web Service Stacks in an Esb
Integration of Web Service Stacks in an Esb
 
GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011
 
N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)
 
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
 
Private Cloud Day Session 1: Building your Private Cloud Infrastructure
Private Cloud Day Session 1: Building your Private Cloud InfrastructurePrivate Cloud Day Session 1: Building your Private Cloud Infrastructure
Private Cloud Day Session 1: Building your Private Cloud Infrastructure
 
Beyond the Basics: An Overview of User LifeCycle and Managing Users with TDI
Beyond the Basics: An Overview of User LifeCycle and Managing Users with TDIBeyond the Basics: An Overview of User LifeCycle and Managing Users with TDI
Beyond the Basics: An Overview of User LifeCycle and Managing Users with TDI
 
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, JohannesburgJava EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
 

Destacado

Web 2.0 Tools for PR Pros: Online Tools that won't break the Bank
Web 2.0 Tools for PR Pros: Online Tools that won't break the BankWeb 2.0 Tools for PR Pros: Online Tools that won't break the Bank
Web 2.0 Tools for PR Pros: Online Tools that won't break the BankJil Wright
 
Incivility: Disclosing and Disarming the Incivility Elephant in Academic and ...
Incivility: Disclosing and Disarming the Incivility Elephant in Academic and ...Incivility: Disclosing and Disarming the Incivility Elephant in Academic and ...
Incivility: Disclosing and Disarming the Incivility Elephant in Academic and ...Jil Wright
 
Open Source Content Management Systems
Open Source Content Management SystemsOpen Source Content Management Systems
Open Source Content Management SystemsMatthew Turland
 
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)Dave Bost
 
Chris Madrid Service Virtualization
Chris  Madrid    Service VirtualizationChris  Madrid    Service Virtualization
Chris Madrid Service VirtualizationSOA Symposium
 
Silverlight 2
Silverlight 2Silverlight 2
Silverlight 2Dave Bost
 

Destacado (7)

Web 2.0 Tools for PR Pros: Online Tools that won't break the Bank
Web 2.0 Tools for PR Pros: Online Tools that won't break the BankWeb 2.0 Tools for PR Pros: Online Tools that won't break the Bank
Web 2.0 Tools for PR Pros: Online Tools that won't break the Bank
 
Wikis
WikisWikis
Wikis
 
Incivility: Disclosing and Disarming the Incivility Elephant in Academic and ...
Incivility: Disclosing and Disarming the Incivility Elephant in Academic and ...Incivility: Disclosing and Disarming the Incivility Elephant in Academic and ...
Incivility: Disclosing and Disarming the Incivility Elephant in Academic and ...
 
Open Source Content Management Systems
Open Source Content Management SystemsOpen Source Content Management Systems
Open Source Content Management Systems
 
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
 
Chris Madrid Service Virtualization
Chris  Madrid    Service VirtualizationChris  Madrid    Service Virtualization
Chris Madrid Service Virtualization
 
Silverlight 2
Silverlight 2Silverlight 2
Silverlight 2
 

Similar a Anish Karmakar S C A

Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)Shameer Thaha Koya
 
Developing service component architecture applications using rational applica...
Developing service component architecture applications using rational applica...Developing service component architecture applications using rational applica...
Developing service component architecture applications using rational applica...Bill Duncan
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 
Ss Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugSs Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugWSO2
 
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service BusService Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service BusIMC Institute
 
Reconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented ArchitecturesReconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented Architectureslseinturier
 
OSGi Community Event 2010 - SOA Flexibility with OSGi remote services and the...
OSGi Community Event 2010 - SOA Flexibility with OSGi remote services and the...OSGi Community Event 2010 - SOA Flexibility with OSGi remote services and the...
OSGi Community Event 2010 - SOA Flexibility with OSGi remote services and the...mfrancis
 
TOSCA - Topology and Orchestration Specification for Cloud Applications
TOSCA  - Topology and Orchestration Specification for Cloud ApplicationsTOSCA  - Topology and Orchestration Specification for Cloud Applications
TOSCA - Topology and Orchestration Specification for Cloud Applicationssdmoser
 
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012CloudBees
 
SharePoint 2010 as a Development Platform
SharePoint 2010 as a Development PlatformSharePoint 2010 as a Development Platform
SharePoint 2010 as a Development PlatformAyman El-Hattab
 
Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus WSO2
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureBob Rhubart
 
Beyond SPML: Access Provisioning in a Services World
Beyond SPML: Access Provisioning in a Services WorldBeyond SPML: Access Provisioning in a Services World
Beyond SPML: Access Provisioning in a Services WorldNishant Kaushik
 
Build on AWS: Migrating and Platforming
Build on AWS: Migrating and PlatformingBuild on AWS: Migrating and Platforming
Build on AWS: Migrating and PlatformingAmazon Web Services
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloudcodemotion_es
 

Similar a Anish Karmakar S C A (20)

SCA
SCASCA
SCA
 
Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)
 
Developing service component architecture applications using rational applica...
Developing service component architecture applications using rational applica...Developing service component architecture applications using rational applica...
Developing service component architecture applications using rational applica...
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
Ss Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugSs Wrap Up Session 13 Aug
Ss Wrap Up Session 13 Aug
 
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service BusService Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
 
Sca
ScaSca
Sca
 
Reconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented ArchitecturesReconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented Architectures
 
OSGi Community Event 2010 - SOA Flexibility with OSGi remote services and the...
OSGi Community Event 2010 - SOA Flexibility with OSGi remote services and the...OSGi Community Event 2010 - SOA Flexibility with OSGi remote services and the...
OSGi Community Event 2010 - SOA Flexibility with OSGi remote services and the...
 
TOSCA - Topology and Orchestration Specification for Cloud Applications
TOSCA  - Topology and Orchestration Specification for Cloud ApplicationsTOSCA  - Topology and Orchestration Specification for Cloud Applications
TOSCA - Topology and Orchestration Specification for Cloud Applications
 
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012
 
SharePoint 2010 as a Development Platform
SharePoint 2010 as a Development PlatformSharePoint 2010 as a Development Platform
SharePoint 2010 as a Development Platform
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Riding with camel
Riding with camelRiding with camel
Riding with camel
 
Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus
 
Uml2
Uml2Uml2
Uml2
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference Architecture
 
Beyond SPML: Access Provisioning in a Services World
Beyond SPML: Access Provisioning in a Services WorldBeyond SPML: Access Provisioning in a Services World
Beyond SPML: Access Provisioning in a Services World
 
Build on AWS: Migrating and Platforming
Build on AWS: Migrating and PlatformingBuild on AWS: Migrating and Platforming
Build on AWS: Migrating and Platforming
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
 

Más de 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
 
Robert Schneider 10 Strategies
Robert  Schneider   10  StrategiesRobert  Schneider   10  Strategies
Robert Schneider 10 StrategiesSOA 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
 
Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based ApproachSOA Symposium
 
Mark Little Web Services And Transactions
Mark  Little    Web  Services And  TransactionsMark  Little    Web  Services And  Transactions
Mark Little Web Services And TransactionsSOA 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
 

Más de 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
 
Robert Schneider 10 Strategies
Robert  Schneider   10  StrategiesRobert  Schneider   10  Strategies
Robert Schneider 10 Strategies
 
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
 
Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based Approach
 
Mark Little Web Services And Transactions
Mark  Little    Web  Services And  TransactionsMark  Little    Web  Services And  Transactions
Mark Little Web Services And Transactions
 
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
 

Último

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
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
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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
 

Último (20)

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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 ...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
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
 
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...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Anish Karmakar S C A

  • 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 Service Component Architecture Assembly Model: Overview and Features - Anish Karmarkar 1
  • 2. What SCA? • Service Component Architecture – an executable model for building service-oriented applications as composed networks of service components – “how to build composite service applications” SOA Programming Model • SOA Programming Model derives from the basic concept of a service: • A service is an abstraction that encapsulates a software function. • Developers build services, use services and develop solutions that aggregate services. • Loose coupling • Composition of services into integrated solutions is a key activity 2
  • 3. SCA: Simplified Programming Model for SOA • model for: • building service components • assembling components into applications • deploying to (distributed) runtime environments – Service components built from new or existing code using SOA principles – vendor-neutral – supported across the industry – language-neutral – components written using any language – technology-neutral – use any communication protocols and infrastructure to link components Key benefits of SCA • Loose Coupling: components integrate without need to know how others are implemented • Flexibility: components can easily be replaced by other components • Services can be easily invoked either synchronously or asynchronously • Composition of solutions: clearly described • Productivity: easier to integrate components to form composite application • Heterogeneity: multiple implementation languages, communication mechanisms • Declarative application of infrastructure services • Simplification for all developers, integrators and application deployers 3
  • 4. SCA Scenarios: Bottom-up Composition Select a set of existing component implementations for building the new composite Configure the component properties Composite Draw internal wires properties Wrap the components in a composite and configure external services/references Hand off the composite to Deployer services references SCA Scenarios: Top-down Composition Properties Composite Start with gathering Ref requirements for the top-level composite Service Define the services/references and properties for the composite Ref Break down the composite into individual components and wires between them Recursively break down each component Hand off the individual component contracts to developers for implementation 4
  • 5. Heterogeneous Assembly PHP BPEL Java Legacy C++ Components in the same composite share a common context for many aspects such as installation, deployment, security settings, logging behavior, etc. Implementation Reuse – By Configuration Select an existing component implementation Properties Configure its behavior (via setting props, refs) to match the current Services requirements E.g. Configure multiple instances of product pricing component, … … References each with different currency, tax rate, discount charts, etc. Component Deploy the component implementation Implementation - Multiple instances of the same - Java implementation may be running - BPEL simultaneously - Composite 5
  • 6. Deployment Flexibility Deployer chooses and configures communication mechanisms for services/references without having to modify the component implementation WS Clients SOAP/HTTP Properties WS Binding References Services ERP JMS JMS Service Clients Binding JCA Binding Abstract policy decleration Developer Deployer SCA SCA 1 2 Assembly Assembly Policy Administrator 3 4 5 0 Repository SCA Runtime SCA Registry policySets 0. Policy Administrator authors SCA policySets with concrete policies 1. Developer specifies intents on SCA assembly 2. Developer hands over SCA assembly to Deployer 3. Deployer configures SCA assembly by assigning SCA policySets (could be automated) 4. Deployer deploys configured SCA Assembly to SCA Runtime 5. Deployer updates Registry 6
  • 7. SCA Technology How do I define, use and How do I define, configure administer policies for non- and assemble components functional aspects (QoS, etc)? to create composites?  SCA Policy Framework Spec  SCA Assembly Spec Composite SOAP/ HTTP Component JMS JCA How do I develop SCA How do I configure SCA components in BPEL? Or services/references to use in Java? Or C++, PHP,… SOAP/HTTP or JMS or JCA, …  SCA BPEL Client & Impl  SCA WS Binding Spec, … Spec, … The SCA Specifications Assembly Implementation Policy Framework Bindings Languages Security Java JEE Web services RM Spring BPEL JMS Transactions C++ JCA 7
  • 8. SCA – Separation of Concerns • SCA Components & Composites – define business logic – describe structure of business solution • Components and composition separated from infrastructure – Communication mechanisms = SCA Bindings – Infrastructure facilities = SCA Policy What is SCA Assembly? • SCA Assembly has been alternately described as: – Vendor-, technology- and language-neutral representation of composition and deployment of services for creating business solutions – Unified declarative model for describing and deploying service assemblies – Deployment descriptors on steroids – Component implementation technology for configuring and deploying other component implementation technologies • supports recursion of components to create hierarchical composition 8
  • 9. SCA assembly RMI/IIOP AccountsComposite External Banking Payment Payments Reference Service Component Order Processing OrderProcessing Component Service Java EE Accounts Ledger Component BPEL SOAP/HTTP Multi-level composition External WarehouseComposite Warehouse Reference Warehouse Warehouse Warehouse Broker Service Component Component JMS Shipping C++ Reference SCA Concepts: Component Properties Implementation Services configuration attribute Business function provided to clients through an interface contract Component … … References Implementation dependency on an Implementation external service The implementation code for the component. In any one of many languages, eg. Java, BPEL, C++, PHP, Composite…. 9
  • 10. SCA Concepts: Wire, Interface, Binding Wire Connects services to references Component Component … Interface Binding Description of business functions of services & Access mechanism used by services and references. For example, Java interface, references. For example, Web services binding, WSDL 1.1 portType, WSDL 2.0 interface JMS binding, EJB Session bean binding Bigbank Composite – multiple components, service, reference & property bigbank.accountcomposite Reference StockQuote Service Service AccountService AccountService Component AccountData Service Component 10
  • 11. <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" targetNamespace="http://example.org" name="bigbank.accountcomposite" > <service name="AccountService" promote="AccountServiceComponent"> <interface.java interface="services.account.AccountService"/> <binding.ws port="http://www.example.org/AccountService# wsdl.endpoint(AccountService/AccountServiceSOAP)"/> </service> <component name="AccountServiceComponent"> <implementation.java class="services.account.AccountServiceImpl"/> <reference name="StockQuoteService"/> <reference name="AccountDataService" target="AccountDataServiceComponent/AccountDataService"/> <property name="currency">EURO</property> bigbank.accountcomposite StockQuote </component> Reference StockQuote Service Service AccountService <component name="AccountDataServiceComponent"> AccountService Component AccountData <implementation.bpel process=“QName"/> Service Component <service name="AccountDataService"> <interface.java interface="services.accountdata.AccountDataService"/> </service> </component> <reference name=“StockQuoteService" promote="AccountServiceComponent/StockQuoteService"> <interface.java interface="services.stockquote.StockQuoteService"/> <binding.ws port="http://example.org/StockQuoteService# wsdl.endpoint(StockQuoteService/StockQuoteServiceSOAP)"/> </reference> </composite> Java Implementation Example: Service Interface Interface is callable package org.example.services.account; remotely eg. as a Web service @Remotable public interface AccountService { public AccountReport getAccountReport(String customerID); } 11
  • 12. Java Implementation Example – Implementation package org.example.services.account; import org.osoa.sca.annotations.*; Defines the service interface @Service(AccountService.class) public class AccountServiceImpl implements AccountService { private String currency = "USD"; private AccountDataService accountDataService; Defines a property private StockQuoteService stockQuoteService; “currency” public AccountServiceImpl( @Property("currency") String currency, @Reference("accountDataService") AccountDataService dataService, @Reference("stockQuoteService") StockQuoteService stockService) { this.currency = currency; this.accountDataService = dataService; this.stockQuoteService = stockService; } // end constructor ... Defines references } “accountDataService” and “stockQuoteService” Assembly: Features • Recursive composition • ComponentType side file (in addition to annotations) • ConstrainingType • Local and Remote services • Conversations interfaces • Bidirectional interfaces • Autowire • Inclusion • Extensible • Domain • Contribution • Deployment composite • Domain-level composite 12
  • 13. Recursive Composition • Composites and Implementations look the same – services – references – properties – composites have associated ComponentType • “Recursive composition” = nesting of composites – composite can be a component implementation in a higher level composite – promotes reuse of assemblies – <implementation.composite../> as component implementation – component can be implemented by “atomic” implementation or by composite Implementing AccountDataService Using a Composite bigbank.accountcomposite Reference StockQuote Service Service AccountService AccountService Component AccountData Service Component implements bigbank.accountdata Service AccountData Logging AccountDataService 13
  • 14. AccountDataService ComponentType <componentType> <service name="AccountDataService"> <interface.java interface="services.accountdata.AccountDataService"/> </service> </componentType> bigbank.AccountData Composite <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" targetNamespace="http://example.org" name="bigbank.AccountData" > <service name="AccountDataService" promote="AccountData"> <interface.java interface="services.accountdata.AccountService"/> </service> <component name="AccountDataServiceComponent"> <implementation.bpel process=“..."/> <reference name=“LoggingService" target=“LoggingServiceComponent"/> </component> <component name=“LoggingServiceComponent"> <implementation.spring location=“..."/> </component> <composite> 14
  • 15. bigbank.account Composite (recursion) <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" targetNamespace="http://example.org" name="bigbank.accountcomposite" > <service name="AccountService" promote="AccountServiceComponent"> <interface.java interface="services.account.AccountService"/> <binding.ws port="http://..."/> </service> <component name="AccountServiceComponent"> <implementation.java class="services.account.AccountServiceImpl"/> <reference name="StockQuoteService"/> <reference name="AccountDataService" target="AccountDataServiceComponent/AccountDataService"/> <property name="currency">EURO</property> </component> <component name="AccountDataServiceComponent"> <implementation.composite name=“bb:bigBank.AccountData"/> <implementation.bpel process=“QName"/> <service name="AccountDataService"> <interface.java interface="services.accountdata.AccountDataService"/> </service> </component> <reference name="" promote="AccountServiceComponent/StockQuoteService"> <interface.java interface="services.stockquote.StockQuoteService"/> <binding.ws port="http://..."/> </reference> <composite> ComponentType • Describes component implementation type details – Services – References – Properties – Extensibility elements • Can be introspected from the implementation or specified in an XML sidefile – Typically will be introspected from the implementation – Component implementations may use annotations to specify componentType information • eg Java 15
  • 16. Java Implementation Example: componentType <componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <service name="AccountService"> <interface.java interface="services.account.AccountService"/> </service> <reference name="accountDataService"> <interface.java interface="services.accountdata.AccountDataService"/> </reference> <reference name="stockQuoteService"> <interface.java interface="services.stockquote.StockQuoteService"/> </reference> <property name="currency" type="xsd:string"/> </componentType> SCA Interaction Model  Synchronous & Asynchronous service relationships  Conversational services  stateful service interactions  Asynchronous support  “non-blocking” invocation  asynchronous client to synchronous service  callbacks 16
  • 17. Bidirectional Interfaces (Callbacks)  Useful for asynchronous messaging  Support for callbacks using Java interfaces <interface.java interface="services.invoicing.ComputePrice" callbackInterface="services.invoicing.InvoiceCallback"/>  Support for callbacks using WSDL portTypes/interfaces <interface.wsdl interface="http://example.org/inv# wsdl.interface(ComputePrice)" callbackInterface="http://example.org/inv# wsdl.interface(InvoiceCallback)"/> Conversational Interfaces  Frees application programmer from conversation/correlation management  Imposes requirements on bindings  Interfaces marked as conversational using SCA Policy intent  Specific operations can be marked as “endsConversation”  WSDL extensions for “conversational” and “endsConversation” <portType name="LoanService" sca:requires="conversational" > <operation name="apply"> <input message="tns:ApplicationInput"/> <output message="tns:ApplicationOutput"/> </operation> <operation name="cancel" sca:endsConversation="true" > </operation> ... </portType> 17
  • 18. Packaging and Deployment: Domains • Composites deployed, configured into SCA Domain – Defines the boundary of visibility for SCA – Typically an area of functionality controlled by single organization/division • E.g.: accounts • Configuration represented by virtual composite – potentially distributed across a network of nodes – contains components, services, references, wires – configured using composites • Composites make deployment simpler – individual composites created, deployed independently – may contain only wires or components or externally provided services or references • Abstract services provided for management of the domain Packaging and Deployment: Contributions • Contributions hold artifacts available for use in the Domain • Package containing artifacts necessary for SCA – SCA defined artifacts • E.g.: composites, constrainingType, etc – Non-SCA defined artifacts • E.g.: WSDL, XML schema, Java classes, object code etc • Packaging must be hierarchical • Metadata included in the “META-INF” directory <contribution xmlns=http://www.osoa.org/xmlns/sca/1.0> <deployable composite="xs:QName"/>* <import namespace="xs:String" location=”xs:AnyURI”?/>* <export namespace="xs:String"/>* </contribution> • Interoperable packaging format: ZIP • Other formats possible: filesystem directory, OSGi bundle, JAR file 18
  • 19. Reuse in SCA  Inclusion  Recursive composition  Implementation reuse through configurable components  Reusable services through composite references Assembly: Summary • SCA Assembly models systems composed of reusable services • A model for service-based system: – construction – assembly – deployment • Heterogeneity – Multiple languages – Multiple container technologies – Service access methods • Metadata driven 19