a choice between interoperability and migration
DESCRIPTION
A Choice between Interoperability and Migration. By Chaitanya Kurada. Masters Defense Major professor: Dr.Daniel Andresen. Presentation Overview. Problem statement Solutions Objective Interoperability Implementation details Demo Performance Evaluation Analysis Conclusion. - PowerPoint PPT PresentationTRANSCRIPT
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
Presentation OverviewPresentation Overview
Problem statementProblem statement SolutionsSolutions ObjectiveObjective InteroperabilityInteroperability Implementation detailsImplementation details DemoDemo Performance EvaluationPerformance Evaluation AnalysisAnalysis ConclusionConclusion
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?”
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
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
Choices for InteroperatingChoices for Interoperating
CORBACORBADCOMDCOMRMIRMIWeb ServicesWeb Services .NET Remoting.NET Remoting
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
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
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
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
Database relational schemaDatabase relational schema
Use Case diagramsUse Case diagrams
Customer SystemCustomer System
Class DiagramClass Diagram
DEMONSTRATIONDEMONSTRATION
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
Unit TestingUnit Testing
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.
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
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
ResultsResults
Graphical viewGraphical view
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
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
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
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
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
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
QuestionsQuestions