SlideShare uma empresa Scribd logo
1 de 10
Baixar para ler offline
1
Modular web applications based on OSGi | March 18th 2008 | Short Talk #244
© Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed
under Creative Commons Att. Nc Nd 2.5 license
Modular web applications based on OSGi
Jochen Hiller
March,18th 2008
Modular web applications based on OSGi | March 18th 2008 | Short Talk #244
© Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed
under Creative Commons Att. Nc Nd 2.5 license2
The OSGi HttpService 

‱  is lightweight
‱  is restricted to Servlet Spec 2.1
  no filters, no listeners, no welcome-files
  no JSP support
‱  requires registration at HttpService
  servlets / resources
  programmatically
  via extension point if using Equinox
‱  Equinox provides techniques to add missing functionality
  see org.eclipse.equinox.http.helper classes from Simon Kaegi
  but: complex, additional effort required
Modular web applications based on OSGi | March 18th 2008 | Short Talk #244
© Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed
under Creative Commons Att. Nc Nd 2.5 license3
A solution: “Web Application Service”
‱ The web.xml provides all configuration information
‱ Parse web.xml to 

 register all servlets and filters from contributing bundle
 support specified welcome-files
 add JSP support by default
 add all mime-types, support default mime-types
‱ Map web application to a context (alias in HttpService terms)
‱ Resource lookup from contributing bundle
‱ Binds to all OSGi HttpServices
‱ The technique: register wrapper servlets
‱ See https://bugs.eclipse.org/bugs/show_bug.cgi?id=162132
Modular web applications based on OSGi | March 18th 2008 | Short Talk #244
© Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed
under Creative Commons Att. Nc Nd 2.5 license4
Web Application Service: The Service API
package org.eclipse.equinox.webapp.service;
public interface WebAppService {
public Object registerWebApp(
String alias,
Bundle bundle,
String bundleResourcePath,
String webXml,
Dictionary options)
throws WebContextException;
public void unregisterWebApp(Object handle);
}
Modular web applications based on OSGi | March 18th 2008 | Short Talk #244
© Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed
under Creative Commons Att. Nc Nd 2.5 license5
Web Application Service: As Extension point
<!– web application service as extension point -->
<extension
id="webapp"
name="DemoWebApp“
point="org.eclipse.equinox.webapp.registry.webapp">
<webapp
alias="/"
path="/WebContent">
</webapp>
</extension>
Modular web applications based on OSGi | March 18th 2008 | Short Talk #244
© Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed
under Creative Commons Att. Nc Nd 2.5 license6
Web Application Service: As Extender pattern
‱ Follows Extender Pattern as proposed by OSGi
‱ Bundle Listener observes all bundles coming / leaving
the platform
‱ Trigger file is /WEB-INF/web.xml
‱ Context to register is bundle symbolic name
 May be configured through /WEB-INF/osgi-web.xml
Modular web applications based on OSGi | March 18th 2008 | Short Talk #244
© Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed
under Creative Commons Att. Nc Nd 2.5 license7
What are the benefits?
‱ Easy development of JavaEE based web applications
based on OSGi
‱ Simplified deployment of existing web applications
(WAR) to OSGi
‱ OSGi can act as a lightweight web container
‱ Implementation is not dependent on OSGi runtime
implementation
Modular web applications based on OSGi | March 18th 2008 | Short Talk #244
© Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed
under Creative Commons Att. Nc Nd 2.5 license8
Demo: Deploy Tomcat examples
‱ Tomcat 5.5.x example applications
 servlet-examples
 jsp-examples
‱ Changes required:
 Create /META-INF/MANIFEST.MF
 Added /WEB-INF/classes and /WEB-INF/lib/*.jar to
bundle classpath
 May be automated using bnd tool from Peter Kriens
Modular web applications based on OSGi | March 18th 2008 | Short Talk #244
© Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed
under Creative Commons Att. Nc Nd 2.5 license9
Limitations, Plans
‱ And what is missing?
 Taglib support is missing
 Listeners not yet supported
 Declarative security not supported
 Implementation under development, API may change
 Documentation, Tutorials
 More testing (e.g. compatibility with servlet bridge, other
OSGi implementations)
‱ Further ideas:
 Equinox specific framework extension to directly support
loading WAR files
 Align with Enterprise OSGi and RFC 66 activities
Modular web applications based on OSGi | March 18th 2008 | Short Talk #244
© Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed
under Creative Commons Att. Nc Nd 2.5 license10
Questions?
‱ Contact me:
 jo.hiller@googlemail.com
‱ Incubator project at:
 http://sourceforge.net/projects/sse-examples
 CVS, webapp-incubator

Mais conteĂșdo relacionado

Mais procurados

Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
Matthias Luebken
 
Open-source RPA: Leveraging Python and Robot Framework ecosystems for busines...
Open-source RPA: Leveraging Python and Robot Framework ecosystems for busines...Open-source RPA: Leveraging Python and Robot Framework ecosystems for busines...
Open-source RPA: Leveraging Python and Robot Framework ecosystems for busines...
All Things Open
 
Compare framework
Compare frameworkCompare framework
Compare framework
Tomasz Zarna
 

Mais procurados (20)

Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
 
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream ProjectsITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
 
A microservice architecture based on golang
A microservice architecture based on golangA microservice architecture based on golang
A microservice architecture based on golang
 
Enabling Devops using Jenkins
Enabling Devops using JenkinsEnabling Devops using Jenkins
Enabling Devops using Jenkins
 
QtWS15 Revolutionizing Automotive with Qt
QtWS15 Revolutionizing Automotive with QtQtWS15 Revolutionizing Automotive with Qt
QtWS15 Revolutionizing Automotive with Qt
 
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
 
You and your containers: strumenti di automazione in Cloud (parte 2) - Gabrie...
You and your containers: strumenti di automazione in Cloud (parte 2) - Gabrie...You and your containers: strumenti di automazione in Cloud (parte 2) - Gabrie...
You and your containers: strumenti di automazione in Cloud (parte 2) - Gabrie...
 
The State of libfabric in Open MPI
The State of libfabric in Open MPIThe State of libfabric in Open MPI
The State of libfabric in Open MPI
 
Media processing with serverless architecture
Media processing with serverless architectureMedia processing with serverless architecture
Media processing with serverless architecture
 
Qt Automotive Suite - under the hood // Qt World Summit 2017
Qt Automotive Suite - under the hood // Qt World Summit 2017Qt Automotive Suite - under the hood // Qt World Summit 2017
Qt Automotive Suite - under the hood // Qt World Summit 2017
 
Open-source RPA: Leveraging Python and Robot Framework ecosystems for busines...
Open-source RPA: Leveraging Python and Robot Framework ecosystems for busines...Open-source RPA: Leveraging Python and Robot Framework ecosystems for busines...
Open-source RPA: Leveraging Python and Robot Framework ecosystems for busines...
 
Control Kubernetes Ingress and Egress Together with NGINX
Control Kubernetes Ingress and Egress Together with NGINXControl Kubernetes Ingress and Egress Together with NGINX
Control Kubernetes Ingress and Egress Together with NGINX
 
Introduction to Jenkins X - a beginner's guide
Introduction to Jenkins X - a beginner's guideIntroduction to Jenkins X - a beginner's guide
Introduction to Jenkins X - a beginner's guide
 
Future of Microservices - Jakub Hadvig
Future of Microservices - Jakub HadvigFuture of Microservices - Jakub Hadvig
Future of Microservices - Jakub Hadvig
 
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
 
Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017
 
Implementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCIImplementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCI
 
OpenAPI Generator The Babel Fish of The API World - apidays Live Australia
OpenAPI Generator The Babel Fish of The API World - apidays Live AustraliaOpenAPI Generator The Babel Fish of The API World - apidays Live Australia
OpenAPI Generator The Babel Fish of The API World - apidays Live Australia
 
Compare framework
Compare frameworkCompare framework
Compare framework
 
The best of Hyper-V 2016 - Thomas Maurer
 The best of Hyper-V 2016 - Thomas Maurer The best of Hyper-V 2016 - Thomas Maurer
The best of Hyper-V 2016 - Thomas Maurer
 

Destaque

Vehicle Consumer Services Interface - In-Vehicle Middleware - Vladimir Rasin,...
Vehicle Consumer Services Interface - In-Vehicle Middleware - Vladimir Rasin,...Vehicle Consumer Services Interface - In-Vehicle Middleware - Vladimir Rasin,...
Vehicle Consumer Services Interface - In-Vehicle Middleware - Vladimir Rasin,...
mfrancis
 
OSGi Users' Forum UK - Meeting 23rd June 2011
OSGi Users' Forum UK - Meeting 23rd June 2011OSGi Users' Forum UK - Meeting 23rd June 2011
OSGi Users' Forum UK - Meeting 23rd June 2011
mfrancis
 
OSGi Users' Forum UK Meeting 3
OSGi Users' Forum UK  Meeting 3OSGi Users' Forum UK  Meeting 3
OSGi Users' Forum UK Meeting 3
mfrancis
 
OSGi World Congress 2003 - Welcome, Introduction - D Kamlani
OSGi World Congress 2003 - Welcome, Introduction - D KamlaniOSGi World Congress 2003 - Welcome, Introduction - D Kamlani
OSGi World Congress 2003 - Welcome, Introduction - D Kamlani
mfrancis
 
2005 OSGi Alliance World Congress Day Two - John R. Barr, Ph.D., Chair OSGi W...
2005 OSGi Alliance World Congress Day Two - John R. Barr, Ph.D., Chair OSGi W...2005 OSGi Alliance World Congress Day Two - John R. Barr, Ph.D., Chair OSGi W...
2005 OSGi Alliance World Congress Day Two - John R. Barr, Ph.D., Chair OSGi W...
mfrancis
 
OSGi Community Event 2007 - Closing Remarks - Dan Bandera, Member of the Boar...
OSGi Community Event 2007 - Closing Remarks - Dan Bandera, Member of the Boar...OSGi Community Event 2007 - Closing Remarks - Dan Bandera, Member of the Boar...
OSGi Community Event 2007 - Closing Remarks - Dan Bandera, Member of the Boar...
mfrancis
 
The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...
The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...
The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...
mfrancis
 
OSGi Technology Based Product-Service Packages for Multi-tenant-Mudwelling Re...
OSGi Technology Based Product-Service Packages for Multi-tenant-Mudwelling Re...OSGi Technology Based Product-Service Packages for Multi-tenant-Mudwelling Re...
OSGi Technology Based Product-Service Packages for Multi-tenant-Mudwelling Re...
mfrancis
 

Destaque (20)

2016 01 cv karine hustinx
2016 01 cv karine hustinx2016 01 cv karine hustinx
2016 01 cv karine hustinx
 
Aviso de Costos Unitarios IMSS 2016
Aviso de Costos Unitarios IMSS 2016Aviso de Costos Unitarios IMSS 2016
Aviso de Costos Unitarios IMSS 2016
 
ML C.V 4
ML C.V 4ML C.V 4
ML C.V 4
 
resume-CJ
resume-CJresume-CJ
resume-CJ
 
Vehicle Consumer Services Interface - In-Vehicle Middleware - Vladimir Rasin,...
Vehicle Consumer Services Interface - In-Vehicle Middleware - Vladimir Rasin,...Vehicle Consumer Services Interface - In-Vehicle Middleware - Vladimir Rasin,...
Vehicle Consumer Services Interface - In-Vehicle Middleware - Vladimir Rasin,...
 
In Homes / Consumer Electronics - M Beltrami
In Homes / Consumer Electronics - M BeltramiIn Homes / Consumer Electronics - M Beltrami
In Homes / Consumer Electronics - M Beltrami
 
OSGi DevCon - Innovation Through an Apps Competition
OSGi DevCon - Innovation Through an Apps CompetitionOSGi DevCon - Innovation Through an Apps Competition
OSGi DevCon - Innovation Through an Apps Competition
 
Automatically Managing Service Dependencies in an OSGi Environment - Marcel O...
Automatically Managing Service Dependencies in an OSGi Environment - Marcel O...Automatically Managing Service Dependencies in an OSGi Environment - Marcel O...
Automatically Managing Service Dependencies in an OSGi Environment - Marcel O...
 
Microsoft Automotive Business Unit - J Za
Microsoft Automotive Business Unit - J ZaMicrosoft Automotive Business Unit - J Za
Microsoft Automotive Business Unit - J Za
 
OSGi Users' Forum UK - Meeting 23rd June 2011
OSGi Users' Forum UK - Meeting 23rd June 2011OSGi Users' Forum UK - Meeting 23rd June 2011
OSGi Users' Forum UK - Meeting 23rd June 2011
 
OSGi Community Event 2010 - A Crash Course in OSGi Application Development
OSGi Community Event 2010 - A Crash Course in OSGi Application DevelopmentOSGi Community Event 2010 - A Crash Course in OSGi Application Development
OSGi Community Event 2010 - A Crash Course in OSGi Application Development
 
OSGi Users' Forum UK Meeting 3
OSGi Users' Forum UK  Meeting 3OSGi Users' Forum UK  Meeting 3
OSGi Users' Forum UK Meeting 3
 
In the Services Network - HW Bitzer
In the Services Network - HW BitzerIn the Services Network - HW Bitzer
In the Services Network - HW Bitzer
 
OSGi World Congress 2003 - Welcome, Introduction - D Kamlani
OSGi World Congress 2003 - Welcome, Introduction - D KamlaniOSGi World Congress 2003 - Welcome, Introduction - D Kamlani
OSGi World Congress 2003 - Welcome, Introduction - D Kamlani
 
2005 OSGi Alliance World Congress Day Two - John R. Barr, Ph.D., Chair OSGi W...
2005 OSGi Alliance World Congress Day Two - John R. Barr, Ph.D., Chair OSGi W...2005 OSGi Alliance World Congress Day Two - John R. Barr, Ph.D., Chair OSGi W...
2005 OSGi Alliance World Congress Day Two - John R. Barr, Ph.D., Chair OSGi W...
 
OSGi World Congress 2002 Summary - J Barr
OSGi World Congress 2002 Summary - J BarrOSGi World Congress 2002 Summary - J Barr
OSGi World Congress 2002 Summary - J Barr
 
OSGi Community Event 2007 - Closing Remarks - Dan Bandera, Member of the Boar...
OSGi Community Event 2007 - Closing Remarks - Dan Bandera, Member of the Boar...OSGi Community Event 2007 - Closing Remarks - Dan Bandera, Member of the Boar...
OSGi Community Event 2007 - Closing Remarks - Dan Bandera, Member of the Boar...
 
The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...
The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...
The Business Case for OSGi Technology & Unveiling Release 4 - Susan Schwarze,...
 
e-PASTA - A Kung
e-PASTA - A Kunge-PASTA - A Kung
e-PASTA - A Kung
 
OSGi Technology Based Product-Service Packages for Multi-tenant-Mudwelling Re...
OSGi Technology Based Product-Service Packages for Multi-tenant-Mudwelling Re...OSGi Technology Based Product-Service Packages for Multi-tenant-Mudwelling Re...
OSGi Technology Based Product-Service Packages for Multi-tenant-Mudwelling Re...
 

Semelhante a Modular Web Applications based on OSGi - Jochen Hiller

Semelhante a Modular Web Applications based on OSGi - Jochen Hiller (20)

Web Technologies in Automotive & Robotics (BlinkOn 10)
Web Technologies in Automotive & Robotics (BlinkOn 10)Web Technologies in Automotive & Robotics (BlinkOn 10)
Web Technologies in Automotive & Robotics (BlinkOn 10)
 
Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010
 
Whats Next for OSGi? - BJ Hargrave
Whats Next for OSGi? - BJ HargraveWhats Next for OSGi? - BJ Hargrave
Whats Next for OSGi? - BJ Hargrave
 
Introduction to Apigility
Introduction to ApigilityIntroduction to Apigility
Introduction to Apigility
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?
 
Together in Eclipse
Together in EclipseTogether in Eclipse
Together in Eclipse
 
Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)
 
The Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API ManagementThe Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API Management
 
Integrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere PortalIntegrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere Portal
 
Kivy report
Kivy reportKivy report
Kivy report
 
Embedding Chromium into AGL demo platform with WAM
Embedding Chromium into AGL demo platform with WAMEmbedding Chromium into AGL demo platform with WAM
Embedding Chromium into AGL demo platform with WAM
 
Python for IoT, A return of experience
Python for IoT, A return of experiencePython for IoT, A return of experience
Python for IoT, A return of experience
 
Using Python for IoT: a return of experience, Alexandre Abadie
Using Python for IoT: a return of experience, Alexandre AbadieUsing Python for IoT: a return of experience, Alexandre Abadie
Using Python for IoT: a return of experience, Alexandre Abadie
 
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
 
Flex360 Milan 2008 - Flex & Webservices
Flex360 Milan 2008 - Flex & WebservicesFlex360 Milan 2008 - Flex & Webservices
Flex360 Milan 2008 - Flex & Webservices
 
EVERYTHING AS CODE: API-GATEWAY, DEVELOPER PORTAL UND GRAPHQL
EVERYTHING AS CODE: API-GATEWAY, DEVELOPER PORTAL UND GRAPHQLEVERYTHING AS CODE: API-GATEWAY, DEVELOPER PORTAL UND GRAPHQL
EVERYTHING AS CODE: API-GATEWAY, DEVELOPER PORTAL UND GRAPHQL
 
Building Server-Side Eclipse based web applications
Building Server-Side Eclipse based web applicationsBuilding Server-Side Eclipse based web applications
Building Server-Side Eclipse based web applications
 
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutio...
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutio...WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutio...
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutio...
 
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 RevolutionWebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
 
OSGi on Google Android using Apache Felix
OSGi on Google Android using Apache FelixOSGi on Google Android using Apache Felix
OSGi on Google Android using Apache Felix
 

Mais de 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
 
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
 
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
 

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)
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
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
 

Último (20)

Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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
 
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, ...
 
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
 
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...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
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
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
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
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Modular Web Applications based on OSGi - Jochen Hiller

  • 1. 1 Modular web applications based on OSGi | March 18th 2008 | Short Talk #244 © Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license Modular web applications based on OSGi Jochen Hiller March,18th 2008
  • 2. Modular web applications based on OSGi | March 18th 2008 | Short Talk #244 © Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license2 The OSGi HttpService 
 ‱  is lightweight ‱  is restricted to Servlet Spec 2.1   no filters, no listeners, no welcome-files   no JSP support ‱  requires registration at HttpService   servlets / resources   programmatically   via extension point if using Equinox ‱  Equinox provides techniques to add missing functionality   see org.eclipse.equinox.http.helper classes from Simon Kaegi   but: complex, additional effort required
  • 3. Modular web applications based on OSGi | March 18th 2008 | Short Talk #244 © Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license3 A solution: “Web Application Service” ‱ The web.xml provides all configuration information ‱ Parse web.xml to 
  register all servlets and filters from contributing bundle  support specified welcome-files  add JSP support by default  add all mime-types, support default mime-types ‱ Map web application to a context (alias in HttpService terms) ‱ Resource lookup from contributing bundle ‱ Binds to all OSGi HttpServices ‱ The technique: register wrapper servlets ‱ See https://bugs.eclipse.org/bugs/show_bug.cgi?id=162132
  • 4. Modular web applications based on OSGi | March 18th 2008 | Short Talk #244 © Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license4 Web Application Service: The Service API package org.eclipse.equinox.webapp.service; public interface WebAppService { public Object registerWebApp( String alias, Bundle bundle, String bundleResourcePath, String webXml, Dictionary options) throws WebContextException; public void unregisterWebApp(Object handle); }
  • 5. Modular web applications based on OSGi | March 18th 2008 | Short Talk #244 © Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license5 Web Application Service: As Extension point <!– web application service as extension point --> <extension id="webapp" name="DemoWebApp“ point="org.eclipse.equinox.webapp.registry.webapp"> <webapp alias="/" path="/WebContent"> </webapp> </extension>
  • 6. Modular web applications based on OSGi | March 18th 2008 | Short Talk #244 © Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license6 Web Application Service: As Extender pattern ‱ Follows Extender Pattern as proposed by OSGi ‱ Bundle Listener observes all bundles coming / leaving the platform ‱ Trigger file is /WEB-INF/web.xml ‱ Context to register is bundle symbolic name  May be configured through /WEB-INF/osgi-web.xml
  • 7. Modular web applications based on OSGi | March 18th 2008 | Short Talk #244 © Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license7 What are the benefits? ‱ Easy development of JavaEE based web applications based on OSGi ‱ Simplified deployment of existing web applications (WAR) to OSGi ‱ OSGi can act as a lightweight web container ‱ Implementation is not dependent on OSGi runtime implementation
  • 8. Modular web applications based on OSGi | March 18th 2008 | Short Talk #244 © Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license8 Demo: Deploy Tomcat examples ‱ Tomcat 5.5.x example applications  servlet-examples  jsp-examples ‱ Changes required:  Create /META-INF/MANIFEST.MF  Added /WEB-INF/classes and /WEB-INF/lib/*.jar to bundle classpath  May be automated using bnd tool from Peter Kriens
  • 9. Modular web applications based on OSGi | March 18th 2008 | Short Talk #244 © Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license9 Limitations, Plans ‱ And what is missing?  Taglib support is missing  Listeners not yet supported  Declarative security not supported  Implementation under development, API may change  Documentation, Tutorials  More testing (e.g. compatibility with servlet bridge, other OSGi implementations) ‱ Further ideas:  Equinox specific framework extension to directly support loading WAR files  Align with Enterprise OSGi and RFC 66 activities
  • 10. Modular web applications based on OSGi | March 18th 2008 | Short Talk #244 © Copyright 2008 Jochen Hiller; Source code in this presentation is made available under the EPL v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license10 Questions? ‱ Contact me:  jo.hiller@googlemail.com ‱ Incubator project at:  http://sourceforge.net/projects/sse-examples  CVS, webapp-incubator