SlideShare a Scribd company logo
1 of 31
OSGi Remote Services with SCA using Apache Tuscany Raymond Feng [email_address]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What are OSGi remote services?
OSGi local services ,[object Object],[object Object]
OSGi Remote Services ,[object Object],[object Object],[object Object],[object Object]
OSGi Remote Services NOTE: The diagram is copied from OSGi Service Platform Service Compendium R4.2 spec
Related OSGi specs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SCA Configuration Type ,[object Object],[object Object]
Remote Service Admin ,[object Object],[object Object],[object Object],[object Object],[object Object]
OSGi remote services - A sample scenario
An OSGi based Calculator Add Service Operations Bundle Subtract Service Multiply Service Divide Service Calculator bundle Calculator Service OSGi service OSGi service reference Calculator Service OSGi service interface OSGi service implementation
Making the Calculator Distributed ,[object Object],[object Object],[object Object]
OSGi Remote Services enabled Calculator Add Service Operations Bundle Subtract Service Multiply Service Divide Service Calculator bundle Calculator Service RMI Web Service RMI RMI RMI OSGi runtime #1 OSGi runtime #2
Modeling OSGi entities using SCA
SCA environment Add Service The Calculator Scenario: OSGi Remote Services with SCA runtime as the distribution software OSGi bundle OSGi bundle SCA Component implementation.osgi SCA Component implementation.osgi Subtract Service Multiply Service Divide Service Calculator Service binding.rmi or binding.ws
Operations Calculator binding.rmi binding.ws OSGI-INF/sca/bundle.composite Add Service Operations Bundle Subtract Service Multiply Service Divide Service Calculator bundle Calculator Service SCA bundle Defining the SCA composite for OSGi bundles
SCA view of OSGi services and references RMI RMI RMI RMI Calculator Service Web Service SCA proxies Local Service Local OSGi Service Implementation OSGi Service Registry Add Service Subtract Service Multiply Service Divide Service SCA Service SCA References
SCA implementation.osgi  ,[object Object],[object Object],[object Object],[object Object],[object Object]
Predefined mapping from OSGi to SCA http://svn.apache.org/repos/asf/tuscany/java/sca/samples/dosgi-calculator/ http://svn.apache.org/repos/asf/tuscany/java/sca/samples/dosgi-calculator-operations/
Mapping an OSGi bundle to an SCA componentType ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SCA composite for the OSGi bundle ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
On-demand mapping from OSGi to SCA http://svn.apache.org/repos/asf/tuscany/java/sca/samples/dosgi-dynamic-calculator/ http://svn.apache.org/repos/asf/tuscany/java/sca/samples/dosgi-dynamic-calculator-operations/
Remote Service Admin NOTE: The diagram is copied from OSGi Remote Service Admin spec (to be published)
Remote Services with SCA NOTE: The diagram is copied from OSGi Remote Service SCA Configuration Type spec (to be published)
Publish remote services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Look up remote services (ServiceTracker) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MANIFEST.MF ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SCA Configuration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Local endpoint descriptions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SCA Domain based service discovery
Local/Domain Registry for OSGi discovery Calculator Service SCA proxies Local Service Local OSGi Service Implementation OSGi Service Registry Subtract Service Multiply Service Divide Service OSGi Service Registry Add Service Subtract Service Multiply Service Divide Service RMI RMI Add Service Node Node ListenerHook Filter Matching ServiceTracker SCA Domain Endpoint descriptions in Local XML file ,[object Object],[object Object],[object Object],OSGi runtime #1 OSGi runtime #2

More Related Content

Similar to OSGi Remote Services With SCA using Apache Tuscany

ServiceMix 4 -- Integrating OSGi with JBI
ServiceMix 4 -- Integrating OSGi with JBIServiceMix 4 -- Integrating OSGi with JBI
ServiceMix 4 -- Integrating OSGi with JBI
Gert Vanthienen
 
ApacheCon NA 2010 - Building Apps with Apache Tuscany
ApacheCon NA 2010 - Building Apps with Apache TuscanyApacheCon NA 2010 - Building Apps with Apache Tuscany
ApacheCon NA 2010 - Building Apps with Apache Tuscany
Jean-Sebastien Delfino
 
Integrate Sas With Google Maps
Integrate Sas With Google MapsIntegrate Sas With Google Maps
Integrate Sas With Google Maps
vineetkaul
 
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
IndicThreads
 
Cloud Connectivity Service
Cloud Connectivity ServiceCloud Connectivity Service
Cloud Connectivity Service
jhpark
 
SkyeCORE - Rev Up Your OSGi Services!
SkyeCORE - Rev Up Your OSGi Services!SkyeCORE - Rev Up Your OSGi Services!
SkyeCORE - Rev Up Your OSGi Services!
Wayne Williams
 
Java Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJava Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily Jiang
JAX London
 
Server-side OSGi with Apache Sling
Server-side OSGi with Apache SlingServer-side OSGi with Apache Sling
Server-side OSGi with Apache Sling
Felix Meschberger
 

Similar to OSGi Remote Services With SCA using Apache Tuscany (20)

The Web on OSGi: Here's How
The Web on OSGi: Here's HowThe Web on OSGi: Here's How
The Web on OSGi: Here's How
 
Cocoon OSGi CocoonGT2007
Cocoon OSGi CocoonGT2007Cocoon OSGi CocoonGT2007
Cocoon OSGi CocoonGT2007
 
OSGi DevCon 2009 Review
OSGi DevCon 2009 ReviewOSGi DevCon 2009 Review
OSGi DevCon 2009 Review
 
Using state-engine-as-sca-component-final
Using state-engine-as-sca-component-finalUsing state-engine-as-sca-component-final
Using state-engine-as-sca-component-final
 
ServiceMix 4 -- Integrating OSGi with JBI
ServiceMix 4 -- Integrating OSGi with JBIServiceMix 4 -- Integrating OSGi with JBI
ServiceMix 4 -- Integrating OSGi with JBI
 
ApacheCon NA 2010 - Building Apps with Apache Tuscany
ApacheCon NA 2010 - Building Apps with Apache TuscanyApacheCon NA 2010 - Building Apps with Apache Tuscany
ApacheCon NA 2010 - Building Apps with Apache Tuscany
 
Integrate Sas With Google Maps
Integrate Sas With Google MapsIntegrate Sas With Google Maps
Integrate Sas With Google Maps
 
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
 
Cloud Connectivity Service
Cloud Connectivity ServiceCloud Connectivity Service
Cloud Connectivity Service
 
Service Discovery in MicroServices
Service Discovery in MicroServicesService Discovery in MicroServices
Service Discovery in MicroServices
 
SkyeCORE - Rev Up Your OSGi Services!
SkyeCORE - Rev Up Your OSGi Services!SkyeCORE - Rev Up Your OSGi Services!
SkyeCORE - Rev Up Your OSGi Services!
 
Building apps with tuscany
Building apps with tuscanyBuilding apps with tuscany
Building apps with tuscany
 
OGCE Project Overview
OGCE Project OverviewOGCE Project Overview
OGCE Project Overview
 
Moduarlity patterns with OSGi
Moduarlity patterns with OSGiModuarlity patterns with OSGi
Moduarlity patterns with OSGi
 
Going FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at NetflixGoing FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at Netflix
 
Using Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesUsing Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your Services
 
SOA/SCA FraScAti
SOA/SCA FraScAtiSOA/SCA FraScAti
SOA/SCA FraScAti
 
Java Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJava Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily Jiang
 
Server-side OSGi with Apache Sling (OSGiDevCon 2011)
Server-side OSGi with Apache Sling (OSGiDevCon 2011)Server-side OSGi with Apache Sling (OSGiDevCon 2011)
Server-side OSGi with Apache Sling (OSGiDevCon 2011)
 
Server-side OSGi with Apache Sling
Server-side OSGi with Apache SlingServer-side OSGi with Apache Sling
Server-side OSGi with Apache Sling
 

More from Raymond Feng

More from Raymond Feng (8)

Working with LoopBack Models
Working with LoopBack ModelsWorking with LoopBack Models
Working with LoopBack Models
 
Building a Node.js API backend with LoopBack in 5 Minutes
Building a Node.js API backend with LoopBack in 5 MinutesBuilding a Node.js API backend with LoopBack in 5 Minutes
Building a Node.js API backend with LoopBack in 5 Minutes
 
Data Binding Unleashed for Composite Applications
Data Binding Unleashed for Composite ApplicationsData Binding Unleashed for Composite Applications
Data Binding Unleashed for Composite Applications
 
Building Flexible APIs for Web 2.x/Cloud Applications (JavaOne 2011 Session ...
Building Flexible APIs for Web 2.x/Cloud Applications (JavaOne 2011 Session ...Building Flexible APIs for Web 2.x/Cloud Applications (JavaOne 2011 Session ...
Building Flexible APIs for Web 2.x/Cloud Applications (JavaOne 2011 Session ...
 
RESTful SCA with Apache Tuscany
RESTful SCA with Apache TuscanyRESTful SCA with Apache Tuscany
RESTful SCA with Apache Tuscany
 
Data Binding Unleashed for Composite Applications
Data Binding Unleashed for Composite ApplicationsData Binding Unleashed for Composite Applications
Data Binding Unleashed for Composite Applications
 
Apache Tuscany 2.x Extensibility And SPIs
Apache Tuscany 2.x Extensibility And SPIsApache Tuscany 2.x Extensibility And SPIs
Apache Tuscany 2.x Extensibility And SPIs
 
OSGi Enablement For Apache Tuscany
OSGi Enablement For Apache TuscanyOSGi Enablement For Apache Tuscany
OSGi Enablement For Apache Tuscany
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
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
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 

OSGi Remote Services With SCA using Apache Tuscany

  • 1. OSGi Remote Services with SCA using Apache Tuscany Raymond Feng [email_address]
  • 2.
  • 3. What are OSGi remote services?
  • 4.
  • 5.
  • 6. OSGi Remote Services NOTE: The diagram is copied from OSGi Service Platform Service Compendium R4.2 spec
  • 7.
  • 8.
  • 9.
  • 10. OSGi remote services - A sample scenario
  • 11. An OSGi based Calculator Add Service Operations Bundle Subtract Service Multiply Service Divide Service Calculator bundle Calculator Service OSGi service OSGi service reference Calculator Service OSGi service interface OSGi service implementation
  • 12.
  • 13. OSGi Remote Services enabled Calculator Add Service Operations Bundle Subtract Service Multiply Service Divide Service Calculator bundle Calculator Service RMI Web Service RMI RMI RMI OSGi runtime #1 OSGi runtime #2
  • 15. SCA environment Add Service The Calculator Scenario: OSGi Remote Services with SCA runtime as the distribution software OSGi bundle OSGi bundle SCA Component implementation.osgi SCA Component implementation.osgi Subtract Service Multiply Service Divide Service Calculator Service binding.rmi or binding.ws
  • 16. Operations Calculator binding.rmi binding.ws OSGI-INF/sca/bundle.composite Add Service Operations Bundle Subtract Service Multiply Service Divide Service Calculator bundle Calculator Service SCA bundle Defining the SCA composite for OSGi bundles
  • 17. SCA view of OSGi services and references RMI RMI RMI RMI Calculator Service Web Service SCA proxies Local Service Local OSGi Service Implementation OSGi Service Registry Add Service Subtract Service Multiply Service Divide Service SCA Service SCA References
  • 18.
  • 19. Predefined mapping from OSGi to SCA http://svn.apache.org/repos/asf/tuscany/java/sca/samples/dosgi-calculator/ http://svn.apache.org/repos/asf/tuscany/java/sca/samples/dosgi-calculator-operations/
  • 20.
  • 21.
  • 22. On-demand mapping from OSGi to SCA http://svn.apache.org/repos/asf/tuscany/java/sca/samples/dosgi-dynamic-calculator/ http://svn.apache.org/repos/asf/tuscany/java/sca/samples/dosgi-dynamic-calculator-operations/
  • 23. Remote Service Admin NOTE: The diagram is copied from OSGi Remote Service Admin spec (to be published)
  • 24. Remote Services with SCA NOTE: The diagram is copied from OSGi Remote Service SCA Configuration Type spec (to be published)
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. SCA Domain based service discovery
  • 31.