Donnerstag, 13. September 2012

GRIDSOLUT's WSO2 Product Startup Script

I have been looking for a solution to embed source snippets within posts for a while yet. Finally I decided to use Gists from GitHub. All gists are git repositories, so they can simply be forked. As an example I want to share with you our startup script for WSO2 products, which I use for test purposes. I think the script is not that complex, so I don't explain it in detail. If you have any questions regarding the script, please drop me a line.

Mittwoch, 5. September 2012

Integration à la Apache (Englisch blurb)

An important challenge for enterprises is to externalize internal services by providing APIs. The reason is that they want to provide access to internal data and processes to their partners and customers. Therefore they create APIs that are published as RESTful Services or Web Services. Often, there is no internal service that can simply be published as an API. In this case the service, which should be published as an API, must be created by an integration of a bunch of existing legacy systems. These systems, however, are very heterogeneous in terms of architecture, technology, and interfaces. Integration frameworks have to face this demands since they may disappear from market otherwise. The Apache Software Foundation hosts two popular projects targeting the integration space: Apache Camel and Apache Synapse. The aim of this article is to show the major communalities and differences of Camel und Synapse from our perspective.

Read the article (in German) to find out more…

Tobias Unger, Jochen Traunecker: Integration à la Apache. In: Java aktuell 4/2012, 23-29.

Montag, 3. September 2012

For those who can’t wait: Multi-tenancy Patterns

As I read in some articles multi-tenancy support in JEE will probably be postponed from JEE7 to JEE8. It’s a pity. From my perspective, multi-tenancy support is an important feature for application development, especially if developing for the cloud. Let me start with a short introduction for those who aren’t familiar with multi-tenancy. The basic idea of multi-tenancy is to share an application or service with many users. The application appears to each user as if he/she is the sole user. This allows Software as a Service (SaaS) providers to exploit economies of scale by offering the same instance of an application to multiple users with near zero incremental costs.

But how can multi-tenancy be achieved? This question reminds me of a paper on multi-tenancy patterns that was written during my time at the University of Stuttgart. In “Combining Different Multi-Tenancy Patterns in Service-Oriented Applications” Ralph Retter, Frank Leymann, Robert Titze and I explore how services in a service-oriented SaaS application can be deployed using different multi-tenancy patterns. We present three basic multi-tenancy patterns: single instance, single configurable instance, and multiple instances. Subsequently we show how the patterns influence customizability, multi-tenant awareness and scalability applications.

When reflecting on the patterns, I recognize, that they can be observed in many systems providing multi-tenancy support today. For example they can be observed in the middleware stack of our partner WSO2 that is shipped with multi-tenancy support out of the box. Don’t get me wrong, the patterns aren’t a replacement for native multi-tenancy support, but I hope they help a little bit to dive into the space of multi-tenancy.

Ralph Mietzner, Tobias Unger, Robert Titze, Frank Leymann: Combining Different Multi-tenancy Patterns in Service-Oriented Applications. EDOC 2009: 131-140.