Your SlideShare is downloading. ×

JOnAS 5.1 Application Server Profiles

7,524

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
7,524
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
44
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. JOnAS 5.1 Application Server Profiles Guillaume Sauthier / François Fornaciari
  • 2. Summary
    • Introduction
    • 3. Profiles
    • 4. Using µJOnAS for profiles
    • 5. What about dynamic profiles ?
    • 6. Updating profiles
    • 7. Conclusion
  • 8. Introduction
  • 9. Introduction
      Time of big & fat application servers is now over !
  • 10. Introduction / JOnAS
    • OW2 JOnAS application server based on OSGi TM
      • Highly dynamic and adaptable platform
      • 11. Bridge toward OSGi world (M2M, home automation, RFID based applications, ...)
    • Version 5.1 Java EE 5 certified
      • EasyBeans, EclipseLink, Tomcat, CXF
    • Clustering support (using CMI)
    • 12. Easy to use administration console
    • 13. Global management tool: JASMINe
      • Cluster design, deployment and monitoring
  • 14. Introduction / M2M [1/2]
    • Machine to Machine communications
    • 15. From edge computing ...
      • Close to caption probes, RFID, ambient computing
    • … going through premises ...
      • Relaying informations
    • … to big central servers
      • Centralized Information processing
      • 16. Monitoring, dashboards, ...
    • Application servers in the M2M World
  • 17. Introduction / M2M [2/2]
    • All of them powered by JOnAS/OSGi !
      • Profiled depending on resources/applications
    • Normalize technologies in use and infrastructure management
  • 18. Profiles
  • 19. Profiles / Java EE 6
    • Profiles as a way to introduce agility inside application servers for the benefits of users
      • Break the monolithic image of application servers
    • Full Profile
      • All Java EE related specifications (Servlet 3.0, EJB 3.1, JCA, …)
      • 20. Old school :)
    • Web Profile
      • Smaller profile including only a subset of all the specifications (Servlet 3.0, EJB 3.1 lite, …)
      • 21. Targets web application's “most required” features (presentation layer, local business, simple persistence, transaction and web services)
  • 22. Profiles / JOnAS
    • What means a JOnAS profile ?
      • An “implementation” of a Java EE profile (first step)
        • Towards custom made profiles
      • An assembly of bundles and resources composing a runnable application server (a zip)
      • 23. This set of resources defines the feature level of the server
      • 24. Represents a set of JOnAS technical services
    • Based on a micro JOnAS profile
      • Aka platform, kernel, nucleus, …
      • 25. Running an OSGi platform with a minimal set of services
        • Providing extensibility
      • Allowing technical services composition (server linkage)
  • 26. Using µJOnAS for Profiles
  • 27. µJOnAS
    • Ultra light JOnAS (< 9 Mo but going lighter)
    • 28. Quick to start (~3 seconds)
    • 29. Manageable (JMX, RMI Connector)
    • 30. Adaptable to constrained environments (set top box, PDA, …)
    • 31. Includes an automated bundle builder
      • Convert a jar file to a bundle automatically
        • Just drop a jar in lib/ext/
      • Helps for faster OSGi adoption from Java EE users
    • Provides an extensible deployment system
  • 32. µJOnAS / In practice
    • A kernel
      • Including Apache Felix
        • Providing the OSGi platform
      • and Apache Felix iPOJO
        • Providing the service component model (ease service development)
    • A minimal set of JOnAS components
      • Management through JMX RMI entry point
        • Start / Stop easily the underlying OSGi platform
      • Deployment system
        • Fundamental block for profile and management (deploy / undeploy)
  • 33. µJOnAS / Build a profile
    • At first you need the micro JOnAS
    • 34. Then augment it using the deployment plans you want
    • 35. The profile's assembly is completely open and flexible
      • Additional profiles can be foreseen
      • 36. User's can define their own profiles
    • Examples of web profiles
      • Micro + Tomcat + CXF + EasyBeans + EclipseLink
      • 37. Micro + Jetty + Axis2 + EasyBeans + Hibernate
      • 38. ...
    Currently only full and micro profiles are ready for JOnAS 5.1 Web profile is on the way !
  • 39. µJOnAS / Deployment
    • Extensible Deployer System (Java EE archives, bundles, XML files, …)
    • 40. Based on URLs (local and remote archives are deployables)
    • 41. Extensible repository support (file, maven2, obr, ...)
    • 42. Hot deploy
      • Fast development cycle
      • 43. Ease cluster deployment
    • Exploded archive support
    • Deployment System
    Deployment Repository
  • 44. µJOnAS / Deployment / Plan
    • A description of a set of resources to be deployed on a server
      • XML file containing a list of resources with their location
        • Resources being Java EE archive, OSGi bundles, ...
        • 45. A deployment plan can itself be considered as a resource
      • Ordered
      • 46. Atomic (as an option)
    • Deployment Plan
    < deployment-plan xmlns = &quot;http://jonas.ow2.org/ns/deployment-plan/1.0&quot; xmlns:m2 = &quot;http://jonas.ow2.org/ns/deployment-plan/maven2/1.0&quot; atomic = &quot;false&quot; > < deployment id = &quot;org.ow2.easybeans.osgi:easybeans-core-for-jonas-eclipselink:jar&quot; xsi:type = &quot;m2:maven2-deploymentType&quot; start = &quot;true&quot; reference = &quot;true&quot; startlevel = &quot;1&quot; > < m2:gr oupId > org.ow2.easybeans.osgi </ m2:groupId > < m2:artifactId > easybeans-core-for-jonas-eclipselink </ m2:artifac tId > < m2:version > 1.1.0-RC2_JONAS </ m2:version > </ deployment > </ deployment-plan >
  • 47. µJOnAS / Deployment / Plan
    • Describe where the resources can be found
    • 48. The resources can be obtained from local directories
      • Local Maven2 repository
      • 49. Any file system location where archives can be found
    • Or from remote locations
      • Maven2 repositories
      • 50. OBR (OSGi Bundle Repository)
      • 51. HTTP server
    • Repositories
    < repositories xmlns = &quot;http://jonas.ow2.org/ns/deployment-plan/repositories/1.0&quot; > < repository id = &quot;maven2-bull&quot; > < type > maven2 </ type > < url > http://repository.bull.net/maven2 </ url > </ repository > < repository id = &quot;url-local-repository&quot; > < type > url </ type > < url > file:///home/sauthieg/repository </ url > </ repository > </ repositories >
  • 52. What about dynamic profiles ?
  • 53. Dynamic profiles
    • This is the platform ability to change the current profile dynamically
      • From the needs of deployed applications
      • 54. From an administrative operation
        • Add / start / stop JOnAS services on demand
    • No JVM reboot operation
    • 55. Augment profile's perimeter (more featured)
      • Only add required services
    • Optimize memory
    • 56. Even disk space if bundles are deleted (not ready)
  • 57. Dynamic profiles / Application Reqs
    • Special MANIFEST entry
      • JOnAS-Require-Service <values>
    • Reference to deployment plan's name
    • 58. Profile will be update at application deployment
      • Current profile composition compared to required services
      • 59. Installation of extra services
    • “Construct” a new profile adapted to the need of an application
      • Only required services are part of the profile at execution
  • 60. Updating profiles
  • 61. Updating profiles (on going work)
    • Update center
      • Help tool for service update operations
      • 62. Visualize service's available versions and ability to switch from one to another
      • 63. Update is performed through OSGi modularity layer
        • Hot update
        • 64. At next reboot
        • 65. Plan update given the deployed applications or active sessions
  • 66. Updating profiles (still on going work)
    • Process
      • Cluster topology initialisation
      • 67. Target server selection
      • 68. Target services to update
      • 69. Monitor operations progress
    • Features
      • Rollback/Resume mechanism
      • 70. Log operations
      • 71. Planification
    update
  • 72. Conclusion
  • 73. Conclusion
    • Profiles are now a reality in application servers
      • Monolithic application server EoL
    • “A la carte” application servers
      • Resource optimization
      • 74. Quick, lightweight and extensible
  • 75. Resources http://java.sun.com/javaee/technologies/javaee6.jsp http://felix.apache.org/site/apache-felix-ipojo.html http://www.osami-commons.org http://felix.apache.org http://jonas.ow2.org
  • 76.  

×