A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor:...

28
A Choice between A Choice between Interoperability and Interoperability and Migration Migration By By Chaitanya Kurada Chaitanya Kurada Masters Defense Masters Defense Major professor: Dr.Daniel Major professor: Dr.Daniel Andresen Andresen

Transcript of A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor:...

Page 1: A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

Choices for InteroperatingChoices for Interoperating

CORBACORBADCOMDCOMRMIRMIWeb ServicesWeb Services .NET Remoting.NET Remoting

Page 7: A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

Database relational schemaDatabase relational schema

Page 12: A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

Use Case diagramsUse Case diagrams

Customer SystemCustomer System

Page 13: A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

Class DiagramClass Diagram

Page 14: A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

DEMONSTRATIONDEMONSTRATION

Page 15: A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

Unit TestingUnit Testing

Page 17: A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

ResultsResults

Page 21: A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

Graphical viewGraphical view

Page 22: A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

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 By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.

QuestionsQuestions