Screens can be customized in many ways. Valid value lists in pull-down menus can replace text input fields. Valid value lists will help users avoid syntax errors.
Macros are easy to generate in HATS, and are very powerful. You can skip and combine screens, or enter data on behalf of the end user. Any series of keystrokes can be captured in a macro. HATS provides full support for macros and includes a macro editor.
Global variables can be used to store and retrieve data. HATS can also perform mathematical calculations on global variables.
There is now only one application development product sold by IBM, for iSeries, as of V4R5. This is WebSphere Development Studio (Development Studio), which includes all four host compilers, all traditional tools (ADTS = PDM+SEU+SDA+RLU+DFU+AFP+CGU), and unlimited licenses of the workstation-based toolset named WebSphere Development Studio Client (formerly WebSphere Development Tools).
If you are an existing customer who has a subscription, you can upgrade to Development Studio free of charge. Without a Software Subscription, there is an upgrade fee. New licenses of Development Studio are priced very competitive compared to the combined prices of all constituent products. As of V5R1, there is no way to purchase the compilers or tools individually. So if you have RPG at V5R1 or higher, you must have Development Studio and hence are entitled to Development Studio Client.
For consultants who do not have an iSeries of their own, but still wish to have the client tools, Development Studio Client is also made available as a passport advantage product so it can be purchased "off the shelf" from IBM Direct.
Development Studio has been a huge success, with over 80,000 licenses sold. Just as every development machine used to have PDM and SEU, every development machine will now have all the modern Application Development tools from IBM. This ubiquity is especially important for business partners who build and sell software. These Business Partners are now free to build software using any of the technologies or tools in Development Studio, and can assume their customers will have the tools required to tailor everything from RPG to Java and Web user interfaces. This effectively raises the lowest common denominator to a level unparalleled by any other operating system.
The purpose for Run on Server is to preview your HATS application in Rational Studio.
Previewing your project
Begin on the Welcome page. If the Welcome to HATS page is not displayed, click the Welcome to HATS tab at the top of the editor pane.
In the HATS Project View on the left side of the screen, single-click the name of the project you just created.
In the Welcome page, click Preview your HATS project using the Run On Server.
You are given the option to display the terminal while running your application. Select Yes so you can watch the application navigation in the background.
The Server Selection window opens, where you select the server on which to run your application. Select the WebSphere Test Environment server for either a
V5.1 or V6.0 server. Click Finish to complete the run on server process.
Note:
The server selection needs to match the server you chose when creating your HATS project.
Rational Studio creates an internal server to show your project. You will see a progress bar as the server is established. When you preview your project, you are using the Rational Studio Run on Server function. This function runs your project on your local machine, on a copy of the WebSphere Application Server product that is embedded in Rational Studio. This server is also called the WebSphere Test Environment.
When using the Run on Server function in the HATS Studio to preview your application, the Rational Studio console displays messages with the following information during runtime:
The HATS runtime version and build information
Settings that have changed, such as project settings or screen customization changes
The name of the transformation being applied
The name of the macro being played
The name of the Java method being executed for business logic
The name of the macro being played and the connection on which the macro is playing during a macro transaction
The name of the event being processed, such as the start or unmatched screen events, or your screen customization.
Display terminal
A host screen used by the HATS administrator or developer to observe interactions between a HATS application and a host application at runtime.
HATS is based on the industry-leading WebSphere platform. HATS does not require a proprietary studio or server. Instead, HATS leverages WebSphere by plugging in to Rational Studio and deploying to WebSphere Application Server and WebSphere Portal.
HATS works “out of the box” with WebSphere Portal, so that host applications can be included in enterprise portals.
IBM Software Development Platform Middleware is IBM software. Proven software like Rational that helps you develop systems and applications that deliver real business advantages. The IBM Software Development Platform is a comprehensive set of tools and best practices designed to streamline the entire development process. Learn all about it in this collection of white papers and brochures --> http://www-306.ibm.com/software/info/middleware/develop.jsp
IBM Software Development Platform Demonstrationhttp://www-306.ibm.com/software/rational/info/launch_sdp.html
The Rational Platform: A foundation for development success The IBM Software Development Platform, powered by Rational software, is based on three key ideas: integrated tooling for each member of the software team, a robust set of team unifying capabilities and a commitment to open, extensible technologies providing a robust set of common services.
Rational solutions support multi-platform development environments to ensure interoperability across teams and disciplines. Our solutions integrate seamlessly with IBM WebSphere® as well as third-party IDEs to provide an intuitive design-through-deployment experience. The end result: a high-performance, flexible infrastructure that is extensible by a rich community of developers and partners.
(Read the complete item online at http://www-306.ibm.com/software/rational/advantage/platform.html)
Template
A JSP file that enables you to enhance the appearance of your project. When creating a HATS project, you select a template to use as the default template for your project. The template can contain company logos and information and links to other Web pages. You can select your default from the sample templates that are provided with HATS, or you can design custom templates for your projects using the template wizard and editor in HATS Studio. You can also create a template prefilled from an existing file or URL.
In a Web page, the template surrounds the area where the transformation appears. You can choose to apply a template other than the default template as a result of a screen customization.
Style sheets
A cascading style sheet is a file that defines a hierarchical set of style rules for controlling the rendering of HTML. It allows you to control elements of output such as font color, size, and background color in order to maintain the consistency of the area of the screen rendered by HATS with the style of the template.
Modifying style sheets
HATS provides style sheets to modify color schemes and font size. At least one of these style sheets is applied to the template. While viewing the template on the Design tab, you can apply these style sheets to your template.
By going to the Web Content/Common/Stylesheets folder under the HATS Project View, you can then double click the style sheet you want to edit. This will open the style sheet in the editor window along with a preview window that displays samples of the styles in the style sheet.
When you click a particular style in the style sheet editor window, a sample of the style is displayed in the preview window. To apply one of the style sheets to your template, double-click the style sheet.
Stylesheet files (.css)
Stylesheet files (or stylesheets) are used in HATS Studio within template files to specify appearance items such as color, font, font size, whitespace, and spacing between letters.
The stylesheet files provided by HATS can be grouped into categories.
Main
In each template provided by HATS, there is a stylesheet (.css file) that determines the overall appearance of the template and other controls that you might add to a project. Examples of these controls include buttons, input fields, tables, fields, and links. These "Main" stylesheets are named with theme at the end, such as blacktheme, whitetheme, monochrometheme, and tantheme. The appearance of the controls in a project is determined by classes named in the stylesheets, for example, HATSCHECKBOX, HATSRADIOBUTTON, and HATSDROPDOWN.
Reverse video
In addition to a "Main" stylesheets, each template provided by HATS has a secondary stylesheet that determines the color scheme of any reverse video items in a project. These "reverse video" stylesheets are named with reverseVideo at the beginning, such as reverseVideoGray, reverseVideoTan, reverseVideoBlack, and reverseVideoWhite. Some of the classes named in the stylesheets are RHBLUE, RHGREEN, and RHMAGENTA.
Font
Some of the stylesheets provided by HATS are not named in the templates by default. However, you can apply these stylesheets to the templates to change the font family (Arial, Tahoma) or font size of the text. The names of the stylesheets give you an idea of their purpose:
normalFont.css
scaleableFont.css
nonFixedFont.css
largeFont.css
smallFont.css
xlargeFont.css
xsmallFont.css
Unique
Two additional stylesheets provided by HATS each have their own unique purpose. These are:
calendar.css
This stylesheet controls the appearance of calendar items in a project, using class files named month, dayofweek, and day.
PrintJobWindow
This stylesheet, obviously, controls the appearance of a print job in a project, including the PrintJobHeading, ListHeader, and ListEntry.
slickWhiteBackground
This stylesheet alters the appearance of specific template items that might have been defined by the "Main" stylesheet. Modified characteristics include font family, font size, color, text alignment, links, and tables.
Stylesheet files are stored in the project_name/Web Content/common/stylesheets directory. You can edit the stylesheet files by double-clicking on the name of the stylesheet in the HATS Project View to open the stylesheet editor.
Host terminal
A connection in HATS Studio to a live host. Using the host terminal, you can capture screens, create screen customizations and transformations, and record and edit macros. You can also play previously recorded or imported macros. The host terminal also allows you to preview your screen as a Web page.
Screen capture
A screen capture is an XML representation of a host screen, used to create or customize a screen customization, transformation or global rule.
BMS maps can also be used to create screen captures used for screen customizations.
Screen Customization
A screen customization is a HATS resource with two parts: a set of screen recognition criteria used to match one (or more) host screens, and a list of actions to be taken when a host screen matches the screen recognition criteria.
When you create your project in HATS Studio, you use the Create a Screen Customization wizard to define screen customizations. You must have the host terminal open or a screen capture before you use the screen customization wizard. BMS maps can also be used to create screen captures used for screen customizations.
Screen Recognition Criteria
You set screen recognition criteria that HATS uses to match host screens. Host screens can be recognized by any combination of criteria including how many input fields or total fields are on the screen, the coordinates of the cursor's position, and text strings on the screen within a defined rectangle or anywhere on the screen. The Screen Recognition Criteria tab of the screen customization editor displays the screen recognition criteria that you set for the screen customization. You can add, edit, or remove criteria on this tab.
*** Please refer to the HATS V6.0 "User's and Administrator's Guide" for detailed explanations on the following topics.
Actions
The Actions tab of the screen customization editor displays the configured actions for the screen customization.
Action: Apply transformation action
If you decide to apply a transformation as an action of this screen customization, you can select the transformation you want to apply from the drop-down list of transformations defined in the project.
Action: Execute business logic action
If you decide to execute some business logic as the action of this screen customization, you must specify in the fields provided the fully qualified Java class name and the Java method for the business logic you want to perform. You can click Browse next to the Class name field to select a class in which the business logic method is defined. You can select any class defined under the Source folder in the HATS Project View tab of the HATS Studio. If you have not created the Java code for this business logic, right click in the HATS Project View tab of the HATS Studio, and click New HATS > Business Logic to invoke the Create Business Logic wizard.
Action: Extract global variable action
For the region of the host screen, you define the starting and ending rows and columns for the area of the screen you want to assign as a global variable. You can extract information from the screen and define it as a global variable. When you extract a global variable, you can specify a name or select an existing global variable name from the drop-down list for the Name field.
Action: Insert data action
You can highlight certain fields on your host screen by selecting the different options beside Highlight fields. If you want to see where the input fields are defined on the screen, select the Input check box. If you want to see what fields are protected, select the Protected check box. If you want to highlight any hidden fields, select the Hidden check box. To modify the colors of the input, protected or hidden fields highlighting, see Using HATS preferences.
Action: Set global variable action
You can set global variables to be used by other objects within your project and also by other projects in the .ear. When you set a global variable, you can specify a name or select an existing global variable name from the drop-down list for the Name field. If you select an existing indexed global variable, click Advanced to specify how to handle the setting of the value. The following options are available:
Action: Show URL action
If you want to show a Web page as the action of this screen customization, you must specify the URL (uniform resource locator) address of the Web page in the URL field. With Internet Explorer Version 6.0 or later and Netscape(TM) Version 6.2 or later, the Web page is shown surrounded by the default template, similar to the way a transformation is shown. Once the Web page loads, you can go back to your HATS application by pressing the Continue Application button at the bottom of the Web page. For a list of supported Web browsers and limitations, refer to HATS Getting Started.
Action: Forward to URL action
The forward to URL action enables you to pass control from a transformation-oriented HATS project to a JSP that invokes one or more chained Integration Objects. This enables you to use Integration Objects that you have already created. The Integration Objects can use the existing connection or a background connection. To add a forward action to an event, you must specify the following parameters:
Action: Play macro
If you recorded a macro, you can select it from the drop down box to play it. The macro will begin playback whenever this event is selected. It should be noted that the Play macro action runs a macro on the current connection. The Perform macro transaction, however creates a new connection to run the macro on.
Action: Perform macro transaction
Selecting this action enables you to play a recorded macro on a new instance of a designated connection, even a connection to a different legacy host. After clicking the Perform macro transaction button, select which macro you want to play in the Play a macro drop-down list and what connection to use in the Perform on connection drop-down list.
Action: Send key
This action sends a specified key to the host screen. Once you have selected the location on the screen to apply your action, choose which key to send to your host screen.
Action: Disconnect
The Disconnect action immediately performs the disconnect event. By default, the disconnect event disconnects and releases the default connection.
Action: Pause
The Pause action allows you to specify the amount of time (in milliseconds) before continuing with normal processing.
*** Please refer to the HATS V6.0 "User's and Administrator's Guide" for detailed explanations on the above topics.
Text Replacement
HATS applications can convert text strings on host screens into different strings or HTML on Web pages.
Text Replacement displays a table in which you can specify any text you want to replace, the text (or HTML content or image) with which you want to replace the original text, and whether the text search is case-sensitive or not. You can add, modify, or remove any text replacement specifications by using the buttons to the right of the table of values.
Text Replacement: Java regular expression
Regular expressions are patterns of characters that describe a set of strings. You can use regular expressions to find and modify occurrences of a pattern.
Next Screen
The Next Screen tab allows you to identify the next likely screens to occur after the screen you are on.
Specify Host Key
A developer can specify the execution of a host key after the completion of the action list in a screen customization. This feature allows the runtime to drive a host's screen transformation to change and avoid an infinite loop through the customization's action list.
Screen Customization
A screen customization is a HATS resource with two parts: a set of screen recognition criteria used to match one (or more) host screens, and a list of actions to be taken when a host screen matches the screen recognition criteria.
When you create your project in HATS Studio, you use the Create a Screen Customization wizard to define screen customizations. You must have the host terminal open or a screen capture before you use the screen customization wizard. BMS maps can also be used to create screen captures used for screen customizations.
Screen Recognition Criteria
You set screen recognition criteria that HATS uses to match host screens. Host screens can be recognized by any combination of criteria including how many input fields or total fields are on the screen, the coordinates of the cursor's position, and text strings on the screen within a defined rectangle or anywhere on the screen. The Screen Recognition Criteria tab of the screen customization editor displays the screen recognition criteria that you set for the screen customization. You can add, edit, or remove criteria on this tab.
*** Please refer to the HATS V6.0 "User's and Administrator's Guide" for detailed explanations on the following topics.
Actions
The Actions tab of the screen customization editor displays the configured actions for the screen customization.
Action: Apply transformation action
If you decide to apply a transformation as an action of this screen customization, you can select the transformation you want to apply from the drop-down list of transformations defined in the project.
Action: Execute business logic action
If you decide to execute some business logic as the action of this screen customization, you must specify in the fields provided the fully qualified Java class name and the Java method for the business logic you want to perform. You can click Browse next to the Class name field to select a class in which the business logic method is defined. You can select any class defined under the Source folder in the HATS Project View tab of the HATS Studio. If you have not created the Java code for this business logic, right click in the HATS Project View tab of the HATS Studio, and click New HATS > Business Logic to invoke the Create Business Logic wizard.
Action: Extract global variable action
For the region of the host screen, you define the starting and ending rows and columns for the area of the screen you want to assign as a global variable. You can extract information from the screen and define it as a global variable. When you extract a global variable, you can specify a name or select an existing global variable name from the drop-down list for the Name field.
Action: Insert data action
You can highlight certain fields on your host screen by selecting the different options beside Highlight fields. If you want to see where the input fields are defined on the screen, select the Input check box. If you want to see what fields are protected, select the Protected check box. If you want to highlight any hidden fields, select the Hidden check box. To modify the colors of the input, protected or hidden fields highlighting, see Using HATS preferences.
Action: Set global variable action
You can set global variables to be used by other objects within your project and also by other projects in the .ear. When you set a global variable, you can specify a name or select an existing global variable name from the drop-down list for the Name field. If you select an existing indexed global variable, click Advanced to specify how to handle the setting of the value. The following options are available:
Action: Show URL action
If you want to show a Web page as the action of this screen customization, you must specify the URL (uniform resource locator) address of the Web page in the URL field. With Internet Explorer Version 6.0 or later and Netscape(TM) Version 6.2 or later, the Web page is shown surrounded by the default template, similar to the way a transformation is shown. Once the Web page loads, you can go back to your HATS application by pressing the Continue Application button at the bottom of the Web page. For a list of supported Web browsers and limitations, refer to HATS Getting Started.
Action: Forward to URL action
The forward to URL action enables you to pass control from a transformation-oriented HATS project to a JSP that invokes one or more chained Integration Objects. This enables you to use Integration Objects that you have already created. The Integration Objects can use the existing connection or a background connection. To add a forward action to an event, you must specify the following parameters:
Action: Play macro
If you recorded a macro, you can select it from the drop down box to play it. The macro will begin playback whenever this event is selected. It should be noted that the Play macro action runs a macro on the current connection. The Perform macro transaction, however creates a new connection to run the macro on.
Action: Perform macro transaction
Selecting this action enables you to play a recorded macro on a new instance of a designated connection, even a connection to a different legacy host. After clicking the Perform macro transaction button, select which macro you want to play in the Play a macro drop-down list and what connection to use in the Perform on connection drop-down list.
Action: Send key
This action sends a specified key to the host screen. Once you have selected the location on the screen to apply your action, choose which key to send to your host screen.
Action: Disconnect
The Disconnect action immediately performs the disconnect event. By default, the disconnect event disconnects and releases the default connection.
Action: Pause
The Pause action allows you to specify the amount of time (in milliseconds) before continuing with normal processing.
*** Please refer to the HATS V6.0 "User's and Administrator's Guide" for detailed explanations on the above topics.
Text Replacement
HATS applications can convert text strings on host screens into different strings or HTML on Web pages.
Text Replacement displays a table in which you can specify any text you want to replace, the text (or HTML content or image) with which you want to replace the original text, and whether the text search is case-sensitive or not. You can add, modify, or remove any text replacement specifications by using the buttons to the right of the table of values.
Text Replacement: Java regular expression
Regular expressions are patterns of characters that describe a set of strings. You can use regular expressions to find and modify occurrences of a pattern.
Next Screen
The Next Screen tab allows you to identify the next likely screens to occur after the screen you are on.
Specify Host Key
A developer can specify the execution of a host key after the completion of the action list in a screen customization. This feature allows the runtime to drive a host's screen transformation to change and avoid an infinite loop through the customization's action list.
Screen Customization
A screen customization is a HATS resource with two parts: a set of screen recognition criteria used to match one (or more) host screens, and a list of actions to be taken when a host screen matches the screen recognition criteria.
When you create your project in HATS Studio, you use the Create a Screen Customization wizard to define screen customizations. You must have the host terminal open or a screen capture before you use the screen customization wizard. BMS maps can also be used to create screen captures used for screen customizations.
Screen Recognition Criteria
You set screen recognition criteria that HATS uses to match host screens. Host screens can be recognized by any combination of criteria including how many input fields or total fields are on the screen, the coordinates of the cursor's position, and text strings on the screen within a defined rectangle or anywhere on the screen. The Screen Recognition Criteria tab of the screen customization editor displays the screen recognition criteria that you set for the screen customization. You can add, edit, or remove criteria on this tab.
*** Please refer to the HATS V6.0 "User's and Administrator's Guide" for detailed explanations on the following topics.
Actions
The Actions tab of the screen customization editor displays the configured actions for the screen customization.
Action: Apply transformation action
If you decide to apply a transformation as an action of this screen customization, you can select the transformation you want to apply from the drop-down list of transformations defined in the project.
Action: Execute business logic action
If you decide to execute some business logic as the action of this screen customization, you must specify in the fields provided the fully qualified Java class name and the Java method for the business logic you want to perform. You can click Browse next to the Class name field to select a class in which the business logic method is defined. You can select any class defined under the Source folder in the HATS Project View tab of the HATS Studio. If you have not created the Java code for this business logic, right click in the HATS Project View tab of the HATS Studio, and click New HATS > Business Logic to invoke the Create Business Logic wizard.
Action: Extract global variable action
For the region of the host screen, you define the starting and ending rows and columns for the area of the screen you want to assign as a global variable. You can extract information from the screen and define it as a global variable. When you extract a global variable, you can specify a name or select an existing global variable name from the drop-down list for the Name field.
Action: Insert data action
You can highlight certain fields on your host screen by selecting the different options beside Highlight fields. If you want to see where the input fields are defined on the screen, select the Input check box. If you want to see what fields are protected, select the Protected check box. If you want to highlight any hidden fields, select the Hidden check box. To modify the colors of the input, protected or hidden fields highlighting, see Using HATS preferences.
Action: Set global variable action
You can set global variables to be used by other objects within your project and also by other projects in the .ear. When you set a global variable, you can specify a name or select an existing global variable name from the drop-down list for the Name field. If you select an existing indexed global variable, click Advanced to specify how to handle the setting of the value. The following options are available:
Action: Show URL action
If you want to show a Web page as the action of this screen customization, you must specify the URL (uniform resource locator) address of the Web page in the URL field. With Internet Explorer Version 6.0 or later and Netscape(TM) Version 6.2 or later, the Web page is shown surrounded by the default template, similar to the way a transformation is shown. Once the Web page loads, you can go back to your HATS application by pressing the Continue Application button at the bottom of the Web page. For a list of supported Web browsers and limitations, refer to HATS Getting Started.
Action: Forward to URL action
The forward to URL action enables you to pass control from a transformation-oriented HATS project to a JSP that invokes one or more chained Integration Objects. This enables you to use Integration Objects that you have already created. The Integration Objects can use the existing connection or a background connection. To add a forward action to an event, you must specify the following parameters:
Action: Play macro
If you recorded a macro, you can select it from the drop down box to play it. The macro will begin playback whenever this event is selected. It should be noted that the Play macro action runs a macro on the current connection. The Perform macro transaction, however creates a new connection to run the macro on.
Action: Perform macro transaction
Selecting this action enables you to play a recorded macro on a new instance of a designated connection, even a connection to a different legacy host. After clicking the Perform macro transaction button, select which macro you want to play in the Play a macro drop-down list and what connection to use in the Perform on connection drop-down list.
Action: Send key
This action sends a specified key to the host screen. Once you have selected the location on the screen to apply your action, choose which key to send to your host screen.
Action: Disconnect
The Disconnect action immediately performs the disconnect event. By default, the disconnect event disconnects and releases the default connection.
Action: Pause
The Pause action allows you to specify the amount of time (in milliseconds) before continuing with normal processing.
*** Please refer to the HATS V6.0 "User's and Administrator's Guide" for detailed explanations on the above topics.
Text Replacement
HATS applications can convert text strings on host screens into different strings or HTML on Web pages.
Text Replacement displays a table in which you can specify any text you want to replace, the text (or HTML content or image) with which you want to replace the original text, and whether the text search is case-sensitive or not. You can add, modify, or remove any text replacement specifications by using the buttons to the right of the table of values.
Text Replacement: Java regular expression
Regular expressions are patterns of characters that describe a set of strings. You can use regular expressions to find and modify occurrences of a pattern.
Next Screen
The Next Screen tab allows you to identify the next likely screens to occur after the screen you are on.
Specify Host Key
A developer can specify the execution of a host key after the completion of the action list in a screen customization. This feature allows the runtime to drive a host's screen transformation to change and avoid an infinite loop through the customization's action list.
Transformation
A JSP file that defines how host components should be extracted and displayed using widgets in a Web presentation. Applying a transformation is one of the possible actions of a screen customization. You can edit transformations in a WYSIWYG fashion, dragging and dropping HATS components from the palette, and modifying settings from the HATS Properties view.
Design
The Design tab displays the current WYSIWYG view of the transformation as you make changes to it. The Design tab also applies cascading style sheets (CSS) to the visual component tags (VCT).
You can also specify the free layout mode of your transformation by selecting Page > Layout Mode > Free Layout. Free layout allows you to freely arrange components and widgets using the Rational Studio editor. It automatically aligns components by creating the necessary table cells. You can also drag and drop components by using the Palette to edit your transformation and it is recommended to only insert one component per table cell. The free layout table can be set as a preference for new, blank transformations in HATS.
Note:
When you insert a HATS component into a free layout table of a transformation, the Full page preview function in the Insert Host Component always shows the new component at the top of the free layout table. The preview can be misleading, the component will be inserted at the right location inside table once you click Finish in the wizard.
Properties View
When editing a transformation, you can change the properties of HATS components, or other controls (such as buttons, images, and links), by using the Properties view. The Properties view is located at the bottom area of the transformation editor. You can also access the Properties view by selecting Window > Show View > Properties from the HATS menu.
Palette view
The Palette view (Window > Show View > Other > Basic > Palette) contains a palette with a series of drawers. Each drawer contains items that you can drag and drop into the active editor. For example, if you are editing a JSP page in Page Designer, you can open the JavaServer Pages drawer and drag and drop a JSP bean onto the JSP page. The drawers and their contents vary depending on the active editor.
To customize the Palette view, right-click within the Palette view, select Customize and then add or hide the items you want to see. Additionally, you can increase the size of the icons in the palette by right-clicking within the palette and selecting Use Large Icons).
You can combine data from multiple back end systems, and integrate them seamlessly into a single web application. The end user need not know they are switching between multiple host, VT, or native J2EE applications.
You can combine data from multiple back end systems, and integrate them seamlessly into a single web application. The end user need not know they are switching between multiple host, VT, or native J2EE applications.
Connection
A set of parameters used by HATS to connect to host applications. There are two types of connections in HATS, transformation (default) and background. Each HATS application has one default connection for the host application whose screens HATS will transform. Background connections are any connections in a project other than the default connection. HATS does not transform screens from background connections. Background connections can be pooled.
Macros and Host Terminal
A macro is an XML script that defines a set of screens. Each screen includes a description of the screen, the actions to perform for that screen, and the screen or screens that can be presented after the actions are performed.
HATS supports macro-based customization to speed up and customize the host application process. HATS supports skip-screen macros, prompt macros, and extract macros. Macros can be used for the following:
As an action such as the play macro action or the play macro transaction action. Playing a macro must be the last action performed for a screen customization. For more information see Actions.
To connect or disconnect a particular host connection. For more information see Macros.
To generate an Integration Object. For more information, see Creating an Integration Object.
In a transformation JSP. See Insert Macro Key for more information.
To perform macro transactions. For more information, see Perform macro transaction.
You can use macros to do any or all of the following:
Skip-screen
Skip-screen macros are navigational macros that move the user from one screen to another screen without displaying intervening screens.
Prompt
Prompt macros contain steps to request input from users during the host session. They can also set prompts from a user list. For example, you can use a prompt macro to ask a user for their user ID and password before logging them into a host application. Note:
User list prompts can only be used in connect macros.Prompt macros can also be used by developers to place constant values or even values obtained from global variables.
Extract
Extract macros contain events to extract host screen information as a string, data as a table or even a global variable. You can use an extract macro to connect to a directory-type host application and extract the results of doing a search in the directory.
Macros recorded or imported in HATS Studio are saved in a HATS macro (.hma) file. You can use the macro editor to view and modify those macros.
You can see the macros defined in your project by expanding the Macros node of the HATS Project View tab of the HATS Studio. You can invoke the macro editor by double-clicking on the name of the macro.
Debugging macros
To better debug macro play errors, four new icons were added to the Host Terminal toolbar. The buttons are designed to help you "step" through a macro, where a step is defined as playing one action or recognizing one screen. The new buttons are "Step Into", "Step Over", "Step Return" and "Resume".
Each of the new buttons have function keys associated with them. Depending on which view is active (either the Macro Navigator or the Host Terminal) , the F5, F6, F7, and F8 keys will function differently. For instance, if the Macro Navigator is active, pressing F5 or F6 will do "Step Into" or "Step Over" respectively. If the Host Terminal is active, pressing F5 or F6 will send the aid key to the host.
Advanced Macro Editor
The advanced macro editor is a graphical user interface (with buttons, input fields, list boxes, and so on) for editing the parts of a macro.
Note:
The advanced macro editor is not synchronized with the HATS macro editor. This means that when you make a change in the advanced macro editor, it will not be reflected immediately in, for example, the source view. When you save and exit one editor, the changes will be reflected in the other.
Global Variables
A global variable contains a value that can be used to pass information from one HATS object to another. For example, you can extract information from several locations on a host screen, perform calculations, and insert the result on the current screen or a future one. You can build up an array of strings from one or more host screens and insert them into a transformation. You can extract a string that a user enters into a field on a Web page and use it elsewhere.
You may share global variables across applications (within the same EAR) during a single HTTP session. Global variables that can be shared between applications are called 'shared global variables', where as global variables that are only visible within the scope of a single HATS application are called 'local variables'. Any time you use or create a local global variables, you need to specify whether it is a shared or local. The Advanced settings section will allow you to specify sharing. The default setting for all global variables is 'local'.
Note: Two global variables with the same name can coexist if one is local and the other is shared.
Indexed Global Variables
A global variable can contain a numeric value, a string, or an indexed array of strings. If you use a global variable to contain an array of strings, you can specify for any action whether you want to use the entire array, a particular index, or all the values starting at a particular index. All operations on global variables are case-sensitive. Do not use names beginning with "HATS", "hats" or "Hats" for global variables.
You can set the value of a global variable in these ways:
With a Set global variable or Extract global variable as an action on a screen customization or other event
By prompting the user for a value in a transformation JSP
By prompting the user for a value while running a macro
By setting a value in the macro source code
By setting the value in a business logic program.
After a global variable has a value, you can use that value in the following ways:
To calculate the value of another global variable, in a Set global variable action
To write the value to a host screen, using an Insert Data action
To insert the value into a transformation or a template, using the Insert Global Variable menu item
To pass the value to a macro
To use the value in business logic
To use as a criterion in screen recognition.
Renaming global variables
When you rename an instance of a global variable within a HATS application, only that particular instance of the global variable is renamed. HATS V6 has added ability to rename all instances of a global variable. To get a list of all global variables found in a particular HATS project do the following:
Select Window > Show View > Global Variables from the HATS toolbar. The Global Variables view will be placed right below the Palette view.
Click on a project in the HATS Project View to populate the view with all the global variables found in the selected project's macros and events. If you select a different project from the HATS Project View, the Global Variables view will be updated. The content is refreshed when a macro or event of the selected project is added, deleted, or edited.
You can rename the global variable through the view toolbar menu or by right clicking the global variable to edit the name. You can also can double-click on the macros or events listed under each global variable open them When you create or edit the macros or events, the Global Variables view will automatically be updated.
Note: Renaming of global variables is only supported for global variables defined in macros and events; therefore, the Global Variables view will only display those global variables. Also, renaming global variables will not rename the global variables in business logic, transformations or elsewhere in your HATS project.
Tabbed Folder
A folder with tabs on your Web page. Tabbed folders are helpful in organizing your widgets and information to display on the Web page. With Insert Tabbed Folder, you specify how many tabs you want for your folder. Combining the tabbed folder and the stored screen function enables you to have a folder with a different host screen on each tab. For each tab in the folder, you also specify the following:
The label text for the tab
The host components you want to display on the tab
The background color for the tab when it is not selected
The background color for the tab when it is selected
Under Tab advanced options, if you clear the Use default values check box, you can specify the following:
The color of the text on the tab page when the tab is selected
The color of the text on the tab page when it is not selected
The color of the tab page when you place your cursor over the tab
Under Folder advanced options, if you clear Use default values check box, you can specify the following:
The height of the tab in pixels
The width of the folder in pixels
The height of the folder in pixels
The color of the folder outline
The Preview window shows how the tabbed folder will appear, based on the selections you make. This preview does not show the components that have been inserted into the tabbed folder. It only displays changes to the folder such as size and color.
You can click Full page preview to show all the components on the page along with the associated template. This preview shows the page as it will appear to the end user.
Click OK when you have defined all of the tabbed folder options for each tab in the folder.
Once you have created a tabbed folder, you can not come back to the Insert Tabbed Folder wizard to make changes. You need to edit the source because the output is in HTML (and HATS component tags).
Note: Because a tabbed folder is made up of several HTML tags, it is not recommended to try and move the individual sections. If you want to change the location of your tabbed folder, select the cell that surrounds it and move the cell to the desired location.
Business Logic
Business logic is any Java code that is invoked as an action when an event occurs, such as a host screen being recognized or your HATS application being started. Business logic is specific to the application and is not provided as part of HATS. You can use business logic to extend your HATS application to integrate with other data sources, such as a database or an Integration Object. For example, you could read the contents of a file or a database into HATS global variables and use the global variables to fill in a drop-down list or popup to be used in the application's Web pages.
Host Publisher Database Access Integration Objects are deprecated in HATS V6. If you import a Host Publisher application that contains Database Access Integration Objects, the Integration Objects are preserved in a .jar file. However, you cannot create new Database Access Integration Objects in HATS V6. You can use the relational database tools in Rational Studio to access your relational databases.
Deprecated adj. Said of a program or feature that is considered obsolescent and in the process of being phased out, usually in favor of a specified replacement. Deprecated features can, unfortunately, linger on for many years. This term appears with distressing frequency in standards documents when the committees writing the documents realize that large amounts of extant (and presumably happily working) code depend on the feature(s) that have passed out of favor.
From Jargon File (4.3.1, 29 Jun 2001) http://www.bennetyee.org/http_webster.cgi?isindex=deprecated&method=exact
SQLQuery action (<sqlquery> element)
The SQLQuery action is a very useful and powerful action that allows you to send an SQL statement to a host database, retrieve any data resulting from the SQL statement, and then write the data into a Host On-Demand macro variable.
You can use the SQLQuery action in any type of session that supports macros (3270 Display, 5250 Display, VT Display, or CICS(R) Gateway).
The database server to which you connect can be on a different host than the host running your emulator session.
You can create an SQL statement manually or compose and test an SQL statement using the SQL Wizard.
The SQLQuery action supports only SQL statements of type Select. It does not support SQL statements of type Insert, Update, or Delete.
SQLQuery action (<sqlquery> element)
The SQLQuery action is a very useful and powerful action that allows you to send an SQL statement to a host database, retrieve any data resulting from the SQL statement, and then write the data into a Host On-Demand macro variable.
You can use the SQLQuery action in any type of session that supports macros (3270 Display, 5250 Display, VT Display, or CICS(R) Gateway).
The database server to which you connect can be on a different host than the host running your emulator session.
You can create an SQL statement manually or compose and test an SQL statement using the SQL Wizard.
The SQLQuery action supports only SQL statements of type Select. It does not support SQL statements of type Insert, Update, or Delete.
Because of HATS customization capabilities, it is perfect for use in a portal environment. For example, you can use HATS to reduce the amount of information displayed from a host screen. As you can see, host portlets can share the same portal with portlets from other sources.
Using Integration Objects
Integration Objects are JavaBeans that encapsulate interactions with a host application. If you have used IBM WebSphere Host Publisher, you are already familiar with most aspects of Integration Objects, but you will need to learn about how Integration Objects are used in HATS. You do not need to be an experienced Host Publisher developer to create and use Integration Objects in HATS.
If your HATS application will transform a single host application, with no secondary connections, you do not need to use Integration Objects. You may need to use Integration Objects if any of these statements are true:
Your application connects to more than one host application.
You want to encapsulate your host interactions into Enterprise JavaBeans (EJBs) or Web services. These processes are described in the HATS Programmer's Guide.
You want to build Web pages based on the inputs and outputs of a macro.
When you have created an Integration Object, you can use it in many ways:
Execute the Integration Object from business logic.
Build Model 1, Struts or JSF Web pages based on the inputs and outputs of the Integration Object.
Chain Integration Objects so that they can be executed in sequence.
Run the Forward to URL action to pass control from a transformation-oriented HATS project to a JSP that invokes one or more chained Integration Objects.
Refer to the HATS Programmer's Guide for information about other advanced tasks that can be performed with Integration Objects. Some of the tasks discussed are:
Creating a Web service containing one or more Integration Objects.
Creating a HATS Enterprise JavaBean (EJB) application by creating Integration Objects in a HATS EJB project.
Modifying the Java code of the Integration Object.
Model 1 Web pages
The "traditional" HATS approach to building a JSP is called Model 1. In this model, a single JSP contains:
The information to be presented to the user
Formatting tags that specify how the information is displayed
Control logic that controls which page is called next
You use Model 1, which is page-centric, for simple applications or if you want to get something done quickly. Applications implementing this model have a series of JSP pages where the user proceeds from one page to another. This is the model you always employ when you first learn JSP because it's simple and easy. The main problem with Model 1 applications is that they're hard to maintain and not flexible. In addition, this architecture does not promote the division of labor between the page designer and the Web developer because the developer is involved in both the page development and business objects coding.
Struts Web pages
HATS enables you to use Struts to build Web pages based on Integration Objects.
Struts framework and model-view-controller design pattern
Struts is a framework of open-source software that can help you build Web applications quickly and easily. It relies on standard technologies such as Java beans, Java servlets, JavaServer Pages (JSP), and XML. Struts encourages application architectures based on the Model 2 approach, which is basically the same as the model-view-controller (MVC) design pattern.
Using Struts to create a complex Web application can help make the application more maintainable. The application is easier to debug, easier to extend, and easier to understand.
The centerpiece of Struts is its MVC-style controller, which integrates with other technologies that provide the model and the view. For the model, Struts can interact with standard data access technologies such as JDBC and EJB, as well as many third-party packages such as Hibernate, iBATIS, or Object Relational Bridge. For the view, Struts works well with JSP, including the JSP Standard Tag Library (JSTL) and JavaServer Faces (JSF), as well as Velocity Templates, XSLT, and other presentation systems.
Struts is hosted by the Apache Software Foundation (ASF) as part of its Jakarta project. For a detailed description of Struts, see the following Web site:http://jakarta.apache.org/struts/index.html
JSF Web pages
JavaServer Faces (JSF) is a framework for developing user interfaces (UI) for Web applications which run on a Java server. You can quickly build web applications by assembling reusable UI components in a page. Once you have created JSF Web pages, you can use tools such as page designer and the palette for modifications and editing.
HTML compression support has been added in HATS 6.0.2. This feature reduces the number of bytes being transferred between the HATS runtime, which is running on the WebSphere Application Server, and the end user's browser. This reduces the transfer time between the HATS runtime and the browser (which increases response time) and reduces the number of bytes flowing in the network (which increases network utilization).
To enable this feature, you must update the Web Deployment Descriptor file (web.xml) of your project to include the new compression filter (unless you are creating a new project using HATS 6.0.2 or above) as well as enable the compression filter in the Project Settings file (application.hap) of your project.
To add the compression filter to the web.xml (not required for projects created using HATS 6.0.2 and above):
From the HATS Studio, switch to the Navigator view.
Open "web.xml" located in the Web Content \ WEB-INF folder of your project.
Click the Source tab to view the source of this file.
Copy the following after the last defined servlet mapping (search for the last "</servlet-mapping>"):
<filter>
<description>Provides compression for output from HATS entry servlet</description>
<display-name>CompressionFilter</display-name>
<filter-name>CompressionFilter</filter-name>
<filter-class>com.ibm.hats.runtime.filters.CompressionFilter</filter-class>
</filter>
Copy the following after the last defined filter mapping (search for the last "</filter-mapping>"):
<filter-mapping>
<filter-name>CompressionFilter</filter-name>
<servlet-name>EntryServlet</servlet-name>
<dispatcher>ERROR</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>CompressionFilter</filter-name>
<url-pattern>/</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CompressionFilter</filter-name>
<url-pattern>/index.jsp</url-pattern>
</filter-mapping>
Note: If your project is targeted for WebSphere Application Server 5.1, you do not need to include the <dispatcher> tags in the above filter-mapping.
Save the file.
If you have already run this project on the server, you will need to republish the application for WebSphere Application Server to pick up the change to web.xml
To enable support in the Project Settings file:
From the HATS Studio, open the Project Settings file.
Click the Source tab to view the source of the file.
Add the following tags after the <classSettings> tag:
<class name="com.ibm.hats.common.RuntimeSettings">
<setting name="enableCompression" value="true"/>
</class>
Save the file.
To enable tracing:
To determine if compression is working properly and to see before and after page size in bytes, you can enable tracing by updating the trace.UTIL line in the runtime.properties (or runOnServer.properties file if running inside the Studio). For example:
trace.UTIL=7
Known limitations:
This feature is not applicable when running the HATS application on WebSphere Portal.
All browsers supported by HATS 6.0.2, except for Internet Explorer 5.2.3 on Macintosh, support gzip compression by default. HATS ensures the "Accept-Encoding" HTTP header contains "gzip" before compressing a page.
You must restart the application server if you want changes made to compression-related settings picked up while the application is running on the server. Typically, you are not required to restart the application server if changes are made in the project settings file.
Javascript (.js) and Cascading Stylesheet (.css) files are not compressed by this new function. You must configure HTTP compression within your HTTP server to provide compression for these types of files. See the documentation of your HTTP server for more information.
Contention resolution (TN3270E only)
Contention resolution, as defined in the latest draft of the Internet Engineering Task Force (IETF) TN3270E protocol standard (RFC2355), and available on many TN3270E servers, helps overcome limitations in the conversion of the SNA protocol of the host to the Telnet protocol of the clients. Using contention resolution improves the performance of TN3270E clients, including HATS.
The use of contention resolution is negotiated during connection setup, between the telnet client in HATS (the HACL telnet client) and the TN3270E server. If HATS successfully negotiates contention resolution with the TN3270E server, communication is more efficient, resulting in fewer delays interacting with host systems. By default, HATS attempts to negotiate contention resolution with any 3270-based host system defined with the TN3270E host type.
Asynchronous update applet
HATS provides the capability for asynchronous outbound data to be updated at the client browser, by means of an optional Java applet included in HATS applications referred to as the asynchronous update applet. Use of this applet is another way to tune the HATS screen-settling process. Whether you choose to use the applet is a decision that can be based on
Your experience of how your applications work with just tuning the screen-settling settings, if necessary
Whether enabling Contention Resolution for TN3270E hosts is an option
Whether firewall, portal, or other considerations allow Java applets in your deployment
Note: Asynchronous update applet is not supported for HATS portlet projects.
When the applet is used, the application server can push content to the client when asynchronous outbound data is received at a time in the screen-settling process that HATS is not expecting the data. Using the applet can enhance performance by enabling screen-settling times to be reduced, since missed updates can be refreshed on the client when they are received at the application server. Several default screen-settling settings are changed when the applet is configured and running on a client. See Table 12 and Table 14 for more information on these settings.
The asynchronous update applet is configurable on the Other tab of the Project Settings editor (Project Settings > Other > Asynchronous Updates) See Modifying a HATS project for more information on this applet. If the HATS project is running in a network environment that prevents the applet from opening a connection to the HATS server, the client falls back to the screen-settling strategies and settings used when the applet is not configured.
Screen-settling overview
Host applications can send outbound data in any number of transmissions, the number of which is not provided to the client. This situation is handled easily when using a terminal or heavy client terminal emulator, as communications remain always active and results in the client's view being updated whenever necessary. However, when using HATS to transform screen-based host applications into an HTML-based format, the client is only connected to the host (indirectly, through the HATS runtime on the application server) for the duration of each browser update requested by the client. Therefore, HATS must analyze the outbound data received during this browser update cycle, and decide when to send the current host screen to the screen recognition engine for transformation or other event processing. This process of analyzing the outbound data and deciding when to use the current host screen is called screen-settling.
The HATS runtime performs screen-settling:
Only when transforming screens (that is, not while running a macro or Integration Object, which contain their own requirements for the next screens to check for)
When it is determined that a host interaction, such as an AID key like [Enter], has taken place and outbound data is expected.
After screen-settling, HATS examines the host screen (presentation space) and compares it to the set of enabled screen customizations (screen recognition) for further processing. It is important that this settled screen is the intended one.
Turning on the Display Terminal option can seriously affect performance or overload the server. Do not use this on servers with many connections. Display Terminal is intended for use in debugging during application development on a test system; it is not intended for use on a heavily loaded production server.
Starting in November, 2004, IBM Support has significantly enhanced the IBM Support Page. Many of the things that you used to have to go to each individual product support page to can now all be done at one place – regardless of product. BPs or Customers will use their Passport Advantage or IBM Support website userid/password to logon.