JOnAS Dynamic Application Server - OW2 Consortium€¦ · 2 ©Bull, 2008 Dynamic application server...
Transcript of JOnAS Dynamic Application Server - OW2 Consortium€¦ · 2 ©Bull, 2008 Dynamic application server...
JOnAS Dynamic Application Server
UnbreakableUnbreakable Java EE PlatformJava EE Platform
2 ©Bull, 2008 Dynamic application server
JOnAS World
- Open Source- International users and developers community- LGPL
- Enterprise Class Java EE Application Server JOnAS
- Java EE certified, Clustering (CMI ) Administration, Integration, IDE, JOTM
- EasyBeans - Lightweight and modular EJB3 container
- OSGi based Architecture- Services Architecture : on demand, dynamic,
modular- -> Embedded, multi-paradigms, edge, self-
administration
- JASMINe- Intelligent Administration of SOA platforms
(JOnAS clusters, design, configuration, deployment, monitoring)
http:// [ jonas | easybeans | jasmine ].ow2.org
3 ©Bull, 2008 Dynamic application server
Evolution of Application Server Usage
- Ubiquitous Applications, Ambient Computing- Mainframes, Servers, Personal Computers, small, resource-
constrained electronic devices
- Examples:- mobile, home, public services- M2M, Home Automation and RFID-based applications…- health care (sensor and personal communication devices)- Telco and Internet mixed applications ->convergence between
IMS, Web and Media service technologies
- New Requirements- dynamic service-oriented platform which is able to personalise
itself- embedded system domain- inter domain interoperability- support flexibly adaptable distributed applications
4 ©Bull, 2008 Dynamic application server
Evolution of Application Server Scope
Probes, actuators
G
G
G
G
M2M gateways
EnterpriseInformation
SystemInternet
Mobile Devices
Monitoring, self-management tools
Application Servers
5 ©Bull, 2008 Dynamic application server
OSGi based Application Server
- Bridge the gap between the different parts of new generation applications: servers, edge, premise, devices …
- OSGi provides new key features to application servers- Dynamicity, flexibility, modularity, pluggeability, reduced
footprint …
- The resulting platform benefits from AS features- Transaction, persistency, security …
- High Availability, scalability (clustering solutions)
- Advanced management (self-management)
6 ©Bull, 2008 Dynamic application server
Unbreakable Application Server
- non-stop self-healing application server for mission critical applications, suitable for ambient computing
- fully OSGi-based distributed and scalable architecture- Result from advanced research in component and services
models
- full service continuity thanks to- Automated reconfiguration and management- Smooth and transparent migration solutions- High availability clustering solutions
- Based on- Java EE-compliant JOnAS OSGi-based application server- JASMINe administration environment- EJB3-compliant EasyBeans lightweight container
7 ©Bull, 2008 Dynamic application server
Autonomousmanagement
tool: JASMINe
Self-healing
4 key elements to deliver non stop AS suitable for Ambient Computing
OSGi as core technology: adaptability, flexibility, and dynamic reconfiguration capabilities, Reduced footprint
Dynamic clustering, large scale
deployment , highavailability
EasyBeans EJB3 container
Bridge toward OSGi world
8 ©Bull, 2008 Dynamic application server
Agenda
� OSGi native architecture
� EasyBeans EJB3 Container
� Clustering
� JASMINe
� Open Source & Quality
4 key elements to deliver a non stop application server platform, suitable for ambient computing
9 ©Bull, 2008 Dynamic application server
Scalable platform
OSGi’s architecture and technology:
- Services grouped into « Bundles »
- Dynamic and on demand services
- Modularity (Java EE 6 Profiles)
- Pluggable: easier integration with existing software
- Dynamic re-configuration
- Automatic adaptation to runtime constraints
- Java EE access <=> OSGi
OSGi native Architecture
10 ©Bull, 2008 Dynamic application server
Scalable platform
On Demand Services
OSGi native Architecture
JMX
REGISTRY
EJB3
WEB
…
services applications
USB Thermometer
EAR
MY
APP
Embedded domain:
• Home automation / M2M• RFID• Sensors• SOHO servers• Video Games
11 ©Bull, 2008 Dynamic application server
Scalable platform
� Adaptation to users and application needs
� Ease of exploitation
� Modularity and lightness : facilitates maintenance
� Optimize resources consumption, system footprint
�Dynamic Adaptation, Configuration
OSGi native Architecture
12 ©Bull, 2008 Dynamic application server
Agenda
� OSGi native architecture
� EasyBeans EJB3 Container
� Clustering
�JASMINe
�Open Source & Quality
4 key elements to deliver a non stop application server platform, suitable for ambient computing
13 ©Bull, 2008 Dynamic application server
Rapid development
EJB3 container: EasyBeans
- Architecture: performance and resource optimization
- Lightweight and modular
- Pluggable: embeddable in JOnAS, Tomcat, Jetty
- Available as OSGi bundles
- Hot deployment. Smart factory (client container)
- Supplied with JPA implementations (Hibernate Entity Manager, Apache OpenJPA,
TopLink Essentials)
- EJB3: a new simple way to create Java EE applications
- EJB3 clustering
EasyBeans
14 ©Bull, 2008 Dynamic application server
EasyBeans: Java EE™ OSGi™ Interaction
- Java EE ™ modules communicate with the OSGi™world
- EJB ™ 3.0 can use the BundleContext
- Listen to OSGi™ events (framework, bundle, service)
- Access to OSGi™ services
/** Bundle context that will be injected by the EZB container.*/@OSGiResourceBundleContext bundleContext = null;
15 ©Bull, 2008 Dynamic application server
Agenda
� OSGi native architecture
� EasyBeans EJB3 Container
� Clustering
� JASMINe
� Open Source & Quality
4 key elements to deliver a non stop application server platform, suitable for ambient computing
16 ©Bull, 2008 Dynamic application server
Easy clustering
Dynamic clustering and large scale support
- End to End solution
- Web / mod_jk&mod_proxy / replication
- EJB / cmi V2 / HA (Terracotta, pair replication)
- New version of the clustering protocol CMI, for EJB2
and EJB3, performance oriented
- Dynamic re-configuration of the load balancing logic
(via the console)
- Dynamic and transparent update of the API
- Simplified deployment
Clustering
Java EE cluster
17 ©Bull, 2008 Dynamic application server
Clustering
Upd
ate
Clu
ster
logi
c
Master node
Ctrl flow
Cluster logic V1Cluster logic V2
Easy Clustering: management of LB policy
18 ©Bull, 2008 Dynamic application server
Agenda
� OSGi native architecture
� EasyBeans EJB3 Container
� Clustering
�JASMINe
�Open Source & Quality
4 key elements to deliver a non stop application server platform, suitable for ambient computing
19 ©Bull, 2008 Dynamic application server
JASMINe
- JASMINe Design- Graphic tool for building a middleware
configuration
- JASMINe Deploy- Framework for deploying a middleware
configuration
- JASMINe Monitoring- Tools for performance tracking and error
detection
- JASMINe Self-management- Control loop for Self-optimization & Self-
healing
- JASMINE Repository- Static and dynamic data regarding
managed system
Advanced Management
20 ©Bull, 2008 Dynamic application server
JASMINe Design
21 ©Bull, 2008 Dynamic application server
JASMINe Monitoring
- Error Detection- Based on Drools rules engine- Rules Examples :
• Error logs or counter aggregation• Cpu overload detection over a significant period (ignore peak load)�• Memory saturation is close• Datasource bottleneck
- Actions : alarms, mail, … extensible.
- MBeanCmd- Java Command relying on JMX- Read/Write JMX attributes, JMX methods invocation- Shortcuts for probing the most relevant JOnAS indicators
• Tx,datasource, http connectors, threads pool, jms statistics…
- JASMINe EoS- Dynamic Flex Console for managing JASMINe Monitoring
22 ©Bull, 2008 Dynamic application server
JASMINe Monitoring
- Visualisation environment resulting from an advanced configuration of JASMINe EoS
23 ©Bull, 2008 Dynamic application server
Advanced Management: Versioning
- Context- 24/24 7/7 Critical Java EE Applications with quick evolution cycle
- Version Upgrade
• without service interruption
• Without loosing user sessions
• Without over sizing the system
- Principle
- Several versions of a same application co-running in a sameJOnAS instance
- Configurable request routing policy toward versions
- Available for WebApp Tomcat, EJB2/EJB3
JASMINe
24 ©Bull, 2008 Dynamic application server
Advanced management
� Improved Quality of Service
� Automatic Deployment
� Better reactivity
� Decreased Risks
� Self-behaviours: self repair, self optimisation…
JASMINe
25 ©Bull, 2008 Dynamic application server
Agenda
� OSGi native architecture
� EasyBeans EJB3 Container
� Clustering
�JASMINe
� Open Source & Quality
26 ©Bull, 2008 Dynamic application server
INNOVATIONINNOVATION
MATURITYMATURITY
PROFESSIONALPROFESSIONALSUPPORTSUPPORT
Open Source & Quality
27 ©Bull, 2008 Dynamic application server
� Maturity
Professional application server:
- Created since 1998, Open Source / LGPL
- J2EE 1.4 certification � Java EE5 certification soon
- Large web community :
� Experience and professionalism of the R&D team
Open Source & Quality
INNOVATION
MATURITY
PROFESSIONALSUPPORT
28 ©Bull, 2008 Dynamic application server
� Maturity
Professional application server:
- Adaptable to functional environment (configuration, connectors…)
- « Mission Critical » Functions (cluster, admin…)
- Incremental solutions
- Eclipse WTP plugin. Cargo support.
- Used within a variety of middleware components to facilitate theimplementation of Services Oriented Architectures (SOA)
- Deployed in many sectors
Open Source & Quality
• Public• Aerospace• Automotive• Bank / insurance• Defense
• Health• Industry• Telecommunications• Ministries• …
INNOVATION
MATURITY
PROFESSIONALSUPPORT
29 ©Bull, 2008 Dynamic application server
� Innovation�Continuous Innovation
� Close relationship with research organizations
� Anticipation of needs� Users participation
� Dynamism� Open source model, collaborative development
Open Source & Quality
Producer Consumer
Contributes
Re-uses Feedback
Uses / integrates
AcademicsAdministrations Integrators
Software publishersCompanies Individuals
INNOVATION
MATURITY
PROFESSIONALSUPPORT
30 ©Bull, 2008 Dynamic application server
Development community: Bull
• Leader• Support and services offer (Libre Energie)
France Telecom• Intensive operational use of JOnAS• Contribution on clustering and versioning
Peking University, CVICSE• Clustering, web services, administration
INRIA• Advanced administration
UPM• Clustering
LIFL• Administration/monitoring, deployment
UNIFOR• Clustering
UJF• OSGi
Open Source & Quality
31 ©Bull, 2008 Dynamic application server
� Professional support
- World Wide
- 24/24 and 7/7 support
- Privileged Contact: Technical Account Manager
- Multilingual
- R&D support
- Services, Consulting, Training, Integration and Benchmarking
- Open source integration: SOA Solutions
- Adaptation to customer needs
Open Source & Quality
INNOVATION
MATURITY
PROFESSIONALSUPPORT
32 ©Bull, 2008 Dynamic application server
Thank you for your attention