Abri – For Modernization of Software Systems

Abri is an ideal solution for organizations that need to modernize legacy applications, but without the typical high risk and cost.

Abri is a toolset that enables legacy developers to modernize the legacy applications they know so well, despite the fact that they do not know the modern technologies to be used (i.e., Java or .Net). Abri leverages the power of the computer by enabling these developers to enter data requirements and business logic, and then generate standardized, optimally maintainable code based on their inputs.

Many systems in the government and commercial sector need to be modernized, but systems modernization is expensive and risky. Why? Because your legacy developers know the business processes and data being supported, the system components, application logic, and other important information about the system, but do not know the target technology; at the same time, new developers with knowledge of the target technology who could be brought onto the team do not know the business processes, application logic, etc.

This dichotomy creates challenges and risks through all phases of the Software Development Life Cycle, resulting in increased costs and protracted schedules. Further, modernization projects have the potential to create morale problems in your organization as legacy developers naturally perceive a threat to their jobs once the project is complete. Abri was specifically designed to eliminate these problems and to provide optimal program code for ongoing system enhancements and maintenance.

Abri leverages the business knowledge in your organization, enabling the legacy developers who know the system so well to supply system requirements in a way that any programmer can understand; Abri then generates the code in the selected target technology for the project (Java or .Net). Once the systems modernization project is complete, Abri is no longer needed – you keep the generated code and other items created in/by Abri, to be maintained in the tool of your choice. Abri-generated code is completely non-proprietary, which means that you are in no way tied to Abri once the modernization project is over. Along the way, legacy developers begin to learn the new technology by reviewing the generated code from the specifications they provided in Abri.

Abri provides several other meaningful benefits that are important for your organization.

First, since Abri generates the code, you reap the obvious benefit of avoiding so much manual coding, debugging, and retesting. If the business logic or data requirements are incorrect, the team will need to fix that – but the Java or .Net code generated will be correct. This translates to a lot of time and money saved during the modernization project.

Second, Abri generates high-quality, non-proprietary, standardized, uniform, "cookie-cutter" code based on best practices and correct design patterns. This makes your system SO much more maintainable, whereas differences in coding styles and techniques among programmers can make maintaining your system so much more difficult, and thus expensive, over the long term. Abri eliminates this problem for the new, modernized system, and encourages good development practices for future enhancements and maintenance.

Abri also provides automated unit testing, and for Java systems, documentation (Javadoc) as well – more time/cost savings.

Abri comprises several tools for the development of software applications:

  • Business Logic Builder: allows developers to add the business logic to the application’s middle tier, where the majority of system logic is developed
  • Entity Builder: allows the user to produce the methods necessary to create, read, update and delete system entities as well as create finder methods on any field in an entity
  • Search Builder: allows the execution of any stored procedure or package in the database, or the creation of methods for executing select statements in the database.

These tools, along with built-in automation and code generation capabilities, provide an easy-to-use, expeditious way to engage legacy developers and other team members to build a new, modern application.

With Abri, you can create either a .Net or Java application. All commonly used RDBMSs (Relational Database Management Systems) are supported, including Oracle, DB2, MS SQL Server, Sybase, MySQL and Derby – and Abri will generate the appropriate SQL code.

If you want to create a Java application, any of the following architectures may be selected: JPA, EJB3/Hibernate or Spring/Hibernate. You may then select any of these Application Servers: Tomcat, JBoss, WebLogic, Glassfish or Websphere.

Application type/architecture and application server RDBMSs are specified at the project level. You may change any of these settings at any time during the project and, with the click of a button, regenerate code based on the new settings. In addition to the obvious flexibility that this feature provides, it also enables you to compare the performance of one system architecture to another.

Abri works well with other tools and technologies, integrating easily with other tools and providing an efficient method to integrate external components and web services. Promoting code reuse, Abri provides the capability to import classes and code for use within the project as needed.

For more information about using Abri for your modernization efforts, contact:

Chris Zinkl, Director of Application Development
703.748.7180, ext. 252