Projects page Use links bellow to navigate through my projects

Overview CSS EnClipse Twister CPU C5 DreBa Argus AMS

bottom corner

^ TOP Overview Here are the most important projects to which i have contributed during my professional career:

Year Project Description Technologies and Tools
2005- Crefosystem J2EE Application, Customer Enquiry System J2EE, MDA, Hibernate, Maven
2005-2006 CEB Custom Eclipse Builder OpenSource, ANT, Eclipse
2004-2005 CSS J2EE Application, Mobile Payment J2EE, XML, EJB, JMS, WebLogic
2004-2005 EnClipse Company Customized Eclipse Builder ANT, Eclipse
2004 OpenDTE Framework for massive parallel tests OpenSource, C, Java, HTTP
2000-2004 Twister Application Server J2EE, CORBA, EJB, JTA, JDBC, JMS
1998-2000 CPU C5 Advisory and Processing System WinAPI, DB2, Oracle, Scripting
1998 DreBA Building Loan Agreement System STL, zApp
1997-1999 Argus Credit Rating and Scoring System WinAPI, ODBC
1996 AMS Attendee Management System Access, VB, SQL


^ TOP Clearing and Settlement System The Clearing and Settlement System supports clearing and settlement of fees and funds between Mobile Merchant Acquirer and Mobile Payment Issuer. CSS is a J2EE application running on the WebLogic 8.3 application server. Within of this project I covered following implementation tasks:

^ TOP File Connector The File Connector is a resource adapter specific implementation of the J2EE Connector API. It provides interface to access and manipulate particular files on different file systems from an application running within of an application server.

Responsibility design, implementation, documentation, test, integration
OS Linux, AIX 5.2, Solaris 2.9, WinXP
Technologies & Tools Java, J2EE 1.4, JCA 1.0, WebLogic8.1, XDoclet, Ant, Eclipse, JUnit

^ TOP Cycle Management Service The CMS is a fundamental component of the Clearing and Settlement System. The CMS is intended to manage the entire business flow of a cycle. It provides a set of methods to release an action and to register any activities on a cycle. Additionally, the CMS offers a couple of methods to retrieve information concerning a particular cycle.

Responsibility architecture, design, implementation, documentation, test
OS Linux, AIX 5.2, Solaris 2.9, WinXP
Technologies&Tools Java, J2EE 1.4, EJB 2.0 WebLogic8.1, XDoclet, XML, JAXP, Ant, Eclipse, JUnit

^ TOP Administration Tool The Administrations tool is intended to configure other CSS services and administer several business areas

Responsibility design, implementation, documentation, test
OS Linux, AIX 5.2, Solaris 2.9, WinXP
Technologies&Tools Java, WebLogic8.1, wlshell, XML, Ant, Eclipse


^ TOP EnClipse The build system to build a company customized Eclipse version including all company related plugins, preferences and settings.

Responsibility Architecture, design, distribution
OS Linux, WinXP
Technologies&Tools Ant, Eclipse


^ TOP Twister Twister has been the greatest and most inspiring project of my professional career. Over the entire time I have been privileged to be a part of the Twister Core Team and to have an extraordinary bunch of colleagues on my site. As a founding member of the twister core team I undertook various tasks, including systems and software architecture, design and implementation, test and deployment.

Twister is an application server that has been designed to run applications processing a lot of requests running concurrently. The main Twister's features are high availability, high performance, height scalability and of course stability. Furthermore, Twister meets the requirements to run application 24 hours 365 days a year.
At time i joined Twister Core Team, Twister was one of the most known and used application servers in Germany.

Following the most important tasks i covered within of this project.

^ TOP Naming Service Implementation of the Naming Service was my first task in the Twister Team and my first CORBA experience.

In a Twister environment system components can be distributed physically across networks. The Naming Service is the component that allows Twister components to find one another. It does this by mapping the logical names of Twister components to object references.

The Twister NameService is implemented in C++ and provides CORBA standard lookup facility to its clients. In Java a JNDI wrapper is used to adapt the CORBA interfaces to the Java standard naming API: JNDI. The Twister NameService is an implementation of the CORBA Interoperable NameService specification. It offers additional high availability mechanisms like fault-tolerant (FT) object binding, active state replication and persistence. The FT object binding feature enables to registering multiple objects of the same type under the same name. A lookup returns an entry after it has been checked whether the remote ORB is accepting connections. This feature guarantees delivery of the requested service IOR with a high probability that the service behind the IOR is really operational. The active state replication mechanism is used to synchronize the hierarchy of bound objects between several instances of the NameService. This makes the same hierarchy available on any of these NameServices. For a client this feature is transparent as the NameSerivce's IOR is extended by alternative endpoints. When one instance of the NameService fails the client ORB transparently connects to one of the fallback instances.

Responsibility design, implementation, documentation, test
OS Solaris 2.8, AIX 4.3, WinNT
Technologies&Tools IIOP, CORBA, IDL, C++, Make, dbx, Microsoft Visual Studio

^ TOP Object Transaction Service (OTS) The Twister OTS has been designed to handle distributed transactions spreaded over multiple backend systems which provide an XA Interface according to the X/Open specification for distributed transactions. The OTS provides the interoperability with other OTS implementations compliance with ACID paradigm where ATOMIC and DURABILITY are special aspects for the OTS.

Responsibility design, implementation, documentation, test
OS Solaris 2.8, AIX 4.3, WinNT
Technologies&Tools CORBA, OTS, IDL, Java

^ TOP Java Transaction Service (JTS) The main goal for the implementation of JTS was to have a full support for the J2EE 1.3 Transaction management, which includes complete support for JTA interfaces defined by the Java Transaction API (JTA) 1.0.1 Specification. The implementation of JTS has been a pure java implementation and fully replaced the old C++ implementation from the old twister product. The base milestones for JTS were:

  • Implementation of the Transaction Manager
  • Implementation of the javax.jta.UserTansaction
  • Transaction logging
  • Transaction propagation
  • Transaction Recovery
Responsibility design, implementation, documentation, test
OS Solaris 2.8, AIX 4.3, WinNT
Technologies&Tools J2EE, JTS, JTA, Java, Ant, JUnit

^ TOP Java Connector Architecture (JCA) Within of this task i took responsibility for integration of JCA in Twister. This part included enhancement/implementation of

  • Twister Deploy Tool to provide deployment of Resource Adapter Archives RARs on Twister
  • Connection Management (Implemented the Application Server Contract javax.resource.spi specified in the JCA Specification)
  • additional transaction contract
  • additional security contract
  • JNDI to provide lookup for deployed connectors
Responsibility design, implementation, documentation, test
Technologies&Tools J2EE, JCA, JNDI, JTA, Java, Ant, JUnit, XML

^ TOP SNMP Integration In order to allow application monitoring from a management station via SNMP Twister supplies an SNMP Agent that provides this feature. The SNMP integration covered following essential components:

  • SNMP v1, v2c, v3
  • Tool to generate MBeans from the Twister MIB
  • SNMP Agent
  • SNMP/IIOP Adapter to provide mapping between SNMP and IIOP messages
Responsibility architecture, design, implementation, documentation, test
OS AIX 4.3, Solaris 2.8, WinXP, Linux
Technologies&Tools SNMP, ASN.1, Java, MIB, IIOP, JMX

^ TOP EJB 2.0 Support for Local Interface This task included fully integration of Local Interfaces EJB 2.0. From the technical point of view I did following implementations:

  • Enhanced the Twister Deploy Tool to parse Deployment Descriptor
  • Code generation for LocalHomes and Local interfaces
  • Integration of Local EJBs into the EJB Container
Responsibility design, implementation, documentation, test
Technologies&Tools J2EE, EJB 2.0, JNDI, JTA, Java, Ant, JUnit, XML

^ TOP JMX Server At the time as the JMX Specification 1.0 had not been yet finalized, we wanted to benefit from the JMX and decided to implement own JMX Server. The JMX Server provides the whole life-cycle management of a particular MBean, including registration/deregistration, MBean's introspection and notification handling.

Responsibility design, implementation, documentation, test
Technologies&Tools JMX, Java, Ant, JUnit, RMI

^ TOP J2EE 1.3 Certification One of the main goals in the Twister project was to pass Twister through the Sun J2EE Compatibility Test Suite. I partly took the responsibility for implementation of the Twister porting layer, and implemented missing features to fulfill the CTS requirements.

Responsibility implementation, test, reporting
Technologies&Tools J2EE, CTS, Java, Ant, EJB, JCA, JMS

^ TOP Performance tuning (Continuously task) Twister has been designed to run applications with a lot of clients running parallel. One of my tasks was to improve the Twister's performance. Performance is measurable! Using of special tools such as DevPartner and regular performing of J2EE application benchmarks such as ECPerf or SPECjAppServer helped to determine several weak spots.

Responsibility test, improvement
Technologies&Tools SPECjAppServer, ECPerf, DevPartner

^ TOP Twister-NEO The main goal of Twister-NEO was to rework the management framework in Twister. With NEO the new JMX-based management framework has been introduced. This approach made it possible to get rid of C++ legacy stuff. The C++ services have been reimplemented in pure Java.

Responsibility architecture, design, documentation, implementation
Technologies&Tools J2EE, JMX, Java, Ant

^ TOP CPU C5 Advisory and Processing System The CPU C5 is the CPU Softwarehouse's core product. CPU-C5 is a complete system for handling daily banking transactions. Within of this project I took responsibility for the Contract Form Generator and several UI modules. To provide flexibility complying with customer's desires I have developed a special script language. The customer could design a bunch of Contract 'Form Templates' by using this script language. The Form Generators could then during runtime interprets the script directives, build the Contract Form and fill it with data retrieved from the appropriate SQL queries.

Responsibility Architecture, design, implementation, test, customer's support
OS Windows NT
Technologies&Tools SQL, DB2, Oracle, MS Access, C++, WinAPI

^ TOP DreBa DreBa is a platform independent system to deal with Building Loan Agreements and Credits. The system calculates savings and rates for following credit. The system can operate with several kinds of Agreements and Credits.

Responsibility implementation, test
OS Windows NT, Linux, Unix
Technologies&Tools C++, STL, zApp

^ TOP Argus In April 1997 I joined the CPU Softwarehouse. CPU Softwarehouse is a software development company. CPU's customers are financial services companies such as banks, insurance companies, asset managers and building societies.
My first project at CPU was Argus.
Argus is a credit rating system, a substantial assistance with the risk analysis in the private, business and firm customers areas. The system consists of two main components:

  • The Scoring Module for the execution of an evaluation of the credit risk within the private customer area. For the evaluation different criteria are consulted. Family status, age of the applicant for the credit, SHUFA, customer's Account data analysis, length of employment, number of persons living in the household and further criteria can be included into the evaluation. The weighting of the criteria is individually configurable by the administration.
  • The Rating Module for the evaluation of the credit risk within the business and firm customers area. As valuation criteria e.g. relevant positions from balances, profit/loss calculations etc. could be included into the Rating.

Responsibility design, implementation, documentation, test, installation, customer's support, maintains
OS Win NT, Win 95, Win 3.1
Technologies&Tools C, MS Access, WinAPI, ODBC


^ TOP Attendee Management System This project i did during my practical course on the BTU. The Attendee Management System is a company internal system to track the employees activities and to provide an assistance tool for absence's approval process.

Responsibility Design, implementation, setup
OS Windows NT
Technologies&Tools Visual Basic, MS Access
bottom corner