SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Creating a REST API for Cloud services using OSGi and Sling 
Carsten Ziegeler and David Bosschaert 
© 2014 Adobe Systems Incorporated. All Rights Reserved. AAddoobbee CCoonnffddeennttiiaall..
Speakers 
● David Bosschaert (davidb@apache.org) 
– R&D Adobe Research Dublin 
– Co-chair OSGi EEG 
– Open-source and cloud enthusiast 
● Carsten Ziegeler (cziegeler@apache.org) 
– R&D Adobe Research Switzerland 
– OSGi Board, CPEG and EEG member 
– ASF member 
© 2014 Adobe Systems Incorporated. All Rights Reserved. AAddoobbee CCoonnffddeennttiiaall..
© 2014 Adobe Systems Incorporated. All Rights Reserved. AAddoobbee CCoonnffddeennttiiaall.. 
Agenda 
●A REST site 
with Apache Sling 
●Scale it up! 
with OSGi and jclouds
© 2014 Adobe Systems Incorporated. All Rights Reserved. AAddoobbee CCoonnffddeennttiiaall..
Te Next Great Application 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
ROA and REST 
● htp://…/products.jsp?id=5643564 
● htp://…/slingshot/slingshot1/public/travel/pet.(html|json) 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
Resource Oriented Architecture 
● Every piece of information is a resource 
● User home, category, item, image, comment 
● Descriptive URI 
● Stateless web architecture (REST) 
● Request contains all relevant information 
● Targets the resource 
● Leverage HTTP 
● GET for rendering, POST/PUT/DELETE for operations 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
SlingShot Content Structure 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. 
/ 
slingshot1 slingshot2 
public 
travel 
home pet 
images comments ratings 
pet.jpg
Resource-frst Request Processing 
● Request: /slingshot1/public/travel/pet/comments.10.json 
● Resource: /slingshot1/public/travel/pet/comments 
● Extension: json 
● Selector: 10 
● Method: GET 
● Resource Type : slingshot/comments 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
Resource-frst Request processing 
1. Resolve the resource 
2. Resolve processing script 
3. Build execution chain 
4. Execute 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
Scripting Inside 
● It’s your choice 
● JSP, servlet, ESP, Scala, Sightly 
● javax.script 
● own script handlers 
● Default servlets 
● JSON, XML 
● POST/update/create/delete handling 
● Error handling 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. 
<sling:defineObjects/> 
<div class="comment"> 
<% 
final ValueMap attr = resource.getValueMap(); 
final String title = attr.get(PROPERTY_TITLE, 
resource.getName()); 
final String description = attr.get(PROPERTY_DESCRIPTION, ""); 
final String userId = attr.get(PROPERTY_USER, ""); 
%> 
<h4><%= ResponseUtil.escapeXml(userId) %> : 
<%= ResponseUtil.escapeXml(title) %></h4> 
<p><%= ResponseUtil.escapeXml(description) %></p> 
<p><%= ResponseUtil.escapeXml( 
attr.get(SlingshotConstants.PROPERTY_CREATED, "")) %></p> 
</div>
Resource Providers 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. 
/ 
slingshot1 
public 
travel 
home pet 
images comments ratings 
pet.jpg 
MongoDB 
FS 
JCR 
Apache Jackrabbit
Scale UP! 
● Efectively use the cloud 
● Scale up/down based on need 
● start small = cheap 
● No downtime 
● when moving to larger machines 
● No cloud-provider specifcs 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
Sling 
OOSSGGii NNooddee 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. 
28/10/14 
Sling in the cloud 
Load Balancer(s) 
OOSSGGii NNooddee 
Sling 
Director 
traffic
OOSSGGii NNooddee 
Sling 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. 
Sling 
28/10/14 
Director 
OOSSGGii NNooddee 
Sling 
Director 
provision 
inspect 
discover 
OOSSGGii NNooddee 
Sling 
OOSSGGii NNooddee 
jclouds 
create 
destroy 
mmeettrriiccss 
OSGi Cloud Ecosystems (RFC 183) 
FrameworkNodeStatus Service
Sling 
OOSSGGii NNooddee 
Sling 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. 
28/10/14 
Busy times 
Load Balancer(s) 
OOSSGGii NNooddee 
Sling 
Director 
traffic 
OOSSGGii NNooddee 
OOSSGGii NNooddee 
Sling
Sling 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. 
28/10/14 
Quiet times 
Load Balancer(s) 
OOSSGGii NNooddee 
Director 
traffic
Sling Sling 
Sling Sling 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. 
28/10/14 
Really Quiet times 
Load Balancer(s) 
OOSSGGii NNooddee 
Director 
Docker 
instances
Summary 
● Use Sling to build your REST service 
● Write your app using anything that can interact with REST 
● Native app 
● Javascript 
● … 
● Use OSGi Cloud Ecosystems, Apache jclouds and Docker to scale 
● Be cloud-vendor independent! 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
Interested in OSGi and Cloud? 
● Come to the OSGi Cloud Workshop 
Wednesday October 29 at 15:15 (Seminarräume 1-3) 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
Innovation at Adobe 
© 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. 
22 
Links 
● Apache Sling – htp://sling.apache.org 
● Apache jclouds – htp://jclouds.apache.org 
● SlingShot Sample application – htp://svn.apache.org/repos/asf/sling/trunk/samples/slingshot 
● OSGi Cloud Ecosystems RFC 183 – htps://github.com/osgi/design/tree/master/rfcs/rfc0183
© 2014 Adobe Systems Incorporated. All Rights Reserved. AAddoobbee CCoonnffddeennttiiaall..

Contenu connexe

Tendances

GradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggugGradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggugkyon mm
 
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021whywaita
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.jsRob O'Doherty
 
Heroku 101 py con 2015 - David Gouldin
Heroku 101   py con 2015 - David GouldinHeroku 101   py con 2015 - David Gouldin
Heroku 101 py con 2015 - David GouldinHeroku
 
AWS Summit Santa Slara 2019 Mar ECS
AWS Summit Santa Slara 2019 Mar ECSAWS Summit Santa Slara 2019 Mar ECS
AWS Summit Santa Slara 2019 Mar ECSTung Nguyen
 
Infrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackInfrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackke4qqq
 
All aboard the NodeJS Express
All aboard the NodeJS ExpressAll aboard the NodeJS Express
All aboard the NodeJS ExpressDavid Boyer
 
KrakenJS
KrakenJSKrakenJS
KrakenJSPayPal
 
Why we chose Argo Workflow to scale DevOps at InVision
Why we chose Argo Workflow to scale DevOps at InVisionWhy we chose Argo Workflow to scale DevOps at InVision
Why we chose Argo Workflow to scale DevOps at InVisionNebulaworks
 
DevOps tools for everyone - Vagrant, Puppet and Webmin
DevOps tools for everyone - Vagrant, Puppet and WebminDevOps tools for everyone - Vagrant, Puppet and Webmin
DevOps tools for everyone - Vagrant, Puppet and Webminpostrational
 
GitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by ScalaGitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by Scalatakezoe
 
The story of language development
The story of language developmentThe story of language development
The story of language developmentHiroshi SHIBATA
 
Fire dev ops - lightning talk from WrocLove.rb 2014
Fire dev ops - lightning talk from WrocLove.rb 2014Fire dev ops - lightning talk from WrocLove.rb 2014
Fire dev ops - lightning talk from WrocLove.rb 2014Rafal Piekarski
 
Web APIs in Node.js Core: Past, Present, and Future (JSConf EU 2019)
Web APIs in Node.js Core: Past, Present, and Future (JSConf EU 2019)Web APIs in Node.js Core: Past, Present, and Future (JSConf EU 2019)
Web APIs in Node.js Core: Past, Present, and Future (JSConf EU 2019)Igalia
 

Tendances (18)

GradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggugGradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggug
 
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Heroku 101 py con 2015 - David Gouldin
Heroku 101   py con 2015 - David GouldinHeroku 101   py con 2015 - David Gouldin
Heroku 101 py con 2015 - David Gouldin
 
AWS Summit Santa Slara 2019 Mar ECS
AWS Summit Santa Slara 2019 Mar ECSAWS Summit Santa Slara 2019 Mar ECS
AWS Summit Santa Slara 2019 Mar ECS
 
Infrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackInfrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStack
 
JHipster
JHipsterJHipster
JHipster
 
All aboard the NodeJS Express
All aboard the NodeJS ExpressAll aboard the NodeJS Express
All aboard the NodeJS Express
 
KrakenJS
KrakenJSKrakenJS
KrakenJS
 
Why we chose Argo Workflow to scale DevOps at InVision
Why we chose Argo Workflow to scale DevOps at InVisionWhy we chose Argo Workflow to scale DevOps at InVision
Why we chose Argo Workflow to scale DevOps at InVision
 
Arquitecturas de microservicios - Codemotion 2014
Arquitecturas de microservicios  -  Codemotion 2014Arquitecturas de microservicios  -  Codemotion 2014
Arquitecturas de microservicios - Codemotion 2014
 
DevOps tools for everyone - Vagrant, Puppet and Webmin
DevOps tools for everyone - Vagrant, Puppet and WebminDevOps tools for everyone - Vagrant, Puppet and Webmin
DevOps tools for everyone - Vagrant, Puppet and Webmin
 
GitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by ScalaGitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by Scala
 
The story of language development
The story of language developmentThe story of language development
The story of language development
 
Fire dev ops - lightning talk from WrocLove.rb 2014
Fire dev ops - lightning talk from WrocLove.rb 2014Fire dev ops - lightning talk from WrocLove.rb 2014
Fire dev ops - lightning talk from WrocLove.rb 2014
 
Natively clouded Journey
Natively clouded JourneyNatively clouded Journey
Natively clouded Journey
 
Node.js Basics
Node.js Basics Node.js Basics
Node.js Basics
 
Web APIs in Node.js Core: Past, Present, and Future (JSConf EU 2019)
Web APIs in Node.js Core: Past, Present, and Future (JSConf EU 2019)Web APIs in Node.js Core: Past, Present, and Future (JSConf EU 2019)
Web APIs in Node.js Core: Past, Present, and Future (JSConf EU 2019)
 

En vedette

Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...
Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...
Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...mfrancis
 
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T WardCloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Wardmfrancis
 
Cloud & OSGi - The Dawn of Composite Clouds (Now with demo videos)
Cloud & OSGi - The Dawn of Composite Clouds (Now with demo videos)Cloud & OSGi - The Dawn of Composite Clouds (Now with demo videos)
Cloud & OSGi - The Dawn of Composite Clouds (Now with demo videos)mfrancis
 
Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012
Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012
Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012mfrancis
 
Lessons learned from a large scale OSGii web app - P Bakker & J de Vreede
Lessons learned from a large scale OSGii web app - P Bakker & J de VreedeLessons learned from a large scale OSGii web app - P Bakker & J de Vreede
Lessons learned from a large scale OSGii web app - P Bakker & J de Vreedemfrancis
 
From Distributed to Pervasive OSGi
From Distributed to Pervasive OSGiFrom Distributed to Pervasive OSGi
From Distributed to Pervasive OSGiJan S. Rellermeyer
 
Robust collaboration services with OSGi - Satya Maheshwari
Robust collaboration services with OSGi - Satya MaheshwariRobust collaboration services with OSGi - Satya Maheshwari
Robust collaboration services with OSGi - Satya Maheshwarimfrancis
 
Using OSGi as a Cloud Platform - Jan Rellermeyer
Using OSGi as a Cloud Platform - Jan RellermeyerUsing OSGi as a Cloud Platform - Jan Rellermeyer
Using OSGi as a Cloud Platform - Jan Rellermeyermfrancis
 
Better WebApp Development using OSGi - Raymond Auge
Better WebApp Development using OSGi - Raymond AugeBetter WebApp Development using OSGi - Raymond Auge
Better WebApp Development using OSGi - Raymond Augemfrancis
 
OSGi and Private Clouds
OSGi and Private CloudsOSGi and Private Clouds
OSGi and Private Cloudsmfrancis
 
Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012
Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012
Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012mfrancis
 
OSGi PaaS+ building a modular and secure cloud platform with OSGi - A Grzesik
OSGi PaaS+ building a modular and secure cloud platform with OSGi - A GrzesikOSGi PaaS+ building a modular and secure cloud platform with OSGi - A Grzesik
OSGi PaaS+ building a modular and secure cloud platform with OSGi - A Grzesikmfrancis
 
Complexity, Components & Clouds (Paremus)
Complexity, Components & Clouds (Paremus)Complexity, Components & Clouds (Paremus)
Complexity, Components & Clouds (Paremus)mfrancis
 
The Dawn of Composite Clouds – Why OSGi is the Most Important Ingredient in t...
The Dawn of Composite Clouds – Why OSGi is the Most Important Ingredient in t...The Dawn of Composite Clouds – Why OSGi is the Most Important Ingredient in t...
The Dawn of Composite Clouds – Why OSGi is the Most Important Ingredient in t...mfrancis
 
Modular Java EE in the Cloud
Modular Java EE in the CloudModular Java EE in the Cloud
Modular Java EE in the CloudBert Ertman
 
Modular JavaScript in an OSGi World - S Mak
Modular JavaScript in an OSGi World - S MakModular JavaScript in an OSGi World - S Mak
Modular JavaScript in an OSGi World - S Makmfrancis
 
Building Secure OSGi Applications
Building Secure OSGi ApplicationsBuilding Secure OSGi Applications
Building Secure OSGi ApplicationsMarcel Offermans
 
Deploying Heterogeneous Artifacts to the Cloud with OSGi - Neil Bartlett
Deploying Heterogeneous Artifacts to the Cloud with OSGi - Neil BartlettDeploying Heterogeneous Artifacts to the Cloud with OSGi - Neil Bartlett
Deploying Heterogeneous Artifacts to the Cloud with OSGi - Neil Bartlettmfrancis
 
RESTful OSGi middleware for NoSQL databases with Docker
RESTful OSGi middleware for NoSQL databases with DockerRESTful OSGi middleware for NoSQL databases with Docker
RESTful OSGi middleware for NoSQL databases with DockerBertrand Delacretaz
 

En vedette (20)

Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...
Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...
Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...
 
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T WardCloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
 
OSGi Cloud Ecosystems
OSGi Cloud EcosystemsOSGi Cloud Ecosystems
OSGi Cloud Ecosystems
 
Cloud & OSGi - The Dawn of Composite Clouds (Now with demo videos)
Cloud & OSGi - The Dawn of Composite Clouds (Now with demo videos)Cloud & OSGi - The Dawn of Composite Clouds (Now with demo videos)
Cloud & OSGi - The Dawn of Composite Clouds (Now with demo videos)
 
Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012
Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012
Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012
 
Lessons learned from a large scale OSGii web app - P Bakker & J de Vreede
Lessons learned from a large scale OSGii web app - P Bakker & J de VreedeLessons learned from a large scale OSGii web app - P Bakker & J de Vreede
Lessons learned from a large scale OSGii web app - P Bakker & J de Vreede
 
From Distributed to Pervasive OSGi
From Distributed to Pervasive OSGiFrom Distributed to Pervasive OSGi
From Distributed to Pervasive OSGi
 
Robust collaboration services with OSGi - Satya Maheshwari
Robust collaboration services with OSGi - Satya MaheshwariRobust collaboration services with OSGi - Satya Maheshwari
Robust collaboration services with OSGi - Satya Maheshwari
 
Using OSGi as a Cloud Platform - Jan Rellermeyer
Using OSGi as a Cloud Platform - Jan RellermeyerUsing OSGi as a Cloud Platform - Jan Rellermeyer
Using OSGi as a Cloud Platform - Jan Rellermeyer
 
Better WebApp Development using OSGi - Raymond Auge
Better WebApp Development using OSGi - Raymond AugeBetter WebApp Development using OSGi - Raymond Auge
Better WebApp Development using OSGi - Raymond Auge
 
OSGi and Private Clouds
OSGi and Private CloudsOSGi and Private Clouds
OSGi and Private Clouds
 
Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012
Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012
Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012
 
OSGi PaaS+ building a modular and secure cloud platform with OSGi - A Grzesik
OSGi PaaS+ building a modular and secure cloud platform with OSGi - A GrzesikOSGi PaaS+ building a modular and secure cloud platform with OSGi - A Grzesik
OSGi PaaS+ building a modular and secure cloud platform with OSGi - A Grzesik
 
Complexity, Components & Clouds (Paremus)
Complexity, Components & Clouds (Paremus)Complexity, Components & Clouds (Paremus)
Complexity, Components & Clouds (Paremus)
 
The Dawn of Composite Clouds – Why OSGi is the Most Important Ingredient in t...
The Dawn of Composite Clouds – Why OSGi is the Most Important Ingredient in t...The Dawn of Composite Clouds – Why OSGi is the Most Important Ingredient in t...
The Dawn of Composite Clouds – Why OSGi is the Most Important Ingredient in t...
 
Modular Java EE in the Cloud
Modular Java EE in the CloudModular Java EE in the Cloud
Modular Java EE in the Cloud
 
Modular JavaScript in an OSGi World - S Mak
Modular JavaScript in an OSGi World - S MakModular JavaScript in an OSGi World - S Mak
Modular JavaScript in an OSGi World - S Mak
 
Building Secure OSGi Applications
Building Secure OSGi ApplicationsBuilding Secure OSGi Applications
Building Secure OSGi Applications
 
Deploying Heterogeneous Artifacts to the Cloud with OSGi - Neil Bartlett
Deploying Heterogeneous Artifacts to the Cloud with OSGi - Neil BartlettDeploying Heterogeneous Artifacts to the Cloud with OSGi - Neil Bartlett
Deploying Heterogeneous Artifacts to the Cloud with OSGi - Neil Bartlett
 
RESTful OSGi middleware for NoSQL databases with Docker
RESTful OSGi middleware for NoSQL databases with DockerRESTful OSGi middleware for NoSQL databases with Docker
RESTful OSGi middleware for NoSQL databases with Docker
 

Similaire à Creating an all-purpose REST API for Cloud services using OSGi and Sling - C Ziegeler & D Bosschaert

AEM and Sling
AEM and SlingAEM and Sling
AEM and SlingLo Ki
 
AEM and Sling
AEM and SlingAEM and Sling
AEM and SlingLokesh BS
 
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...mfrancis
 
IMMERSE'16 Introduction to adobe experience manager back end
IMMERSE'16 Introduction to adobe experience manager back endIMMERSE'16 Introduction to adobe experience manager back end
IMMERSE'16 Introduction to adobe experience manager back endAdobeMarketingCloud
 
Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014Paolo Mottadelli
 
An Early Evaluation of Running Spark on Kubernetes
An Early Evaluation of Running Spark on KubernetesAn Early Evaluation of Running Spark on Kubernetes
An Early Evaluation of Running Spark on KubernetesDataWorks Summit
 
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...Wong Hoi Sing Edison
 
RESTful web apps with Apache Sling - 2013 version
RESTful web apps with Apache Sling - 2013 versionRESTful web apps with Apache Sling - 2013 version
RESTful web apps with Apache Sling - 2013 versionBertrand Delacretaz
 
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdf
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdfIntroduction+to+AngularJS+with+logo+from+digital+ocean.pdf
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdfahmadfaisal744721
 
Integrating with Adobe Marketing Cloud - Summit 2014
Integrating with Adobe Marketing Cloud - Summit 2014Integrating with Adobe Marketing Cloud - Summit 2014
Integrating with Adobe Marketing Cloud - Summit 2014Paolo Mottadelli
 
Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Diego Zuluaga
 
Running Splunk on AWS
Running Splunk on AWSRunning Splunk on AWS
Running Splunk on AWSAlan Williams
 
Better Code: Concurrency
Better Code: ConcurrencyBetter Code: Concurrency
Better Code: ConcurrencyPlatonov Sergey
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Enginecatherinewall
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventJohn Schneider
 

Similaire à Creating an all-purpose REST API for Cloud services using OSGi and Sling - C Ziegeler & D Bosschaert (20)

AEM and Sling
AEM and SlingAEM and Sling
AEM and Sling
 
AEM and Sling
AEM and SlingAEM and Sling
AEM and Sling
 
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
 
IMMERSE'16 Introduction to adobe experience manager back end
IMMERSE'16 Introduction to adobe experience manager back endIMMERSE'16 Introduction to adobe experience manager back end
IMMERSE'16 Introduction to adobe experience manager back end
 
JCR and Sling Quick Dive
JCR and Sling Quick DiveJCR and Sling Quick Dive
JCR and Sling Quick Dive
 
NodeJS
NodeJSNodeJS
NodeJS
 
Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014
 
Node.js an Exectutive View
Node.js an Exectutive ViewNode.js an Exectutive View
Node.js an Exectutive View
 
An Early Evaluation of Running Spark on Kubernetes
An Early Evaluation of Running Spark on KubernetesAn Early Evaluation of Running Spark on Kubernetes
An Early Evaluation of Running Spark on Kubernetes
 
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
 
Aswin
AswinAswin
Aswin
 
RESTful web apps with Apache Sling - 2013 version
RESTful web apps with Apache Sling - 2013 versionRESTful web apps with Apache Sling - 2013 version
RESTful web apps with Apache Sling - 2013 version
 
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdf
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdfIntroduction+to+AngularJS+with+logo+from+digital+ocean.pdf
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdf
 
Integrating with Adobe Marketing Cloud - Summit 2014
Integrating with Adobe Marketing Cloud - Summit 2014Integrating with Adobe Marketing Cloud - Summit 2014
Integrating with Adobe Marketing Cloud - Summit 2014
 
Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0
 
Go Revel Gooo...
Go Revel Gooo...Go Revel Gooo...
Go Revel Gooo...
 
Running Splunk on AWS
Running Splunk on AWSRunning Splunk on AWS
Running Splunk on AWS
 
Better Code: Concurrency
Better Code: ConcurrencyBetter Code: Concurrency
Better Code: Concurrency
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:Invent
 

Plus 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
 

Plus 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)
 

Dernier

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 

Dernier (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 

Creating an all-purpose REST API for Cloud services using OSGi and Sling - C Ziegeler & D Bosschaert

  • 1. Creating a REST API for Cloud services using OSGi and Sling Carsten Ziegeler and David Bosschaert © 2014 Adobe Systems Incorporated. All Rights Reserved. AAddoobbee CCoonnffddeennttiiaall..
  • 2. Speakers ● David Bosschaert (davidb@apache.org) – R&D Adobe Research Dublin – Co-chair OSGi EEG – Open-source and cloud enthusiast ● Carsten Ziegeler (cziegeler@apache.org) – R&D Adobe Research Switzerland – OSGi Board, CPEG and EEG member – ASF member © 2014 Adobe Systems Incorporated. All Rights Reserved. AAddoobbee CCoonnffddeennttiiaall..
  • 3. © 2014 Adobe Systems Incorporated. All Rights Reserved. AAddoobbee CCoonnffddeennttiiaall.. Agenda ●A REST site with Apache Sling ●Scale it up! with OSGi and jclouds
  • 4. © 2014 Adobe Systems Incorporated. All Rights Reserved. AAddoobbee CCoonnffddeennttiiaall..
  • 5. Te Next Great Application © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
  • 6. ROA and REST ● htp://…/products.jsp?id=5643564 ● htp://…/slingshot/slingshot1/public/travel/pet.(html|json) © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
  • 7. Resource Oriented Architecture ● Every piece of information is a resource ● User home, category, item, image, comment ● Descriptive URI ● Stateless web architecture (REST) ● Request contains all relevant information ● Targets the resource ● Leverage HTTP ● GET for rendering, POST/PUT/DELETE for operations © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
  • 8. SlingShot Content Structure © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. / slingshot1 slingshot2 public travel home pet images comments ratings pet.jpg
  • 9. Resource-frst Request Processing ● Request: /slingshot1/public/travel/pet/comments.10.json ● Resource: /slingshot1/public/travel/pet/comments ● Extension: json ● Selector: 10 ● Method: GET ● Resource Type : slingshot/comments © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
  • 10. Resource-frst Request processing 1. Resolve the resource 2. Resolve processing script 3. Build execution chain 4. Execute © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
  • 11. Scripting Inside ● It’s your choice ● JSP, servlet, ESP, Scala, Sightly ● javax.script ● own script handlers ● Default servlets ● JSON, XML ● POST/update/create/delete handling ● Error handling © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
  • 12. © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. <sling:defineObjects/> <div class="comment"> <% final ValueMap attr = resource.getValueMap(); final String title = attr.get(PROPERTY_TITLE, resource.getName()); final String description = attr.get(PROPERTY_DESCRIPTION, ""); final String userId = attr.get(PROPERTY_USER, ""); %> <h4><%= ResponseUtil.escapeXml(userId) %> : <%= ResponseUtil.escapeXml(title) %></h4> <p><%= ResponseUtil.escapeXml(description) %></p> <p><%= ResponseUtil.escapeXml( attr.get(SlingshotConstants.PROPERTY_CREATED, "")) %></p> </div>
  • 13. Resource Providers © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. / slingshot1 public travel home pet images comments ratings pet.jpg MongoDB FS JCR Apache Jackrabbit
  • 14. Scale UP! ● Efectively use the cloud ● Scale up/down based on need ● start small = cheap ● No downtime ● when moving to larger machines ● No cloud-provider specifcs © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
  • 15. Sling OOSSGGii NNooddee © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. 28/10/14 Sling in the cloud Load Balancer(s) OOSSGGii NNooddee Sling Director traffic
  • 16. OOSSGGii NNooddee Sling © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. Sling 28/10/14 Director OOSSGGii NNooddee Sling Director provision inspect discover OOSSGGii NNooddee Sling OOSSGGii NNooddee jclouds create destroy mmeettrriiccss OSGi Cloud Ecosystems (RFC 183) FrameworkNodeStatus Service
  • 17. Sling OOSSGGii NNooddee Sling © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. 28/10/14 Busy times Load Balancer(s) OOSSGGii NNooddee Sling Director traffic OOSSGGii NNooddee OOSSGGii NNooddee Sling
  • 18. Sling © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. 28/10/14 Quiet times Load Balancer(s) OOSSGGii NNooddee Director traffic
  • 19. Sling Sling Sling Sling © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. 28/10/14 Really Quiet times Load Balancer(s) OOSSGGii NNooddee Director Docker instances
  • 20. Summary ● Use Sling to build your REST service ● Write your app using anything that can interact with REST ● Native app ● Javascript ● … ● Use OSGi Cloud Ecosystems, Apache jclouds and Docker to scale ● Be cloud-vendor independent! © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
  • 21. Interested in OSGi and Cloud? ● Come to the OSGi Cloud Workshop Wednesday October 29 at 15:15 (Seminarräume 1-3) © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential.
  • 22. Innovation at Adobe © 2014 Adobe Systems Incorporated. All Rights Reserved. Adobe Confdential. 22 Links ● Apache Sling – htp://sling.apache.org ● Apache jclouds – htp://jclouds.apache.org ● SlingShot Sample application – htp://svn.apache.org/repos/asf/sling/trunk/samples/slingshot ● OSGi Cloud Ecosystems RFC 183 – htps://github.com/osgi/design/tree/master/rfcs/rfc0183
  • 23. © 2014 Adobe Systems Incorporated. All Rights Reserved. AAddoobbee CCoonnffddeennttiiaall..