Mais conteúdo relacionado
Semelhante a OW2 JOnAS Java EE Server Platform Linuxtag09 (20)
Mais de Catherine Nuel (10)
OW2 JOnAS Java EE Server Platform Linuxtag09
- 1. JOnAS:
an Open Source Unbreakable JavaTM EE Server
Platform
François Exertier
Francois.Exertier@bull.net
- 2. Agenda
- Introduction
- A flexible and modular platform
- A distributed and scalable architecture
- Self healing capabilities
- Summary
2 ©Bull, 2009 JOnAS
- 3. 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
3 ©Bull, 2009 JOnAS
- 4. Evolution of application server scope
Mobile devices
Application Servers
Probes, sensors
G
Enterprise
Information G
System Internet
G
G
M2M Gateways
Monitoring, self-management
4 ©Bull, 2009 JOnAS
- 5. 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
5 ©Bull, 2009 JOnAS
- 6. 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
6 ©Bull, 2009 JOnAS
- 7. 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
7 ©Bull, 2009 JOnAS
- 8. 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
8 ©Bull, 2009 JOnAS
- 9. 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…
9 ©Bull, 2009 JOnAS
- 10. Agenda
- Introduction
- A flexible and modular platform
- A distributed and scalable architecture
- Self healing capabilities
- Summary
10 ©Bull, 2009 JOnAS
- 11. 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
11 ©Bull, 2009 JOnAS
- 12. 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
12 ©Bull, 2009 JOnAS
- 13. Flexible platform [2/2]
On Demand Services
R
U
E M
S
G E M Y
J W E B
I J A
M … E A
S B I A
X B R D
T 3 L P USB Hydro-
R
R P Thermometer
V
Y
services applications
13 ©Bull, 2009 JOnAS
- 14. 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
@OSGiResource
BundleContext bundleContext = null;
@OSGiResource
PrintService printService = null;
14 ©Bull, 2009 JOnAS
- 15. 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 );
15 ©Bull, 2009 JOnAS
- 16. 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
16 ©Bull, 2009 JOnAS
- 17. 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
17 ©Bull, 2009 JOnAS
- 18. Agenda
- Introduction
- A flexible and modular platform
- A distributed and scalable architecture
- Self healing capabilities
- Summary
18 ©Bull, 2009 JOnAS
- 19. 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
19 ©Bull, 2009 JOnAS
- 20. 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
20 ©Bull, 2009 JOnAS
- 21. Clustering: Management of Load Balancing Policy
Master node
gic
e
dat
r lo
Up
ste
Clu
Cluster logic V1
V2
Ctrl flow
21 ©Bull, 2009 JOnAS
- 22. Clustering: Summary
- Ease of use
- Zeroconf at the client side
- Control from the server side
- Flexibility
- Dynamic configuration
22 ©Bull, 2009 JOnAS
- 23. Agenda
- Introduction
- A flexible and modular platform
- A distributed and scalable architecture
- Self healing capabilities
- Summary
23 ©Bull, 2009 JOnAS
- 24. JASMINe
- Graphical tool for configuration, deployment and
supervision of middleware
- Help for complex config.
- Help for error detection
- Performance monitoring
- Autonomous behavior
24 ©Bull, 2009 JOnAS
- 25. JASMINe
- JASMINe Design - JASMINe Monitoring
- Tools for performance tracking and
- Graphic tool for building a
error detection
middleware configuration
- JASMINe Deploy - JASMINe Self-management
- Control loop for Self-optimization &
- Framework for deploying a
Self-healing
middleware configuration
- JASMINe Repository
- Static and dynamic data of
managed system
25 ©Bull, 2009 JOnAS
- 26. 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
26 ©Bull, 2009 JOnAS
- 28. 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
28 ©Bull, 2009 JOnAS
- 29. 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
29 ©Bull, 2009 JOnAS
- 31. JASMINe Monitoring
- Visualisation environment resulting from an advanced
configuration of the tool
31 ©Bull, 2009 JOnAS
- 32. JASMINe Self-Management
- Self-optimisation
- Self-healing Autonomic Element
Controller
Detection & reaction
JK rules
Drools
Sensors Actuators
WildCAT
JK Ant task
MBeanCmd
Managed Element
Managed Element
LB Apache/JK
Managed Element Managed Element
JOnAS 5 JOnAS 5
EasyBeans EasyBeans
32 ©Bull, 2009 JOnAS
- 33. 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
33 ©Bull, 2009 JOnAS
- 34. JASMINe: Versioning [2/2]
- A client uses the same version until session expiration
- New clients access to the version defined by the
deployment policy
34 ©Bull, 2009 JOnAS
- 35. 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
35 ©Bull, 2009 JOnAS
- 37. JASMINe: Summary
- Improved Quality of Service
- Better Reactivity
- Decreased Risks
- Automatic Deployment
- Continuous Service Migration
- Self-behaviors: self repair, self optimization, …
37 ©Bull, 2009 JOnAS
- 38. Agenda
- Introduction
- A flexible and modular platform
- A distributed and scalable architecture
- Self healing capabilities
- Summary
38 ©Bull, 2009 JOnAS
- 39. 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
39 ©Bull, 2009 JOnAS
- 40. 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
40 ©Bull, 2009 JOnAS