Skip to main content.

Articles

Below you can find a list of all articles I have published so far. Most of them cover topics around Enterprise Java (Java EE), patterns and architectures for software design, web services, Apache Axis or Struts. All articles were written in German language, but there is a short abstract and a list of keywords for every article. Most of my future articles will be written in English.

"Qual der Wahl"

Comparison of Java Web service frameworks

Over time the increasing use of Web service technology has resulted in a surprising number of frameworks, which try to simply the task of developing Web service applications. Once again developers face the decision, which framework they should use. This article compares some of the most popular Web service frameworks and highlights their features and differences.

Keywords: Web service frameworks, Metro, Apache Axis2, Apache CXF, Spring-WS

Issue 02/2008

"Grau ist (fast) alle Theorie"

Creating domain models using Color Modelling

While technologies seem to involve and improve ever faster and faster, fundamental theories, methodologies and approaches tend to be applicable much longer. The analysis technique of Color Modelling was introduced about ten years ago. And while some consider it old-fashioned, its fans are still using it for the creation of domain models - and they rave about it. This article introduces the fundamentels of the approach.

Keywords: Color Modelling, domain-driven design

Issue 12/2007

"Eins, zwei, Zauberei"

Introducing the Eclipse plugins that come with the Axis2 framework

Recently the Axis2 team released version 1.2 of the popular Web service framework. It contains numerous enhancements, bug fixes and new features. As part of these efforts the two Eclipse plugins that come with the framework were updated as well. This article demonstrates how these plugins can help developers when using the Axis2 code generator and with the creation service archives.

Keywords: Axis2, Eclipse, plugins

Issue 02/2007

"Seriöse Dienste: Zuverlässig mit neuen Spezifikationen"

Adding quality to your services: important specifications in the WS-* world

Initially many aspects like security, transactions and reliability, which are very important for business applications, were hard to implement when using Web Services, because there were no standards. Using WS-Policy, Ws-Security, WS-ReliableMessaging and WS-Addressing most of these features can now be added to existing and new applications. This article discusses the fundamentals of these specifications.

Keywords: WS-Policy, WS-Reliable Messaging, WS-Addressing

Issue 01/2007

"Baukastenprinzip: Web Services mit Apache Axis2 (Teil 3)"

Developing Web service applications with Apache Axis2 (Part 3)

It goes without saying that a modern Web service framework needs to have support at least for the most important standards and specifications in the Web services world. Axis2 is no exception, and besides supporting the most fundamental SOAP 1.1/1.2 and WSDL 1.1/2.0, there's built-in support for WS-Addressing, too. Implementations for WS-Security and WS-ReliableMessaging were done in parallel Web service projects at Apache, and are now available as extension modules for Axis2. In this issue, we'll have a look at these technologies and how they can be used with Axis2

Keywords: Axis2, modules, WS-Security, WS-Addressing, WS-ReliableMessaging

Issue 12/2006

"Zukunftssicher: Web Services mit Apache Axis2 (Teil 2)"

Developing Web service applications with Apache Axis2 (Part 2)

The second part of this article series explains the internal architecture of Apache Axis2, how messages are processed and how the framework's core, the Axis Engine, works. Along the way, we'll look at the numerous new features and enhancements in comparison to the predecessor Axis 1.x. Another important topic is the extendability of Axis2. We'll see how message handlers have become more flexible, and why some of the new features were neccessary to support important Web service specifications.

Keywords: Axis2, handlers, phases, flows, modules

Issue 11/2006

"Wie man sich bettet...: Web Services mit Apache Axis2 (Teil 1)"

Developing Web service applications with Apache Axis2 (Part 1)

Compared to its predecessor, Apache Axis2 contains numerous enhancements and new features, which simplify development and which are important for the use of web services in real-world business scenarios. This series of articles introduces some of these new features. The first part discusses the development and deployment of services, as well as synchronous and asynchronous clients using new Eclipse plugins that are available with Axis2.

Keywords: Axis2, code generation, Contract First, asynchronous communication, Eclipse plugins

Issue 10/2006

"Spring Time: Lose gekoppelte Anwendungen mit Axis und Spring"

Loosely coupled applications with Axis and Spring

The requirements of today's software solutions are changing very frequently. Therefore it's a crucial goal for all development teams to create applications that are as extensible and flexible as possible. Of course, this also applies to web service applications. This article explains how web service interfaces can be adapted to new message types in a very flexible way, using a combination of Spring and Apache Axis

Keywords: Axis, Spring, loosely coupled applications

Issue 06/2006

"Apache Axis für Fortgeschrittene"

Advanced Apache Axis

The official documentation of Apache Axis just scratches the surface, and thus many developers are not aware of the variety of things that can be done with it. This article targets developers who already gained some experience with Axis before and want to learn more about the flexibility and extendability this framework offers. The reader will learn how Axis can be configured to process and produce different SOAP message styles, what message services are and when they should be used, and the concept of providers. Finally, advanced usage scenarios for message handlers will be discussed.

Keywords: Axis, SOAP message styles, providers, message services, advanced handlers

Issue 01/2006

"Einfach unbeschreiblich?"

Web service interoperability between Java and .NET, part 4: Interoperable WSDLs

In the first three articles of this series it was underlined that using the "Contract First" approach is an important prerequisite for implementing interoperable web service applications. With this approach, the creation of one or more XML schema(s) and a WSDL document are the initial steps of development, as opposed to the implementation of the service and its service interface. However, the creation of WSDL documents is not a simple task. Using a practical example, this article describes how this can be accomplished and how to create a simple .NET-Client from any given WSDL document.

Keywords: Contract First approach, XML Schema, WSDL, interoperability, .NET, Apache Axis, WSCF

Issue 01/2006

"Ausnahmeerscheinungen"

Web service interoperability between Java and .NET, part 3: SOAP Faults & Exceptions

While the first two articles of this series on Web service interoperability dealt with security, this issue covers a completely different but equally important topic: the transmission of information on faults that occured and how this information can be processed using application-specific exceptions.

Keywords: SOAP faults, exceptions, interoperability, .NET, Apache Axis

Issue 12/2005

"Zertifizierte Sicherheit - ganz einfach?"

Web service interoperability between Java and .NET, part 2: Encryption and digital signatures

In the first part of this series an example Web service project was introduced by means of which we demonstrate the interoperability of WS-Security implementations between the Java platform and .NET. The the Java platform is represented by the Apache projects Axis and WSS4J, on the .NET platform WSE (Web Service Enhancements) is used. So far, we only covered a very small part of WS-Security, the so-called UsernameToken. With this one alone we had to deal with plenty complications already. In a second step, we now want to use two more sophisticated features of WS-Security: the encryption of messages and digital signatures. And that's when complications really start... Beispielcode herunterladen

Keywords: WS-Security, interoperability, Apache WSS4J, .NET, Apache Axis, encryption, digital signatures

Issue 11/2005

"Mit Sicherheit ein gutes Gefühl"

Web service interoperability between Java and .NET, part 1: Sending username and password

The interoperability of Web service frameworks and platforms is very often the reason for controversial discussions. This is not without reason: while it's commonly agreed that using technologies like SOAP and WSDL a more or less arbitrary interoperability can be established in theory, developers struggle all too often in practice. In this new article series we'll demonstrate the current state of interoperability between the Java and .NET platforms based on real-life scenarios and show plenty of tips and tricks on how interoperability can be achieved. In this first part we start with WS-Security. Download sample code

Keywords: WS-Security, interoperability, Apache WSS4J, .NET, Apache Axis, UsernameToken

Issue 10/2005

"SOAP-Framework der dritten Generation - Axis 2 Entwickler im Gespräch" (read online)

An interview with the developers Apache Axis 2

There are plenty of reasons for developing a new version of Apache Axis. For example, Axis 1.x was implemented mainly with request-response communication in mind, and realizing alternative message exchange patterns is either quite complicated or not possbile at all with the old version. Furthermore it's still quite obvious that Axis 1.x was originally developed with a focus on the SOAP message format RPC/encoded. Axis 2 will have much better support for document-based communication. Other important reasons are insufficient support for asynchronous communication in Axis 1.x, performance issues and some new specifications like WSDL 2.0 that need to be implemented. That's why it came as no suprise that both sessions on Axis 2 at this year's ApacheCon Europe conference were very well attended. During the conference I interviewed three of the core developers of Axis 2: Eran Chinthaka, Chathura Herath and Ajith Ranabahu.

Keywords: Apache Axis 2

Issue 10/2005

"Contract First: schnittstellenbasierte Entwicklung von Web Service-Anwendungen"

Improving interoperability of web services through an interface-based development approach

There's no doubt: Web service technology managed to make the step from hype to reality. Many well-known businesses offer interfaces to their services in the internet today and at the same time Web services are used in many companies to integrate heterogenous intranet applications and platforms. However, achieving best possible interoperability still seems to be one of the biggest challenges when developing web service applications. Quite often, this is caused by the overall development approach that is used. This articles describes the "Contract First" approach and a way to safely sail around most interoperability issues.

Keywords: web services, interoperability, WS-I, Basic Profile, XML-Schema, WSDL, Apache Axis

Issue 6/2005

"Web Services weiter im Vormarsch" (PDF)

Web service trends for 2005

The past year brought the final breakthrough for Web service technology. After quite a long time of general hesitation to use new technologies, which was partly caused by economical weakness, Web services are now applied successfully in many projects. This is proved by the many case studies in the program of this year's OOP conference, which was held in Munich in January. This trend will definitely continue. Read in this article about web service trends for 2005.

Keywords: Web Services, trends for 2005

Issue 3/2005

"Achsen-Macht"

Advanced Apache Axis: complex data types, serialisation, type mapping etc.

Afer we showed in the last article how simple web services can be implemented and deployed using Apache Axis, this article deals with the development of a more complex service. In this context, you'll learn how components called (de)serializers are responsible for converting information between Java datatypes and XML. Finally, the article describes the tools contained in the Axis distribution, some of which can be used to monitor SOAP communication and thus are very helpful to analyse bugs.

Keywords: complex data types, (de)serialisation, type mapping, TCPMonitor, SOAPMonitor

Issue 7/2004

"Die Achse des Guten"

Introduction to programming web service applications using Apache Axis

In this pre-print of the book "Java Web Services mit Apache Axis" the authors introduce the Apache Axis project and tell you a bit about its history. Furthermore, it is demonstrated how easy it is to implement web services using Axis and how these can be integrated into your own applications.

Keywords: Axis features, installation, first steps, service deployment, implementation of services and clients

Issue 7/2004

"Das Runde muss ins Eckige"

Developing a persistence layer for a football betting game with JDO

After the past two articles of this series dealt with architecure decisions and the realisation of the presentation logic, this time we'll discuss the recurring question which technology should be used to manage the object-relational mapping for accessing the database. This article introduces the most important and popular alternatives and explains the realisation for the betting games based on the chosen technologie.

Keywords: persistence strategies, JDO, JDBC, EJB, Eclipse, JFaceDBC

Issue 6/2004

"Das nächste Spiel ist immer das schwerste"

Developing a presentation logic for a football betting game with Apache Struts

The next match is always the hardest - that's even true if you don't have to play yourself but just have to bet on the final result. At least the organisational effort for managing a betting game can be reduced by developing a betting game application. Afer we created use cases for our betting web application, derived a first draft for an Entity Relationship diagram and made fundamental architure decisions in the first part of this series, we'll create take a closer look on our application's presentation logic this month.

Keywords: MVC, Struts, JSP, servlets, tag libraries, Business Delegate pattern

Issue 5/2004

"Der Ball ist rund"

Architectural considerations on programming a football betting game as a Java web application

The European Football Championship is just around the corner and millions of German national trainers are discussing how many goals our team will score against the Netherlands. Because everybody believes in a different result and because you can never know before what's gonna happen, betting games are so incredibly popular. So it's high time to implement one yourself, isn't it? And, believe it or not, you can learn a lot about J2EE and architural patterns by doing it!

Keywords: UML, use cases, ER diagrams, J2EE patterns, software architecture

Issue 4/2004

"WS-Security mit Apache Axis"

Using WS-Security with Apache Axis

Following the article "Web Services? Aber sicher!" which explained the fundamentals of WS-Security in theory, it's now time to demonstrate the implementation of WS-Security based on a practical example. The following article is an excerpt pre-print of a chapter "Secure Web Services" from the book "Java Web Services mit Apache Axis", which is currently written by Thilo Frotscher together with three other authors. For a better understanding of the examples, readers are expected to have some experience with message handlers.

Keywords: Apache Axis, WS-Security, message handlers, VeriSign TSIK

Issue 1/2004

"Web Services? Aber sicher!"

Securing web service applications with WS-Security

While the development of web service technology is progressing very fast in general, a very important topic remained unsettled for a long time: security. In the past, missing security standards were quoted frequently as the main reason for postponing web service projects. But now there's WS-Security and this article introduces you to the key concepts of this new specification.

Keywords: cryptography, WS-Security, XML Encryption, XML Signature

Issue 9/2003

"UDDI kritisch beleuchtet"

A critical look on UDDI

UDDI is know as one of three cornerstones of web service architectures, the other two being SOAP and WSDL. However, UDDI didn't get a quarter as much of attention as the other technologies so far. What is the reason for this? And what exactly is UDDI anyway? Find out in this article.

Keywords: Universal Business Registry, UDDI data model, UDDI APIs. UDDI4J, WS-Inspection

Issue 3/2003

"Komposition von Web Services mit WSFL"

Describing web service workflows with WSFL

Current web service applications are mostly dealing with simple interactions only, like using information services or invoking more or less atomic operations. But web service technology can only grow up if there is a means to implement complex business processes with it. WSFL helps to define such processes as a composition of multiple web services.

Keywords: modelling business processes, orchestration, Flow Model, Global Model, recursive composition

Issue 1/2002

"Java Web Start - Javas Rückkehr auf die Clients?"

Java Web Start: Java’s comeback on the clients?

After lots of disappoint about the poor performance of Swing applications and the problems that arose with the use of applets, there was a long time of resignation when it came to using Java on the client. Instead, web-based applications have been the taken over the desktops. After performance issues were largely reduced in Java 1.3, there's a new technology now called Java Web Start that has the potential to leverage a comeback for Java on the clients.

Keywords: software deployment, thin clients, fat clients, automatic updates, JNLP

Issue 6/2001

"XML-Kommunikation in Java mit SOAP"

An introduction to the SOAP protocol

Distributed objects and applications can now communicate with each other regardless of platforms or implementation languages and technologies, and even through firewalls. How is that possible? With SOAP!

Keywords: motivation for SOAP, protocol details (SOAP Header, SOAP Body), examples

Issue 2/2001

...and also some articles for c't and microsoft system journal.