Simon Zambrovski

"One Cannot Not Communicate" – Watzlawick

Browsing Posts published by Simon

_MG_6980_MG_6976_MG_6978 Yesterday, the second Adam Bien event in Lehmanns Bookstore took place. Again, the event was a full success. I arrived half-an-hour earlier and got a seat only in the tenth row. Adam spoke about new features of EJB 3.1 and Glassfish. He showed examples running on a developer build of Glassfish V3, promising that the features will work without exceptions… Here are some topics, I remember:

  • Singleton Beans: usefull a s a central point of the application, e.G. central cache etc…
  • Async Methods: allows asynchronous execution of time-consuming methods. Especially, it is possible to abort the execution
  • Deploying Beans in WARs: could be helpful for small applications
  • Global JNDI-Namespace
  • No interface view: simplifies the access to beans, if needed
  • EJBCOntainer.getEJBContainer().getContext(): allows external initialization of bean context, which is nice for testing

Later, Adam discussed some Core J2EE patters, that become absolete with EJB 3.1 and others which are still valid. After the talk, I spoke with Adam about the OSGi as a module architecture inside JEE application, which seems interesting to me. The pictures are as usual available in my FlickR Gallery.

OSGi1OSGi2OSGi3

Yesterday, the OSGi session took place in Hotel East in Hamburg. Peter Kriens, the OSGi evangelist showed a wonderful Zen Presentation on OSGi. I wrote a lot during his talk which happens to me very seldom. Here are the core statements I understood:

  • The core difference between usual plugin architectures and OSGi is that OSGi concentrates on collaboration of the components.
  • OSGi delivers a controlled environment, in which the question if a component runs or not can be answered in beforehand.
  • OSGi bundles use metadata (about versions, dependencies, etc) to predict an error, not discover it in runtime.
  • OSGi has a very narrow API containing the minimal common part.
  • OSGi consists of module, life cycle and services layers. The initially developed services layer required smart class loading mechanisms (module layer).
  1. The module layer is desigend to control the class loading machanisms (e.G. structureal class loader hierarchies instead of a linear classpath)
  2. Life cycle layer adds a management API (e.G. inform the others about installation event)
  3. Separation of concerns is promoted by definition of services for different tasks.
  • Services are used for decoupling of system parts (This is a standard application of service-orientation).
  • OSGI makes dependencies explicit (private, import, export)
  • OSGI tries to make the system managable, taking dynamics and lifecycle as fisrst-class citizens
  • OSGI will be extended to support distribution: the team works on policies, SLAs, etc…

I liked the talk and the way how Peter Kriens addressed the problems of OO in big systems. I was confirmed in some ideas about coupling that will be layed out in my thesis. After the presentation we had a delicious meal and wraped up the evening with interesting discussion about pros and contras of OSGi. Peter Friese showed me some remote OSGi staff, he was playing with. The lack of documentation in this area makes it a little difficult, but I hope he will post some news on it. As usual, you can find other pictures in my FlickR gallery.

Innovation Networks Innovation NetworksInnovation Networks

Yesterday, the second Eclipse Stammtisch Hamburg took place. It was nice to see the Hamburger community again. I had the opportunity to speak with Ralph about the activities in consortium and about the innovation netoworks, about German education system and other subjects. It was a very interesting discussion, even it was a non-technical one.  Later, we discussed the xText development with Peter.

As usually the rest of pictures can be found in my flickr gallery.