Sessions & Tutorials Wednesday

JAX London 2010

 

Enterprise OSGi in WebSphere and Apache Aries

Ian Robinson IBM

29.09.2010 | 09:10 - 10:00

This session will describe the challenges faced by many complex enterprise Java projects and looks at how OSGi helps to simplify both development and operational aspects of these projects using Apache Aries technology and emerging tools for Enterprise OSGi development. Uniquely, this session will also look at how the integration of Apache Aries components with IBM's WebSphere Application Server enables enterprise OSGi applications to be deployed and managed alongside existing Java EE applications using common tools, runtime and administrative processes.

Experiences with OSGi in industrial applications

Bernhard Dorninger Software Competence Center Hagenberg

29.09.2010 | 09:10 - 09:30

At the SCCH, we have been utilizing OSGi as a base for various projects since 2003. The range of application spans from high availability systems in the steel industry to a vehicle data collector/transmitter on an Embedded Java (CDC) platform. I will present the needs and requirements, which have driven us to utilize OSGi as well as experiences gained from these projects, covering every phase in the software lifecycle, from design, implementation and deployment to productive operation and maintenance at the customer’s site. Particular attention is paid to the appropriateness of OSGi for high availability requirements.

Using OSGi for the Realization of Home Automation Systems

Dimitar Valtchev ProSyst Software

29.09.2010 | 09:40 - 10:00

OSGi has long history in the residential area and the recent acceptance of OSGi by organizations like BBF, HGI, and UPnP has enormously pushed its usage in home gateways and intelligent home control panels. The home automation services are among the most appealing services which can be offered on OSGi enabled boxes. This presentation explains: -why OSGi is suitable for the realization of home automation systems; -how the numerous existing home protocols (UPnP, Zigbee, Z-Wafe, etc.) can be supported in a convenient way; -how home automation GUIs for desktops and mobile devices can be build; -how home automation systems can be remotely managed. The topic is important because: - there are many home automation systems currently under development and their develops are looking for guidance in addressing the issues mentioned above; -if the OSGi community openly discuss and agree on a common approach for building home automation system, this will significantly improve the interoperability of the systems and the re-usability of their components. What can someone expect to take away from the presentation? -good understanding about the existing OSGi related technologies in home automation area; -a reference architecture for building such systems. What makes your presentation unique? -good knowledge of the ongoing standardization efforts in this area; -personal involvement in many real home automation projects; -successful OSGi productization work.

Rapid Bundle Development with Bndtools for Eclipse

Neil Bartlett Weigle Wilczek UK

29.09.2010 | 10:30 - 10:50

Bndtools is an Eclipse-based development environment for OSGi bundles and applications that focuses on ease of use, rapid development and encouraging OSGi best practices. It is based on Bnd, the popular bundle builder tool developed by Peter Kriens. In this talk, Neil will demonstrate the unique features of Bndtools while live-coding a complete, end-to-end OSGi web application.

Case study report on i-House experiments using intermediate service platform based on OSGi technology

Takefumi Yamazaki NTT Cyber Solutions Laboratories

29.09.2010 | 10:30 - 10:50

In this presentation, case studies on building various kinds of home networking services on OSGi-based home gateway are introduced. The intermediate service platform for home networking services, including OSGi service aggregation platform (OSAP) enables users to subscribe to new home networking services flexibly and easily. We evaluated the effectiveness of this platform on the real house facility "i-house" for experimental studies. This study was conducted based on the support of the national RD project, organized by Ministry of internal affairs and communications, Japan.

Predictability vs. Dynamism: managing dynamic real-time applications

Walter Rudametkin

29.09.2010 | 11:00 - 11:30

Dynamic adaptive behaviour and real-time execution are new requirements of modern software. While the former primes for flexibility and unforeseen modifications in the environment at runtime, the latter concerns predictability and determinism of application’s deadlines (i. e. hard real-time) and homogeneous response times (i. e. soft real-time). Several solutions for dealing with both aspects separately have been fairly recently developed for the Java platform. Gradually, more and more Java applications have been migrating to the OSGi framework, due to its flexibility and dynamism. However, due to the popularization of solutions such as RTSJ in the world of real-time programming, some of these applications have real-time requirements and the dynamism offered by the OSGi platform is a factor that may compromise the deterministic behaviour of the application. In this presentation, we analyzed the impact of dynamism provided by the OSGi platform against predictability needed by real- time Java applications. We also suggest approaches such as architecture freezing and the usage of SLA extensions in order to take into account real-time requirements. The approaches are demonstrated using the Real-time Java System from Sun, and Felix and iPOJO from the Apache community. Finally, we hint on possible evolutions of the OSGi platform in order to run a mix of real-time and non real-time applications simultaneously.

OSGi and Android

Andy Piper Oracle Corp.

29.09.2010 | 11:00 - 11:30

Android holds the promise of an open source, Linux/Java based software stack, and various experiments have proved successful in demonstrating that OSGi can run in such an environment. But what does this mean in practice when you start trying to use the platform in earnest to run real-world java applications? In this talk we describe some of our experiences in running a full OSGi-based server on an Android phone, the good, the bad and especially the ugly. For Android is not as truly open as it purports to be, nor is it as flexible as its Linux/Java heritage could allow. This presentation, based on real-world experience, will open up the pitfalls of OSGi development on Android as well as highlighting some of the features of OSGi that make such development even possible. At the end you should have a good idea of the Java-capabilities of the Android platform and whether it is ready for more demanding Java-based applications.

Enterprise Platform Over OSGi: Migration Diary

Katya Todorova SAP

29.09.2010 | 11:30 - 12:20

Got a legacy Enterprise Platform you plan moving to OSGi? Join the club. OSGi is cool in lots of ways and the best thing is that it is a standard. Migrating your proprietary enterprise platform to the new technology is a very appealing idea too. What it certainly is not – a piece of cake. Application server providers have a long path behind creating proprietary component models, lifecycle, packaging and provisioning. Along with the obvious challenges such as backward compatibility and runtime environment specifics, there can be various impediments hidden down the road. Early discovery of those obstacles can save you tons of troubles and ensure a smooth ride. Join this session where we will open up our migration diary.

OSGi ME - An OSGi Profile for Embedded Devices

Andre Bottaro Orange Labs

29.09.2010 | 11:30 - 12:20

What is the talk about: OSGi technology is a reference for flexible software on home devices. The technology has become the basis for home gateway prototypes in labs around the world. Standardization bodies, e.g., Broadband Forum and UPnP Forum, are shaping their specifications targeting software modularity and openness to third parties according to OSGi model. However, home devices are not OSGi yet. The talk is about an OSGi Profile for Embedded Devices, named OSGi ME. It describes use cases in the home environment calling for the profiling of OSGi specification to the embedded world. The speakers deliver hints on the implementation and the first lessons they have learnt.
Why is the talk important
New applications in the home – energy efficiency, digital home – emphasize the need for ICT players to make their software architecture flexible enough to accelerate time to market of new services and to open their home boxes to third party applications. OSGi technology has appealing advantages that only partly fullfill technical requirements. OSGi ME goes through necessary enhancements and drawback removals to adapt the deployments of modules to cost effective markets: robustness of software, tiny footprint, download policy related to embedded industry business models. The speakers give technical hints to implement OSGi ME features like Java ME CLDC compatibility, code sharing and isolation mechanisms without user-defined class loaders, transactional deployments, stale reference detection. Thanks to OSGi ME, attendees will foresee embedded applications delivered with more guarantees on embedded devices where costs do matter.

The Long And Winding Road...

Jim Colson IBM

29.09.2010 | 13:30 - 14:20

Jim will discuss the long and winding road of OSGi's role in end to end middleware and where that road may lead in the future.

SOA Flexibility with OSGi Remote Services and the Service Component Architecture

Graham Charters IBM

29.09.2010 | 14:35 - 15:25

OSGi V4 R4.2 introduced the Remote Services specifications which, for the first time, gave a standard way to describe the distribution of OSGi services. The design took a simple 'light touch' approach which meant that Remote Services implementations could embrace a wide variety of existing distribution technologies. In parallel, OASIS has been developing the Service Component Architecture (SCA) specifications. SCA provides a heterogeneous SOA programming model which spans an extensible number of implementation technologies (EJB, BPEL, C++, COBOL), bindings (Web services, JMS, IIOP, etc.) and policy languages (WS-Policy, etc). With SCA, you can assemble and re-assemble existing applications and assets, and mix in new implementation assets, improving re-use and flexibility to changing business needs. This presentation will give an introduction to the OSGi Remote Services and Service Component Architecture technologies. It will describe how the two can be combined allowing OSGi applications using Remote Services to exploit the variety of SCA implementation technologies, bindings and the policy framework. It will then give a demonstration of the combination in practice using a number of open source project, including Apache Aries and Apache Tuscany.

OSGi & Private Clouds

David Savage Paremus Ltd

29.09.2010 | 14:35 - 15:25

This talk will discuss the benefits and challenges of using OSGi in Private Cloud environments. Private Clouds are increasingly being adopted by organisations to provide scalability and to rapidly respond to business needs. A demonstration will be provided based on the Paremus Service Fabric showing how an enterprise application can be deployed, upgraded and managed in this environment. Also showcased will be some of the advanced capabilities made possible by OSGi in the Cloud. Attendees should have a basic knowledge of OSGi to get the most out of this session.

Migration from Java EE Application Server to Server-side OSGi for Process Management and Event Handling

Gerd Kachel kachel GmbH

29.09.2010 | 15:50 - 16:40

With the transition from Java EE to server side OSGi we tackled two problem spaces. At first, the migration of a Java EE based product (Ginger) for process management and for event handling to a product (Roots) based on an OSGi platform (Equinox). Secondly, the migration of existing customer applications from the Java EE based product to the OSGI-based product. To reduce the risk of a big bang a stepwise approach is chosen. The major steps are: Wrapping the Java EE product to run in the OSGi system, and re-engineering step by step single modules of the old system to OSGi. Technical focus is set on bundle and service architecture, distributed processing, web components, and event processing. A distinction is made between pure OSGI-features and Equinox add-on. The lesson learned will be presented which include: benefits and drawbacks of server-side OSGi, migration patterns, and finally re- engineering costs. Finally, from the experiences made a wish-list is stated for the future direction of OSGi.

Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence

David Whitmarsh Independent

29.09.2010 | 15:50 - 16:10

An overview of the technical architecture of a system that provides various application services around trades and positions for the post trade services area of an investment bank. The novelty of the architecture lies in the deployment of the Oracle Coherence data grid nodes within OSGi containers. This allows greater flexibility in the management and deployment of services and data models, and a less disruptive means of upgrading data models and services than is possible without the use of OSGi.

A crash course in OSGi application development

Timothy Ward IBM

29.09.2010 | 16:20 - 16:40

The new OSGi Alliance Enterprise Specifications release provides definitions and guidance for a number of enterprise technologies, and has led to a sudden growth in the number of runtimes offering an OSGi container such as Apache Aries, IBM's WebSphere Application Server, Oracle GlassFish Server, Eclipse Virgo and many others. The presenter will use his experience as an OSGi Enterprise Expert Group member and as an Apache Aries committer to provide an overview of the new OSGi standards that are brought together by the Apache Aries project. They will then be combined in a lightning-fast demonstration to produce a working OSGi application, complete with enterprise-level managed transactions and container managed JPA.

Automated Semantic Versioning for OSGi Bundles

Premek Brada University of West Bohemia

29.09.2010 | 16:50 - 17:10

The OSGi resolver relies on correctly set version numbers for packages and bundles, to determine their compatibility for wiring. We have researched a method to automatically create version identifiers of exported packages based on their subtyping comparison. This talk reports on our toolset (standalone webservice and Apache ACE integration, under development) which uses this method to assign bundle metadata which provably follow the policy set forth in the recent Semantic Versioning whitepaper.

Arum DataEye - evolution of a modular rich internet application

Christopher Brind Freelancer

29.09.2010 | 16:50 - 17:10

This session describes the initial architecture of the Arum DataEye product (a management information dashboard for the Credit Management and Collections industry) and how it has evolved to the product it is today. From a web app with JEE dependencies using an embedded Equinox container, to a set of 'pure' OSGi bundles that can be deployed in to any OSGi container or wrapped in a WAR file for deployment to an app server. The session describes the mistakes of an OSGi novice (me) and the improvements made as that novice gains experience and it describes how OSGi remains flexible and robust even while making architectural changes. It shows (but does not focus on in detail) how to create a modular web application using OSGi and Flex / Flash.

OSGi and Terracotta: replication of states for clustered services.

Anthony Gelibert Adele (Laboratoire d’Informatique de Grenoble)

29.09.2010 | 17:20 - 17:40

Terracotta is a solution for clusterizing applications across JVMs. It enables the replication of the state of Java class instances across several distributed virtual machines. Terracotta is not only popular for dependable Java platforms but also for distributing software that was originally designed in a centralized way. Transparent distribution is obtained by run-time bytecode injection, which is configured through an XML file. One of the numerous services provided is the distribution of objects across multiple virtual machines (DSO). Thus, an object is replicated on all the VMs, and the modifications on its value are propagated. We use Terracotta to replicate the internal state of an OSGi bundle across JVMs. We have designed a set of Java annotations for specifying replication metadata directly in the source code. They allow the definition of shared fields, distributed methods, classes to instrument, etc. With these annotations, a processor relying on APT generates a usable configuration file. Terracotta can be used even for bundles that use the service-oriented component model, iPOJO. We have validated our container with several scenarios, illustrating different ways to use DSO in the context of existing OSGi projects. Currently, we are working on techniques, for applying distributed updates of replicated bundles at run time. To summarize, the problem is to maintain the coherency of the whole application when an update cannot be applicated on all the VMs. This presentation will include two short demonstrations showing Terracotta and iPOJO.

Eclipse Virgo Update

Glyn Normington SpringSource

29.09.2010 | 17:20 - 17:40

The Eclipse Virgo project is approaching its first release as a kernel-based application server built from the ground up on OSGi and supporting sophisticated OSGi applications. The session will cover why you would use Virgo, what it can do, where it's got to, and how you can get started.

Dependencies, dependencies, dependencies!

Marcel Offermans Luminis Technologies

29.09.2010 | 20:00 - 21:30

Not only does OSGi allow you to modularize your codebase, it also enables you to build highly dynamic applications. That means that often you have to deploy certain components together to create a working subsystem. It also means that components can have lots of different dependencies on other components, services or even resources and configuration data. Managing all of these is not trivial, but crucial if you want to end up with a system that's easy to deploy and upgrade. By applying the right design patterns and using libraries that help you declaratively specify dependencies, you can quickly create applications that are loosely coupled by services and have qualities like substitutability and scalability. During the tutorial, hands on excercises will illustrate the different patterns and demonstrate how to build robust components that can deal with all the dynamics that OSGi will throw at it. In the end you will have learned how to build on OSGi using much higher level primitives than the ServiceTracker and ServiceListener that the specification provides.

 
css based on YAML 3.0.4