SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
© IBM Corp, 2010.
Graham Charters | IBM
SOA Flexibility with OSGi
Remote Services and the
Service Component
Architecture
© IBM Corp, 2010.
SOA Flexibility with OSGi Remote Services
and the Service Component Architecture
...including a demo...or two
© IBM Corp, 2010.
SOA Design Principles
• Service-based for simple interaction patterns
• Loose Coupling so components need not know
implementation details and can be bound late
• Separation of Concerns so developers can focus on
immediate task
• Composition and re-composition of assets
• Heterogeneity to re-use what we already have
© IBM Corp, 2010.
Flexibility
• What might we want to be flexible?
• Choice of Service Provider?
• Choice of Binding?
• Qualities of Service?
• All of the above
© IBM Corp, 2010.
Framework Framework
Remote Services
Service
Provider
Bundle
Service
Provider
Bundle
Service
Consumer
Bundle
Service
Consumer
Bundle
Pass-by-value
Latency
Unreliable
Pass-by-value
Latency
Unreliable
NetworkNetwork
© IBM Corp, 2010.
Framework Framework
Distribution Provider
Service
Provider
Bundle
Service
Provider
Bundle
Service
Consumer
Bundle
Service
Consumer
Bundle
Distribution
Provider
Distribution
Provider
Distribution
Provider
Distribution
Provider
Remote Services
Provider Configuration
Remote Services
Provider Configuration
endpoint
Remote Services
Client Configuration
Remote Services
Client Configuration
NetworkNetwork
to endpoint
Pass-by-value
Latency
Unreliable
Pass-by-value
Latency
Unreliable
© IBM Corp, 2010.
Services Properties
Framework Framework
Service
Provider
Bundle
Service
Provider
Bundle
Service
Consumer
Bundle
Service
Consumer
Bundle
service.exported.interfaces
service.intents
service.exported.intents
service.exported.intents.extra
service.exported.configs
<other service properties>
service.exported.interfaces
service.intents
service.exported.intents
service.exported.intents.extra
service.exported.configs
<other service properties>
objectClass
service.intents
service.imported.configs
service.imported
<other service properties>
objectClass
service.intents
service.imported.configs
service.imported
<other service properties>
endpoint
NetworkNetwork
to endpoint
© IBM Corp, 2010.
Intents
• Describe an abstract requirement or capability
– Separation of concerns – requirement/capability
independent of implementation
– Implementation is a deployment choice
• Three properties
service.intents – provided by the service (local and remote)
service.exported.intents – statically configured for remote
service.exported.intents.extra – admin configured for remote
• Inspired by SCA intents, examples include
– confidentiality, integrity, atLeastOnce, atMostOnce, SOAP.v1_1,
etc.
© IBM Corp, 2010.
Configuration Types
• Identifies a type of Distribution Provider specific
configuration
• Use reverse domain name scheme to avoid conflict
• Property naming convention used for extra config
service.exported.configs = com.acme.config
com.acme.config.host = …
com.acme.config.port = ...
© IBM Corp, 2010.
OSGi Remote Service Summary
• Standardizes basic metadata for distribution
– Remote interfaces
– Default invocation semantics
– Place to hang QoS requirements (intents)
– Place to hang distribution provider configuration
• However...
– Distribution configuration details left to distribution
provider
• Encryption, signing, protocols, ...
– Full configuration not portable
– No standard way to configure for interoperability
© IBM Corp, 2010.
…enter the SCA Configuration Type
• Standardizes detailed distribution provider
configuration
– Leveraging SCA Bindings, Policy specifications
• Fully Portable
• Interoperable through interoperable bindings
and policy (e.g. WS-*)
© IBM Corp, 2010.
Service Configuration
• Remote Service properties unchanged
service.exported.interfaces = ...
service.exported.intents = …
etc...
• Defines a configuration type following
Remote Services spec
service.exported.configs = org.osgi.sca
org.osgi.sca.bindings = <bindings to use>
© IBM Corp, 2010.
SCA Bindings
• Configuration for protocols and technologies
• Standard bindings (OASIS)
– Web services, JMS, JCA
• Extensible (e.g. Apache Tuscany)
– JSON, JSON-RPC, Atom, RMI, EJB, ...
<binding.ws name="OrderServiceBinding"
uri="http://localhost:8086/OrderService" />
<binding.ws name="OrderServiceBinding"
uri="http://localhost:8086/OrderService" />
© IBM Corp, 2010.
SCA Policy
• Intents: an abstract
requirement or capability
(sound familiar?)
• PolicySet: an implementation
of an intent (using a policy
language e.g. WS-Policy)
• Ideally the distribution provider
is pre-configured so you never
need to specify the details
PolicySetPolicySet
IntentIntent
<sca:policySet name="Encrypted"
provides="acme:protection"
appliesTo="sca:binding.ws"
xmlns:wsp="..." xmlns:sp="...">
<wsp:Policy>
<wsp:ExactlyOne>
<sp:Basic256Rsa15 />
<sp:TripleDesRsa15 />
</wsp:ExactlyOne>
</wsp:Policy>
</sca:policySet>
<sca:policySet name="Encrypted"
provides="acme:protection"
appliesTo="sca:binding.ws"
xmlns:wsp="..." xmlns:sp="...">
<wsp:Policy>
<wsp:ExactlyOne>
<sp:Basic256Rsa15 />
<sp:TripleDesRsa15 />
</wsp:ExactlyOne>
</wsp:Policy>
</sca:policySet>
© IBM Corp, 2010.
<sca-config ...>
<binding.ws name="OrderServiceBinding"
uri="http://localhost:8086/OrderService" />
...
</sca-config>
<sca-config ...>
<binding.ws name="OrderServiceBinding"
uri="http://localhost:8086/OrderService" />
...
</sca-config>
Configuration Bundle
Framework
Service
Provider
Bundle
Service
Provider
Bundle
service.exported.configs = org.osgi.sca
org.osgi.sca.bindings = OrderServiceBinding
service.exported.configs = org.osgi.sca
org.osgi.sca.bindings = OrderServiceBinding
Configuration BundleConfiguration Bundle
Distribution
Provider
Distribution
Provider
Extends
Bindings, Policy, Intents
endpoint
SCA-Configuration: ...
© IBM Corp, 2010.
Demo (Application Bundles)
OSGi Framework
FGDBank.webFGDBank.web FGDBank.bizFGDBank.biz
FGCBank.apiFGCBank.api
FGDBank.
chequingAccount
FGDBank.
chequingAccount
FGDBank.
lineOfCreditAccount
FGDBank.
lineOfCreditAccount
OSGi Framework
FGDBank.creditCheckFGDBank.creditCheck
© IBM Corp, 2010.
Demo (adding Config Bundles)
OSGi Framework
FGDBank.webFGDBank.web FGDBank.bizFGDBank.biz
FGCBank.apiFGCBank.api
FGDBank.
chequingAccount
FGDBank.
chequingAccount
FGDBank.
lineOfCreditAccount
FGDBank.
lineOfCreditAccount
OSGi Framework
FGDBank.creditCheckFGDBank.creditCheck
FGDBank.chequing
AccountBindings
FGDBank.chequing
AccountBindings
FGDBank.IineOfCredit
AccountBindings
FGDBank.IineOfCredit
AccountBindings
FGDBank.creditCheck
Bindings
FGDBank.creditCheck
Bindings
© IBM Corp, 2010.
Demo runtime – EquiTuscAries
• Head of Apache Aries + Head of
Apache Tuscany on Eclipse Equinox
• Fingers cross this will work...
© IBM Corp, 2010.
SCA Configuration Type Summary
• Standardizes fully-portable distribution
provider configuration
• Based on SCA Bindings and SCA Policy
• Configuration for interoperability through
interoperable binding
© IBM Corp, 2010.
So where's the Flexibility?
• Configuration Bundle lifecycle determines
– Endpoint availability
– Protocol/technology choice
– Quality of Service configuration
• Service properties determine
– Quality of Service choice
– Binding choice
• All configurable without changing the service
client or provider code
© IBM Corp, 2010.
But there's more to SCA than
bindings and policy...
© IBM Corp, 2010.
What is SCA?
• Heterogeneous component assembly
• Synchronous, asynchronous, event processing
• Pluggable communications protocols
• Think Blueprint Service or Spring Framework
only with bigger components implemented using
different stuff and able to talk to other different
stuff...
© IBM Corp, 2010.
SCA Overview
Composite A
Component
AService
Binding
Web Service
SCA
JCA
JMS
EJB
…
Binding
Web Service
SCA
JCA
JMS
EJB
…
Component
B
Service
- Java interface
- WSDL PortType
Reference
- Java interface
- WSDL PortType
Wire
PromotePromote
Reference
Implementation
- Java
- BPEL
- JEE
- Spring
- Composite
…
© IBM Corp, 2010.
Where does OSGi fit?
• Apache Aries and WebSphere Application Server define an
OSGi Application Concept
• OSGi Applications fit well as an SCA Component
implementation
• Re-use OSGi Remote Services metadata or have SCA provide
configuration externally for even greater flexibility
– SCA looks like a Distribution Provider to OSGi
BundleBundle
BundleBundle
BundleBundle
Component
Application
Customer
Component
(Widget) Warehouse
Component
(JEE)
© IBM Corp, 2010.
Demo (OSGi Application View)
FGDBankApp
FGDBank.webFGDBank.web FGDBank.bizFGDBank.biz
FGCBank.apiFGCBank.api
FGDBank.
chequingAccountApp
FGDBank.
chequingAccount
FGDBank.
chequingAccount
FGDBank.
lineOfCreditAccountApp
FGDBank.
lineOfCreditAccount
FGDBank.
lineOfCreditAccount
“shared” bundle
FGDBank.
creditCheckApp
FGDBank.creditCheckFGDBank.creditCheck
© IBM Corp, 2010.
Demo (SCA Assembly View)
FGDBankAppSCA
FGDBankApp
FGDBank.chequingAccoutAppSCA
FGDBank.
chequingAccountApp
FGDBank.creditCheckAppSCA
FGDBank.creditCheckApp
FGDBank.lineOfCreditAccountAppSCA
FGDBank.
lineOfCreditAccountApp
© IBM Corp, 2010.
Summary
• OSGi Remote Services provides basic metadata for Distributing
OSGi services
• SCA Configuration Type provides detailed portable distribution
configuration
• SCA leverages OSGi Remote Service metadata to integrate
OSGi applications
– SCA acts as an OSGi Distribution Provider
• Distribution is non-invasive to client and service provider code
and therefore enables flexible assembly and re-use
© IBM Corp, 2010.
Useful Links
• Enterprise OSGi R4 V4.2 Specification
– http://www.osgi.org/Download/Release4V42
• Apache Aries
– http://incubator.apache.org/aries/
• Apache Tuscany
– http://tuscany.apache.org/
• WebSphere Application Server OSGi Applications
– http://www-01.ibm.com/software/webservers/appserv/was/featurepacks/osgi/

Mais conteúdo relacionado

Mais procurados

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
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service BusMahmoud Ezzat
 
Andre Tost Service Models Java
Andre  Tost    Service Models JavaAndre  Tost    Service Models Java
Andre Tost Service Models JavaSOA Symposium
 
WSO2 ESB and SOA
WSO2 ESB and SOAWSO2 ESB and SOA
WSO2 ESB and SOAWSO2
 
SOA & ESB Presentation
SOA & ESB PresentationSOA & ESB Presentation
SOA & ESB Presentationerichleipold
 
ESB and SOA
ESB and SOAESB and SOA
ESB and SOAWSO2
 
Do We Need Esb Any More
Do We Need Esb Any MoreDo We Need Esb Any More
Do We Need Esb Any Morekaraznie
 
Overview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSBOverview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSBNahser Bakht
 
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
 
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2
 
Reusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gReusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gGuido Schmutz
 
Amdatu - ApacheCon NA 2011
Amdatu - ApacheCon NA 2011Amdatu - ApacheCon NA 2011
Amdatu - ApacheCon NA 2011Bram de Kruijff
 
Wso2esb sap-jkh-v2.0
Wso2esb sap-jkh-v2.0Wso2esb sap-jkh-v2.0
Wso2esb sap-jkh-v2.0WSO2
 
ESB Evaluation Framework
ESB Evaluation Framework ESB Evaluation Framework
ESB Evaluation Framework WSO2
 

Mais procurados (18)

ESB Overview
ESB OverviewESB Overview
ESB Overview
 
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
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service Bus
 
Overview of ESB at Azilen Tech Meetup
Overview of ESB at Azilen Tech MeetupOverview of ESB at Azilen Tech Meetup
Overview of ESB at Azilen Tech Meetup
 
Andre Tost Service Models Java
Andre  Tost    Service Models JavaAndre  Tost    Service Models Java
Andre Tost Service Models Java
 
WSO2 ESB and SOA
WSO2 ESB and SOAWSO2 ESB and SOA
WSO2 ESB and SOA
 
SOA & ESB Presentation
SOA & ESB PresentationSOA & ESB Presentation
SOA & ESB Presentation
 
ESB and SOA
ESB and SOAESB and SOA
ESB and SOA
 
Do We Need Esb Any More
Do We Need Esb Any MoreDo We Need Esb Any More
Do We Need Esb Any More
 
Overview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSBOverview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSB
 
Enterprise service bus part 1
Enterprise service bus part 1Enterprise service bus part 1
Enterprise service bus part 1
 
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
 
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
 
Reusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gReusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11g
 
Soa
SoaSoa
Soa
 
Amdatu - ApacheCon NA 2011
Amdatu - ApacheCon NA 2011Amdatu - ApacheCon NA 2011
Amdatu - ApacheCon NA 2011
 
Wso2esb sap-jkh-v2.0
Wso2esb sap-jkh-v2.0Wso2esb sap-jkh-v2.0
Wso2esb sap-jkh-v2.0
 
ESB Evaluation Framework
ESB Evaluation Framework ESB Evaluation Framework
ESB Evaluation Framework
 

Destaque (7)

Intro to Principles of Universal Design for Learning
Intro to Principles of Universal Design for LearningIntro to Principles of Universal Design for Learning
Intro to Principles of Universal Design for Learning
 
Flexibility in Design: Opportunities Beyond Pavement
Flexibility in Design: Opportunities Beyond PavementFlexibility in Design: Opportunities Beyond Pavement
Flexibility in Design: Opportunities Beyond Pavement
 
P4 Architecture by Jasper Moelker
P4 Architecture by Jasper MoelkerP4 Architecture by Jasper Moelker
P4 Architecture by Jasper Moelker
 
universal design principle
universal design principleuniversal design principle
universal design principle
 
PED 2016 - Design 101 - Week 2 - Handouts
PED 2016 - Design 101 - Week 2 - HandoutsPED 2016 - Design 101 - Week 2 - Handouts
PED 2016 - Design 101 - Week 2 - Handouts
 
Piping design and flexibility analysis
Piping design and flexibility analysisPiping design and flexibility analysis
Piping design and flexibility analysis
 
Staad pro
Staad proStaad pro
Staad pro
 

Semelhante a OSGi Community Event 2010 - SOA Flexibility with OSGi remote services and the service component architecture

Presentation cloud orchestration solution overview
Presentation   cloud orchestration solution overviewPresentation   cloud orchestration solution overview
Presentation cloud orchestration solution overviewxKinAnx
 
Anish Karmakar S C A
Anish  Karmakar    S C AAnish  Karmakar    S C A
Anish Karmakar S C ASOA Symposium
 
IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...
IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...
IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...DevOps for Enterprise Systems
 
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...Brian Petrini
 
InterConnect 2015 session 2825 cics_and_the_new soa
InterConnect 2015 session 2825  cics_and_the_new soaInterConnect 2015 session 2825  cics_and_the_new soa
InterConnect 2015 session 2825 cics_and_the_new soanick_garrod
 
Discover the Power of ThousandEyes on Your Meraki MX
Discover the Power of ThousandEyes on Your Meraki MXDiscover the Power of ThousandEyes on Your Meraki MX
Discover the Power of ThousandEyes on Your Meraki MXThousandEyes
 
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...Brian Wilson
 
Reconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented ArchitecturesReconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented Architectureslseinturier
 
CICS Transaction Gateway V9.1 Overview
CICS Transaction Gateway V9.1 OverviewCICS Transaction Gateway V9.1 Overview
CICS Transaction Gateway V9.1 OverviewRobert Jones
 
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
 
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
 
azure track -06- cloud integration patterns for it-pros - itproceed
azure track -06- cloud integration patterns for it-pros - itproceedazure track -06- cloud integration patterns for it-pros - itproceed
azure track -06- cloud integration patterns for it-pros - itproceedITProceed
 
Cloud integration patterns for it pros - itprceed
Cloud integration patterns for it pros - itprceedCloud integration patterns for it pros - itprceed
Cloud integration patterns for it pros - itprceedSam Vanhoutte
 
Brkaci 1090
Brkaci 1090Brkaci 1090
Brkaci 1090almaz tt
 
ESB and Mule ESB solution
ESB and Mule ESB solutionESB and Mule ESB solution
ESB and Mule ESB solutionSwati Bansal
 
Complete Architecture and Development Guide To Windows Communication Foundati...
Complete Architecture and Development Guide To Windows Communication Foundati...Complete Architecture and Development Guide To Windows Communication Foundati...
Complete Architecture and Development Guide To Windows Communication Foundati...Abdul Khan
 
Framework for the New IP - Phil O'Reilly
Framework for the New IP - Phil O'ReillyFramework for the New IP - Phil O'Reilly
Framework for the New IP - Phil O'Reillyscoopnewsgroup
 
3298 microservices and how they relate to esb api and messaging - inter con...
3298   microservices and how they relate to esb api and messaging - inter con...3298   microservices and how they relate to esb api and messaging - inter con...
3298 microservices and how they relate to esb api and messaging - inter con...Kim Clark
 
Hoe is 80% van uw datacenter beheer te automatiseren?
Hoe is 80% van uw datacenter beheer te automatiseren?Hoe is 80% van uw datacenter beheer te automatiseren?
Hoe is 80% van uw datacenter beheer te automatiseren?Proact Netherlands B.V.
 

Semelhante a OSGi Community Event 2010 - SOA Flexibility with OSGi remote services and the service component architecture (20)

Presentation cloud orchestration solution overview
Presentation   cloud orchestration solution overviewPresentation   cloud orchestration solution overview
Presentation cloud orchestration solution overview
 
Anish Karmakar S C A
Anish  Karmakar    S C AAnish  Karmakar    S C A
Anish Karmakar S C A
 
IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...
IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...
IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...
 
SCA
SCASCA
SCA
 
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
 
InterConnect 2015 session 2825 cics_and_the_new soa
InterConnect 2015 session 2825  cics_and_the_new soaInterConnect 2015 session 2825  cics_and_the_new soa
InterConnect 2015 session 2825 cics_and_the_new soa
 
Discover the Power of ThousandEyes on Your Meraki MX
Discover the Power of ThousandEyes on Your Meraki MXDiscover the Power of ThousandEyes on Your Meraki MX
Discover the Power of ThousandEyes on Your Meraki MX
 
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
 
Reconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented ArchitecturesReconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented Architectures
 
CICS Transaction Gateway V9.1 Overview
CICS Transaction Gateway V9.1 OverviewCICS Transaction Gateway V9.1 Overview
CICS Transaction Gateway V9.1 Overview
 
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)
 
Build on AWS: Migrating and Platforming
Build on AWS: Migrating and PlatformingBuild on AWS: Migrating and Platforming
Build on AWS: Migrating and Platforming
 
azure track -06- cloud integration patterns for it-pros - itproceed
azure track -06- cloud integration patterns for it-pros - itproceedazure track -06- cloud integration patterns for it-pros - itproceed
azure track -06- cloud integration patterns for it-pros - itproceed
 
Cloud integration patterns for it pros - itprceed
Cloud integration patterns for it pros - itprceedCloud integration patterns for it pros - itprceed
Cloud integration patterns for it pros - itprceed
 
Brkaci 1090
Brkaci 1090Brkaci 1090
Brkaci 1090
 
ESB and Mule ESB solution
ESB and Mule ESB solutionESB and Mule ESB solution
ESB and Mule ESB solution
 
Complete Architecture and Development Guide To Windows Communication Foundati...
Complete Architecture and Development Guide To Windows Communication Foundati...Complete Architecture and Development Guide To Windows Communication Foundati...
Complete Architecture and Development Guide To Windows Communication Foundati...
 
Framework for the New IP - Phil O'Reilly
Framework for the New IP - Phil O'ReillyFramework for the New IP - Phil O'Reilly
Framework for the New IP - Phil O'Reilly
 
3298 microservices and how they relate to esb api and messaging - inter con...
3298   microservices and how they relate to esb api and messaging - inter con...3298   microservices and how they relate to esb api and messaging - inter con...
3298 microservices and how they relate to esb api and messaging - inter con...
 
Hoe is 80% van uw datacenter beheer te automatiseren?
Hoe is 80% van uw datacenter beheer te automatiseren?Hoe is 80% van uw datacenter beheer te automatiseren?
Hoe is 80% van uw datacenter beheer te automatiseren?
 

Mais de mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 

Mais de mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

OSGi Community Event 2010 - SOA Flexibility with OSGi remote services and the service component architecture

  • 1. © IBM Corp, 2010. Graham Charters | IBM SOA Flexibility with OSGi Remote Services and the Service Component Architecture
  • 2. © IBM Corp, 2010. SOA Flexibility with OSGi Remote Services and the Service Component Architecture ...including a demo...or two
  • 3. © IBM Corp, 2010. SOA Design Principles • Service-based for simple interaction patterns • Loose Coupling so components need not know implementation details and can be bound late • Separation of Concerns so developers can focus on immediate task • Composition and re-composition of assets • Heterogeneity to re-use what we already have
  • 4. © IBM Corp, 2010. Flexibility • What might we want to be flexible? • Choice of Service Provider? • Choice of Binding? • Qualities of Service? • All of the above
  • 5. © IBM Corp, 2010. Framework Framework Remote Services Service Provider Bundle Service Provider Bundle Service Consumer Bundle Service Consumer Bundle Pass-by-value Latency Unreliable Pass-by-value Latency Unreliable NetworkNetwork
  • 6. © IBM Corp, 2010. Framework Framework Distribution Provider Service Provider Bundle Service Provider Bundle Service Consumer Bundle Service Consumer Bundle Distribution Provider Distribution Provider Distribution Provider Distribution Provider Remote Services Provider Configuration Remote Services Provider Configuration endpoint Remote Services Client Configuration Remote Services Client Configuration NetworkNetwork to endpoint Pass-by-value Latency Unreliable Pass-by-value Latency Unreliable
  • 7. © IBM Corp, 2010. Services Properties Framework Framework Service Provider Bundle Service Provider Bundle Service Consumer Bundle Service Consumer Bundle service.exported.interfaces service.intents service.exported.intents service.exported.intents.extra service.exported.configs <other service properties> service.exported.interfaces service.intents service.exported.intents service.exported.intents.extra service.exported.configs <other service properties> objectClass service.intents service.imported.configs service.imported <other service properties> objectClass service.intents service.imported.configs service.imported <other service properties> endpoint NetworkNetwork to endpoint
  • 8. © IBM Corp, 2010. Intents • Describe an abstract requirement or capability – Separation of concerns – requirement/capability independent of implementation – Implementation is a deployment choice • Three properties service.intents – provided by the service (local and remote) service.exported.intents – statically configured for remote service.exported.intents.extra – admin configured for remote • Inspired by SCA intents, examples include – confidentiality, integrity, atLeastOnce, atMostOnce, SOAP.v1_1, etc.
  • 9. © IBM Corp, 2010. Configuration Types • Identifies a type of Distribution Provider specific configuration • Use reverse domain name scheme to avoid conflict • Property naming convention used for extra config service.exported.configs = com.acme.config com.acme.config.host = … com.acme.config.port = ...
  • 10. © IBM Corp, 2010. OSGi Remote Service Summary • Standardizes basic metadata for distribution – Remote interfaces – Default invocation semantics – Place to hang QoS requirements (intents) – Place to hang distribution provider configuration • However... – Distribution configuration details left to distribution provider • Encryption, signing, protocols, ... – Full configuration not portable – No standard way to configure for interoperability
  • 11. © IBM Corp, 2010. …enter the SCA Configuration Type • Standardizes detailed distribution provider configuration – Leveraging SCA Bindings, Policy specifications • Fully Portable • Interoperable through interoperable bindings and policy (e.g. WS-*)
  • 12. © IBM Corp, 2010. Service Configuration • Remote Service properties unchanged service.exported.interfaces = ... service.exported.intents = … etc... • Defines a configuration type following Remote Services spec service.exported.configs = org.osgi.sca org.osgi.sca.bindings = <bindings to use>
  • 13. © IBM Corp, 2010. SCA Bindings • Configuration for protocols and technologies • Standard bindings (OASIS) – Web services, JMS, JCA • Extensible (e.g. Apache Tuscany) – JSON, JSON-RPC, Atom, RMI, EJB, ... <binding.ws name="OrderServiceBinding" uri="http://localhost:8086/OrderService" /> <binding.ws name="OrderServiceBinding" uri="http://localhost:8086/OrderService" />
  • 14. © IBM Corp, 2010. SCA Policy • Intents: an abstract requirement or capability (sound familiar?) • PolicySet: an implementation of an intent (using a policy language e.g. WS-Policy) • Ideally the distribution provider is pre-configured so you never need to specify the details PolicySetPolicySet IntentIntent <sca:policySet name="Encrypted" provides="acme:protection" appliesTo="sca:binding.ws" xmlns:wsp="..." xmlns:sp="..."> <wsp:Policy> <wsp:ExactlyOne> <sp:Basic256Rsa15 /> <sp:TripleDesRsa15 /> </wsp:ExactlyOne> </wsp:Policy> </sca:policySet> <sca:policySet name="Encrypted" provides="acme:protection" appliesTo="sca:binding.ws" xmlns:wsp="..." xmlns:sp="..."> <wsp:Policy> <wsp:ExactlyOne> <sp:Basic256Rsa15 /> <sp:TripleDesRsa15 /> </wsp:ExactlyOne> </wsp:Policy> </sca:policySet>
  • 15. © IBM Corp, 2010. <sca-config ...> <binding.ws name="OrderServiceBinding" uri="http://localhost:8086/OrderService" /> ... </sca-config> <sca-config ...> <binding.ws name="OrderServiceBinding" uri="http://localhost:8086/OrderService" /> ... </sca-config> Configuration Bundle Framework Service Provider Bundle Service Provider Bundle service.exported.configs = org.osgi.sca org.osgi.sca.bindings = OrderServiceBinding service.exported.configs = org.osgi.sca org.osgi.sca.bindings = OrderServiceBinding Configuration BundleConfiguration Bundle Distribution Provider Distribution Provider Extends Bindings, Policy, Intents endpoint SCA-Configuration: ...
  • 16. © IBM Corp, 2010. Demo (Application Bundles) OSGi Framework FGDBank.webFGDBank.web FGDBank.bizFGDBank.biz FGCBank.apiFGCBank.api FGDBank. chequingAccount FGDBank. chequingAccount FGDBank. lineOfCreditAccount FGDBank. lineOfCreditAccount OSGi Framework FGDBank.creditCheckFGDBank.creditCheck
  • 17. © IBM Corp, 2010. Demo (adding Config Bundles) OSGi Framework FGDBank.webFGDBank.web FGDBank.bizFGDBank.biz FGCBank.apiFGCBank.api FGDBank. chequingAccount FGDBank. chequingAccount FGDBank. lineOfCreditAccount FGDBank. lineOfCreditAccount OSGi Framework FGDBank.creditCheckFGDBank.creditCheck FGDBank.chequing AccountBindings FGDBank.chequing AccountBindings FGDBank.IineOfCredit AccountBindings FGDBank.IineOfCredit AccountBindings FGDBank.creditCheck Bindings FGDBank.creditCheck Bindings
  • 18. © IBM Corp, 2010. Demo runtime – EquiTuscAries • Head of Apache Aries + Head of Apache Tuscany on Eclipse Equinox • Fingers cross this will work...
  • 19. © IBM Corp, 2010. SCA Configuration Type Summary • Standardizes fully-portable distribution provider configuration • Based on SCA Bindings and SCA Policy • Configuration for interoperability through interoperable binding
  • 20. © IBM Corp, 2010. So where's the Flexibility? • Configuration Bundle lifecycle determines – Endpoint availability – Protocol/technology choice – Quality of Service configuration • Service properties determine – Quality of Service choice – Binding choice • All configurable without changing the service client or provider code
  • 21. © IBM Corp, 2010. But there's more to SCA than bindings and policy...
  • 22. © IBM Corp, 2010. What is SCA? • Heterogeneous component assembly • Synchronous, asynchronous, event processing • Pluggable communications protocols • Think Blueprint Service or Spring Framework only with bigger components implemented using different stuff and able to talk to other different stuff...
  • 23. © IBM Corp, 2010. SCA Overview Composite A Component AService Binding Web Service SCA JCA JMS EJB … Binding Web Service SCA JCA JMS EJB … Component B Service - Java interface - WSDL PortType Reference - Java interface - WSDL PortType Wire PromotePromote Reference Implementation - Java - BPEL - JEE - Spring - Composite …
  • 24. © IBM Corp, 2010. Where does OSGi fit? • Apache Aries and WebSphere Application Server define an OSGi Application Concept • OSGi Applications fit well as an SCA Component implementation • Re-use OSGi Remote Services metadata or have SCA provide configuration externally for even greater flexibility – SCA looks like a Distribution Provider to OSGi BundleBundle BundleBundle BundleBundle Component Application Customer Component (Widget) Warehouse Component (JEE)
  • 25. © IBM Corp, 2010. Demo (OSGi Application View) FGDBankApp FGDBank.webFGDBank.web FGDBank.bizFGDBank.biz FGCBank.apiFGCBank.api FGDBank. chequingAccountApp FGDBank. chequingAccount FGDBank. chequingAccount FGDBank. lineOfCreditAccountApp FGDBank. lineOfCreditAccount FGDBank. lineOfCreditAccount “shared” bundle FGDBank. creditCheckApp FGDBank.creditCheckFGDBank.creditCheck
  • 26. © IBM Corp, 2010. Demo (SCA Assembly View) FGDBankAppSCA FGDBankApp FGDBank.chequingAccoutAppSCA FGDBank. chequingAccountApp FGDBank.creditCheckAppSCA FGDBank.creditCheckApp FGDBank.lineOfCreditAccountAppSCA FGDBank. lineOfCreditAccountApp
  • 27. © IBM Corp, 2010. Summary • OSGi Remote Services provides basic metadata for Distributing OSGi services • SCA Configuration Type provides detailed portable distribution configuration • SCA leverages OSGi Remote Service metadata to integrate OSGi applications – SCA acts as an OSGi Distribution Provider • Distribution is non-invasive to client and service provider code and therefore enables flexible assembly and re-use
  • 28. © IBM Corp, 2010. Useful Links • Enterprise OSGi R4 V4.2 Specification – http://www.osgi.org/Download/Release4V42 • Apache Aries – http://incubator.apache.org/aries/ • Apache Tuscany – http://tuscany.apache.org/ • WebSphere Application Server OSGi Applications – http://www-01.ibm.com/software/webservers/appserv/was/featurepacks/osgi/