E-Collaboration

Development of a communication between the carriers and the internal control system

 

Execution that I had direct participation

The two parts of the system were developed internally. Both followed the internal development patterns. I contributed to both parts of the system. Here I describe the two parts of the system:

Communication between the Systems:

The application responsible for the information exchange between the systems was implemented using queue manager software. The internal system would generate the messages when certain events happened, such as the generation of an internal order that should be delivered. At this time the internal system sends a message for the carrier system. Before the message reaches the destination it needs to be transformed. I designed and implemented a filter layer to make field mapping, format change and message format transformation according to the destiny.

I designed a layer that was responsible for the basic common tasks for the several types of transformations. This layer could be connected and to several types of filters. I implemented in Java the basic structure and the following filters:

  • Generation of product records

  • Generation of the register to be sent

  • Invoice Cancellation

  • Shipment Reception

  • Invoice Reception

For each filter, I implemented a message reader, a message format translator and a writer of the information contained in the message in the several tables of the carriers database system. The basic structure was configured through a configuration file. In this file there were information of which classes would do the reading, which classes would make the format transformation and which classes would write the information in the carrier's tables.

One of the filters presented an additional challenge. The data received had the format of tree of uncertain level. To solve this problem I had to write a filter to treated the information in a recursive way.

I wrote a source code generator program. It generated the access classes to the tables of the database and also the data beans. I had to build this generator because there were too many tables in the carrier's database. Also, the type of accesses was almost the same in all cases.

User Interface

The user interface was implemented in Java on a application server. The application had access to a relational database. The internal structure followed the company best practice standards. The classes were divided according to their responsibilities: model classes visualization classes and control classes. The data access functions were encapsulated in a command classes layer. I implemented some classes of the User Interface part and I made the quality review of the other classes.