Infinite Web Extended Capabilities
Infinite Web easily make an AS/400 green screen application graphical, but it can also integrate AS/400 applications with Outlook, or other MS Office applications. It can integrate with enterprise applications like SAP or custom Java or .NET applications.
Many companies are heavily dependent on legacy applications to run critical enterprise functions. However, these applications are not easily integrated into today’s information technology environment. IT professionals are faced with unwelcome choices – rewrite applications in a new language, purchase a new off-the-shelf application and customize it, or try to tape-and-paperclip things together.
InfiniteWeb changes this perspective. In addition to providing tools to present text screens in graphical mode deployed via browser, InfiniteWeb includes a development environment that allows integration of legacy application with the enterprise and Internet much as Microsoft Office applications do.
In order to help the developer transition to a new technology such as Microsoft Net or Java, InfiniteWeb offers the ability to customize applications and implement event handlers using pipelines. A pipeline can perform a variety of tasks including validation, data exchange, web services consumption and report generation.
The InfiniteWeb Engine is exposed with an Infinite API. Web Services can be generated automatically to expose this API. Host databases, data queues and programs are accessible with Infinite Adapters. This functionality can also be exposed using web services. Therefore, the implementation can start with customization and web service creation, while Microsoft Net or Java development can start consuming the web services. In the future a developer may choose to replace Web Services as a method to retrieve data from any other database server. Therefore, maintaining the Web Services interface makes this transition transparent and allows the application to keep the new Microsoft Net or Java clients and applications.
This paper discusses the tools provided with InfiniteWeb that allow program interoperability, information exchange and messaging within the enterprise and supply chain.
Infinite Web Advanced Tools
1. External Assemblies
An External Assembly is a program component that is called from a pipeline to perform any task using the available InfiniteWeb object model. External Assemblies can be used to extend the functionality of legacy programs when a particular task is required.
Following is a list of the kinds of tasks that can be performed with external assemblies:
· Extract information from legacy application screen
· Connect directly to any data source and retrieve data
· Process information to generate a report
· Connect to a Web Service
· Process an XML file
· Add functionality to InfiniteWeb Pipelines or customized screens
In the following chart, an External Assembly has been used to generate a PDF from a legacy application screen. This simple solution accomplished quickly and efficiently what would have otherwise taken weeks of programming, testing and remediation.
2. Software Developer Kit (SDK)
The InfiniteWeb Software Developer Kit (SDK) provides developer tools and infrastructure for Web-to-host and Windows-to-host access to legacy applications.
The SDK was developed to open the power of the InfiniteWeb rendering engine to Microsoft NET and JAVA developers to simplify the development effort and allow interaction with any 5250, 3270 or VT100 compliant hosts using a few lines of code.
The API is developed using Microsoft NET and Java technology, therefore any Microsoft NET language, COM-compliant language (V6 or MS C++) and Java application can use it to work directly with green screen interpretation. It allows the developer to establish a connection, access and set field values, synchronize host fields with user interface controls and close the session.
Any type of WEB applications can be developed, such as:
· Web applications
3. Infinite Adapters
Legacy applications are developed to operate in an isolated environment; to the degree that they managed the entire enterprise, this environment sufficed. With the advent of web communication and specialized applications, it became increasingly necessary to make applications and data available for integration with other applications in the enterprise and the Internet.
Infinite Adapters were developed to open legacy application functionality and services to other platforms such as Microsoft Net or Java programs. The system is based on a proprietary protocol specifically designed to streamline the development effort. Implementation is very simple as there is only one object to work with.
The Infinite Adapter client component allows developers to access data and/or programs directly from within the legacy system. This allows for new applications to be developed in modern languages and still have access to the components used in the legacy environment. In some instances, web applications are developed where data is captured and written, for example, to a data queue where additional processing is done using standard RPG programs.
Adapters can be used directly from Pipelines, generated Web Services, or used directly through the InfiniteWeb API.
Data can also be accessed directly in the proprietary database files and delivered to enterprise -applications using the tools provided. The different proprietary database access methods are made available through Adaptors that can be referenced from other enterprise applications. These APIs or Adapters can also be exposed on Web Services or used with pipelines.
4. Service-Oriented Architecture
Service-Oriented Architecture (SOA) expresses a perspective of software design that defines the use of services to support requirements of software users and provide interoperability. In an SOA environment resources on a network are made available as independent services that can be accessed and used without knowledge of their underlying platform implementation and technology.
InfiniteWeb SOA implementation is based on standard Web Services that are generated with the help of a web method wizard, a transaction recorder and a web service wizard. InfiniteWeb generates the complete Web Service either as a Microsoft NET or Java project with well commented simple code which is based on the InfiniteWeb SDK. The resulting project can then be edited to add complex validation or simply add a new web method that does not use the InfiniteWeb API.
6. Web Services
In general terms a Web Service is a group of protocols and definitions created in order to allow applications to exchange data and handle messages. This method allows different applications on different platforms, developed using different programming languages, to use these services to communicate through the internet.
The web services developed using InfiniteWeb can be either Microsoft Net or Java projects that exchange data using the XML protocol through HTTP and are exposed with SOAP protocol.
The Infinite approach is based on two wizards and a transaction recorder:
- Method definition wizard – This is a straight forward method of defining web service method logic. The wizard allows the developer to add steps to the web method that define its behavior.
- Web Service definition wizard – This option generates a complete Microsoft Net C# or Java web service project. The developer will select from a list of available user-defined services and has the optional to expose the API methods to access green screen model directly from the web service.
- Transaction Recorder – A Transaction Web Service enables the developer to record a transaction so the user can enter the application automatically from a specific point in the application without having to follow the process through a number of screens and options.
The transaction recorder also allows the developer to create controls or fields that are displayed on the green screen. Once the recording is completed and the necessary changes made to the contents of the transaction recording, the Transaction Service is created and is available to be included on a web service using the Web Service definition wizard.
To record a transaction definition, the developer will transition through the appropriate screens selecting input, constants and output fields by clicking on them while the screen is being displayed or by double clicking on the green screen element. The recorder will add screens, selected fields and keystrokes that move to another screen.
This method simplifies the process and is makes it very fast to record basic transaction information. The user can modify the generated C# or Java commented code in the cases where more sophisticated functionality is required.
7. Report Designer
Reports developed in legacy systems typically require a developer to write the associated queries and output. This typically means that it can take day or weeks to get a report depending on the workload of the development team. Moreover, the report is delivered as a spool file with little or no opportunity to manipulate the data. The Infinite Report Designer is a WYSIWYG reporting tool that modernizes report development and delivery using on-screen input parameters served up in a Wizard. InfiniteWeb and the legacy applications will have parallel security. An eligible business user will be granted access to the report; ineligible users will not have access to sensitive data.
The Infinite BI Service enables SOA architecture with reporting. This allows the user to list and render reports with any other application. It also simplifies the inclusion of reports inside an application screen as a link that will open the PDF rendered report. The report can be added to a customization using drag and drop. The default query report parameters are set for each report or alternatively the user can enter these each time they wish to execute a report.
InfiniteWeb includes a number of powerful advanced options and features. The tools can access any database that is accessible via ODBC. These reports can be added to the standard application by dragging and dropping the report component into the customized screen.
The design and reporting functions available include:
· Field Tree
· Calculated Fields, Cumulative Totals
· Field formatting and fonts
· Gauges, Images, Graphs
· Document Size and Orientation
· Familiar Report Structure
Report Header and Footer
Page Header and Footer
Groups Header and Footer
Detail Headers and Footers
· Parameters to Filter the Data
· Reports rendered in PDF
Infinite Web provides an environment that gives the developer tremendous flexibility to modernize applications as financial and human resources permit and easily remove current and integrate the replacement modules.
The environment is intuitive easy to use. Projects can be completed in weeks or months rather than the years required by other tools. Moreover, the solution incorporates Business Intelligence tools to enhance queries and reporting.