Skip to content

Archive

Tag: Hamburg

As announced in a previous post the Eclipse Demo Camp Hamburg – Galileo Edition took place in the East Hotel in Hamburg. Organized by Peter and Martin, the event was again an interesting meeting with Eclipse-interested people in a wonderful location. Five presenters introduced Eclipse and OSGi-related topics. Moritz Eysholdt reported about the (Meta)Model Evolutions, he was focusing on during his masters thesis. The interesting part of his solution are two Xtext DSLs for description of the Metamodel changes (EPatch) and model migration algorithms (MetaPatch). Heiko Behrens gave a funny and really good introduction of Xtext and DSLs for not Xtext developers. I really like his examples: these are simple and understanding for everyone. Great job! Marco Mosconi showed some ObjectTeams (black) magic. A very intersting technology using aspect-oriented programming for type-safe framework modifications. Seem to be pretty advanced technology with interesting tooling. Markus Alexander Kuppe had a talk on ECF and RFC 119 and gave some sneak preview of the upcomming features. Finally, I had a short talk on Common Navigator Framework, basically explaining the article posted here and something I documented for Galileo. Here are some visual impressions: my FlickR set and  Peter’s.

EclipseDemoCamp The Galileo Edition of Eclipse is already in the pipeline and the community is happy to celebrate this with a series of events. In Hamburg we do it in two ways – there are Eclipse DemoCamps and Eclipse Stammtisch. This time Peter and Martin managed to put both events together. To make it short:

Hotel East If you want to attend, make sure you find a minute to write you name down in EclipseWiki. I suppose these kind of events is well-known. If you never heard of that – I can only recomend to take part. You will have the opportunity to listen to the talks, to speak with interesting people and get some news from Eclipse Commiters and Users. In the end you usually get some food and bevereges, to make the atmosphere a little more relaxed. The location is a very descend place with wonderfull flair. If you never be there it is worth to visit…

On the 10th of November it was time again: an Eclipse Demo Camp took place in the East Hotel in Hamburg, Germany. This time, the Demo Camp was sponsored by Itemis, it-agile, froglic and of course the Eclipse Foundation. The organisators of the evening were Peter Friese (Itemis) and Martin Lippert (it-agile) who intruduced the presenters.

Harald Wellmann of Innovative Systems GmbH (Harman/Becker Automotive Systems) talked about “Europe on a Disk – Geoprocessing for Car Navigation Systems”. He talked about their usage of Eclipse and OSGi to build the map compiler on top of these and explained different benefits and drawbacks in using this technology. Additionally, he talked about Jump and uDig which is used for displaying maps in the Eclipse Map Processing Toolkit. Apart from the technical point of view, the talk gave an interesting little insight how the maps for our beloved navigational systems are created.

The second talk was given by Gerd Wütherich ( independant consultant) and was about “Spring Dynamic Modules for OSGi Service Platforms”. He demostrated how to use Spring in order to harness the power of OSGis dynamic Java lifecycle in enterprise applications. While presenting he showed some small demos. In his order service example, two persistence services were available and one went “offline”, so the other one jumped in to take over. Once the second service went down too, the application was waiting (with a timeout) until some persistence service was available. As a “a world in a nutshell” this was a great demo of how to use dynamic modules.

After the second talk was a little break with italian food. (Which I did not try, so I will not comment on it, but it looked delicious.)

Miguel Garcia ( TUHH) and Rakesh Prithiviraj were talking about “Rethinking the Architecture of Java ORM in terms of LINQ”. This session basically covered a “what we (Java developers) could learn from .NET” features. As far as I understood, LINQ (Language INtegrated Query) is a query which is translated to a query for a specific natural datasource. Visualö Studio seems to provide good support for these kind of queries including content assist. Java on the other hand seems to struggle to provide as good support. The talk covered ideas of how to get at least close, if not catch up. I honestly do not understand, why such a innovative mechanism as LINQ was not introduced in Java much earlier? ( Slides of the two)

The last talk was given by Stephan Herrmann ( TU Berlin) discussed “Plugin reuse and adaptation with Object Teams: Don’t settle for a compromise!”. This was basically an intruduction to Object Teams, a language extension to Java, which was developed over the past seven-eight years at the TU Berlin. This extension does not only cover the fundamental aspects but supports the complete Eclipse tool support: content assist, debugger and finally, compiler. Object Teams provides something, which Stephan explained as inheritence on object level (instead on on the class level). It provides the ability to modify objects (especially class instances, not classes!) with additional behavior. So, it is possible to adapt classes to change their runtime behavior with so-called Role Classes. On method level, the roles can be applied in a call-in or call-out fashion, depending on when they have to be invoked. From the point of view of software engineering and language design this was a very interesting talk. (For more information refer to ObjectTeams, Slides are online at Slides).

And after the end of this talk, 23:00h had passed (we started at 19:00 o’clock). However, seeing many familiar faces and having a pleasant conversation, together with great presentations made it worth staying up late.

On October 15th to 17th the Workshop on MDSD Today 2008 took place in the Nordakademie Elmshorn near Hamburg. This workshop was actually the sequel to two different workshops which were led by Frank Zimmermann (Nordakademie) and Simon Zambrovski (TUHH) the year before. For this years event, Peter Friese (Itemis) from Itemis joined the two for organizing the Workshop.

MDSDToday

The workshop was divided into three parts: Day 1: Management Day, Day 2: Professional Day (Modeling Projects and Tutorials) and Day 3: Professional Day (Generator Tutorials). (See also MDSD08).

Ed MerksAxel UhlRalf Mueller

The first day was dominated by excellent key-note speeches given by the EMF lead Ed Merks Ph.D. and SAPs Dr. Axel Uhl. Ed was talking about misconceptions in understanding and applying model driven techniques. Axel on the other hand talked about the challenges that still lay on our way and need to be overcome. He discussed for example the different benefits and drawbacks of using different sorts of DSL (e.g. non-textual / textual) with respect to storing them in repositories, merging and refactoring (i.e. general tool-support). Birger Garbe and Stefan Reichert (both Lufthansa Systems consultants) talked about their experiences in applying MDSD in the field. Chances and riscs were explained and how they managed to overcome those riscs. Thomas Stahl of b+m Informatik gave a talk about how MDSD, BPM and SOA fit together, unfortunately he couldn’t give is planned speech “Experiences of 10 years of MDSD”. As one of the authors of the model-driven software development book and with the experience background he has, this would be have been clearly very interesting. The speech he gave instead was also interesting but took little different directions.

The second day was filled with two different tracks one could attend. One covered contributions coming from the fields of research and the industry. And in the other one Ed Merks gave an intro to the Eclipse Modeling Framework (EMF). After that, Ralf Möller of the Eclipse Foundation talked about innovation networks. The afternoon was filled with a tutorial on how to generate graphical editors using the GMF. The tutorial was given by Robert Wloch who jumped in for Jan Köhnlein (both itemis) who unfortunately got sick.

The third and last day was filled with a tutorial on xText, which was given by Peter Friese and Sven Efftinge (both itemis). Later Arno Haase (independant consultant) tought the audience how to do model-to-model and model-to-code transformations.

Nordakademie

Summing up this was a very, very interesting event where the cremé dé la cremé of MDSD gathered and where people had the chance to ask, learn and get to know each other. Not only the speeches and tutorials were very interesting, funny but the overall event had socially a nice friendly touch. Some further pictures can be found in the FlickR gallaery.

The Workshop Proceedings can be obtained at amazon:
Proceedings of the Second Workshop on MDSD Today 2008 (engl.)

Ed Merks new book will be published sometime in the beginning of 2009, here is a link to the “old” (but still good) one:

Eclipse Modeling Framework (engl.)

Also I would like to mention the book by Arno Haase, Markus Völter, Thomas Stahl, Sven Efftinge:

Modellgetriebene Softwareentwicklung ( english version)

JUGHHThe holiday season is over and we can enjoy an event every week. After Maven 2, Eclipse Stammtisch and reasoning on modularity an event on enterprise systems can be visited. It seems that after the last visit on Java EE 5 Hacking Adam want to tell something on Java EE 6 Hacking…

This session will be interactive / openspace like. He will walk through the new EJB 3.1 APIs and explain some interesting stuff as well. It is the logical conduction of the first JUG HH session in May 2008.

Location: Lehmanns Fachbuchhandlung (Hamburg Hauptbahnhof), Kurze Mühren 6, 20095 Hamburg

Date and Time: 16.09.2008, 20:00
Topic: Productive Java EE 6 – Rethinking Best Practices And Bashing On Patterns, Cluster One

Abstract: Java EE 6 is great, but many questions like:

  • Are DAOs dead?
  • Do JSF really suck?
  • Are anemic JPA-entities a best practice?
  • Are XML deployment descriptors legacy?
  • Are EJBs lightweight?
  • How to test EJBs?
  • Is layering an antipattern?
  • Do we need factories?
  • How to integrate with RESTFul services?
  • Is it possible to deploy EJBs into a …WAR?
  • Are “plain old web containers” dead?
  • Services or Objects – what is the way to go?

still remain open. These and many other questions will be discussed interactively with …code.

Speaker: Adam Bien

About the speaker: Java Champion Adam Bien is a self-employed consultant, lecturer, software architect, developer, and author in the enterprise Java sector in Germany who implements Java technology on a large scale. He is also the author of several books and articles on Java and J2EE technology, as well as distributed Java programming. His books include J2EE Patterns, J2EE HotSpots, Java EE 5 Architectures, Enterprise Architectures, Enterprise Java Frameworks, SOA Expert Knowledge, and Struts, all published in German.

As BEA technical director, Bien is also a member of the NetBeans Dream Team; an Expert Group member of the Java Community Process for EJB 3.1, JPA 2.0, and Java EE 6; and involved in embedded Java, Grid, and P2P technology. He currently works as an architect and developer in several J2EE-Java EE Model-Driven Architecture (MDA) and EAI component architecture projects for the Java EE platform and .NET.

OSGi HHOSGi HHOSGi HH

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. 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.

hotel eastThe organizers of the upcoming OSGI event selected a promiment Hamburg’s nightlife location. The location is a evidence of modern design. The entire hotel is equipped with non-standard items in various forms and colors and commemorates on Dali and Gaudi in the same time.

Topic: Why Modularity is Important

When: September 9th, 2008, 19:00 CET, Registration required

Where: East Hotel Hamburg, Simon-von-Utrecht-Strasse 31, 20359 Hamburg / Germany

Abstract: Many developers are finding out that modularity has a significant influence on the development process. But unfortunately, Java has no concept of modularity, all JARs are placed on a linear classpath. Many projects have developed in-house plugin frameworks to achieve some modularity. The OSGi Service Platform is a standards based framework used by many projects. Some of the best known projects that use OSGi are Spring and Eclipse. There are many open source projects and commercial companies that have implemented the specifications: Apache Felix, Knopflerfish, Eclipse Foundation, ProSyst, IBM, Siemens, Hitachi, Samsung, etc. This presentation will analyze the problems with (the lack of) Java modularity and explain how OSGi provides many benefits for the development process as well as make the applications itself easier to maintain and extend.

Author: Peter Kriens