Archive for "Uncategorized"

PgConf San Diego at AITP Cloud Conference 2017

Uncategorized Apr 13, 2017 Comments Off on PgConf San Diego at AITP Cloud Conference 2017

PostgreSQL Sessions Overview

The AITP Cloud Conference 2017 has an excellent set of breakout sessions on PostgreSQL in our PostgreSQL track.

PostgreSQL is one of the most advanced enterprise-class open source databases, with features such as Multi-Version Concurrency Control (MVCC), point in time recovery, tablespaces, asynchronous replication, nested transactions, and more.

Below are the talks covering PostgreSQL at this year’s conference.

PostgreSQL Session Links

Session details are available at the AITP San Diego conference site.  Please follow the links below.

Servoy

Uncategorized Jun 30, 2013 Comments Off on Servoy

Servoy is a cross-platform application development and deployment environment used to create and deploy applications. Servoy Developer Workbench is used to design, develop, test and debug applications and Servoy Server is used to deploy the application, both on Premise or as SaaS.” But what does that mean for a COBOL developer? With tools from Transformix it means that you can transition your application and yourself into a JAVA, Web, Mobile and Cloud developer in a surprisingly reasonable amount of time.
Read more »

Steps for Modernizing Cobol Apps

Uncategorized May 31, 2013 Comments Off on Steps for Modernizing Cobol Apps

Process Overview

If the application is on UNIX, Linux or Windows already, existing applications and applications behavior can co-exists with new behavior.

 Steps

  1. Migrate your data to RDBMS (optional, gives more choices)
  2. Convert COBOL to JavaCobol
  3. Integrate existing application into Servoy a JAVA-based RAD
Modernization Step Transformix Servoy Integration Toolkit
Convert COBOL to JavaCobol JavaCobol
Convert IMAGE or Eloquence to RDBMS Transformix Tools and Runtime
Convert KSAM to RDBMS Transformix Tools and Runtime
Convert Screens to Servoy VPL2Servoy
Integrate Application JavaCobol with Servoy COBOL2Servoy
Develop and Maintain with Servoy Developer and Eclipse Servoy Developer and JavaCobol Tools

Getting started

  1. POC
  2. Pilot including your own staff
  3. Start modernization process using your own staff at your own pace supplemented by our staff

Steps for Modernizing COBOL Applications

Uncategorized May 31, 2013 Comments Off on Steps for Modernizing COBOL Applications

Process Overview

If the application is on UNIX, Linux or Windows already, existing applications and applications behavior can co-exists with new behavior.

 

 

Steps

  1. Migrate your data to RDBMS (optional, gives more choices)
  2. Convert COBOL to JavaCobol
  3. Integrate existing application into Servoy a JAVA-based RAD

 

Modernization Step

Transformix Servoy Integration Toolkit

Convert COBOL to JavaCobol

JavaCobol

Convert IMAGE or Eloquence to RDBMS

Transformix Tools and Runtime

Convert KSAM to RDBMS

Transformix Tools and Runtime

Convert Screens to Servoy

VPL2Servoy

Integrate Application JavaCobol with Servoy

COBOL2Servoy

Develop and Maintain with Servoy Developer and Eclipse

Servoy Developer and JavaCobol Tools

 

 

Getting started

  1. POC
  2. Pilot including your own staff
  3. Start modernization process using your own staff at your own pace supplemented by our staff

Works in Existing Application Environment

Uncategorized May 31, 2013 Comments Off on Works in Existing Application Environment

RAD, Web Application Server, EAI and Application Integration

– Extending HP 3000 Applications and Data Access

The Transformix approach to application enhancement targets users who prefer to determine their own pace for application enhancement and should be particularly interesting to those users who would like their existing development staffs to be part of the solution. For this reason, our offering is designed to coexist with existing software solutions that are in place. Examples include AMXW, MPuX and Transport for run time environments, Screenjet products, Terminal emulators for screen handling and Oracle, DB2, MSSQL, Postgresql or Eloquence for database solutions. Most importantly, perhaps, is that this approach can coexist with the COBOL programming environment that exists today.

 Live Demonstration

In order to illustrate the coexistence point, Transformix has made available an on-line live demonstration of the TimeEntry application discussed later in this article. The site shows:

A migrated HP 3000 running in the cloud.

  1. Example of the original application that can be accessed though a PUTTY Terminal emulator.
  2. An example of the application running with a GUI using the Servoy Smart Client.
  3. An example of the application enhanced with a dropdown control.
  4. An example of a greatly enhanced application.

Instructions for using this demo site are included at the end of the article.

 

Priorities for COBOL Applications

 

There are many COBOL to JAVA solutions available in the marketplace. Most of these solutions either assumes that there will be a one-time massive migration project or that the COBOL code will be maintained as COBOL after the project is done. The adoption timeline is set at the convenience of the company or organization.

 

In order to evaluate the value of this approach, we have prepared a simple checklist of potential priorities an organization might have.

 

Criteria JavaCobol Alternative
  • Avoid risk to the application
Application continues to run as is during development
  • Keep production running smoothly with minimal disruption
Application continues to run as is during development
  • Extending the application – modernization
Several extensions possible
  • Existing developers are most knowledgeable maintainers
Short learning curve for existing developers
  • New developers needed at some point
JAVA programmers do not have to learn COBOL
  • Cost to maintain and enhance the application
Logic flow of COBOL and JavaCobol are almost identical
  • Overall migration costs
User controlled and relatively small
  • Object oriented programming?
Can be used in conjunction with this approach and phased in as desired

 

What is Web Application Server?

Apache Tomcat is a great example of a Web Application Server. It is a platform that enables solutions for developing, deploying and managing multi-tier server-centric applications. Tomcat is a Java based Web Application Servers built on Java to extend a complete, stable, secure, fast Java platform to the enterprise level. It delivers value to the enterprise by enabling a platform that significantly reduces the cost and complexity of developing multi-tier solutions, resulting in services that can be rapidly deployed and easily enhanced.

What this means in plain English is that Tomcat when combined with some other standard technologies provides:

A platform for web applications

  • A platform for mobile applications
  • A platform to provide JDBC connection to external data sources
  • A platform on which existing applications and application components can be integrated to newer architecture applications

In short, the technology provided by the Tomcat Web Application server provides a scalable architecture for executing business logic in a distributed computing environment. Tomcat makes the life of an enterprise developer easier by combining the Java component architecture with other enterprise technologies to solutions on the Java platform for seamless development and deployment of server side applications while at the same time enabling the use and integration of related client side application.

Enterprise Integration through a Web Application Server

The Web Application Server environment offers an almost limitless set of possibilities for enhancing applications that are migrated from the HP 3000. If the goal is to preserve as much as possible of legacy software assets, the Web Application Server environment offers many non-invasive integration opportunities to make this happen. However, when we use tools such as SERVOY Developer, we gain the ability to quickly enhance applications without using existing code. As shown in Figure 1, this new code can co-exist alongside the existing migrated application.

 


Figure 1

The Customer’s HP 3000 applications, once migrated can be extended using Web Application Server. Figure 1 shows an overview of the goal of the Transformix migration approach. On the left side of the diagram we see how existing applications are access either through a character mode, GUI or Web interface. The right side of the diagram illustrates how completely native applications with no MPE’isms can access the same databases at the same time as the migrated applications. It also illustrates how existing tools and software packages can access migrated RDBMS data sources.

 Eclipse

Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java and can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Perl, PHP, Python, R. Ruby (including Ruby on Rails framework), Scala, Clojure, and Scheme. It can also be used to develop packages for the software Mathematica. The IDE is often called Eclipse ADT (Ada Development Toolkit) for Ada, Eclipse CDT for C/C++, Eclipse JDT for Java, and Eclipse PDT for PHP.

Transformix makes use of Eclipse plugins for development. We have developed some of our own and we make use of additional plugins developed by others.

 RAPID Application Development

Developers moving from 3gl and 4gl backgrounds are, generally speaking, not interested in technology for technology’s sake. This group of developers requires a productive and easy to learn development environment that allows rapid development of applications that support business processes. For this type of developer maturity, ease of use and productivity are more important than technology.

To address the RAD market, the Java industry has invented a new term, J2EZ, to describe its effort to provide the business application developer with a Web Application Server RAD experience: visual, declarative, highly productive. The following requirements all fall within the J2EZ realm.

Availability of RAD tools

  • Support for quick application prototyping
  • High productivity rates for beginners and experts alike
  • Good abstraction of the Web Application Server core APIs
  • Powerful application infrastructure and component architectures
  • Rich set of UI widgets
  • Consistent look and feel across browsers and platforms
  • Client-side integration capabilities
  • Low level of complexity

Many competing frameworks exist to fill this need. Excellent commercial choices such as the IBM Rational Application developer suite of tools meet these needs quite nicely.

 How Preserving Legacy Assets Helps

Software development is a risky business. Enhancing existing working software is a lot less risky. Working legacy applications can be extended to other uses without violating the integrity of the existing application. This is what reduces the risk. The worst thing you can end up with is what you have now. Even if your project fails, you can continue to operate the business with the existing application until you get it right.

EAI (enterprise application integration)

EAI (enterprise application integration) is a business computing term for the plans, methods, and tools aimed at modernizing, consolidating, and coordinating the computer applications in an enterprise. Typically, an enterprise has existing legacy applications and databases and wants to continue to use them while adding or migrating to a new set of applications that exploit the Internet, e-commerce, extranet, and other new technologies. EAI may involve developing a new total view of an enterprise’s business and its applications, seeing how existing applications fit into the new view, and then devising ways to efficiently reuse what already exists while adding new applications and data.

The Transformix migration process provides the foundation on which to extend migrated applications using the Tomcat Web Application Server, RAD and EAI.

Opportunities for Enhancing Existing Systems

Several facilities within Web Application Server are there mainly to facilitate Enterprise Application Integration and a RAD toolset such as IBM’s Rational Application developer can be used to manage such a process. When these technologies are combined they present a compelling argument in favor of preserving existing systems and extending them to meet corporation long-term information systems goals.

 Example of a TimeEntry Application

Transformix uses a COBOL/VPLUS/IMAGE application that does Time Entry to contrast different development approaches and technologies. This demo application runs on the HP 3000 and any platform we support. Figure 2 shows what the terminal interface looks like on the HP 3000 using a terminal emulator.

Enhancement and New Development

There are countless ways to continue to enhance applications and databases once they are migrated using the Transformix approach. From a practical point of view, migrated applications become on a very similar footing as native applications in terms of their extensibility. VPLUS applications can become web services, applications and sources can be made to interface with the outside world.

In this section we show three examples of enhancing the existing application, then replacement with new programs and finally, development of a mobile entry form for the application. It is important to note that none of these changes require any changes to the original JavaCobol application. Also, all three of these user interface applications can be developed with minimal effort. All of these examples require is that the TurboIMAGE databases be migrated to an RDBMS. Once that is done, not only are commercially available off the shelf tools candidates to use them but the sky is the limit in terms of application development possibilities.

Figure 2 – Original COBOL/VPLUS/IMAGE TimeEntry

 

User Interface Enhancement

This is a JAVA Swing desktop application that was generated from the TimeEntry Oracle database no coding was required.

Demonstration Site Instructions

Migrations ………….

Figure 3 – Adding a Dropdown Control

 

 User Interface Replacement

This application is a web application. It uses the same Oracle TimeEntry database and, although we could have used JAVA for this one as well we used PHP. It took about 15 minutes to generate this CRUD application.

Figure 4 – Complete Replacement of the User Interface

Mobile

This is an example of a generated iPhone mobile application that uses the same Oracle TimeEntry database as the other examples. However, it is capable of operating offline and storing the data in the mobile device. At a time of the users choosing they can connect to the server and upload the collected data.

Summary and Conclusion

Migrations present an opportunity to move applications forward quickly or to continue in the same direction. The typical HP 3000 application is based on two tier architecture. Today’s users and organizations want more than that. This paper showed how the goal of the Transformix Evolutionary Transformation Migration and Application Enhancement approach is designed to position the application for multiple favorable evolutions so that the application can become what today’s users need.

WaveMakerIntegrationToolkit

Uncategorized May 30, 2013 Comments Off on WaveMakerIntegrationToolkit

Extending the WaveMaker Architecture to Legacy Applications

 

In order to take full advantage of the power of WaveMaker, the Transformix solution starts with making the COBOL application as much like a modern application as it can without changing the logic flow of the application. This approach has the key advantage of allowing users and developers to transition to the new environment with minimal training and disruption. There are three key elements in this approach; the database is converted to an RDBMS, the COBOL is converted to GnuCOBOL and the user interface is changed to an XML representation supplemented by a WaveMaker user interface definition.

The collection of software used to accomplish this migration/extension is called The Transformix WaveMaker Integration Toolkit. The WaveMaker Integration Toolkit (TransformixTools) contains a collection of migration and integration tools. These tools are easy to use, highly extensible, based on standards and built to a large extent using open source technology. The toolkit can be used to call existing legacy applications written in COBOL from newer technologies and languages such as Java, Java -RMI, JMS, and WaveMaker.  Key toolkit categories of tools are:

 

Migration

Database Migration

WaveMaker works with the leading RDBMS’s, these include Oracle, IBM DB2, Microsoft SQL Server, SYBASE, Postgresql and Mysql.

COBOL to GnuCOBOL (C) Migration

Transformix uses GnuCOBOL (OpenCOBOL)l to automatically translate COBOL to COBOL programmer maintainable C.

COBOL to JAVA Migration

Transformix uses JavaCobol to automatically translate COBOL to COBOL programmer maintainable JAVA.

User Interface Migration

The user interface subsystem of the Servoy Integration Toolkit is focused on integrating using either the VPLUS API, a custom screen handling API, escape sequences with no forms or screen scraping.

Types of Screen Handlers

Screen handling techniques in applications that were designed for dumb terminals are many and varied. By far, the simplest and most amenable to automatic translation are those that are forms based with a screen handler application to serve the forms. VPLUS and DEL are block mode examples of this approach. However, there were other approaches that used either a commercial or a homegrown screen and forms handler. The middle category is the situation in which all screen handling was either done using routines in copylibs or though a terminal handler using an API to communicate between the program and the screen handler. At the other end of the spectrum are those approaches that used no predefined forms and no forms handlers. In these cases, each programmer was free to create screen in any style that they thought was best.

 

In this document, we will describe only three of the many types of forms handling situations and discuss how those types of forms are migrated using the SIT.

  1. VPLUS API

The VPLUS API provides the simplest natural barrier separation for integrating Servoy with the existing application. There are predefined forms definitions used in VPLUS and the API is well defined. Occasionally, some applications bypassed the API to send escape sequences directly to the terminal, but that was the exception rather than the rule.

  1. Custom Screen Handling API

Some applications that do not use the VPLUS API use either homegrown or vendor supplied block mode of non-block mode forms. Application programs communicate with the desktop through an API. In some cases, it is possible to replace the screen handler with one that recreates the forms handing using Servoy forms as a one-for-one replacement.

  1. Escape Sequence with No Forms

The worst case scenario is the situation in which there are no defined forms and no API. In these situations programmers were left to their own devices in most cases to communicate with the terminal in anyway there saw fit.

Screen Handling Solutions

Replacing Screens with Objects

The preferred, least labor intensive solution for replacing screens is to automatically generate a Java object from the screen definition. However, this is only possible when screens follow a pattern as with either VPLUS forms or some other forms in which the programmer was required to communicate though the defined form.

It is sometimes possible to re-architect applications that were not previously written to use defined forms. However, this is a labor intensive process.

Screen Scraping

Screen scraping is always a possible solution for any one of the above types of screens. Screen scraping refers to the practice of reading text data from a computer display terminal emulator’s data stream that is intended to be displayed on the screen. Once the flow of data is understood, a program can be developed that interacts with the user in the same fashion as a trained human. This allows a level of abstraction to be placed between the user and the application which in turn allows for a change in the user interface.

Attachmate provides examples of how this is used on their website. The process works like this:

  1. The user at the terminal emulator turns on the macro feature for the emulator.
  2. The terminal emulator macro processor records the interaction that occurs between the user and the program and this is turned into a VBA or JavaScript.
  3. After the session the user saves the macro.
  4. At this point if the macro is run it will repeat what happened during the previous session.
  5. Once a set of instructions have been recorded it is possible for a developer to turn that into a more generic module that can be controlled by another user interface program in order to present a GUI to the user instead for the text screen.

The Transformix screen scraping approach uses the Attachmate Reflection for Web macro capability because it allows the recording of macros in JavaScript.

 

 HP 3000 Migration Tools

This migration solution requires the availability of Java 1.5+. Java on the HP 3000 is frozen on Java 1.3. Therefore, migration of HP 3000 applications to a supported platform is required before this solution can be used with MPE/iX applications. Transformix provides a complete set of tools and services to perform HP 3000 migrations to various UNIX’s, Linux and Windows. Supported databases include Oracle, IBM DB2, Microsoft SQL Server and Postgresql.

Key Opportunities for Integration

Data Source Integration

The most immediate and, perhaps the most obvious opportunity to integrate the RAD environment to the legacy system is through migrated data sources contained in the RDBMS. Migrated databases can be accessed through Servoy by simply adding them as Database Servers in the Servoy Developer. From then on they can be used to develop all types of Servoy solutions.

Procedure or Method Integration

Once the programs have been converted to JAVA classes, it is possible to expose certain program functionality as methods. Like any other objects contained on a server these methods can be access using techniques such as RMI and incorporated into entirely new applications written in JAVA to provide mobile, web or more user friendly desktop access. The Servoy plugin architecture allows for the integration of Java classes.

User Interface Integration

Screen scraping as described in the User Interface Migration section above is used to create classes that represent functionality in the existing application. Servoy forms can then be generated to mimic the existing behavior and then those forms can be extended to create improved user interfaces.

Preparing the Original (Legacy) Application

Using the Servoy Integration Toolkit, as with all programmatic integration, requires some upfront development work before one can begin performing the integration. The new interface will expose the legacy implementation. Separating the interface from the implementation provides encapsulation and the ability to easily extend and reuse the implementation.

Before one uses the Servoy Integration Toolkit or any other integration technology, the analysts must evaluate the original application and design one or more interface classes to expose different features of the business logic either through methods or through some technique of interacting with the user interface.


After you have prepared the application, SIT can extend the features of the new interface as one can with any Servoy object.

 

Summary and Conclusion

 

The Servoy product with its completeness and open standards fits completely in the macro-economic model in which company processes transform from a supply-driven approach to an effectively communicating demand and supply-driven organization – communicating through the Internet and Intranet networks.

 

Servoy supplies applications for automated company processes which are web and mobile based and are demand and supply centric-driven. Servoy helps in simplifying, intensifying and accelerating these processes. The toolset enriches the productivity of building Servoy applications.

 

For a software company, further automating its processes leads to cost reduction and improvement of results. For end-users of the application, it means on one hand effective data entry, and on the other hand an effective and paperless means to work with structured information – from any fixed or mobile work place. This also leads to cost reduction, higher productivity and improved profitability. The software developer leaves the path of traditional programming, and enters an arena of a user-friendly and efficient working environment with a modern and structured toolset. Outsourcing of software development to cheap-labor countries is no longer a necessity.

 

Examples from everyday life prove that Servoy increases productivity drastically for software houses, end-users of innovative applications and for software developers.

As Microfocus observes, unifying the development process using industry standard tooling reduces the gap between the mainframe COBOL developer community and other developer teams. This produces obvious benefits. As shown by the proliferation of these unified development environments among leading software provides including IBM, CA, Oracle and others, unified development environments are an evolving, necessary model for software development and modernization now and in the future.

Organizations are increasing demanding mobile and desktop applications that are user friendly and highly functional. At the same time, legacy applications that have provided valuable functionality to companies and organizations for decades continue to be essential to many organizations. Packaged applications often fall short when it comes to replacing some of these tried and true applications.

The Transformix Software Integration Toolkit and Transformix services when combined with Servoy offer users the opportunity to have a unified development environment that includes both newer applications and existing legacy COBOL applications seamlessly integrated. By first converting the COBOL to JAVA the lifecycle of what are now COBOL applications are greatly extended. Those legacy applications become just another set of objects to be included in with all of the other enterprise software. Development with Servoy allows for a common platform and set of techniques on which to blend the existing and the new applications.

 

 

 

All-in-One Modernization and Development Solution

Uncategorized May 30, 2013 Comments Off on All-in-One Modernization and Development Solution

Most of the leading software enterprise focused software companies today including IBM, Oracle, Micro focus and Microsoft advocate a unified development environment for software development. Most of those companies are starting to include the needs of companies and organizations with legacy software including COBOL applications as part of their solutions offering. Transformix has adapted a comprehensive development framework called Servoy to meet the overall development needs of companies with COBOL applications.
Read more »

Axelor Integration Toolkit

Uncategorized May 30, 2013 Comments Off on Axelor Integration Toolkit

In order to take full advantage of the power of Axelor, the Transformix solution starts with making the COBOL application as much like a modern application as it can without changing the logic flow of the application.  This approach has the key advantage of allowing users and developers to transition to the new environment with minimal training and disruption. There are three key elements in this approach; the database is converted to an RDBMS, the COBOL is converted to JAVA and the user interface is changed to a Servoy user interface definition.

Read more »

Legacy Modernization to Cloud Architecture

Uncategorized Nov 06, 2012 Comments Off on Legacy Modernization to Cloud Architecture

Modernization involves substantial changes to the application.

The definitions of migration and modernization overlap. However, a key difference is that modernization allows for more substantial changes to the application than migration allows.  With modernization, changes in the look and feel and program logic are fair game.

Read more »

Transformix Legacy Migration

Uncategorized Nov 06, 2012 Comments Off on Transformix Legacy Migration

Migration retains the look and feel and program runtime behavior of the application

In general, software migration (re-hosting) is the process of moving from one operating environment to another.  In its purest form, software migration targets functional equivalence.  That is, although the operating system, the database, the file system, utilities and third-party tools have been replaced, the application continues to behave as it did in the source environment.  This is sometimes referred to as a like-for-like migration.

Read more »