Daimler System

It is the most complicated enterprise-level system I ever worked with. It consists of more than ten big parts including the main SAP-based system, several legacy systems, Informatica MDM Hub and a number of smaller components interconnected by JMS, EJB and web services. The purpose of the system as you could guess relates to production of big Daimler trucks.

In this project I lead the development of a BDD-like system sharpened for a particular data schema and able to work with an older Hub version. Also I worked on the integration of MDM Hub with the main SAP-based system using JMS.

The team

In this project I worked together with two my colleagues on the Russian side. There were several guys around the world who developed other system parts. I was responsible for design and implementation of CustomGUI application. I helped to design Lombardi workflows. We had to take on responsibility for JMSProcessor and PartyWeb-Services when they were almost finished by other guys. So, my tasks were code refactoring, bug fixing and creation of documentation.

Architecture

The part of the system we worked on consisted of the following parts:

  • CustomGUI application. It is an analogue of the BDD system, but sharpened for a particular data schema and able to work with an older Hub version. The application is built on different technologies than BDD: Struts2 + REST plugin, ExtJS JavaScript library, Spring, OGNL
  • Lombardi workflows. CustomGUI application uses Lombardi Teamworks software to support different business workflows.
  • JMSProcessor. It is the entry point for data from the main SAP-based system. It parses data from incoming JMS messages and uses PartyWebServices component to store data in the Hub. Technologies: JMS, EJB, Castor, WebSphere, web services
  • PartyWebServices. Provides web service API that allows to work with the Hub in a simple and robust way.

Interesting and Boring

  1. It was interesting to work with such a large system. I got a lot of hands-on experience with WebSphere application server, DB2 and AIX OS.
    1. It was cool that I could avoid heavy BDD concepts, create a new project with my own architecture and used lightweight ExtJs library
  2. A lot of manual reading was a bit boring
  3. Interesting bugs:
    1. We used IBM java SDK. It has own implementation of HashTables. It broke the sort order in results of some SIF API calls.
    2. Struggling with WebSphere tuning.