Graham Charters Apache Aries and IBM Apache Aries An Open Source project for Enterprise OSGi Applications
Apache Aries – Project Overview OSGi DevCon US 2010 Graham Charters March 22, Agenda Background Sample Futures
Apache Aries – Project Overview OSGi DevCon US 2010 Graham Charters March 22, Background “Aries” - Apache incubator project created Sept 2009 focused on: Components enabling enterprise OSGi application programming model Community building Implement OSGi EEG standards Experimentation to inform EEG standards Original Proposal: Independent of: OSGi framework provider (Felix, Equinox,...) Integration/server runtime (Geronimo, ServiceMix, WebSphere, …)
Apache Aries – Project Overview OSGi DevCon US 2010 Graham Charters March 22, Contributors and Consumers Contributors from Ericsson, IBM, JBoss, LinkedIn, Progress, ProSyst, SAP and individuals Aries SNAPSHOT builds available right now Aries 0.1 Release under discussion Aries components used by: Apache Geronimo Apache Felix Karaf JBossOSGi WebSphere Application Server
Apache Aries – Project Overview OSGi DevCon US 2010 Graham Charters March 22, Aries Content includes… WAR to Web Application Bundle Converter Blueprint Container JPA integration JTA integration JMX JNDI integration Application Assembly and Deployment Maven Plugin META-INF/services handler Samples, tutorials, documentation, integrator’s guide Advert: BoF on “OSGi DevCon BoF”, Mon 19:15
Apache Aries – Project Overview OSGi DevCon US 2010 Graham Charters March 22, A Blog Web Application Web Container (integrating Pax Web) Blueprint Component Model Container-Managed JPA Persistence Application Assembly Container-Managed JTA Transactions
Apache Aries – Project Overview OSGi DevCon US 2010 Graham Charters March 22, Blog Web Application Bundle WAB: A WAR with OSGi Bundle Configuration Supports Servlets and JSPs Automatic WAR to WAB conversion Access to OSGi Services Via servlet context Via JNDI Demo uses Pax Web + Aries for conversion Blogging Service blog-web Web App Bundle WEB-INF/ web.xml JNDI blog-api
Apache Aries – Project Overview OSGi DevCon US 2010 Graham Charters March 22, Blog Biz Blueprint Bundle Blueprint Container POJO Assembly Service Registry Integration Lifcycle Management Standardized Spring Conventions POJO + DI = Simple Unit Test Extensible Container JPA Handler JTA Handler Blogging Service Blog Persistence Service OSGI-INF/blueprint/ blueprint.xml blog-biz blog-api Blog Comment Service (optional)
Apache Aries – Project Overview OSGi DevCon US 2010 Graham Charters March 22, Blog Persistence Bundle JPA Persistence Service PersistenceUnit for application-managed PersistenceContext for container-managed Blueprint XML extension Demo uses OpenJPA Blog Persistence Service OSGI-INF/ persistence.xml OSGI-INF/blueprint/ blueprint.xml EM blog-persistence blog-api <blueprint … xmlns:tx=" xmlns:jpa=" default-activation="lazy"> <bean id="persistenceImpl" class="org.apache.aries.samples.blog.persistence.BlogPersistenceServiceImpl">... <blueprint … xmlns:tx=" xmlns:jpa=" default-activation="lazy"> <bean id="persistenceImpl" class="org.apache.aries.samples.blog.persistence.BlogPersistenceServiceImpl">... Advert: “Using JPA in OSGi”, Tue 16:15
Apache Aries – Project Overview OSGi DevCon US 2010 Graham Charters March 22, Blog Application Manifest-Version: 1.0 Application-ManifestVersion: 1.0 Application-Name: Blog Application Application-SymbolicName: com.ibm.ws.eba.example.blog.app Application-Version: 1.0 Application-Content: com.ibm.ws.eba.example.blog.api;version="1.0.0", com.ibm.ws.eba.example.blog.persistence;version="1.0.0", com.ibm.ws.eba.example.blog.web;version="1.0.0", com.ibm.ws.eba.example.blog;version="1.0.0" Manifest-Version: 1.0 Application-ManifestVersion: 1.0 Application-Name: Blog Application Application-SymbolicName: com.ibm.ws.eba.example.blog.app Application-Version: 1.0 Application-Content: com.ibm.ws.eba.example.blog.api;version="1.0.0", com.ibm.ws.eba.example.blog.persistence;version="1.0.0", com.ibm.ws.eba.example.blog.web;version="1.0.0", com.ibm.ws.eba.example.blog;version="1.0.0" blog-persistence blog-biz blog-web Blog Application blog-api Lists bundles key to application Unique to the application Requiring unique configuration Managed as a single unit Can share common bundles with other applications (not shown) Archive:.eba Blog Persistence Service Blogging Service Advert: BoF on “Application Models for OSGi”, Wed 19:15 Advert: “Composite Bundles -...”, Wed 14:30
Apache Aries – Project Overview OSGi DevCon US 2010 Graham Charters March 22, Future Ideas There are many new application-centric features that Aries may develop including: application isolation message-driven blueprint components and services declarative role-based security for blueprint components annotation-based alternative to XML configuration resource-reference metadata and bindings Interested in giving it a go? Interested in getting involved?
Apache Aries – Project Overview OSGi DevCon US 2010 Graham Charters March 22, Questions?