Weitere ähnliche Inhalte
Ähnlich wie OW2 JOnAS Java EE Server Platform Linuxtag09
Ähnlich wie OW2 JOnAS Java EE Server Platform Linuxtag09 (20)
Mehr von Catherine Nuel (10)
Kürzlich hochgeladen (20)
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