IBM Cloud Authors: Kevin Jackson, Yeshim Deniz, Pat Romanski, Liz McMillan, Carmen Gonzalez

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.


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
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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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?


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.
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.


  • 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
    SYS-CON Events announced today that Enzu will exhibit at SYS-CON's 21st Int\ernational Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Enzu’s mission is to be the leading provider of enterprise cloud solutions worldwide. Enzu enables online businesses to use its IT infrastructure to their competitive advantage. By offering a suite of proven hosting and management services, Enzu wants companies to focus on the core of their ...
    SYS-CON Events announced today that IBM has been named “Diamond Sponsor” of SYS-CON's 21st Cloud Expo, which will take place on October 31 through November 2nd 2017 at the Santa Clara Convention Center in Santa Clara, California.
    We build IoT infrastructure products - when you have to integrate different devices, different systems and cloud you have to build an application to do that but we eliminate the need to build an application. Our products can integrate any device, any system, any cloud regardless of protocol," explained Peter Jung, Chief Product Officer at Pulzze Systems, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA
    With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend 21st Cloud Expo October 31 - November 2, 2017, at the Santa Clara Convention Center, CA, and June 12-14, 2018, at the Javits Center in New York City, NY, and learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.
    SYS-CON Events announced today that CA Technologies has been named "Platinum Sponsor" of SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business - from apparel to energy - is being rewritten by software. From planning to development to management to security, CA creates software that fuels transformation for companies in the applic...
    Amazon started as an online bookseller 20 years ago. Since then, it has evolved into a technology juggernaut that has disrupted multiple markets and industries and touches many aspects of our lives. It is a relentless technology and business model innovator driving disruption throughout numerous ecosystems. Amazon’s AWS revenues alone are approaching $16B a year making it one of the largest IT companies in the world. With dominant offerings in Cloud, IoT, eCommerce, Big Data, AI, Digital Assista...
    Multiple data types are pouring into IoT deployments. Data is coming in small packages as well as enormous files and data streams of many sizes. Widespread use of mobile devices adds to the total. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists looked at the tools and environments that are being put to use in IoT deployments, as well as the team skills a modern enterprise IT shop needs to keep things running, get a handle on all this data, and deliver...
    In his session at @ThingsExpo, Eric Lachapelle, CEO of the Professional Evaluation and Certification Board (PECB), provided an overview of various initiatives to certify the security of connected devices and future trends in ensuring public trust of IoT. Eric Lachapelle is the Chief Executive Officer of the Professional Evaluation and Certification Board (PECB), an international certification body. His role is to help companies and individuals to achieve professional, accredited and worldwide re...
    With the introduction of IoT and Smart Living in every aspect of our lives, one question has become relevant: What are the security implications? To answer this, first we have to look and explore the security models of the technologies that IoT is founded upon. In his session at @ThingsExpo, Nevi Kaja, a Research Engineer at Ford Motor Company, discussed some of the security challenges of the IoT infrastructure and related how these aspects impact Smart Living. The material was delivered interac...
    IoT solutions exploit operational data generated by Internet-connected smart “things” for the purpose of gaining operational insight and producing “better outcomes” (for example, create new business models, eliminate unscheduled maintenance, etc.). The explosive proliferation of IoT solutions will result in an exponential growth in the volume of IoT data, precipitating significant Information Governance issues: who owns the IoT data, what are the rights/duties of IoT solutions adopters towards t...
    "When we talk about cloud without compromise what we're talking about is that when people think about 'I need the flexibility of the cloud' - it's the ability to create applications and run them in a cloud environment that's far more flexible,” explained Matthew Finnie, CTO of Interoute, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
    The Internet giants are fully embracing AI. All the services they offer to their customers are aimed at drawing a map of the world with the data they get. The AIs from these companies are used to build disruptive approaches that cannot be used by established enterprises, which are threatened by these disruptions. However, most leaders underestimate the effect this will have on their businesses. In his session at 21st Cloud Expo, Rene Buest, Director Market Research & Technology Evangelism at Ara...
    No hype cycles or predictions of zillions of things here. IoT is big. You get it. You know your business and have great ideas for a business transformation strategy. What comes next? Time to make it happen. In his session at @ThingsExpo, Jay Mason, Associate Partner at M&S Consulting, presented a step-by-step plan to develop your technology implementation strategy. He discussed the evaluation of communication standards and IoT messaging protocols, data analytics considerations, edge-to-cloud tec...
    New competitors, disruptive technologies, and growing expectations are pushing every business to both adopt and deliver new digital services. This ‘Digital Transformation’ demands rapid delivery and continuous iteration of new competitive services via multiple channels, which in turn demands new service delivery techniques – including DevOps. In this power panel at @DevOpsSummit 20th Cloud Expo, moderated by DevOps Conference Co-Chair Andi Mann, panelists examined how DevOps helps to meet the de...
    When growing capacity and power in the data center, the architectural trade-offs between server scale-up vs. scale-out continue to be debated. Both approaches are valid: scale-out adds multiple, smaller servers running in a distributed computing model, while scale-up adds fewer, more powerful servers that are capable of running larger workloads. It’s worth noting that there are additional, unique advantages that scale-up architectures offer. One big advantage is large memory and compute capacity...
    Artificial intelligence, machine learning, neural networks. We’re in the midst of a wave of excitement around AI such as hasn’t been seen for a few decades. But those previous periods of inflated expectations led to troughs of disappointment. Will this time be different? Most likely. Applications of AI such as predictive analytics are already decreasing costs and improving reliability of industrial machinery. Furthermore, the funding and research going into AI now comes from a wide range of com...
    Internet of @ThingsExpo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 21st Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The Internet of Things (IoT) is the most profound change in personal and enterprise IT since the creation of the Worldwide Web more than 20 years ago. All major researchers estimate there will be tens of billions devic...
    SYS-CON Events announced today that Ayehu will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on October 31 - November 2, 2017 at the Santa Clara Convention Center in Santa Clara California. Ayehu provides IT Process Automation & Orchestration solutions for IT and Security professionals to identify and resolve critical incidents and enable rapid containment, eradication, and recovery from cyber security breaches. Ayehu provides customers greater control over IT infras...
    SYS-CON Events announced today that MobiDev, a client-oriented software development company, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. MobiDev is a software company that develops and delivers turn-key mobile apps, websites, web services, and complex software systems for startups and enterprises. Since 2009 it has grown from a small group of passionate engineers and business...
    SYS-CON Events announced today that GrapeUp, the leading provider of rapid product development at the speed of business, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Grape Up is a software company, specialized in cloud native application development and professional services related to Cloud Foundry PaaS. With five expert teams that operate in various sectors of the market acr...