Download presentation
Presentation is loading. Please wait.
Published byDouglas Hancock Modified over 9 years ago
1
A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen
2
Presentation Overview Problem statement Problem statement Solutions Solutions Objective Objective Interoperability Interoperability Implementation details Implementation details Demo Demo Performance Evaluation Performance Evaluation Analysis Analysis Conclusion Conclusion
3
Problem Statement “ A company ‘X’ has about a million lines of code written in EJB’s for its business logic for an application. The front end is developed in JSP and Servlets. The management decides to give the website a new look with ASP.NET. What are the options to be considered while implementing this change and which is the best one?”
4
Solutions Option 1 Migration Rewrite the entire business logic on a new Windows server in VS.NET Rewrite the entire business logic on a new Windows server in VS.NET Option 2 Interoperability Provide an interface to access the EJB’s from VS.NET Provide an interface to access the EJB’s from VS.NET
5
Objective To analyze the feasibility of interoperability from a programmer’s perspective To analyze the feasibility of interoperability from a programmer’s perspective To compare the performance of a homogeneous website to that of a heterogeneous website To compare the performance of a homogeneous website to that of a heterogeneous website
6
Choices for Interoperating CORBA CORBA DCOM DCOM RMI RMI Web Services Web Services.NET Remoting.NET Remoting
7
Web Services Concepts involved : XML, SOAP, WSDL, and UDDI Concepts involved : XML, SOAP, WSDL, and UDDI Invocation of a web service Invocation 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
8
Architecture Service Tier Local Remote Stateless Session EJB’s Message Driven Beans Integration Tier JDBC Row sets Local CMP Entity Beans Database/ Message Queues Presentation Tier Struts JSP’s Web Services ASP.NET Web Forms Web Services
9
Architecture user session user activity BROWSER Code behind IIS 5.0 WEB SERVER EJB’S Web Services WebLogic APPL SERVER CIS Oracle 9i Database KSU SMTP Server Web Service call Front End HTML CSS ADO.NET Ajax server pages AJAX function call Web Service call JDBC AJAX function call
10
Technologies and Tools Used Visual Studio.NET 2003 Visual Studio.NET 2003 WebLogic Workshop 8.0 WebLogic Workshop 8.0 EJB’s (session and entity beans) EJB’s (session and entity beans) XML XML Ajax Ajax JavaScript/DOM JavaScript/DOM Scriptaculous Scriptaculous RSS RSS
11
Database relational schema
12
Use Case diagrams Customer System Customer System
13
Class Diagram
14
DEMONSTRATION DEMONSTRATION
15
Programmer’s Perspective Change in business logic code Change in business logic code User defined XML tags User defined XML tags Parameter passing Parameter passing Use of suitable IDE Use of suitable IDEConclusion Exposing the business logic is dependent on 1. Complexity of EJB’s 2. IDE used 3. Programmer’s proficiency
16
Unit Testing
17
Performance evaluation Comparing heterogeneous architecture with homogeneous architecture Comparing heterogeneous architecture with homogeneous architecture System set up System set up 1. Heterogeneous pages: Tested on pages built during implementation phase. 2. Homogeneous pages: The web services are replaced by calls to ADO.NET.
18
Architectures of the pages tested Homogeneous pages Homogeneous pages Heterogeneous pages Heterogeneous pages 4 Browser Code Behind CIS Oracle Database ADO.NET 1 6 2 3 5 Ajax Browser Code Behind CIS Oracle Database 1 8 Web Service EJB’s 2 7 3 6 4 5 IIS Server WebLogic Server Ajax
19
Test Suites and tools Tools used include Apache JMeter, Microsoft ACT, and AdventNet’s QEngine Tools used include Apache JMeter, Microsoft ACT, and AdventNet’s QEngine Load Load Light Load: 1 user requesting 200 times Heavy Load: 10 users requesting 200 times Test Suites : 4 iterations for each of the two pages Test Suites : 4 iterations for each of the two pages Test Suite 1: Retrieving 50KB file from database Test Suite 1: Retrieving 50KB file from database Test Suite 2: Retrieving 200 KB file from database Test Suite 2: Retrieving 200 KB file from database Test Suite 3: Retrieving 1MB data from database Test Suite 3: Retrieving 1MB data from database Test Suite 4: High level computational business logic Test Suite 4: High level computational business logic Test Suite 5: Retrieving small amount of data with no logic overhead on database Test Suite 5: Retrieving small amount of data with no logic overhead on database Test Suite 6: Retrieving small amount of data with significant logic overhead on database Test Suite 6: Retrieving small amount of data with significant logic overhead on database Test Suite 7: Retrieving large data (300 KB) from the database Test Suite 7: Retrieving large data (300 KB) from the database Test Suite 8: Ajax pages retrieving small amount of data Test 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
20
Results
21
Graphical view
22
Analysis of performance testing Overall analysis: How slow are heterogeneous pages compared with homogeneous pages? Overall analysis: How slow are heterogeneous pages compared with homogeneous pages? Inferences from the table Inferences from the table Response time on par with homogeneous pages in case of file transfers. Response time on par with homogeneous pages in case of file transfers. Low performance when retrieving tabular data from database Low performance when retrieving tabular data from database Good performance while retrieving small amounts of data using Ajax Good performance while retrieving small amounts of data using Ajax Decrease in difference as file size increases Decrease in difference as file size increases Decrease in difference as amount of data increases Decrease in difference as amount of data increases
23
Reasons For file transfers, there is no network bottleneck For file transfers, there is no network bottleneck For tabular data, conversion into xml format is the overhead For tabular data, conversion into xml format is the overhead For large amounts of data ADO.NET’s data adapter is not optimized for performance For large amounts of data ADO.NET’s data adapter is not optimized for performance
24
XML conversion CIS Oracle DB Web Services EJB’s Item name Price Nike50 Result set Nike 50 Item name PriceNike50 ASP.NET Web Form Nike 50 namepriceNike50 Parse xml Convert to xml
25
Problems faced Learning WebLogic Workshop Learning WebLogic Workshop Lack of Ajax support in.NET 2003 Lack of Ajax support in.NET 2003 JMeter performance testing JMeter performance testing Oracle connection time-out Oracle connection time-out
26
Conclusion From a programmer’s perspective, the feasibility of interoperability depends on the complexity of EJB code, IDE used, and the programmers proficiency From a programmer’s perspective, the feasibility of interoperability depends on the complexity of EJB code, IDE used, and the programmers proficiency From the performance comparison vis-à- vis a homogeneous architecture, the heterogeneous pages performed well when the amount of xml wrapping is minimized From the performance comparison vis-à- vis a homogeneous architecture, the heterogeneous pages performed well when the amount of xml wrapping is minimized
27
Acknowledgments Dr. Daniel Andresen Dr. Daniel Andresen Dr. Gurdip Singh Dr. Gurdip Singh Dr. Mitch Neilsen Dr. Mitch Neilsen Technical support team of the CIS department Technical support team of the CIS department Administrative support team of the CIS department Administrative support team of the CIS department
28
Questions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.