Wednesday, April 30, 2008

[Misc] Strong Opinions on Freedom

Today I listened to the IT Conversations Podcast: "Eben Moglen on Licensing in the Web 2.0 Era". I must say, that this talk made me thinking. It for sure left me with mixed emotions. Eben was discussing with Tim O'Reilly and I definitly disliked the fact, that he attacked O'Reilly on a quite personal and in my opinion unprofessional level.

Still, there is a point he makes. Eben Moglen is a professor of law at Columbia law school and founder of the Software Freedom Law Center (and working with Richard Stallman). He was recently busy with the GPLv3, and this was part of the discussion. The main point Eben again and again raised was however, that we wasted at least 10 years in discussing "Open Source" and not about discussing freedom. We should talk about patent laws and other regulations in the first place.

I think that there is something to it. I also tried in discussions and publications to focus less on Open Source, but on conditions that make Open Source the right way to go, as Open Source itself is not the issue. I always felt that e.g. protocols are the more important field of discussion and policy than Software actually is. And here is the point where legal policies could also play an important role for freedom (of choice) and lay a proper foundation for non-monopolistic commerce: If we would e.g. have a proper regulation on Office protocols, like defining that only open specified document formats (like used in Open Office) are allowed in public services, this would lead to a pressure to software vendors and to a proper competition on the market and finally also to a rich Open Source scene. Then we would have the freedom of choice, the freedom to use our data and information in any way we want plus it would have positive effects on the Open Source scene, but not the other way round.

Ok, these are my two cents to the topic. To conclude, I think that Eben is definitly making a valid point, even if he decides to use an aggressiv tone in his speech that is not appropriate in my opinion. Listen and decide for yourself.

Tuesday, April 29, 2008

[Pub] Implementing Enterprise Integration Patterns using Open Source Frameworks

Robert Thullner recently finished his excellent master-thesis with the title "Implementing Enterprise Integration Patterns using Open Source Frameworks". In his thesis he is refering to the EI Patterns described by Hohpe and Woolfe. Robert analyses a set of leading OS frameworks in this domain (Mule, Apache ActiveMQ, Service Mix and Camel) for how they implement patterns and how they support developers in implementing EI scenarios using patterns. (Particularly Camel impressed us from the conceptual level and also the ease of use).



He defines a set of scenarios using specific patterns (the figure above shows one of the scenarios) and are implemented with various (combinations) of technologies to evaluate and demonstrate the capabilities of the specific technology or mix of technologies. Finally he categorises the frameworks and gives hints on implementation best-practices.

I don't want to go into details here, but who is interested in Enterprise Integration Patterns and Open Source frameworks might want to download the full thesis here. The sources of his examples can be downloaded as well.

[Tech] Database Migration

I found an interesting project: migrate4j which was introduced at Javalobby today. The idea behind this tool is to leverage the issues that come up when applications are developed using a relational database and the database schema changes between version. I.e., databases at customers or used by other developers have to be modified to the needs of the new version of the software. Probably you even want to downscale again.

The main page of the project already gives a good insight into the functionality of this tool. The idea is to describe "up" and "down" grading steps in Java classes that can be executed within the build automation cycle. Up and down are relative to the current version of the database. So it should be possible to up- and downgrade the database to the desired level automatically when needed.

Very interesting idea, however, I am wondering, why there are not more tools like that around; everyone developing database-applications is fighting with such issues I suppose. Have I overseen such tools? Recommendations?

Wednesday, April 23, 2008

[Conf] IDC SOA Conference

Today I was invited to hold the keynote speach at IDCs SOA conference in Vienna. I was talking about building agile business processes from "decoupled" services. I discussed three different views on aggregation: 
  • A "formal" top-down approach using Standards like BPEL or SCA; this approach typically is process driven
  • Event-driven architectures, which is a rather bottom-up approach (and a very agile and flexible one!)
  • And finally a data-driven approach using "syndication" features and standards, typically following the REST principles (which reminds me, that I want to write something about REST since an eternity...)
If you are interested in my presentation download it from my website.

Friday, April 18, 2008

[Tech] Tech Brief on Mule 2

For few weeks the new major release of the Open Source ESB Mule was released. On TheServerSide Ross Mason, the founder of Mule and CTO of MuleSource gives some statements about the new version. In this tech brief he points out the following issues:
  • Major API changes and improvements
  • Architecture improvements
  • Transports, transformers, Connectors have consistent look and feel
  • Schema-Based Spring XML configuration
  • A REST pack was released with 2.0 hosted on MuleForge
  • Future support for SCA
My impression about the new version is very positiv. It's much cleaner and the new schema based configuration makes Mule configuration an easy task, not least through the XSD support of my XML editor. There is now much work to do in order to migrate some support modues and extensions available on MuleForge.

Wednesday, April 16, 2008

[Conf] Object Database Conference Review


On 13th and 14th of March Berlin saw the ICOODB 2008 i.e. the First International Conference on Object Databases (some pictures here).

Despite several transportation strikes more then 150 registered users were able to listen to the 25 talks at TFH-Berlin. The conference started with the science day on Thursday the 13th. Some of the first speakers have been:

  • Christof Wittig (CEO db4objects Inc.) with a cool Web 2.0 keynote
  • Mice Card from the OMG about database standardization
  • Prof. Subieta presenting his stack based approach to object databases
There has been a hot discussion after all these talks about future directions of object databases. One main question was if new developments should be user driven or standards driven.

The second day (14th) was the application day with talks from:
  • Robert Greene (Vice President Versant Inc.)
  • Leon Gudzenda (CTO Objectivity)
  • Ralf Westphal with two invited talks about Transacional Memory and AmazonDB
  • Carl Rosenberger
  •  Chris Beams (Spring Source)
and many more ...

So as you can see the program didn't just cover object databases: We had talks about LINQ, JPOX, SQL 2003 and even Oracle contributed a lot interesting stuff!

In the next month we finish the proceedings covering the science papers. Those who are interested can order them (by contacting me).

Furthermore we will put in some interesting slides on the webpages in a few weeks.

To conclude: Due to the great visitor response the ICOODB is likely to be continued 2010 and then subsequently every two years at a different location. We are currently negotiation to provide the best place in the world for ICOODB 2010. So stay tuned!

[Pub] Enterprise Service Bus - Concepts

For our German speaking audience: Markus wrote a very good article about Enterprise Service Bus concepts for jaxenter. This article gives a good introduction on ESB concepts, Integration Patterns, Binding, Transformation... the whole program :-)

It is freely available, so...

Wednesday, April 09, 2008

[Misc] Google App Engine

Today I came in contact with a post writing about the Google App Engine.

"[...]Google App Engine is designed for developers who want to run their entire application stack, soup to nuts, on Google resources.[...]"
Focusing on service oriented architecture, this approach can be interesting, because companies can host their services on google and service consumers have a common way to access these services. By using the google platform developers can do the following:
  • Write code once and deploy
    Developers write the code, and Google App Engine takes care of the rest
  • Absorb spikes in traffic
    Automatic replication and load balancing with Google App Engine
  • Easily integrate with other Google services
    Using built-in components provided by Google
The service is now launching in beta and has a number of limitations. The first 10 000 developers will get a committment for development.
"The service is completely free during the beta period, but there are ceilings on usage. Applications cannot use more than 500 MB of total storage, 200 million megacycles/day CPU time, and 10 GB bandwidth (both ways) per day. We’re told this equates to about 5M pageviews/mo for the typical web app. After the beta period, those ceilings will be removed, but developers will need to pay for any overage. Google has not yet set pricing for the service."
At present applications must be written in Python, because Googles infrastructure is based on it.

Update: Christoph wrote us a comment and refered to the Google App Enging Blog as good resource!

Monday, April 07, 2008

[Event] Sustainability and IT

Today, on Monday 7, we invite to an event at the Austrian Computer Society with the topic "Sustainability and IT", the rest of this posting is in German, so is the event:

Ich möchte alle Mitglieder des Open Source Arbeitskreises der OCG sowie alle anderen Interessenten und Spätentschlossene (!) zu folgender Veranstaltung Einladen:

Heute, am Montag den 7. April (!) 2008, 16:30

Zemanek Saal der Österreichischen Computer Gesellschaft (OCG)

Wollzeile 1-3, 1010 Wien

"Nachhaltigkeit und IT - Eine Neuorientierung"?

Folgende Programmpunkte sind geplant:
  • Alexander Schatten: Einführung zur Veranstaltung, und Idee der Neuorientierung des Arbeitskreises
  • DI Friedrich Schmoll (Umweltbundesamt): "Green IT---Nur ein Marketingschlagwort?"
  • DI Georg Meixner (IBM): "IT-Nachaltigkeit und Kosten"
  • Diskussion mit den Vortragenden
  • Diskussion über zukünftige Aktivitäten und OCG Arbeitskreis-Ausrichtung
Für alle weiteren Vorschläge bin ich natürlich offen, bitte entweder hier diskutieren, oder persönlich per Email an mich. Weitere Details auch im neuen Blog: Forum Nachhaltigkeit.

Thursday, April 03, 2008

[Pub] Open Source ESB Mule

In the current issue of the Java Magazin I published my second article focusing on Enterprise Service Bus. This article illustrates the concepts and basic functionalities of an ESB based on the Open Source ESB Mule. In order to make the illustration more manifest I (supported by Werner Guttmann) implemented a prototyp with Active MQ, JBPM and Mule. A description and a download of the prototyp is available here.

Mule ESB is one of the most used Open Source integration platform in the Java community. This article describes the major components of Mule, such as:
  • Mule Architecture and the programing model of Mule
  • Service Components (alias Universal Message Objects)
  • Endpoints, Routers, Filters
  • Available Transports and how a transport is organised
On March 31, Mulesource announced the major Mule 2.0 release. The new version of Mule comes with a complete new schema-basd configuration style based on Spring 2.x (Enxtensible XML Authoring). Configuration should be easier as before.

As Mule 2.0 uses Spring as default configuration mechanism Mule user can also use Spring cababilities without thoughts, like:
  • Spring AOP
  • Springs transaction management
  • Resource handling of Spring
  • and many other features (DI, ...)
A full list of what is new in Mule 2.0 can be found here. At present many extensions around Mule, available on Muleforge, will be updated to Mule 2.0. After updating the prototyp on Mule 2.0 I will write an extra blog with my impressions about the new version. So for this time, I'll suggest to download the prototyp and see the power of Mule.