Wrappering
	
 Middleware
	
 Screen scraping
	
 Packaged applications
	Read the comparison of the legacy transformation options: Advantages and Disadvantages
	Wrappering
	
Wrappering allows existing mainframe and UNIX applications to be made available to the network as components. By "wrapping" code round application subprograms they expose themselves, and behave like, Java or DCOM components. This technique enables the construction of new, component based applications without rewriting or changing existing code, making legacy applications accessible on the Web.
	A wrapper can be resident on the host from where it is served as a Java Bean or accessed via DCOM from a client. This is called server-side wrapping and prerequisites a suitable environment on the host to support the wrapper (e.g. JVM, OS/390 Open Edition). Alternatively the wrapper can reside on an appropriate client platform (client-side wrapping), whereby subprograms on the server are accessed by Remote Procedure Calls (RPC).
	Wrappers are generally delivered as features of a middleware product that also handles the network communication, message queuing, security, integrity etc. This requires additional, complex product knowledge, programming resources and on-going maintenance effort and costs at the host site. Further disadvantages are that changes to the source application require wrapper regeneration, leading to versioning problems and that the middleware introduces protocol conversions during message transfer, compromising the robustness of the solution.
	Back to the list 
	Middleware
	
Middleware is a term used to describe messaging and transaction processing monitors that connect web and e-Business application servers with legacy systems at a low level using system-to-system mappings.
	Most middleware products also include connectors to common application interfaces and database access methods. They can provide Enterprise Application Integration (EAI) - that is: system-to-system integration between legacy systems and web and e-Business applications based upon the underlying middleware.
	This assumes that the legacy systems already provide suitable application programming interfaces (APIs). Some disadvantages of middleware solutions have been briefly described above.
	There are many examples of middleware offerings, including:
	ActiveWorks, Cross Worlds, MQSeries from IBM, AQ from Oracle, EntireX from Software AG, TIB/ActiveEnterprise from Tibco and Vitria’s Businessware.
	
Back to the list 
	Screen scraping
	
Screen scraping software allows a PC to intercept character-based data from a mainframe and present it, field for field, as an easier to understand graphical user interface
	Screen scraping in its simplest form consists of a terminal emulator installed on a PC, together with presentation software. The PC communicates directly with a legacy application via the terminal emulator, which causes it to appear to the host application as a "green screen" device. The screen-scraping software then converts the block-mode communication into a GUI representation on the PC. Newer screen scrapers present the information in HTML, so that it can be accessed via a web-browser. This simply provides the host application with a colorful, graphical user interface (putting lipstick on a pig!). Such screen scrapers are quick to implement, but extremely fragile, since any unexpected message from the host can confuse the presentation software.
	Examples of screen scrapers are Rumba from NetManage, Flashpoint, Mozart and Intelligent Environments.
	More advanced screen scraping techniques are more robust, converting communications with the host into events that can be handled on the PC by VisualBasic or PowerBuilder applications. These provide sophisticated error-handling, but require much more effort to implement. Screen scrapers in this category include Mitem View.
	All screen scrapers suffer from the disadvantage that they do nothing to improve the structure of the host application and generally degrade its performance. Any modification whatsoever to a host screen image requires modification to the screen image on all the PCs where it is resident. Screen scraping must be regarded as a short-term visual improvement to an application, with expensive maintenance implications.
	Back to the list 
	Packaged applications
	
If the costs or risks associated with retaining and maintaining a legacy application are perceived as too high, then a corporation may decide against any of the above methods. An alternative to redevelopment of the application can be the replacement of the legacy system with an Enterprise Resource Package (ERP application), purchased from a vendor such as SAP, Baan or PeopleSoft. Such packages provide access to their features via APIs, and increasingly expose their features as components. This makes a hybrid transformation/ERP-acquisition project possible.
	Back to the list
	
	
 
	
	
	   | 
	       
	   Legacy Transformation Options: Advantages and Disadvantages  | 
	
	
	   | 
	    Option  | 
           
	    Advantages  | 
	   
	    Disadvantages  | 
	
	
	   | 
	    Automated object-based transformation  | 
	   
	      
	      Effectively captures business process knowledge
	      Effective legacy code analysis and     data modeling
	      Flexible, open solution
	      Complete transformation of UI,      business process, and data
	      Enables a distributed architecture
	      Separates process from workflow | 
  	   
 	   
	   Still requires highly skilled developers
	   Auto-generated code may not deliver top performance
	   Does not support all legacy environments | 
	
	
	   | 
	    Wrappering  | 
  	   
	      
	      Creates open components from      legacy code
	      Enables distributed architecture | 
	
	
	Requires advanced OOP skills
	Highly labor intensive
	Does not address architecture and deployment issues
	Provides limited flexibility
	Does not analyze code and data structures
	Can create maintenance coordination issues | 
	
	
	
	| 
	 Middleware  | 
	
	
	Transaction-level integration
	Numerous vendor/product options
	Supports workflow | 
	
	
	
	Must be used in conjunction with other code
	Does not capture business process knowledge
	Can create performance bottlenecks
	May not scale | 
	
	
	| 
	 EAI  | 
	
	
	
	High-level solution
	Easy to use
	Vendor is responsible for integration
	Support business process knowledge and workflow | 
	
	
	
	Costly
	Dependent on vendor for upgrades and changes to connectors
	Connectors limited to existing legacy application interfaces
	Can create performance bottlenecks
	May not scale | 
	
	
	| 
	 Screen scraping  | 
	
	
	Fastest, simplest way to enable legacy applications for the Web at the user interface level | 
	
	
	No transformation of legacy applications for Web
	Does not address business process or data transformation
	No distributed architecture
	Limited functionality
	Limited flexibility
	Can create maintenance coordination issues | 
	
	
	| 
	 Packaged applications  | 
	
	
	
	Access to new, advanced functionality
	Integrated functionality
	Support for distributed architecture
	Numerous vendor/product options | 
	
	
	
	Requires abandoning investment/value in existing systems
	Very expensive
	Very disruptive
	Web, e-Commerce support still evolving |