JOnAS 5.1 Application Server Profiles

download JOnAS 5.1 Application Server Profiles

If you can't read please download the document

Transcript of JOnAS 5.1 Application Server Profiles

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