White Papers

10-16-2012

Infinite Cloud

GUI Browser Deployment and Integration for System i (AS/400)

Introduction

Simple to implement

Excellent Performance

From recognition to rendering, all the algorithms are optimized and simplified to make tasks with as less operations as possible thanks to the wide experience of Infinite Corporation patterns analysis and GUI rendering. This improves user experience and productivity.
Scalable
Infinite Cloud architecture is ready to work in a cluster environment, allowing the product process capacity to grow as required by the business.
Efficient Integration Platform
Add calls to external web applications sending parameters if needed.  Work on AS/400 host, bring in a new page clicking a button or a link, and open a new page using values of the AS/400 application fields.
Expose AS/400 programs functionality
Call a method in a web service from any application in any platform, and execute on or more programs (RPG, COBOL or CL) in your AS/400 application. Infinite Cloud web service executes the calls and if required get a set of results.  One web service container does it all.
Standard Plugins and Gadgets
Support of plugins for processing  / dynamic screens objects recognition, GUI elements generation / integration with other applications
No cookies are needed to keep a session
When the web service opens a connection, it returns a session id.  Application calling the web service will pass the session ID as a parameter. The application may close the connection , and in case this doesn’t happen. Infinite Cloud connection pool closes the connection after a configurable period of time, keeping resources usage as low as possible.
Web Service:
All server functionality is exposed from single, transparent and simple web service which exposes a small number of methods for the Infinite Cloud client. The methods provide support for interaction with the screens – to open a connection, send data and keystrokes to the host, get a HTML processed screen, get a HTML raw screen or get a list of fields in the original screen and finally close the connection. There is also a single dedicated method to invoke transactions (the Transaction Engine). Any external application capable of consuming a web service can interact with Infinite Cloud server and make use of its functionalities.
This module executes automated interactions with Midrange screen exposing the application logic as Transactions.  External applications call these Transactions with a single, configurable method exposed in the Infinite Cloud Web Service.  The available configurable parameters for a method are: session ID, transaction name and a list of input field values which will populate fields in the screens. 
The output is an XML returning the values of the output fields of those screens. Basically a transaction is a sequence of screens and each screen has one or more key fields which alone or in a combination are unique identifiers for each screen. Fields text, column row and attribute can be used for comparison in the process. There is also a list of input fields which can contain any of the input fields of any screen of the transaction. The output list can contain any of the input or output fields of the transaction screens.
The transactions are recorded by the Transaction Editor in a live process connected to the Infinite Application Service.  The user can provide the key fields for each screen, the input and output fields by selecting fields on the Editor screen.
Communication Layer:
This layer reads 3270, 5250 or VT 100 data streams and creates consumable XML objects from within the existing green screen input and output fields.  Rendering based on standard CSS styles, JScript and HTML.
Web Container
This is the unique page of the web client based on JSP Java platform that contains the dynamic screens rendered by the Client Java Script Library.
New Features
Single Sign-On (SSO)
Single authorities and credentials for Infinite Web and System i. Profile is defined under Infinite i which will also be defined under Linux or Unix.  Once logged in, system will recognize user.
Multi-language Support  
Infinite has replicated the System i language code pages so the 5250 screens have consistent output.  Infinite Cloud handles standard UTF-16 Java Strings objects internally.
No Programming, Customizations or Compilation
Because Infinite Cloud uses global Style sheets, no code changes are required in RPG, COBOL, DDS or CL.  No screen-level design, screen level customizations or compilation of screens are necessary.
Session Handling
When the web service opens a connection, it returns a session id with no requirement for a cookie.  Applications calling the web service will pass the session ID as a parameter. The application can maintain the session if a connection is temporarily lost or it may close the connection after a configurable period of time. Hence the Infinite Cloud Client will retry for a period of time, and if the connection is back the operation may be resume (this depends on the state of the operation when the connection was lost, but usually the operator will get back the session in the same screen he was working with in the moment that the connection was lost.
Integration
Data Integration
The interface that allows data integration to occur was jointly developed by Infinite and Oracle and was originally created for the Infinite i product. Once written it is in Oracle’s standard table format.  Conversely, when data is updated in Oracle, it is updated back to the original.  This means that data updated by other applications like SAP to Oracle will update the original environment creating complete interoperability and maintaining data integrity from the enterprise systems.
Infinite Cloud is written in Eclipse and can plug in to any Java-based applications. Eclipse has a large open source Eclipse library that is available for Infinite Cloud to access.  Most large third party cloud-based services now provide free Eclipse plug-ins and Java-based “bolt ons.”  Infinite Cloud can utilize these plug-ins for bidirectional integration.
Because Infinite Cloud creates XML objects out of System i-based input fields, each screen function is displayed to the Cloud and is interactive with other Java-based applications in the cloud.  Additionally, screens from native Java applications can co-exist within Infinite Cloud and be integrated with all or portions of the legacy screens and functions.   Java scripts can even be utilized to execute functions on the System i from Infinite Cloud.

Infinite Cloud is a family of products that allows legacy applications to be deployed under Cloud-based architecture.  It produces a GUI, deploys via browser and integrates the legacy code with other applications in the enterprise.  Originally most legacy applications from AS/400, Mainframe or legacy UNIX environment executed from a host-based system by physically attaching terminals.  This method was replaced by terminal emulation products.  Later on, GUI products were developed that were screen scrapers where you could customize each screen of the application and some provided for browser-based access.

Infinite saw the opportunity to vastly improve that GUI model using newer technology.  We developed a ground up product, Infinite Cloud, which overcomes many of the problems users had with the previous generation. 

Why Infinite Cloud

Single Sign On (SSO)

Single authorities and credentials for Infinite Web and System i. Profile is defined under Infinite I which will also be defined under Linux or Unix.  Once logged in, system will recognize user. 

Multi-language support

The 5250 screens use IBM code pages just as they would on the System i. Infinite i uses a replication of those code pages. When deployed via Infinite Cloud, we would use Java/Eclipse universal code pages. 

Native Java/multi-platform implementation

Infinite Cloud is an Eclipse application that uses Java tools and deploys on Apache Tomcat. The system operates comfortably in any environment – Windows, UNIX or Linux.

No programming, customizations or compilation

Infinite Cloud works from a global template style sheet that incorporates the way you want your application to deploy.  No code changes in RPG, COBOL, DDS or CL are required.  No screen design or screen level customizations are necessary.  And no compilation of screens

Performance oriented architecture

Design was oriented to performance from the beginning, hence Infinite Cloud platform makes a good usage of Java foundation functionalities without the need of intermediate frameworks or unnecessary abstraction layers, resulting in a simple and straightforward architecture.

Optimized algorithms

Call external web applications

GUI Production

Customization Manager:

In this layer screens objects are converted to higher layer objects as grids, titles, menus, buttons, links, drop down lists.  The customization logic is contained in plugins units each of which performs a particular task such as recognition of basic screens objects (Recognition Units), screen rendering of the different UI elements (Rendering Units), interaction with external DB engines and integrating external web applications (Integration Units).

The advantage of this architecture is that the logic of each unit is not coupled with the rest of the product logic and each performs a simple, specific task. New units may be easily added or modified for each particular business or integration requirement. Everything takes place at server side and functionality is exposed with a standard web service.  It is served to the user via browser (all majors are supported). The Infinite Java Script Library takes care of remote communication with the web service and handles user keystrokes and mouse events.  The screen refresh is almost instantaneous and can operate on all devices (even ones with a low processing capacity.

Transaction Engine:

 

Browser Deployment

Infinite Cloud deploys using three components: Client library, Web Container, and Styles.

Infinite Cloud Client Library

This Java Script Library manages user input (mouse and keyboard), consumes the web service with AJAX technology and performs the dynamic rendering operations.  No processing occurs on the client side, it dumps information from the Infinite Cloud Server directly into the Web Container.

Styles

Styles are based on standard CSS and images.  Infinite has designed several styles (i.e. Outlook, SAP, iPad) that require very few or no modifications.  All Style features are at a global level for ease of implementation and management.

 

In the current System i environment there is only one access point for integration – post- processing data.  You are limited to extracting already-created data from flat and creating spreadsheet formats to update.  The new version of Infinite provides three bi-directional access/functionality points that provide the ability to build on what and how integration/interoperability is created.

Front End-UI Integration

Infinite Cloud, which is tightly integrated with Infinite i, exposes each RPG input field as an XML usable object.  The communications layer that presents the data stream to the Web provides bi-directional high volume interoperability from all screens and printer functions of the original code.  This means that existing RPG screens will be deployed to the web as XML objects and the information provided within those existing screens can be consumed by any other application or function that can access XML objects.  The screens themselves become HTML pages deployed, viewed and updatable via any standard browser. 

Because the screens are HTML pages and the fields are XML objects and because, as part of the Infinite Cloud automatic process, they are wrapped in Eclipse, they can be integrated with any Eclipse or Java-based plug-ins.  This means that screens or portions of screens or data from screens can be consumed by Eclipse plug-ins from other applications.  This is true of Eclipse plug-ins from Middleware like SAP’s NetWeaver, IBM’s WebSphere or Oracle’s WebLogic.  Direct connectivity is easily established via Web Services.

Automatic screen population into or out of legacy RPG applications can be accomplished using the Infinite Cloud front-end.  As an example:  If users must access RPG legacy applications, SAP and other applications simultaneously, Infinite Cloud can be used to open, login and update without the user having to open new sessions and manually update information from system to system.  This can be done via reusable web services, by creating new screens in Java that can access multiple systems simultaneously or by using existing RPG graphical screens deployed in Infinite Cloud that can access and bring in screens or portions of screens from other applications. 

Specific data can update RPG systems via the UI and other systems in V&M Star’s enterprise can update the legacy RPG system as well.  We have found that the easiest way to do this using Infinite Cloud is to write Java scripts to take exposed data from both sides of an application and extract and place the information where required.  These scripts can be re-used and are easily supported.  They can be written from the Infinite Cloud or to Infinite Cloud. 

Mid-System Integration

Infinite provides a C-based platform for legacy applications.  If your desire is to engage processes or add functionality to existing RPG programs or processes, this can be most easily accomplished by using JVN to write Java programs to augment RPG processes whilst processing.  If adding functionality to existing processes in the code is critical, you can augment using Java instead of RPG.  The latest Infinite i deployment environment is a series of DLL’s that allow RPG code to execute and provides an OCL environment under AIX 7.  Because this environment is written in C and because C is the Natural Language for Java, Java programs can be written using JVN to co-process.  This would be similar to writing COBOL applications with RPG applications to co-execute in the System i environment. 

Once in Oracle, the data can be accessed, extracted, manipulated, reported and analyzed using any tools that handle Oracle data. 

Java Integration

Conclusion

Infinite Cloud has been built from the ground up utilizing the Eclipse platform on Tomcat.  It can operate with either a System i host or with applications deployed on Infinite i.  It is designed to be easy to implement.  The recognition engine identifies and renders green screen features.  It does not burden the developer with the need to adjust the GUI when new development is done within the application.  Applications can be deployed via browser without any installation on user’s device.  That means it can be easily accessed and used by PCs, laptops, mobile phones, pads and any new device that hasn’t been thought of yet.   Integration with Infinite Cloud can be done at many levels and is easy to implement.

Infinite offers superior performance to other GUI products, ease of implementation and deployment at a highly competitive price.  

Zurück