Homepage > Portfolio > Data Bus Development For Governmental Corporation

Data Bus Development For Governmental Corporation

Azati built a data bus that helps to integrate the product for document generation into the business workflow of governmental corporation to optimize processes of internal document management.

CUSTOMER

One of our partners hired Azati to help a governmental corporation from the energy sector to optimize document management.

The end Customer wanted Azati to help with the integration of a third-party application. With this app users can convert hundreds of their frequently used and standardized documents into several interactive templates to reduce the time for creation, processing, transfer, and delivery of the basic documents that have similar structure.

Furthermore, the application enables users to eliminate errors in document construction, reduce the time of closing a deal and increase the overall efficiency of the company’s document workflow.

Objective

The main project idea was to organize the data exchange between two components: SAP ERP and the document generation system. The primary task of Azati was to develop the bus for data transfer between these components and implement the correct business logic for efficient data processing workflow.

In other words, our developers had to create a technical solution that allows converting the incoming message into a format corresponding to the next step of data processing, taking into account the various data transmission methods (incoming data proceed via SOAP protocol while the outgoing via HTTP). Most often, data conversion occurred from XML format to JSON extended by the rest of the meta-information required for the HTTP request.

Challenges

While developing the solution our engineers faced several challenges. Let’s have a closer look.

01. Challenge: Lack of experience

Azati has never worked with the document management software the Customer wanted us to integrate. That’s why this project became a new experience for our engineers.

A lot of time was spent to figure out how the existing solutions work, plan and design all the business logic according to all the nuances protocols required.

02. Challenge: Inaccurate web
services documentation

Usually, the information described in the WSDL (Web Services Description Language) documentation ensures that certain web services will work in a predefined way. However, our team had to tune the application several times since the Customer constantly revised the documentation.

Also, due to an insufficient description of the meta-information that should have been included in the documentation, the framework could not correctly process the incoming data, which forced our team to write additional configurations manually.

03. Challenge: Miscommunication

The third issue was related to the fact that three different teams developed the project: Azati, the team responsible for the document management application and the customer team. There were communication issues between these two parties – document management application team and the customer team. Since each of them had their solutions and it was challenging to reconcile on some issues.

To accelerate the process, both teams conducted meetings once per week and discussed the results and technical solutions developed during the sprint.

Process

The development process consisted of three main phases:

Stage 1: Planning

During the first stage, our team studied the necessary documentation and organized workflow. After doing that, it became possible to move directly to the development phase itself.

Stage 2: The creation of web-service

First of all, to create a full-fledged web service, our team discovered the capabilities of Apache Camel Frameworks. After all, we successfully built SOAP web services with Apache CXF.

Stage 3: Data processing algorithm development

During this phase, the team developed processing algorithms that convert data to the required format. After successful processing, the data is sent to the next step of the workflow – internal customer’s products and systems.

Solution

Azati developed a standalone application powered by Apache Camel Framework that acts like middleware and a data bus between two enterprise systems. The solution receives data from the SAP ERP system, converts it from XML to JSON, adds extra meta-information and sends results as the HTTP request to the document generation API.

This is how data is transferred and processedbetween main components:

  1. SAP ERP system sends a request (message) to the data bus
  2. Data bus forwards the received message to the document generation system
  3. The request is processed in the Document generation system
  4. According to the processing result, the system sends a message with the processing result back to the data bus.
  5. Data bus forwards the received message to SAP ERP

SCREENSHOTS

Integration bus technical scheme

Technologies

 
 
 

Results

The following integration scenarios were
implemented and released:

  • Create/Update contract category
  • Delete contract category
  • Create/Update contract draft
  • Contract update
  • Delete contract
  • Receiving a contract document

To improve security measures, our engineers added authentication. Briefly, if the authentication configuration is turned on in the settings, it will be required to set the login and password in the request header.

Moreover, Azati has created advanced error validation that allows response to any incorrect request with an error description and its potential reasons.

Now

Azati finished the project in late March 2021. After successful deployment, the Customer started to integrate the data bus with their applications and internal systems. Right now, our engineers are actively maintaining the solution, resolving minor issues, and releasing updates.