GUI Browser Deployment and Integration for System i (AS/400)
Simple to implement
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.
Infinite Cloud architecture is ready to work in
a cluster environment, allowing the product process capacity to grow as
required by the business.
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.
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
of plugins for processing / dynamic
screens objects recognition, GUI elements generation / integration with other
No cookies are needed
to keep a session
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
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
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.
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.
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.
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
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.
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.
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
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
Why Infinite Cloud
Single Sign On
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.
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.
Cloud is an Eclipse application that uses Java tools and deploys on Apache
Tomcat. The system operates comfortably in any environment – Windows, UNIX or
customizations or compilation
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
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.
Call external web
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).
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
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.
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
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
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.
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.
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
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.
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