http://www.developer.com/design/article.php/3078731/Leveraging-Host-Applications.htm
Are host applications assets to be leveraged or liabilities to retire? In this article, we will look at two classes of products that can leverage existing investments in host applications. We won't discuss any particular vendor's product, but focus on the general capabilities, benefits, and risks. First, we'll discuss web-to-host products that provide an HTML user interface to 'green screen' applications. Next, we'll discuss host integration products that expose host functionality as XML services. Then, we'll discuss strategies for how these products might be used to extend the life of or eventually replace a host application. Finally, we'll summarize what we've learned. Web-to-host software is used to webify a host application. Figure 1 depicts an IBM 3270 green screen host application being delivered as HTML to a browser through a web-to-host product. The application could have also been one of many other varieties of character-based user interfaces. If you were to think of your application in terms of tiers and layers, the web-to-host software would be in the presentation tier. It wouldn't provide any business logic, but just the user interface code. Web-to-host products are not intrusive to the host application and do not require any changes to the host application itself. All existing business logic can be reused from the host application. Web-to-host products establish a session on the host computer, and then recognize and transform the green screens into an HTML form-based interface. There may be "on-the-fly" transformation of screens through default transformation rules. This capability can expose a host application to the web in a matter of minutes. In addition to the global or default transformations, there also may be individual screen customizations. The web-to-host software will recognize a particular screen and associate the appropriate customizations to be triggered for that screen. The customizations will re-face the screen and transform text fields into GUI controls such as radio groups, combo boxes, and check boxes, as depicted in Figure 2. Screen customizations may be one-to-one, one-to-many, or many-to-one mappings of host screens to browser documents, as summarized in the following table: The web-to-host software may provide various ways to extend the functionality of the host application. For example, it may be possible to decorate the browser-based interface in a portal. This allows the green screen application to be integrated with other applications. The web-to-host software itself may allow customizations such as accessing databases or services. This enables the application functionality to be enhanced without actually changing the base application itself. There are many benefits that a web-to-host solution may provide: As with all architecture decisions, there are consequences that follow and tradeoffs made: There are several products offered in the web-to-host product category from vendors such as IBM, Jacada, Seagull Software Systems, ClientSoft, SEEC, Advanced Business Link, Micro Focus International, and NetManage1. Host integration products expose existing "green screen" functionality as XML services. You might say that host integration products servicize a host application. For example, a Customer Maintenance application might create a Customer service with methods to add, modify, delete, or search customer records. Figure 3 depicts a J2EE or .NET client application accessing an XML service which happens to be implemented by a host integration product. The client application is not particularly concerned about the implementation of the service. If you were to think of your application in terms of tiers and layers, the host integration software would reside in the service tier. The host integration services wouldn't implement any business logic directly, but provide a service interface to host functionality. Host integration products are not intrusive to the host application and do not require any changes to the host application itself. All existing business logic can be exposed from the host application as services. It is entirely possible to access multiple host applications through a single service, for example, to update customer address in multiple systems. There are two models in which a host integration service may deal with the host—stateless and stateful. In the stateless model, each service request logs onto the host, traverses some screens in order to perform the requested function, logs off, and returns data. A pool of sessions might be used by the host integration software. In a stateful model, a session is established on the host for a given service client, and then a conversation is conducted with that client spanning multiple service requests. Finally, the client will log off at the end of the conversation. Why might you consider a host integration solution? Let's look at the consequences of choosing host integration products: There are several products offered in the host integration product category from vendors such as IBM, Jacada, ClientSoft, Seagull, Neon, WRQ, Software AG, Micro Focus, Attachmate, SEEC, Sabratec, Mitem, CommerceQuest, Inner Access, GT Software, Red Oak, NetManage, and Progeni2. There two sides of a coin that you should consider when thinking about leveraging host applications through web-to-host or host integration products. A host application may be thought of as a company asset that has paid dividends over and over again. You could view the host application as money in the bank. Leveraging the application means earning interest. A host application may be thought of as a huge liability that is costly to maintain, inflexible to change, and a competitive disadvantage. You could view the host application as a ball and chain holding you back. If it is money in the bank, maybe it's in a very low-paying CD losing ground to inflation. Which of these views is correct? It is hard to say. In some sense the host application is an asset. However, there is a point when an asset becomes a liability. There is no denying that web-to-host and host integration products provide the ability to leverage existing assets. Host applications can be quickly exposed as HTML user interfaces or XML services. But in either scenario, limitations of the host application live on and duplicate maintenance becomes necessary. Re-writing a host application can be a daunting task. There is a great deal of business logic to be harvested from the host application. The host application may have a very high bar in terms of functionality that needs to be delivered even in a first release making replacement difficult in a short timeframe. Web-to-host and host integration products could be used in a transition strategy. Consider the following scenarios: These and other incremental approaches could be more practical than a big bang approach. In terms of our banking analogy, we would be putting the money from the low-paying CD into better-paying investments gradually over time rather than in one fell swoop. You could say that the trouble with many host applications is that they work. As much as we want to replace them, we need to manage these existing assets and co-exist with them. Web-to-host products provide an HTML user interface to host applications. Host integration products expose host functionality as XML services. These tools can be used to extend the life of these assets and to expose them in new ways. Both classes of products do not require changes to the host application itself. While they require duplicate maintenance and maintain the limitations of the host application, they can be a part of a transition strategy to eventually retire these applications. Are your host applications assets to be leveraged or liabilities to retire? Will you webify, servicize, rewrite, or simply live with your host applications? The rest is up to you! 1 Gartner, Noninvasive Legacy Web Enablement Is Still Viable, March 2003 2 Gartner, Programmatic Integration Servers Are a Growth Opportunity, March 2003
Leveraging Host Applications
September 17, 2003
Introduction
Web-to-Host

Click here for a larger image.

Click here for a larger image.
Host Screen to Browser Mapping
Description
One-to-one
One-to-one mappings transform one host screen to one browser document. Controls may be positioned and grouped as desired on customized screens.
One-to-many
One-to-many mappings transform one host screen to many browser documents. This may be used to split up a busy screen into two. It also may be used to provide multiple views of the same host screen. In this case, the presence of certain data on the host screen will trigger different customizations to be applied.
Many-to-one
A browser document does not suffer from the screen real estate limitation of green screens. Many-to-one mappings transform many host screens to a single scrollable browser document. This type of mapping may be very useful to provide detailed inquiry information from several host screens. However, when used to map several transactional host screens, many-to-one mappings can be difficult or impractical. Navigation paths in the host application must allow a transaction to be replayed from the beginning when screen validations fail. The benefits of a web-to-host solution
The consequences of a web-to-host solution
Web-to-host vendor products
Host Integration

Click here for a larger image.
The benefits of a host integration solution
The consequences of a host integration solution
Host integration vendor products
Leveraging Host Application Considerations
First side of the coin
Second side of the coin
Summary
References
About the Author

Jeff Ryan is an architect for Hartford Financial Services. He has twenty years experience designing, developing and delivering automated solutions to business problems. His current focus is on Java, XML and Service Oriented Architecture. He may be reached at jryan@thehartford.com.