Welcome!

IBM Cloud Authors: Elizabeth White, Stackify Blog, Liz McMillan, Mauro Carniel, Pat Romanski

Related Topics: IBM Cloud

IBM Cloud: Article

HATS Off to Legacy

Make a great impact in a short amount of time using available resources

Get ready for another acronym - HATS (Host Access Transformation Server). Let's begin with a notional conversation - an "elevator pitch" of sorts - between two IT managers, Jim and Dennis.

JIM: Hey Dennis, I hear that we can now create journal entries from our intranet. How is that possible? Did we contract that same outfit to build us another application?

DENNIS: Not really; we're using WebSphere HATS.

JIM: Never heard of it. What exactly is that?

DENNIS: Oh, it's very slick. It's an extendable framework that can transform legacy application screens into Web browser content - in real time. You can now click your way through journal forms in a browser instead of special-keying your way around the 3270 emulator.

Over 60% of the world's software systems are considered legacy: so-called "green-screen" applications - with line-oriented user interfaces, generally hosted on mainframe-size computers, and implemented in languages like COBOL and RPG. They're likely accessed through special terminals or terminal emulator types such as 3270, 5250, and VT.

Legacy applications typically represent significant investment and tend to support critical business operations. IT organizations are experiencing unprecedented budget cuts, and it would be reasonable to surmise that legacy applications won't be going away any time soon. This is much to the chagrin of many end users and business-unit managers.

While legacy applications are typically "well-oiled machines" that perform their functions efficiently and with predictable response times, their overall presentation and usability often leave a lot to be desired. A line terminal interface can be nonintuitive and difficult to navigate. Furthermore, each legacy application can be limited to a narrow band of functionality - as they were often designed with functional compartmentalization in mind.

This can present a situation in which no single legacy application supports the job function of any given staff member. At best, this leaves users bouncing from one legacy application to another. In the worst case, related information is simply not accessible by the users who would benefit the most, and crude workarounds are sought.

Fortunately, what most organizations actually have is a hybrid environment - one in which legacy systems coexist with a modern enterprise platform (i.e., desktops, browsers, J2EE, .NET, etc.). These organizations can now be offered an opportunity to leverage their legacy systems with their investment in a 21st century enterprise by creating composite applications.

Composite applications draw upon an architectural pattern from which applications are built by combining some new logic with existing applications. WebSphere HATS applications are an example of a specialized composite pattern, one that transforms and combines legacy applications by negotiating with the same interface used by terminal emulators.

HATS is difficult to describe simply and completely, but here's an attempt: HATS provides a set of components to rapidly build, deploy, and launch customized applications that dynamically transform line-oriented interfaces into content that can be presented by a Web browser. Casting aside the details for the moment, this has some very interesting implications. An organization's legacy applications might be made accessible through:

  • An internal intranet and/or portal
  • A public Web site, extranet, or VPN
  • A PDA device such as a wireless Palm Pilot or a Pocket PC
Providing access to legacy content in this manner could not have been seriously considered a short time ago without a major redevelopment effort.

Backdrop

HATS is included in IBM's Host Integration Solution (HIS) offering. It is one of a set of WebSphere Application Server (WAS)-centric components that extend 3270, 5250, and VT interfaces to a standard Web browser (or to custom component). HATS applications perform this transformation according to a predefined rule set and programmed logic. In a grand three-tier context, HATS applications are the user interface, although they can (and often do) extend a business-rule tier or introduce logic of their own.

The term HATS is used in both a development and a deployment context. During development, "HATS" refers to a plug-in within the WebSphere Application Development Studio. Here, "HATS" typically refers to a project that is being developed within the studio. At some point, a completed project is deployed as a HATS application within a WAS instance.

The following HATS terms are used throughout this column.

  • HATS: The complete set of development and runtime components that make up the HATS framework - essentially, the product at large.
  • HATS Studio: The WebSphere Studio plug-in that allows a developer to view a HATS-specific perspective and create HATS projects.
  • HATS project: The complete set of HATS resources and other code that gives definition and form to a HATS application.
  • HATS application: An application (an EAR) generated from a HATS project that is then deployed and used - not unlike any other WebSphere-deployed application.
  • Hosted application: An existing legacy application - as one relates to HATS, a 3270, 5250, or VT emulated application. A HATS application is associated with at least one hosted application. As of HATS Release 5 (the latest), a HATS application can be configured to "connect" to multiple hosted applications, a feature that previously could be leveraged only through the HIS Host Publisher product.
At first look, there is much to appreciate about the HATS framework. During development, the HATS Studio (just another WebSphere Studio perspective) provides a set of wizards to rapidly specify a rule set for native-screen-to-browser-content transformation. At runtime the benefits of any WAS deployed application apply to HATS applications, including:
  • A zero client-side footprint - it's HTML/DHTML within a browser
  • Standard underpinnings (servlets, JSPs, tag library extensions, etc.)
  • Extendibility through J2EE-compliant application services
  • Scalability, including support for load balancing and failover
IN AND OUT OF FOCUS:
This article is not a substitute for a technical tutorial; there are plenty of online resources to get you started and provide you with reference material (see the Resources section). The main goal here is to provide a basic awareness of the product: what it does and how it does it, the HATS value proposition, and pointers to more detailed information. Also reference the IBM Web site and/or a representative for more transient information such as pricing, the license model, and product/platform compatibility issues.

PREREQUISITES
A surface knowledge of the following areas would be useful, as they are not explained in detail here:

  • Basic J2EE components
  • The core WebSphere product suite
  • The common incarnation of legacy systems
Beyond a thorough understanding the HATS product, the broader skill set required to execute or lead a HATS engagement through completion is dependent on the level of required customization and the sophistication of the deployment scenario. Extending the list above, some of the skill set areas that might be needed in a more complex HATS engagement include:
  • GUI design and advanced graphics
  • 3-tier Web application design
  • OOD/OOP and advanced J2EE features
  • Advanced WAS deployment
  • Pervasive content delivery
Regardless of the complexity, a successful engagement is most contingent on building the right application - covering the required use cases. With that in mind, someone on the team must have a solid grounding in a unified approach/process to application development.

The Developer Experience - Building a HATS Application

A developer starts the HATS application development process by creating a new project under the HATS perspective. The following information needs to be gathered and provided to the HATS Studio before it can create a complete and working project.
  • Hosted application hostname or IP address
  • Hosted application TCP/IP service port (it's typically 23 - the Telnet service port)
  • The selection of a default page template for all transformation. The HATS Studio provides several examples that can be used and/or customized. (Templates are further described later in this article.)
  • Type of terminal emulation (3270, 3270E, 5250, or VT)
  • If SSL is to be employed for security, know the location of the certificate file.
The HATS Studio will take a few moments to generate the HATS project.

If no screen customization is to be applied, you're done. Assuming that an authentication sign-on sequence is known for the hosted application, testing can commence within WebSphere Studio (or through a deployed application URL, once you've deployed). Let me state clearly that this is never how real-world engagements begin or end. There is rather limited value for a default, screen-by-screen emulator-to-HTML transformation. Also, the standard page templates are quite generic and are not very meaningful to a given Web application (see Figures 1 and 2). Now let's dig deeper.

HATS RESOURCES - WHAT A HATS PROJECT IS MADE OF
Once a HATS project is created, the underlying application can be systematically customized through HATS resources and custom Java code. HATS resources are identified and described below. Note: As is typical with WebSphere Studio perspectives, HATS resources can be managed either through easy-to-use designer views or by modifying their native persistent format. Most HATS resources are maintained as XML, JSP, or other markup language.

PROJECT CONFIGURATION
A HATS project is created and configured with many global settings such as those identified above and those that apply to the runtime transformation on the whole. Examples of such settings include:

  • Existing application details - where it is hosted, what terminal emulation type is used, etc.
  • The default page template.
  • Global text replacement rules
  • Priority ordering of screen customization
  • Basic presentation attributes of HTML "widgets"
A project's configuration is stored as an XML document.

TEMPLATE
A page template defines the window dressing that is presented with each transformed screen, including:

  • The basic header and footer, which might include the company name, logo, and copyright notices, etc.
  • Standard navigation to other points of interest
  • Style sheets that affect global presentation and behavior: colors, text fonts, mouseovers, etc.
A HATS project is always associated with a default template, but each transformation can be associated with a unique template. A template is typically stored as a JSP file, but tends to contain mainly HTML.

SCREEN CUSTOMIZATION
A HATS resource defines two things: the recognition criteria to be used to identify a given screen (or screen type), and a collection of actions to be taken when the recognition criteria is met. Examples of actions performed by a given customization include

  • Applying a transformation
  • Extracting or manipulating the value of a global variable
  • Executing business logic in a Java class
  • "Playing" a macro
  • Presenting a specified Web address (URL)
The lion's share of a HATS application's runtime processing revolves around applying actions assigned to screen customizations. Each screen customization can be applied to all or to only specific screens. Screen customizations are maintained as XML documents.

TRANSFORMATION
The action most commonly applied to a screen customization is the application of a transformation to a hosted screen. Simply put, a customization associates screen-recognition criteria with a set of actions to be taken, while a transformation defines how a screen is to be converted to Web content. Transformations are maintained as JSP content.

A close examination of a given transformation will uncover the use of a HATS-specific tag library - mainly to specify how selected areas on hosted screens are to be translated into HTML. The following code snippet is an example of a call to one such tag library, which is used to transform the user password text box in Figure 3.

<HATS:Component type="com.ibm.hats.component.InputFieldExtract"
widget="com.ibm.hats.widget.TextInputWidget" row="7" col="50" erow="7" ecol="69"
label="" componentSettings="" widgetSettings="" />

There is always at least one transformation in a given HATS application, a default transformation that is applied when no screen customization has been triggered. This transformation performs a basic "copy" of screen content and its relative screen positioning. Text is carried over as is, and user input structures are transformed into HTML form elements.

GLOBAL VARIABLE
A global variable can be defined and used throughout a HATS application. It can be assigned a value that appears at a specific location on a hosted screen, or it can be set with a literal or programmatic value. The value of a global variable can be set and accessed from virtually every other HATS resource. Global variables are primarily used as a parking spot for values that are truly static and global, and for passing information obtained from a given transformation to another.

MACRO
A macro is used to automate some interaction between the user and the hosted application. For example, a macro can be used to automatically respond to an application prompt, thereby making that interaction transparent to the HATS application user (since that screen won't be transformed to HTML). In practice, macros are mainly used to skip through and avoid redundant screens or interactions that add no value to the use case being implemented. Macros represent one of the more powerful HATS resources.

A macro is made active by assigning it as one of the actions to be taken during a screen customization. A macro is maintained in an XML document, which defines the prompts and responses to be automated.

SCREEN CAPTURE
A screen capture is an ASCII text (XML) representation of a screen from a hosted application. Developers can create HATS application resources (such as screen customizations and transformations) for captured screens without being connected to the hosted application's network, allowing some implementation to be conducted offline.

HATS at Runtime

Here's what a HATS application does: the HATS runtime engine (class library code) executing on behalf of each deployed HATS application performs the following processing each time a user invokes the URL that requests a given hosted application screen.

First, it iterates through a list of screen customizations looking for a match in the specified screen recognition criteria.

If a match is found, the application performs custom processing as defined in an associated rule set and returns the transformed screen to the requesting user, i.e., it applies all of the actions that were assigned to the matched screen customization in the order specified, such as:

  1. Play a macro
  2. Extract the value of a global variable and pass it to some business logic
  3. Apply a transformation
Otherwise, the application goes on to the next screen customization. If the screen customization list is exhausted without a matching criteria, default processing (the default transformation) is applied, and the screen is returned to the requesting user.

SHOW ME
The Figures 1-3 present a visual example of a HATS application at work. This HATS application was created using a sample (for testing purposes, a 5250 emulated hosted application that IBM maintains was used). Figure 1 shows how this application's sign-on screen looks through a typical emulator. Figure 2 shows a default transformation, i.e., without defining a screen customization for this sign-on screen. Finally, Figure 3 shows the sign-on screen presented after a customized Transformation was applied as part of a screen customization (which was triggered when this screen's recognition criteria was met). Notice that only the critical portions of the sign-on screen have been carried over - the text boxes for the user's login and password value. All text has been added as custom HTML content. Notice the rather generic heading and navigation areas that have been defined as part of the selected template for our project.

In the interest of saving space, this demonstration was intentionally terse. We've merely scratched the surface, but by now you should have a good idea of how HATS can be applied to accomplish the basic goal of "Webifying" a legacy application. See the Resources section for pointers to more detailed information.

PRIOR TO IMPLEMENTATION
The good news for prospective customers is that a HATS application can be deployed relatively quickly. A working, demonstrable application can be deployed on day one - and much customization can be accomplished in a matter of days/weeks, but how can the true scope of a HATS effort be estimated? The following factors have been shown to be significant for estimating the effort and time required to design, build, and deploy a HATS application:

1.  Total number of screens composing the target hosted application and the general level of complexity (e.g., depth and breadth of screen hierarchy, screen flow, form content, etc.) of the application

2.  Number of required screen customizations

3.  Amount of custom business or data validation logic that needs to be implemented

4.  Number of varying templates needed to be designed and built

5.  Degree of transformation required across the application - the number of HTML views that:

  • Use a standard transformation
  • Require simple transformation
  • Require complex transformation
6.  Level of the staff's experience with HATS and related WebSphere foundation

7.  Availability of hosted application subject matter experts

8.  Availability of hosted application's test plan

9.  Complexity of deployment scenario:

  • Portal or nonportal?
  • Single or multiple releases of WAS deployed?
  • Single or multiple instances of WAS deployed (redundancy and failover needed)?
  • User access requires VPN/firewall configuration?

Conclusion

HATS provides a very effective workbench for rapidly creating WebSphere-deployed J2EE applications that transform a line-terminal interface into an HTML interface in real time. That says quite a lot, and this column has covered only selected capabilities. As a technologist, I am very impressed with the simplicity and power of the HATS approach. From my perspective, its technical high points are as follows:
  • The HATS Studio allows for very rapid development. In its simplest form, a HATS application (for demonstration purposes) can be deployed in a single day.
  • HATS applications generate thin-client browser content (HTML/DHTML) portable to a range of end-user devices.
  • HATS applications are built on J2EE underpinnings - making them as extendable and interoperable as they need to be.
  • HATS applications are deployed under WAS - making them as scalable and redundant as they need to be.
  • The HATS architecture maintains a solid separation of concerns; existing legacy remains as is, and is "unaware" of the new presentation layer provided by HATS applications.
BUSINESS VALUE PROPOSITION
For organizations currently relying on legacy systems to support their business, HATS offers a clear value proposition. By virtue of a browser or similar device, specific legacy application features can be provided to users who would truly benefit. An organization will realize benefits unique to itself, but here are some general benefits that can cut across all businesses:
  • Short-term ROI
  • Real reductions in operating costs
  • Increased productivity and employee satisfaction
  • Boosted and/or newly realized revenue streams
  • Ability to create differentiation from competition by offering valuable business content to partners, suppliers, and customers.
For technologists, it should be fairly easy to demonstrate HATS as the proverbial "low hanging fruit" that it is - making a great impact in a short amount of time with available resources. In today's environment, that's a tough proposition for decision makers to ignore without some examination. HATS presents a very compelling story to line-of-business and IT managers alike.

Resources

  • WebSphere Host Integration Solution: www.ibm.com/software/webservers/hostintegration/features.html
  • WebSphere Host Access Transformation Services: www-3.ibm.com/software/webservers/hats
  • IBM WebSphere Host Access Transformation Server InfoCenter: www.ibm.com/software/webservers/hats/library/infocenter
  • WebSphere Host Publisher: www.ibm.com/software/webservers/hostpublisher
  • HATS-related Redbooks and Redpapers: www.redbooks.ibm.com
  • IBM Global Services Training Course Catalog (SW912 - IBM WebSphere Host Access Transformation Server Introduction): www.ibm.com/services/learning/us/catalog
  • More Stories By Louis Iacona

    Louis J Iacona has been designing and developing software professionally since 1982. He has been employed by organizations such as Bell Laboratories and Bellcore (Telcordia), and has helped start multiple new venture companies. He currently leads the design and implementation of applications deployed under the Websphere HIS and Portal Products.

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


    @ThingsExpo Stories
    "Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
    "Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    "IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
    Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
    Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
    "Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
    Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
    "MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
    "There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
    SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
    It is of utmost importance for the future success of WebRTC to ensure that interoperability is operational between web browsers and any WebRTC-compliant client. To be guaranteed as operational and effective, interoperability must be tested extensively by establishing WebRTC data and media connections between different web browsers running on different devices and operating systems. In his session at WebRTC Summit at @ThingsExpo, Dr. Alex Gouaillard, CEO and Founder of CoSMo Software, presented ...
    WebRTC is great technology to build your own communication tools. It will be even more exciting experience it with advanced devices, such as a 360 Camera, 360 microphone, and a depth sensor camera. In his session at @ThingsExpo, Masashi Ganeko, a manager at INFOCOM Corporation, introduced two experimental projects from his team and what they learned from them. "Shotoku Tamago" uses the robot audition software HARK to track speakers in 360 video of a remote party. "Virtual Teleport" uses a multip...
    A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
    SYS-CON Events announced today that Evatronix will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Evatronix SA offers comprehensive solutions in the design and implementation of electronic systems, in CAD / CAM deployment, and also is a designer and manufacturer of advanced 3D scanners for professional applications.
    Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
    To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
    An increasing number of companies are creating products that combine data with analytical capabilities. Running interactive queries on Big Data requires complex architectures to store and query data effectively, typically involving data streams, an choosing efficient file format/database and multiple independent systems that are tied together through custom-engineered pipelines. In his session at @BigDataExpo at @ThingsExpo, Tomer Levi, a senior software engineer at Intel’s Advanced Analytics gr...