Your SlideShare is downloading. ×
0
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
JOnAS 5.1 Application Server Profiles
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

JOnAS 5.1 Application Server Profiles

7,535

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

×