A Choice between Interoperability and Migration
-
Upload
natalie-mcmillan -
Category
Documents
-
view
17 -
download
2
description
Transcript of A Choice between Interoperability and Migration
![Page 1: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/1.jpg)
A Choice between A Choice between Interoperability and MigrationInteroperability and Migration
ByBy
Chaitanya KuradaChaitanya Kurada
Masters DefenseMasters Defense
Major professor: Dr.Daniel AndresenMajor professor: Dr.Daniel Andresen
![Page 2: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/2.jpg)
Presentation OverviewPresentation Overview
Problem statementProblem statement SolutionsSolutions ObjectiveObjective InteroperabilityInteroperability Implementation detailsImplementation details DemoDemo Performance EvaluationPerformance Evaluation AnalysisAnalysis ConclusionConclusion
![Page 3: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/3.jpg)
Problem StatementProblem Statement
“ “ A company ‘X’ has about a million lines of code A company ‘X’ has about a million lines of code written in EJB’s for its business logic for an written in EJB’s for its business logic for an application. The front end is developed in JSP application. The front end is developed in JSP and Servlets. The management decides to give and Servlets. The management decides to give the website a new look with ASP.NET. What are the website a new look with ASP.NET. What are the options to be considered while implementing the options to be considered while implementing this change and which is the best one?”this change and which is the best one?”
![Page 4: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/4.jpg)
SolutionsSolutions
Option 1 Option 1 MigrationMigration
Rewrite the entire business logic on a new Windows Rewrite the entire business logic on a new Windows server in VS.NETserver in VS.NET
Option 2 Option 2 InteroperabilityInteroperability Provide an interface to access the EJB’s from VS.NETProvide an interface to access the EJB’s from VS.NET
![Page 5: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/5.jpg)
ObjectiveObjective
To analyze the feasibility of interoperability To analyze the feasibility of interoperability from a programmer’s perspectivefrom a programmer’s perspective
To compare the performance of a To compare the performance of a homogeneous website to that of a homogeneous website to that of a heterogeneous websiteheterogeneous website
![Page 6: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/6.jpg)
Choices for InteroperatingChoices for Interoperating
CORBACORBADCOMDCOMRMIRMIWeb ServicesWeb Services .NET Remoting.NET Remoting
![Page 7: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/7.jpg)
Web ServicesWeb Services
Concepts involved : XML, SOAP, WSDL, and UDDIConcepts involved : XML, SOAP, WSDL, and UDDI Invocation of a web serviceInvocation of a web service
1. Where can I find a web service that does X (UDDI)
2. Server A is capable of doing X
3. How exactly should I invoke you
4. Take a look at this: WSDL
5. Request operation X
6. Result of operation X
CLIENT
UDDI Registry
Server A
![Page 8: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/8.jpg)
ArchitectureArchitecture
Service Tier
Local Remote Stateless Session EJB’s
Message Driven Beans
Integration Tier
JDBC Row setsLocal CMP Entity Beans
Database/ Message Queues
Presentation Tier
Struts JSP’s Web
Services
ASP.NET Web Forms
Web Services
![Page 9: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/9.jpg)
ArchitectureArchitecture
user session
user activity
BROWSER
Code behind
IIS 5.0 WEB SERVER
EJB’S
WebServices
WebLogicAPPL SERVER
CIS Oracle 9i Database
KSU SMTP Server
Web Service call
FrontEnd
HTMLCSS
ADO.NET
Ajax server pages
AJAX function call
Web Service call
JDBC
AJAX function call
![Page 10: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/10.jpg)
Technologies and Tools UsedTechnologies and Tools Used
Visual Studio.NET 2003Visual Studio.NET 2003WebLogic Workshop 8.0WebLogic Workshop 8.0EJB’s (session and entity beans)EJB’s (session and entity beans)XMLXMLAjaxAjaxJavaScript/DOMJavaScript/DOMScriptaculousScriptaculousRSSRSS
![Page 11: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/11.jpg)
Database relational schemaDatabase relational schema
![Page 12: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/12.jpg)
Use Case diagramsUse Case diagrams
Customer SystemCustomer System
![Page 13: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/13.jpg)
Class DiagramClass Diagram
![Page 14: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/14.jpg)
DEMONSTRATIONDEMONSTRATION
![Page 15: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/15.jpg)
Programmer’s PerspectiveProgrammer’s Perspective Change in business logic codeChange in business logic code User defined XML tagsUser defined XML tags Parameter passingParameter passing Use of suitable IDEUse of suitable IDE
ConclusionConclusionExposing the business logic is dependent onExposing the business logic is dependent on1.1. Complexity of EJB’sComplexity of EJB’s2.2. IDE usedIDE used3.3. Programmer’s proficiencyProgrammer’s proficiency
![Page 16: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/16.jpg)
Unit TestingUnit Testing
![Page 17: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/17.jpg)
Performance evaluationPerformance evaluationComparing heterogeneous architecture Comparing heterogeneous architecture
with homogeneous architecturewith homogeneous architectureSystem set upSystem set up
1. Heterogeneous pages: Tested on pages built 1. Heterogeneous pages: Tested on pages built during implementation phase. during implementation phase.
2. Homogeneous pages: The web services are 2. Homogeneous pages: The web services are replaced by calls to ADO.NET. replaced by calls to ADO.NET.
![Page 18: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/18.jpg)
Architectures of the pages testedArchitectures of the pages tested
Homogeneous pagesHomogeneous pages
Heterogeneous pagesHeterogeneous pages 4
Browser CodeBehind
CIS Oracle Database
ADO.NET
1
62
35
Ajax
Browser CodeBehind
CIS Oracle Database
1
8
Web Service
EJB’s
2
7
3
64
5IIS Server
WebLogicServer
Ajax
![Page 19: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/19.jpg)
Test Suites and toolsTest Suites and tools Tools used include Apache JMeter, Microsoft ACT, and AdventNet’s Tools used include Apache JMeter, Microsoft ACT, and AdventNet’s
QEngineQEngine LoadLoad
Light Load: 1 user requesting 200 timesLight Load: 1 user requesting 200 timesHeavy Load: 10 users requesting 200 timesHeavy Load: 10 users requesting 200 times
Test Suites : 4 iterations for each of the two pagesTest Suites : 4 iterations for each of the two pages Test Suite 1: Retrieving 50KB file from databaseTest Suite 1: Retrieving 50KB file from database Test Suite 2: Retrieving 200 KB file from databaseTest Suite 2: Retrieving 200 KB file from database Test Suite 3: Retrieving 1MB data from databaseTest Suite 3: Retrieving 1MB data from database Test Suite 4: High level computational business logicTest Suite 4: High level computational business logic Test Suite 5: Retrieving small amount of data with no logic Test Suite 5: Retrieving small amount of data with no logic
overhead on database overhead on database Test Suite 6: Retrieving small amount of data with significant Test Suite 6: Retrieving small amount of data with significant
logic overhead on database logic overhead on database Test Suite 7: Retrieving large data (300 KB) from the databaseTest Suite 7: Retrieving large data (300 KB) from the database Test Suite 8: Ajax pages retrieving small amount of dataTest Suite 8: Ajax pages retrieving small amount of data Test Suite 9: Ajax pages retrieving large amount of data Test Suite 9: Ajax pages retrieving large amount of data
![Page 20: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/20.jpg)
ResultsResults
![Page 21: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/21.jpg)
Graphical viewGraphical view
![Page 22: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/22.jpg)
Analysis of performance testingAnalysis of performance testing Overall analysis: How slow are heterogeneous pages compared Overall analysis: How slow are heterogeneous pages compared
with homogeneous pages?with homogeneous pages?
Inferences from the tableInferences from the table• Response time on par with homogeneous pages in case of file Response time on par with homogeneous pages in case of file
transfers.transfers.• Low performance when retrieving tabular data from databaseLow performance when retrieving tabular data from database• Good performance while retrieving small amounts of data using AjaxGood performance while retrieving small amounts of data using Ajax• Decrease in difference as file size increasesDecrease in difference as file size increases• Decrease in difference as amount of data increasesDecrease in difference as amount of data increases
![Page 23: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/23.jpg)
ReasonsReasons
For file transfers, there is no network For file transfers, there is no network bottleneckbottleneck
For tabular data, conversion into xml For tabular data, conversion into xml format is the overheadformat is the overhead
For large amounts of data ADO.NET’s For large amounts of data ADO.NET’s data adapter is not optimized for data adapter is not optimized for performanceperformance
![Page 24: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/24.jpg)
XML conversionXML conversion
CIS Oracle
DB
Web Services
EJB’s
Item nameItem name PricePrice
NikeNike 5050
Result set<xml><iteminfo><name>Nike</name><price>50</price></iteminfo>
Item Item namename
PricePrice
NikeNike 5050
ASP.NET Web Form<xml><iteminfo><name>Nike</name><price>50</price></iteminfo>
namename priceprice
NikeNike 5050
Parse xml
Convert to xml
![Page 25: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/25.jpg)
Problems facedProblems faced
Learning WebLogic WorkshopLearning WebLogic WorkshopLack of Ajax support in .NET 2003Lack of Ajax support in .NET 2003JMeter performance testingJMeter performance testingOracle connection time-outOracle connection time-out
![Page 26: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/26.jpg)
ConclusionConclusion
From a programmer’s perspective, the From a programmer’s perspective, the feasibility of interoperability depends on feasibility of interoperability depends on the complexity of EJB code, IDE used, and the complexity of EJB code, IDE used, and the programmers proficiencythe programmers proficiency
From the performance comparison vis-à-From the performance comparison vis-à-vis a homogeneous architecture, the vis a homogeneous architecture, the heterogeneous pages performed well heterogeneous pages performed well when the amount of xml wrapping is when the amount of xml wrapping is minimized minimized
![Page 27: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/27.jpg)
AcknowledgmentsAcknowledgments
Dr. Daniel AndresenDr. Daniel AndresenDr. Gurdip SinghDr. Gurdip SinghDr. Mitch NeilsenDr. Mitch NeilsenTechnical support team of the CIS Technical support team of the CIS
departmentdepartmentAdministrative support team of the CIS Administrative support team of the CIS
departmentdepartment
![Page 28: A Choice between Interoperability and Migration](https://reader035.fdocuments.us/reader035/viewer/2022062517/568133d8550346895d9ace97/html5/thumbnails/28.jpg)
QuestionsQuestions