OW2 JOnAS Java EE Server Platform Linuxtag09

1,138 views

Published on

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,138
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
23
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

OW2 JOnAS Java EE Server Platform Linuxtag09

  1. 1. JOnAS: an Open Source Unbreakable JavaTM EE Server Platform François Exertier Francois.Exertier@bull.net
  2. 2. Agenda - Introduction - A flexible and modular platform - A distributed and scalable architecture - Self healing capabilities - Summary 2 ©Bull, 2009 JOnAS
  3. 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. 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. 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. 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. 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. 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. 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. 10. Agenda - Introduction - A flexible and modular platform - A distributed and scalable architecture - Self healing capabilities - Summary 10 ©Bull, 2009 JOnAS
  11. 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. 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. 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. 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. 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. 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. 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. 18. Agenda - Introduction - A flexible and modular platform - A distributed and scalable architecture - Self healing capabilities - Summary 18 ©Bull, 2009 JOnAS
  19. 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. 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. 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. 22. Clustering: Summary - Ease of use - Zeroconf at the client side - Control from the server side - Flexibility - Dynamic configuration 22 ©Bull, 2009 JOnAS
  23. 23. Agenda - Introduction - A flexible and modular platform - A distributed and scalable architecture - Self healing capabilities - Summary 23 ©Bull, 2009 JOnAS
  24. 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. 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. 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
  27. 27. JASMINe Design 27 ©Bull, 2009 JOnAS
  28. 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. 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
  30. 30. JASMINe Monitoring - Quick visualisation 30 ©Bull, 2009 JOnAS
  31. 31. JASMINe Monitoring - Visualisation environment resulting from an advanced configuration of the tool 31 ©Bull, 2009 JOnAS
  32. 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. 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. 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. 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
  36. 36. JaDOrT Console 36 ©Bull, 2009 JOnAS
  37. 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. 38. Agenda - Introduction - A flexible and modular platform - A distributed and scalable architecture - Self healing capabilities - Summary 38 ©Bull, 2009 JOnAS
  39. 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. 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

×