OW2 JOnAS Java EE Server Platform Linuxtag09

41
JOnAS: an Open Source Unbreakable Java TM EE Server Platform [email protected] François Exertier

description

 

Transcript of OW2 JOnAS Java EE Server Platform Linuxtag09

Page 1: OW2 JOnAS Java EE Server Platform Linuxtag09

JOnAS:an Open Source Unbreakable JavaTM EE Server Platform

[email protected]

François Exertier

Page 2: OW2 JOnAS Java EE Server Platform Linuxtag09

2 ©Bull, 2009 JOnAS

Agenda

- Introduction

- A flexible and modular platform

- A distributed and scalable architecture

- Self healing capabilities

- Summary

Page 3: OW2 JOnAS Java EE Server Platform Linuxtag09

3 ©Bull, 2009 JOnAS

Evolution of application server usage

- Mission critical applications

- Ambient computing- Small computers, resource-constrained electronic devices

- Examples:- Health care, mobile, home, public services- M2M, Home Automation and RFID-based applications- Telco and Internet mixed applications: convergence between

IMS, Web and Media service technologies

Page 4: OW2 JOnAS Java EE Server Platform Linuxtag09

4 ©Bull, 2009 JOnAS

Evolution of application server scope

Internet

EnterpriseInformation

System

Application Servers

G

G

G

G

Probes, sensors

Mobile devices

M2M Gateways

Monitoring, self-management

Page 5: OW2 JOnAS Java EE Server Platform Linuxtag09

5 ©Bull, 2009 JOnAS

New requirements

- Dynamic service-oriented platform which is able to adapt itself

- Embedded system domain- Bridge the gap between the different parts of new

generation applications: edge, premise, server- Inter domain interoperability- Support adaptable distributed applications- Service continuity

Page 6: OW2 JOnAS Java EE Server Platform Linuxtag09

6 ©Bull, 2009 JOnAS

Unbreakable Java EE Server Platform

- 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- OSGi provides key features to application servers

• Dynamicity, flexibility, modularity, plug ability, reduced footprint

- Full service continuity thanks to- Automated reconfiguration and management- Smooth and transparent migration solutions- High availability clustering solutions

Page 7: OW2 JOnAS Java EE Server Platform Linuxtag09

7 ©Bull, 2009 JOnAS

Solution: Java EE Server Platform

- JOnAS application server based on OSGi- Highly dynamic and adaptable platform- Bridge toward OSGi world (M2M, Home Automation and RFID-

based applications)

- Clustering solution- High Availability, failover

- JASMINe Management Platform- Self-healing features- Migration solutions

Page 8: OW2 JOnAS Java EE Server Platform Linuxtag09

8 ©Bull, 2009 JOnAS

JOnAS: Java EE Server Platform

- Java EE 5 certified- Provides technical services

- Webcontainer with Tomcat/Jetty- EJB3/JPA Persistence: EasyBeans (EclipseLink,

Hibernate,OpenJPA)- Transaction with JOTM- Clustering with CMI- Security- WebService with CXF/Axis2- Messaging with JORAM- OSGi with Felix and IPOJO

- Administration: web console and JASMINe project

Page 9: OW2 JOnAS Java EE Server Platform Linuxtag09

9 ©Bull, 2009 JOnAS

JOnAS Open Source

- Developed as open source (LGPL) in OW2- OW2: International consortium dedicated to open source

middleware- Main contributors: Bull, FranceTelecom, Peking University,

INRIA, UJF, UNIFOR, SERLI

- Related OW2 projects: EasyBeans, JASMINe, JORAM, JOTM, CMI, Shelbie

- Other open source communities: Apache, CodeHaus, JBoss…

Page 10: OW2 JOnAS Java EE Server Platform Linuxtag09

10 ©Bull, 2009 JOnAS

Agenda

- Introduction

- A flexible and modular platform

- A distributed and scalable architecture

- Self healing capabilities

- Summary

Page 11: OW2 JOnAS Java EE Server Platform Linuxtag09

11 ©Bull, 2009 JOnAS

OSGi Native Architecture

Dynamic Platform

- Modularity / Maintainability- Better lifecycle management- Services composed of

OSGi bundles- Incremental service delivery- Dynamic re-configuration- Automatic adaptation to

runtime constraints

Page 12: OW2 JOnAS Java EE Server Platform Linuxtag09

12 ©Bull, 2009 JOnAS

Flexible platform [1/2]

- Communications handled by the OSGi™ service layer- Loose-coupling between modules- Not dependent on a specific implementation

- Allows dynamic OSGi™ service replacement- Update Java EE technical services to the latest version

Page 13: OW2 JOnAS Java EE Server Platform Linuxtag09

13 ©Bull, 2009 JOnAS

On Demand Services

Flexible platform [2/2]

J

M

X

R

E

G

I

S

T

R

Y

E

J

B

3

W

E

B

services applications

USB Hydro-Thermometer

E

A

R

M

A

I

L

M

Y

A

P

P

U

S

B

D

R

V

Page 14: OW2 JOnAS Java EE Server Platform Linuxtag09

14 ©Bull, 2009 JOnAS

Java EE → OSGi

- Java EE applications can communicate with the OSGi™ world transparently

- EJB ™ 3.0 can use the BundleContext- Listen to OSGi™ events (framework, bundle, service)- Access to OSGi™ services

@OSGiResourceBundleContext bundleContext = null;

@OSGiResourcePrintService printService = null;

Page 15: OW2 JOnAS Java EE Server Platform Linuxtag09

15 ©Bull, 2009 JOnAS

OSGi → Java EE

- Provides Java EE functionalities to pure OSGi applications- Expose Session Beans as OSGi™ services

• Stateless Bean offer entry points to the Java EE™ world- Advantage:

• Benefit of persistence, transaction, …

BundleContext bundleContext = …

ServiceReference serviceRef = bundleContext.getServiceReference(StatelessLocal.class.getName());

StatelessLocal stateless = bundleContext. getService(serviceRef );

Page 16: OW2 JOnAS Java EE Server Platform Linuxtag09

16 ©Bull, 2009 JOnAS

Advanced Deployment Mechanisms

- Deployment Plan- XML file describing resources to be deployed in a given order

- Resources are stored in repositories. The server maintains a configurable list of repositories

- Resources types : URL, Maven, OBR

- « reloadable » option for automatic reload of modified resources

- Clustering deployment eased thanks to shared deployment plans

Page 17: OW2 JOnAS Java EE Server Platform Linuxtag09

17 ©Bull, 2009 JOnAS

OSGi Native Architecture: Summary

- Adaptation to user’s needs- Ease of exploitation- Modularity and lightness: facilitates maintenance- Optimized resources consumption, system footprint- Dynamic Adaptation, Configuration- Access and support of embedded domain

- SOA Enabler- To plug SOA building blocks

Page 18: OW2 JOnAS Java EE Server Platform Linuxtag09

18 ©Bull, 2009 JOnAS

Agenda

- Introduction

- A flexible and modular platform

- A distributed and scalable architecture

- Self healing capabilities

- Summary

Page 19: OW2 JOnAS Java EE Server Platform Linuxtag09

19 ©Bull, 2009 JOnAS

A Distributed and Scalable Architecture

- End to End Clustering solution- Web and EJB / Load Balancing and HA

- Load-balancing and fail-over- Web: with mod_jk/mod_proxy_balancer- EJB2/EJB3: with CMI v2

- Replication - Web session replication with Tomcat- EJB2/EJB3 replication with HA Service

• JGroups/Terracotta/P2P

Java EE Cluster

Page 20: OW2 JOnAS Java EE Server Platform Linuxtag09

20 ©Bull, 2009 JOnAS

RMI Clustering: CMI V2

- Clustering for EJB2 and EJB3, performance oriented- Service and control flows separation- Cluster topology dynamically maintained- Stubs pools

- Dynamic re-configuration of the load balancing logic (via the console)

- Reduced client side API- Upper layer classes downloaded from server- Dynamic and transparent update of the API

- Simplified deployment- Run of top of jrmp, iiop, irmi- Smooth stopping and blacklisting of servers

Page 21: OW2 JOnAS Java EE Server Platform Linuxtag09

21 ©Bull, 2009 JOnAS

Clustering: Management of Load Balancing Policy

Upda

te

Clus

ter l

ogic

Master node

Ctrl flow

Cluster logic V1Cluster logic V2

Page 22: OW2 JOnAS Java EE Server Platform Linuxtag09

22 ©Bull, 2009 JOnAS

Clustering: Summary

- Ease of use- Zeroconf at the client side- Control from the server side

- Flexibility- Dynamic configuration

Page 23: OW2 JOnAS Java EE Server Platform Linuxtag09

23 ©Bull, 2009 JOnAS

Agenda

- Introduction

- A flexible and modular platform

- A distributed and scalable architecture

- Self healing capabilities

- Summary

Page 24: OW2 JOnAS Java EE Server Platform Linuxtag09

24 ©Bull, 2009 JOnAS

JASMINe

- Graphical tool for configuration, deployment and supervision of middleware

- Help for complex config.- Help for error detection - Performance monitoring- Autonomous behavior

Page 25: OW2 JOnAS Java EE Server Platform Linuxtag09

25 ©Bull, 2009 JOnAS

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 of

managed system

Page 26: OW2 JOnAS Java EE Server Platform Linuxtag09

26 ©Bull, 2009 JOnAS

JASMINe Design: Principles

- Eclipse EMF/GMF for configurations design (RCP GUI)- Jade/OSGi for deploying configurations on the

infrastructure

1. Describe the middleware configuration

2. Deploy the middleware configuration

Page 27: OW2 JOnAS Java EE Server Platform Linuxtag09

27 ©Bull, 2009 JOnAS

JASMINe Design

Page 28: OW2 JOnAS Java EE Server Platform Linuxtag09

28 ©Bull, 2009 JOnAS

JASMINe Monitoring- Probes (JMX, OS)- Distributed mediation

layer- Error detection with rules

engine- EoS console (flex)- Events Db

- Replay- Export (csv...)

- Benefits- Governance - Reduced admin costs- Reactivity

Page 29: OW2 JOnAS Java EE Server Platform Linuxtag09

29 ©Bull, 2009 JOnAS

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, snmp, mail, … extensible

Page 30: OW2 JOnAS Java EE Server Platform Linuxtag09

30 ©Bull, 2009 JOnAS

JASMINe Monitoring- Quick visualisation

Page 31: OW2 JOnAS Java EE Server Platform Linuxtag09

31 ©Bull, 2009 JOnAS

JASMINe Monitoring- Visualisation environment resulting from an advanced

configuration of the tool

Page 32: OW2 JOnAS Java EE Server Platform Linuxtag09

32 ©Bull, 2009 JOnAS

JASMINe Self-Management

LB Apache/JK

JOnAS 5EasyBeans

JOnAS 5EasyBeans

Managed Element

Drools

ControllerDetection & reaction

Managed Element

Managed Element

Managed Element

Autonomic Element

WildCATSensors

JK rules

JK Ant task

ActuatorsMBeanCmd

- Self-optimisation- Self-healing

Page 33: OW2 JOnAS Java EE Server Platform Linuxtag09

33 ©Bull, 2009 JOnAS

JASMINe: Versioning [1/2]

- Context- Mission Critical Applications - 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 same

JOnAS instance- Configurable request routing policy toward versions

- Available for WebApp Tomcat, EJB2/EJB3

Page 34: OW2 JOnAS Java EE Server Platform Linuxtag09

34 ©Bull, 2009 JOnAS

JASMINe: Versioning [2/2]

- A client uses the same version until session expiration- New clients access to the version defined by the

deployment policy

Page 35: OW2 JOnAS Java EE Server Platform Linuxtag09

35 ©Bull, 2009 JOnAS

JaDOrT: Servers Maintenance Orchestration

- JAsmine Deployment ORchestration Tool)- Flex Console- Centralizes application migration and infrastructure

management• Global view on the servers and the applications• Assist the choice of the server(s) to maintain (capacity check)• Application migration or server maintenance can be done

simultaneously on multiple servers• Management of user sessions

- Supports many Java EE servers: JOnAS, JBoss, Glassfish, ...- Can proceed to next step or undo, operations can be paused

and resumed at any time- Full error management: View log, retry or ignore- Complete traceability: all progress logs are persisted

Page 36: OW2 JOnAS Java EE Server Platform Linuxtag09

36 ©Bull, 2009 JOnAS

JaDOrT Console

Page 37: OW2 JOnAS Java EE Server Platform Linuxtag09

37 ©Bull, 2009 JOnAS

JASMINe: Summary

- Improved Quality of Service- Better Reactivity- Decreased Risks

- Automatic Deployment- Continuous Service Migration- Self-behaviors: self repair, self optimization, …

Page 38: OW2 JOnAS Java EE Server Platform Linuxtag09

38 ©Bull, 2009 JOnAS

Agenda

- Introduction

- A flexible and modular platform

- A distributed and scalable architecture

- Self healing capabilities

- Summary

Page 39: OW2 JOnAS Java EE Server Platform Linuxtag09

39 ©Bull, 2009 JOnAS

Summary

- Non-stop self-healing application server for mission critical applications, suitable for ambient computing

- Fully OSGi-based distributed and scalable architecture- Dynamicity, flexibility, modularity, plug ability, reduced footprint

- Full service continuity thanks to- Automated reconfiguration and management- Smooth and transparent migration solutions- High availability clustering solutions

Page 40: OW2 JOnAS Java EE Server Platform Linuxtag09

40 ©Bull, 2009 JOnAS

Enterprise Class

- Java EE Certified (J2EE 1.4, Java EE 5)- Incremental solution, adaptable to functional

environment- Exploitation features: administration, cluster- Plugins: Eclipse WTP, NetBeans, Cargo- Code maturity (project started in 1998)- JOnAS 4 deployed in many sectors

- Public, aerospace, automotive, bank, industry, telecommunication, defence, health, ministries…

- Basis for SOA building blocks integration

Page 41: OW2 JOnAS Java EE Server Platform Linuxtag09