InfoQ

Interview

OSGi & Spring In-depth with Adrian Colyer

Interview with Adrian Colyer on Jun 07, 2007 10:57 AM

Community
Java
Topics
Application Servers ,
Deployment / Datacenter
Tags
Spring ,
OSGi
Summary
Adrian Colyer goes in-depth on OSGi, its uses, future impact on the industry, and how Spring will make development with OSGi easier. Adrian talks about how OSGi may change the definition of an application server and JSR 277 vs. OSGi. According to Adrian, OSGi is going to change the deployment and run time model for enterprise applications.

Bio
Adrian Colyer is CTO of Interface21 (providers of Spring), the leader of the AspectJ project and a well-known industry expert on AOP. He is a co-author of the book "Eclipse AspectJ : AOP in Eclipse with AspectJ and AJDT," and has also published numerous book chapters, articles and published papers.
Adrian tell us about what you are up to these days?
What is OSGi, where does it come from?
So OSGi is at its heart a micro kernel?
How is OSGi being used today?
What impact could OSGi have on application development?
Why is Spring interested in OSGi? What are you guys going to do with it?
What do Spring and OSGi do?
What does Spring OSGi enabled application to look like? What are the moving parts?
What is there in the areas of testability?
Given that OSGi dynamic, modules can come and go. How does Spring handle a situation if a module goes away?
How do you see enterprise applications using this to build more modularity in their code basis?
Why modularize an app using OSGi bundles versus separate WAR files?
I'm trying to think when within an application would it be a good idea and when wouldn't it be a good idea to do that, to use modules that way? I mean within a trust boundary of a development team? Why would you want to hide the user management sub-system?
Who do you see as being the main users of Spring OSGi?
You know how JBI to an ESB provides a way to plug in separate implementations of different parts, could OSGi provide that to the notion of application server?
How does OSGi change the definition of an application server?
The community seams to be moving away from waiting from this next monolithic J2EE specification that says "here is all the things an application server should have?"If OSGi becomes that popular, could there be the expectation or could become the norm to the kind of assemble your own subset of an application server, where different parts evolve separately like the EJB can evolve separately than the JSP portion, and you also wait for this monolithic umbrella spec anymore.
Could Tomcat become basically the stable base you want and things get added to it?
What's your take on JSR 277 vs. OSGi?
What can you tell us for the future given OSGi?
Adrian, what are your 2 favorite computer books?
show all  show all
java needs a standard kenrel by Bill Burke Posted Jun 11, 2007 8:12 AM
  1. Back to top

    java needs a standard kenrel

    Jun 11, 2007 8:12 AM by Bill Burke

    The Java community really needs a standardized kernel. The kludges and hacks that projects like Seam and Spring have to do to bootstrap themselves in different app server environments is just unacceptable. Although I think OSGi is a great place to define this standardized kernel, there is still a lot that needs to be done though. Specifically, we need an abstraction around defining custom packaging formats, a real deployment API, rather than having to create an RFP specification for each package format. A file/archive abstraction that can deal with exploded, unexploded archives and different archive formats like virtual archives. We also need an aspectized approach to deployment so value-add frameworks can augment existing subsystems like Java EE. I talked a little bit about why these abstractions are important in my blog. The JBoss 5 Deployment Framework is where JBoss is heading and where we want to push OSGi. Bill

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.