Post on 16-Apr-2017
Template Bull 2009 White English
JOnAS 5.1 Application Server Profiles
Guillaume Sauthier / Franois Fornaciari
Summary
Introduction
Profiles
Using JOnAS for profiles
What about dynamic profiles ?
Updating profiles
Conclusion
Introduction
Introduction
Time of big & fat application servers is now over !
Introduction / JOnAS
OW2 JOnAS application server based on OSGiTMHighly dynamic and adaptable platform
Bridge toward OSGi world (M2M, home automation, RFID based applications, ...)
Version 5.1 Java EE 5 certifiedEasyBeans, EclipseLink, Tomcat, CXF
Clustering support (using CMI)
Easy to use administration console
Global management tool: JASMINeCluster design, deployment and monitoring
Introduction / M2M [1/2]
Machine to Machine communications
From edge computing ...Close to caption probes, RFID,
ambient
computing
going through premises ...Relaying informations
to big central serversCentralized Information processing
Monitoring, dashboards, ...
Application servers in the M2M World
Introduction / M2M [2/2]
All of them powered by JOnAS/OSGi !Profiled depending on resources/applications
Normalize technologies in use and infrastructure management
Profiles
Profiles / Java EE 6
Profiles as a way to introduce agility inside application servers for the benefits of usersBreak the monolithic image of application servers
Full ProfileAll Java EE related specifications (Servlet 3.0, EJB 3.1, JCA, )
Old school :)
Web ProfileSmaller profile including only a subset of all the specifications (Servlet 3.0, EJB 3.1 lite, )
Targets web application's most required features (presentation layer, local business, simple persistence, transaction and web services)
Profiles / JOnAS
What means a JOnAS profile ?An implementation of a Java EE profile (first step)Towards custom made profiles
An assembly of bundles and resources
composing a runnable application server (a zip)
This set of resources defines the feature level
of the server
Represents a set of JOnAS technical services
Based on a micro JOnAS profileAka platform, kernel, nucleus,
Running an OSGi platform with a minimal set of servicesProviding extensibility
Allowing technical services composition (server linkage)
Using JOnAS for Profiles
JOnAS
Ultra light JOnAS (< 9 Mo but going lighter)
Quick to start (~3 seconds)
Manageable (JMX, RMI Connector)
Adaptable to constrained environments (set top box, PDA, )
Includes an automated bundle builderConvert a jar file to a bundle automaticallyJust drop a jar in lib/ext/
Helps for faster OSGi adoption from Java EE users
Provides an extensible deployment system
JOnAS / In practice
A kernelIncluding Apache FelixProviding the OSGi platform
and Apache Felix iPOJOProviding the service component model (ease service development)
A minimal set of JOnAS componentsManagement through JMX RMI entry pointStart / Stop easily the underlying OSGi platform
Deployment systemFundamental block for profile and management (deploy / undeploy)
JOnAS / Build a profile
At first you need the micro JOnAS
Then augment it using the deployment plans you want
The profile's assembly is completely open and flexibleAdditional profiles can be foreseen
User's can define their own profiles
Examples of web profilesMicro + Tomcat + CXF + EasyBeans + EclipseLink
Micro + Jetty + Axis2 + EasyBeans + Hibernate
...
Currently only full and micro profiles are ready for JOnAS 5.1Web profile is on the way !
JOnAS / Deployment
Extensible Deployer System (Java EE archives, bundles, XML files, )
Based on URLs (local and remote archives are deployables)
Extensible repository support (file, maven2, obr, ...)
Hot deployFast development cycle
Ease cluster deployment
Exploded archive support
Deployment System
DeploymentRepository
JOnAS / Deployment / Plan
A description of a set of resources to be deployed on a serverXML file containing a list of resources with their locationResources being Java EE archive, OSGi bundles, ...
A deployment plan can itself be considered as a resource
Ordered
Atomic (as an option)
Deployment Plan
org.ow2.easybeans.osgi easybeans-core-for-jonas-eclipselink 1.1.0-RC2_JONAS
JOnAS / Deployment / Plan
Describe where the resources can be found
The resources can be obtained from local directoriesLocal Maven2 repository
Any file system location where archives can be found
Or from remote locationsMaven2 repositories
OBR (OSGi Bundle Repository)
HTTP server
Repositories
maven2 http://repository.bull.net/maven2 url file:///home/sauthieg/repository
What about dynamic profiles ?
Dynamic profiles
This is the platform ability to change the current profile dynamicallyFrom the needs of deployed applications
From an administrative operationAdd / start / stop JOnAS services on demand
No JVM reboot operation
Augment profile's perimeter (more featured)Only add required services
Optimize memory
Even disk space if bundles are deleted (not ready)
Dynamic profiles / Application Reqs
Special MANIFEST entryJOnAS-Require-Service
Reference to deployment plan's name
Profile will be update at application deploymentCurrent profile composition compared to required services
Installation of extra services
Construct a new profile adapted to the need of an applicationOnly required services are part of the profile at execution
Updating profiles
Updating profiles (on going work)
Update centerHelp tool for service update operations
Visualize service's available versions and ability to switch from one to another
Update is performed through
OSGi modularity layerHot update
At next reboot
Plan update given the deployed
applications or active sessions
Updating profiles (still on going work)
Process
Cluster topology initialisation
Target server selection
Target services to update
Monitor operations progress
Features
Rollback/Resume mechanism
Log operations
Planification
update
Conclusion
Conclusion
Profiles are now a reality in application serversMonolithic application server EoL
A la carte application serversResource optimization
Quick, lightweight and extensible
Resources
http://www.osami-commons.org
http://java.sun.com/javaee/technologies/javaee6.jsp
http://felix.apache.org
http://jonas.ow2.org
http://felix.apache.org/site/apache-felix-ipojo.html
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level
Seventh Outline Level
Eighth Outline LevelNinth Outline Level
Bull, 2009JOnAS Application Server Profiles