![Page 1: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/1.jpg)
Apache Geronimo 3.0:Introduction
Kevan MillerApache Geronimo PMC ChairASF [email protected]
Thursday, November 4, 2010
![Page 2: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/2.jpg)
Agenda• Overview
• New Features
‣ Java EE 6
‣ OSGi EEG
‣ Kernel Restructure
• Administration
• Closing
Thursday, November 4, 2010
![Page 3: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/3.jpg)
Overview• ASF project started in 2003
• Mission:
Create an Open Source application server from Best-of-Breed Open Source components
• Release history:
2006 2007
Geronimo 1.0 Geronimo 1.1
J2EE 1.4
2008
Geronimo 2.0 Geronimo 2.1
Java EE 5
2009 2010
Geronimo 2.2
Java EE 6
Geronimo 3.0-M1
Thursday, November 4, 2010
![Page 4: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/4.jpg)
Apache Geronimo
Tomcat
Bean Validation
CXF Karaf
Thursday, November 4, 2010
![Page 5: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/5.jpg)
Apache Geronimo
Tomcat
Bean ValidationCXF
Karaf
Thursday, November 4, 2010
![Page 6: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/6.jpg)
New in 3.0
• Java EE 6
• OSGi EEG
• Kernel Restructure
Thursday, November 4, 2010
![Page 7: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/7.jpg)
Java EE 6
• Ease of development
• Profiles
• New features
Thursday, November 4, 2010
![Page 8: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/8.jpg)
Ease of Development
• Context and Dependency Injection (aka Web Beans)
• Servlet Annotations (@WebServlet, @WebFilter, ...)
• EJBs in WAR files
• Portable JNDI lookups
• Portable DataSource definitions
Thursday, November 4, 2010
![Page 9: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/9.jpg)
EE 6 Profiles• Full EE 6 Profile
• Web Profile
‣ Subset of full profile:
- Servlet, JSP/JSTL, JSF/Managed Beans, EJB-lite, JPA, JTA, Bean Validation, CDI
• Geronimo will continue to provide custom assembly feature
Thursday, November 4, 2010
![Page 10: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/10.jpg)
Custom Assemblies• Support for custom assemblies still
supported
• “Profile” is a pre-configured assembly
Framework Assembly
Java EEProfile
WebProfile
Thursday, November 4, 2010
![Page 11: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/11.jpg)
Java EE 6 Features• Servlet 3.0
‣ Standardized async support
‣ Annotations (e.g. @WebServlet, @WebFilter, ...)
‣ web.xml fragments
‣ Pluggability
• JSF
‣ Facelets, AJAX, Skins, Annotations, Widget library, etc
• JAX-RS
‣ REST Annotations (@Path, @GET, @POST, etc...)
Thursday, November 4, 2010
![Page 12: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/12.jpg)
Java EE 6 Features• EJB 3.1
‣ EJBs in WAR files
‣ Singleton Beans
‣ No interface local Session beans
‣ Async / Sync invocation
‣ Timers
‣ Standalone EJB containers
Thursday, November 4, 2010
![Page 13: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/13.jpg)
Java EE 6 Features• Bean Validation
‣ Framework for validation of Bean data
‣ Applies to multiple technologies:
- JSF, JPA, JCA,
‣ Annotations: Pattern, Min/Max, NotNull...
• CDI
‣ Simplifies JSF and EJB programming models
‣ Enterprise beans managed by JSF
‣ Simplifies realization of transactional behavior in the web tier
Thursday, November 4, 2010
![Page 14: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/14.jpg)
Java EE 6 Features• Bean Validation
‣ Framework for validation of Bean data
‣ Applies to multiple technologies:
- JSF, JPA, JCA,
‣ Annotations: Pattern, Min/Max, NotNull...
• JPA 2.0
‣ Enhanced Mapping
‣ Standardized query hints, locking, caching plugin
‣ Criteria-based query API for dynamic queries
Thursday, November 4, 2010
![Page 15: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/15.jpg)
Java EE 6 Features
• JASPIC - Java Authentication SPI for Containers
‣ Pluggable authentication providers
‣ Simplifies implementation/integration of authentication technology into EE container environment
Thursday, November 4, 2010
![Page 16: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/16.jpg)
OSGi EEG• Geronimo includes support for an OSGi enterprise applications
• Multiple Java EE technologies exposed as OSGi Services
• Apache Aries programming model:
‣ Blueprint Container
- Dependency Injection framework for OSGi
‣ Applications: WAB and EBA
‣ JPA service
‣ JTA
‣ JNDI Services
‣ JMX
Thursday, November 4, 2010
![Page 17: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/17.jpg)
Geronimo Plugins
• Plugins are bundles with additional meta-data
• Define dependencies on bundles and other plugins
• Plugin installation installs all dependencies
• Dependencies form a DAG, determining:
‣ startup order, service visibility
Thursday, November 4, 2010
![Page 18: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/18.jpg)
Geronimo GBeans
• GBeans are a Geronimo-specific service model that support JSR-77 (J2EE Management)
• Attributes, single/multivalued service references
• References supported within and between Plugins
• OSGi bundles used for classloading, but GBeans are managed by Geronimo kernel
• Easy to expose GBeans as OSGi services and OSGi services can be exposed as GBeans
Thursday, November 4, 2010
![Page 19: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/19.jpg)
Some pain points• Plugins
‣ DAG is useful for restricting service visibility, but otherwise difficult to manage
‣ Plugin lifecycle conflicts with bundle lifecycle
• GBeans
‣ Overlapping capabilities with blueprint
‣ Difficult to generate xml for dynamically generated GBeans
‣ JSR-77 support does not meld well as control points for framework component
‣ Requires that framework classes be exposed to applications
Thursday, November 4, 2010
![Page 20: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/20.jpg)
Being considered...• Plugins
‣ Use karaf features as dependency mechanism
‣ Service visibility constraints replaced by OSGi subsystems
• GBeans
‣ Replace framework GBeans with OSGi declarative services
‣ MBean support with management specific support
Thursday, November 4, 2010
![Page 21: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/21.jpg)
Using Geronimo• Full-featured administrative console
Thursday, November 4, 2010
![Page 22: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/22.jpg)
Develop/Deploy• Geronimo Eclipse Plugin
‣ Java EE 6 development
‣ OSGi plugin available for development of Aries applications
• Deployment
‣ Eclipse
‣ deploy command
‣ hot-deploy directory
‣ Admin console
Thursday, November 4, 2010
![Page 23: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/23.jpg)
Current status• Upcoming service releases:
‣ 2.1.7 and 2.2.1
• Geronimo 3.0-M2 nearing completion
‣ Pass Web Profile TCK
• Geronimo 3.0
‣ Expected early 2011
‣ Full EE6 Profile support
- JMS, JAX-RS, JAX-WS, ...
Thursday, November 4, 2010
![Page 24: Apache Geronimo 3.0: Introductionarchive.apachecon.com/c/acna2010/sessions/materials... · • Multiple Java EE technologies exposed as OSGi Services • Apache Aries programming](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f19430fef1c847b88753efb/html5/thumbnails/24.jpg)
Related Talks• Geronimo Track (later today):
‣ Apache Geronimo and OSGi Enterprise Specification
‣ Scala for Efficient Java EE Entities
• Enterprise Track (Friday):
‣ Getting Started with JCDI
‣ Apache OpenEJB in Depth
‣ Enterprise OSGi Applications with Apache Aries
Thursday, November 4, 2010