In the last few years, OSGi has become "the" module system for Java - but is OSGi just for gurus, or are mere mortals actually able to use it?
The simple tutorial RESTful server application presented in this talk aims to demonstrate that the average Java developer can actually use OSGi, and greatly benefit from it. It is built from scratch based on a set of standard and custom OSGi services, in a simple and understandable way.
Taking advantage of a number of build plugins and runtime tools provided by the Apache Felix and Apache Sling projects allows us to write little code in our example application, while exposing the advantages of an OSGi-based architecture in a simple and convincing way.
Our walkthrough of the example application will give developers a way to get started with OSGi, without getting bogged in unnecessary details.
In this presentation we would like to introduce and demonstrate Amdatu, a new open source community project that is building an application platform for dynamic composite service oriented applications in the cloud.
The Amdatu Platform consists of a set of enabling services and application layer services and can run on public, private or hybrid (cloud-burst) environments. These services provide the foundation for any application built on the platform and consist of an OSGi framework that is cluster-ready, multi-tenant aware and can be accessed via a comprehensive set of REST based services. Applications can be dynamically assembled, monitored and managed.
The application layer services are available to any application running on the platform and include functionality like software and configuration provisioning, semantic indexing, search and recommendation, authentication and authorization, an open social implementation, extensive user and social network profiling and big data storage.
Amdatu leverages many Apache projects and hopes to join the Apache Incubator in the near future.
Systems which require dynamics and interoperability need a good architecture and clear design principles. OSGi provides this for Java based systems, but for embedded/native systems currently no alternative is available.
To fill this gap, Apache Celix is created. Apache Celix is an implementation of the OSGi specification adapted to C, focussed on embedded and distributed platforms. Celix is a new Apache project currently starting up in the Incubator.
The goal is, to follow the OSGi specification as much as possible, and grow towards an implementation with most of the OSGi Core and Compendium implemented.
To be able to support distributed platforms, the Remote Services from the Enterprise Specification will be implemented. Using Remote Services also makes it possible to create interoperability with Java OSGi.
For distributed systems, deployment/distribution is an important aspect. For OSGi Apache Ace can be used to maintain and manage deployment to multiple targets. This makes Apache Ace a perfect candidate for deployment of Celix Bundles and Artifacts.
This presentation shows how Celix solves the dynamic aspects of OSGi services in C. It will detail differences between the OSGi Specification and the Celix solution.
Deployment of applications based on reusable components in a large network environment can become complicated very quickly. In this session, Jean-Baptise Onofré from Talend will describe how to manage deployment tasks using Apache Karaf and Apache ACE.
Apache Karaf is a flexible, lightweight, enterprise-ready OSGi container that provides a runtime for a wide variety of components, including pure web applications and ESB-oriented services. Karaf's flexible tooling makes it suitable for large-scale deployment, and it supports multiple instances through high-availability and clustering.
Apache ACE is a software distribution framework that provides centralized management of multi-node component deployments.
Jean-Baptise will begin with an introduction to Karaf, covering the Karaf shell and the basics of multiple instance management. Then, he will demonstrate how to use ACE to provision applications running inside Karaf.
OSGi has become a key technology for modularity and this very dynamic platform is the best choice for creating containers as proven by the migration of all JEE servers toward OSGi. However, when it comes to deploying and managing huge deployments of OSGi based applications, the tools available are quite limited. This presentation will give you an overview of a solution for provisioning and configuring distributed OSGi based applications in such environments using Apache Karaf and Apache ZooKeeper.
by Doreen Seider
OSGi brings benefits to Java applications and can even enable software to meet specified requirements. The talk will show how we applied OSGi to develop a telemedicine software for smartphones and desktop systems. This software captures vital signs from medical devices of patients via Bluetooth and sends them to medical expert centers. With this real-world example the talk will illustrate how we used dependency injection with OSGi Declarative Services (DS) to build an easy-to-use plugin and registry mechanism. It will demonstrate how we used the modularity of OSGi to have different deployments for different platforms without rewriting all of the code or how we used loose coupling between components via services to abstract hardware layers like Bluetooth.
In this context the talk will also introduce in general the development of OSGi applications for smartphones using an OSGi stack for mobile systems and the appropriate development environment called mBS mobile. Problems we encountered during development on the different mobile systems will be described. In this context the talk will also introduce in general the development of OSGi applications for smartphones using an OSGi stack for mobile systems and the appropriate development environment called mBS mobile. Problems we encountered during development on the different mobile systems will also be described.
6th–11th November 2011