managing large and distributed eclipse server applications
TRANSCRIPT
Eclipse Server Application
Equinox
Operating System
Jetty
Servlet JSP
Jasper
Bundles
commons-logging, ...
...
3rdParty p2
...
Laun
cher Jetty Jasper slf4j, ... 3rdParty
Jetty & OSGi
• How do I …o make Servlets availableo for multiple tenantso in different versionso in different configurationso without getting lost
Jetty & OSGi
• What we created …
OSGi Web App
Servlets, Resources & FiltersSession Isolation
OSGi Web App
Servlets, Resources & FiltersSession Isolation
OSGi Web App
Servlets, Resources & FiltersSession Isolation
https://www.myshop.com/api
https://www.myshop.com/api/v2
http://demo.na.mysystem.secret/
https://my.ssldomain.com:8443/
https://my.ssldomain.com:8444/
https://my.ssldomain.com:8445/
OSGi BundleOSGi BundleOSGi Bundle
Jetty & OSGi
• What we created …public class MyWebApp extends Application {
@Overrideprotected void doInit() throws CoreException {getApplicationContext().registerServlet(…);getApplicationContext().registerResources(…);getApplicationContext().registerFilter(…);
}
}
Jetty & OSGi
• What we created …osgi> http <cmd> [args]
ls … lists registered applications or providers
defineApp … defines an applicationremoveApp … removes an application definitionsetAppProperty … sets/removes an application property
mount … mounts an application at the specified URLunmount … unmounts the specified URL
start … starts an applicationstop … stops an application
Jetty & OSGi
• What we created …osgi> jetty <cmd> [args]
ls … list all connectors or certificates
addConnector … adds a connectorremoveConnector … removes a connector
importCertificate … imports a certificateremoveCertificate … removes a certificate
Clustering
• What we wanted…o group/membershipo configurationo distributed
coordinationo don‘t write it, use it
Additional Pieces
• Distributed Processingo Scheduler & Workerso Quartz & Eclipse Jobs API
• Contextual Runtimeo Per tenant customization/configurationo DI (provisional)
[email protected]/in/eclipsegurutwitter.com/eclipseguru