Our customer created a technology to help enterprises integrate heterogeneous data coming from isolated systems into a company's information structure and produced a product family for data transformation. Emerging web 2.0 technologies offered a new potential for business integration, and our customer decided to use them and to develop innovative industry-specific software.
- ● JAVA EE
- ● Apache Tuscany
- ● Tomcat
- ● DAS
- ● Google Web Toolkit
- ● JMS
- ● Ajax
- ● WebSphere Application Server
- ● JSON
- ● ContentMaster
- ● Oracle DB
- ● WebSphere Process Server
Business and technological concepts of the application were new and required regular verification. After end user testing proved the application's feasibility and viability, software requirements were to be refined for further development. The customer was looking for an outsourced programming team who could learn new technologies quickly and apply them in real projects effectively.
Software was developed by a distributed team of in-house and off-shore developers. Axmor was first hired to program the web interface for transformation process monitoring, and over time our Java EE developers proved their capability to participate in the development of core server side logic.
The developed software can translate any data - taken from files or coming through any network protocol - and make them available for internal company software. Our developers built it around SOA principles. The server has API that can be accessed using the most convenient protocol, including JMS, HTTP, SOAP, JSON-RPC, etc.
GUI for managing data transformation process was fully developed by Axmor's Java programmers.
On the first step of the project, GWT (Google Web Toolkit) and Apache Tuscany were selected to implement a cutting-edge AJAX application working without page reload.
The technical strength of the application was its use of the Apache Tuscany Server, which is one of the most advanced open-source implementations for:
- ● Service Component Architecture (SCA),
- ● Service Data Object (SDO),
- ● Data Access Service (DAS).
The industry new product was learned by Axmor Java EE developers in a short time, and areas for fine-tuning of the Tuscany server were identified to address all of customer's needs. Along with other changes, the properly designed enhancements to the source code improved processing of JMS messages and use of DAS protocol.
Over the course of the project, the customer develops an opinion - the target audience of the data transformation solution is quite variated and requires a differentiated and more dynamic approach. As a result, the initially developed software, which resided on open-source Apache Tomcat, was targeted as a cost-effective implementation. WebSphere Application Server was selected to create a new version of the software primarily aimed at large corporations. The development was also outsourced to Axmor. The main benefits of the WebSphere-based solution are load balancing and fault tolerance assuring better performance and 24/7 availability of the software.
Business Logic Development
The web application is used to manage and monitor graphs execution, where graphs are programmed algorithms for incoming data processing. Axmor's developers offered a solution for software infrastructure, in which graphs are running, and this solution was accepted by the customer for implementation. In addition to this, application's business logic was developed by our programmers. The attained mutual understanding and proven technical expertise of Axmor Java EE developers prompted the customer to outsource the core of the server side logic to Axmor.
Flexible Authentication Options
Authentication can be performed in two modes: a) A basic mode that requires users to enter login information each time to access the application; b) NTLM authentication to login the user automatically by checking his network status.
Custom Business Flow
The first organization to adopt the developed data transformation solution was a large US bank. The bank needed to process credit cards and transactions coming from other financial institutions. For the data transformation engine to work in the bank's software environment, Axmor implemented a custom business workflow. In order to build processes in a short period of time, one of the available options was used - namely IBM WebSphere Process Server. The bank's workflow was not documented, and models created earlier using another process engine were used as a specification. The strengths of the developed custom software solution lie in its ability to process an enormous amount of data and to work reliably without failures.
The scheme below depicts the model of custom implementation of the data transformation solution.
Easy Innovation Outsourcing
One of the project challenges was to deal with foggy requirements - a result of quick innovations and lack of full understanding of end user needs. These requirements were gathered through experiments, prototyping, and test demonstrations to end users, and the collected feedback further defined the next steps. Although consultants do not recommend such unstructured projects for outsourcing, Axmor Java EE developers provided a flexible environment, in which enhancements were implemented and technical issues were resolved quickly and without much time spent on technical documentation. Conference calls (twice a week) and emails became an effective tool to our development team to build software in an agile programming style.
Satisfied with the results and with how the entire development process works, our customer continues to extend our relationship, using Axmor's developers for the most complex and knowledge-consuming tasks.
Data Transformation Solution
A company developer of data transformation technology and software
Development of software used to translate unstructured data from external sources into an appropriate internal organization's format
- ● Development of advanced web application in AJAX and web 2.0;
- ● Open-source and commercial implementations;
- ● Making use of industry new products quickly and effectively;
- ● Proper implementation of complex algorithms;
- ● Effective outsourcing in agile programming style.