2
Microsoft Application Technologies
Browser BasedHTML Pages Created using Microsoft Front PageVB Scripts rendered by the browser
Server BasedActive Server Pages (ASP)ActiveX Data Objects (ADO) to access dataCOM (Component object model) and MTSSQL Server database
Client BasedGUI Applications created using Microsoft Languages and tools
Visual Basic and Visual C++ are the primary languages used by developers to create both server and client based applications
3
Application Migration Study
IISIE
IISIE
ASP
IISIE
ASP SQL Server
IISIE
ASP SQL Server
IISIE
ASP SQL Server
IIS SQL Server
IE
ASP COM
IIS SQL Server
IE
ASP COM
IIS SQL ServerIE
ASP COM
MS DTC
Used 9 Application Patterns typically used by Microsoft Developers
Today we will focus on patterns 3 and 9.
VB ClientUse ADO to Update Database
9
Transactional SP/MTS (VC++)8
Stored Procedures (VC++)7
Stored Procedures (VB)6
ADO/SP/DHTML5
ADO + Stored Procedures4
ADO3
Dynamic Data2
Static HTML1
Application Patterns
VB ClientUse ADO to Update Database
9
Transactional SP/MTS (VC++)8
Stored Procedures (VC++)7
Stored Procedures (VB)6
ADO/SP/DHTML5
ADO + Stored Procedures4
ADO3
Dynamic Data2
Static HTML1
Application Patterns
4
Microsoft Application Technologies
Visual BasicVisual C++
COM/DCOM/MTS
SQL Server.NET
Web Applications
Client Applications
Server Side Components
HTML PagesASP Pages
COM/DCOM/MTS
SQL Server.NET
Server Side Components
Browser
5
Demo: On Demand Insurance Company
SQL ServerWindows 2000 Server
InternetIIS (HTML + ASP)Windows 2000 Server
Web Browser
Visual Basic Client
Old Windows Applications
6
Migrate Microsoft Applications to IBM WebSphere/J2EE Server
AppletAppletContainerContainer
AppletApplet
J2SEJ2SE
ApplicationApplicationClientClient
ContainerContainerApplication Application
ClientClient
J2SEJ2SE
RMI-IIOP
DatabaseDatabase
Client-Side
Server-SideHTTPSSL
HTTPSSL
Web ContainerWeb Container
JSP PageJSP Page ServletServlet Enterprise Enterprise JavaBeanJavaBean
RMI-IIOP EJB ContainerEJB Container
J2SEJ2SE J2SEJ2SEJTAJTA
JMS
JMS
JAA
SJA
AS
JavaJavaMailMail
JAFJAF
ConnectorsConnectors
JAXP
JAXP
JDB
CJD
BC
JavaJavaMailMail
JAFJAF
JMS
JMS
JAASJAAS
JAXPJAXP
JDBCJDBC
(browser)(browser)
JTAJTA
JMS
JMS
JAA
SJA
AS
ConnectorsConnectors
JAXP
JAXP
JDB
CJD
BC
7
Enterprise Capability Running on Linux
Robert Frances Group (RFG) Conducted a study* on WebSphere vs. .NET and came up with the following conclusions
WebSphere is significantly less expensive to operate than .NET especially on Linux. WebSphere Deployment was 32% cheaper than .NETWebSphere has proven track record of security when compared to .NETWebSphere performs betterWebSphere is the best choice for Enterprise development project
*WebSphere vs. .NET: Choosing an e-business platform in the enterpriseDownload the report from RFG at : http://www.rfgonline.com/reprints/ibm/RFGJ2EEvsNET.PDF
WS .NETStrategic Position 9 4Acquisition 8 7Development 7 6Deployment 8 6Management 9 6Long-term Effects 8 5Totals 8 6Results of the RFG Study*
Platform Scores
8
How Do You Migrate?
Understand the applicationList the application components that need to be migrated
Obtain tools that help migrationMigration steps
Convert the application to be based on J2EE Use conversion tools where availableUse Rational Application Developer to import migrated code and fix if necessary
Migrate the application to WebSphere/J2EE on Windows firstThen re-deploy on Linux
Migrate SQL Server Databases to DB/2 on LinuxDB2 Migration Toolkit (MTK) makes the migration task easy
Consider Interoperability and Simulation if necessary for co-existence during migration
9
Migration Tips
DB2 MTK (Migration Toolkit)
DB2SQL Server
VB Converter from Diamond Edge
JavaVisual Basic
ManualJava ScriptJscript
•JASP from NetCoole•ASP2JSP Converter from Diamond Edge
Java ScriptVisual Basic Script
•JASP from NetCoole•ASP2JSP Converter from DiamondEdge
JSPASP
•Manual or•HTML Editors
HTML (based on Open Standards)
HTML (with proprietary FrontPage tags)
Using ToolToMigrate From
DB2 MTK (Migration Toolkit)
DB2SQL Server
VB Converter from Diamond Edge
JavaVisual Basic
ManualJava ScriptJscript
•JASP from NetCoole•ASP2JSP Converter from Diamond Edge
Java ScriptVisual Basic Script
•JASP from NetCoole•ASP2JSP Converter from DiamondEdge
JSPASP
•Manual or•HTML Editors
HTML (based on Open Standards)
HTML (with proprietary FrontPage tags)
Using ToolToMigrate From
10
Lets Now Migrate On Demand Insurance Company
Understand the application - Done!List the application components that need to be migrated
Web Applications TechnologiesHTMLASP (includes ADO)VB ScriptJScript
Visual BasicSQL Server Stored Procedures
Obtain tools that help migrationRational Application Developer (RAD)JASP from NetCooleASP2JSP converter from Diamond EdgeVB Converter from Diamond EdgeDB2 MTK from IBM
11
Migrate Web Applications First
MozillaNetscapeOpen OfficeLinux
JavaLinux
Samba BasedFile/Print
Server
XAD, Kerberos, OpenLDAPDNS
DHCP
Domino
Web Application
(HTTP, WebSphere)
Internet ExplorerOfficeOutlook
Visual Basic Client
File ServerPrint Server
Domain ControllerActive Directory
DNSDHCP
Exchange 2000
Web Application
(IIS / ASP / COM)
SQL Server
12
Demo: Let's Begin Migrating Web Applications
ASP to JSP ConversionJASP from NetCooleASP2JSP Converter from DiamondEdge
Converting ScriptsTools complete most of the workFix errors using Rational Application Developer
Replace references to SQL database driver with that for DB2
13
Migrate from SQL Server to DB2/Linux
MozillaNetscapeOpen OfficeLinux
JavaLinux
Samba BasedFile/Print
Server
XAD, Kerberos, OpenLDAPDNS
DHCP
Domino
Web Application
(HTTP, WebSphere)
Internet ExplorerOfficeOutlook
Visual Basic Client
File ServerPrint Server
Domain ControllerActive Directory
DNSDHCP
Exchange 2000
Web Application
(IIS / ASP / COM)
SQL Server DB2SQL Server
14
Get it from http://www.ibm.com/software/data/db2/migration/mtk/
5 Phase MigrationSpecify source using DDL files extracted from source or import scripts from previous extractionsConvert source DDL into DB2 DDL
Select formatting options that affect the conversion outputMTK generates 2 outputs
Refine generates DDL according to messages in report file, and return conversion to apply the changes
Repeat as necessaryGenerate data transfer scripts that will create DB2 files and stored proceduresDeploy to DB2
Once the migration is complete check client application ODBC/JDBC calls to make sure table and column names are correct
Lets now Migrate from SQL Server to DB2/Linux using DB2 Migration Toolkit (MTK)
15
Demo: DB2 Migration Toolkit
SQL Server 2000 Database to be migrated
Run the DB2 Migration TookitUse Wizards to Convert
TablesStored Procedures
View Migration Report
Run scripts generated by the Toolkit to Import to DB2
Run DB2 on Linux!
16
Here's What we did to Migrate the Web Application
DB2 MTK (Migration Toolkit)
DB2SQL Server
ManualJava ScriptJscript
•JASP from NetCoole•ASP2JSP Converter from Diamond Edge
Java ScriptVisual Basic Script
•JASP from NetCoole•ASP2JSP Converter from DiamondEdge
JSPASP
•Manual or•HTML Editors
HTML (based on Open Standards)
HTML (with proprietary FrontPage tags)
Using ToolToMigrate From
DB2 MTK (Migration Toolkit)
DB2SQL Server
ManualJava ScriptJscript
•JASP from NetCoole•ASP2JSP Converter from Diamond Edge
Java ScriptVisual Basic Script
•JASP from NetCoole•ASP2JSP Converter from DiamondEdge
JSPASP
•Manual or•HTML Editors
HTML (based on Open Standards)
HTML (with proprietary FrontPage tags)
Using ToolToMigrate From
17
Demo: Migrated On Demand Insurance Company WebSite
DB2Linux Server
Internet
WebSphere/J2EELinux Server
Web Browser
18
Migrate Visual Basic Client Server Applications to Java Based Applications
MozillaNetscapeOpen OfficeLinux
JavaLinux
Samba BasedFile/Print
Server
XAD, Kerberos, OpenLDAPDNS
DHCP
Domino
Web Application
(HTTP, WebSphere)
Internet ExplorerOfficeOutlook
Visual Basic Client
File ServerPrint Server
Domain ControllerActive Directory
DNSDHCP
Exchange 2000
Web Application
(IIS / ASP / COM)
SQL Server DB2SQL Server
19
Diamond Edge VB Converter is a Visual Basic add-in that converts Visual Basic applications to Java codeQuick and Easy to use
Conversion time of less than a second for 1000 lines of codeNo problem with 80% of converted code
Converted code can be imported to Rational Application Developerfor further debugging and enhancementIssues
Inserts calls into proprietary libraryCode needs to be reverse engineered for debugging purposesCode is not 100% reliable in certain casesEvery component project has to be individually convertedDoes not deal well with transactions and database access
Database table and column names have to verified anyway after migrating the database.
Use Diamond Edge Tools and Rational Application Developer to Convert Visual Basic Applications
21
On Demand Insurance Company based on WebSphere J2EE on Linux
DB2Linux Server
Internet
WebSphere/J2EELinux Server
Web Browser
Java Client
22
Summary of Migration Work
IISIE
IISIE
ASP
IISIE
ASP SQL Server
IISIE
ASP SQL Server
IISIE
ASP SQL Server
IIS SQL Server
IE
ASP COM
IIS SQL Server
IE
ASP COM
IIS SQL ServerIE
ASP COM
MS DTC
VB Converter from Diamond Edge,
Rational App Developer
ASP2JSP from Diamond Edge (ASP only), Rational App
Developer
ASP2JSP from Diamond Edge (ASP only), Rational App
Developer
ASP2JSP from Diamond Edge (ASP and COM), Rational
App Developer
JASP from NetCoole, Rational App Developer
JASP from NetCoole, Rational App Developer
JASP from NetCoole, Rational App Developer
JASP from NetCoole, Rational App Developer
Rational App Developer (HTTP import, fix
broken links)
Application Migration Tool
DB2 MTK
DB2 MTK
DB2 MTK
DB2 MTK
DB2 MTK
DB2 MTK
DB2 MTK
Database Migration
Tool
2745VB ClientUse ADO to do Update Database
9
11545Transactional /MTS (VC++)8
11145COM Components (VC++)7
4845COM Components (VB)6
5845DHTML5
4845ADO + Stored Procedures4
4330ADO3
24ASP2
21Static HTML1
Application Migration
Time (mins)
DatabaseMigration
Time (mins)
Application Scenarios
23
Benefit of Migration Tools
130
170
186
140
138
128
103
28
21
Manual Migration Time (min)
72
160
156
93
103
93
73
24
21
Migration time with
Tools (min)
9
8
7
6
5
4
3
2
1
6%Transactional/MTS (VC++)
26%DHTML
29%ADO
44%VB ClientUse ADO to update Database
16%COM Components (VC++)
34%COM Components (VB)
27%ADO + Stored Procedures
15%ASP
0Static HTML
% DiffApplication Scenarios
130
170
186
140
138
128
103
28
21
Manual Migration Time (min)
72
160
156
93
103
93
73
24
21
Migration time with
Tools (min)
9
8
7
6
5
4
3
2
1
6%Transactional/MTS (VC++)
26%DHTML
29%ADO
44%VB ClientUse ADO to update Database
16%COM Components (VC++)
34%COM Components (VB)
27%ADO + Stored Procedures
15%ASP
0Static HTML
% DiffApplication Scenarios
24
Some Real World Statistics on Data Base Migration from SQL Server to DB2
235-------24---85E
330026549428816770D
57001000500287---1800C
11006152052729502B
20001301327---46689A
Estimated Hours
IndexesTablesClient Application Modules
TriggersStored Procedures
Customer
235-------24---85E
330026549428816770D
57001000500287---1800C
11006152052729502B
20001301327---46689A
Estimated Hours
IndexesTablesClient Application Modules
TriggersStored Procedures
Customer
25
What if You Cannot Migrate Immediately?
Sometimes immediate Migration may not be possible. This may be due to
Lack of budgetTime ConstraintsUnavailability of skilled people who understand the application
Fortunately it is still possible to reap the benefits of Linux using Simulation and Bridging Techniques
Adopt Linux using these techniques first.Save on Microsoft License fees
Migrate later when resources are available.
26
Windows Environment Simulation Tools
Simulation of Windows EnvironmentCompile C++ code and run it on Linux
Visual MainWin for Unix and LinuxCompile Visual C++ code with native Unix/Linux compiler Bind with Visual MainWin library that Simulates Windows environmentExecute on Unix/Linux
Simulation of MS Libraries
Linux
C++Application
27
Demo: Visual MainWin for Linux
Visual C++ Application Visual Studio
Visual MainWinPlugin
Linux BasedBuild Server
NativeLinux Binary
28
Simulation of Microsoft FrameworksSimulation of Windows frameworks
Java based implementation of Microsoft frameworksRun Microsoft code in Java environment
Stryon iASPJava-based implementation of ASP frameworkRuns ASPs in J2EE environmentX86 onlyCannot deal with ActiveX, DOM/DCOM
Stryon iNETJava-based implementation of ASP.NET Framework
WindowsApplication
SimulatedMicrosoftFramwork
WebSphere J2EE Environment
29
Bridging
A “bridge” allows Java components to interact with .NET/COM components as if they are Java components and vice versaMaintain the existing applications under Microsoft frameworks Build future applications on J2EE platformsWeb Services could be used as bridges also
Create Web Service wrappers for existing applicationsMessage Queues could also be used in the same way
WebSphere Windows
J2EEApplication
Bridge .NET COMObjects
30
Bridging (Integration) ToolsIBM Development tool for Java-COM Bridge
Make calls in both directionsAvailable on alphaworks www.alphaworks.ibm.com
IBM Interface Tool for JavaOne way calls, Java to Microsoft ActiveX controlAvailable on alphaworks www.alphaworks.ibm.com
Stryon iHUBCollection of bridges that support:
Java to/from .NETJava to/from DLLs, COM/DCOM. ActiveXPlug-ins for IDEs
Stryon R-JAX (Remote Java ActiveX Server)Allows Java programs to link to ActiveX, DLL, and COM running remotely or locally
Intrinsyc J-IntegraSupports 2-way communication between Java components and COM/DCOM
Intrynsic Ja.NETAllows 2-way access between Java client and .NET Remoting objects
JNBridge JNBridgeProAllows .NET Remoting clients to access Java objects
Top Related