Title: A Choice between Interoperability and Migration
1A Choice between Interoperability and Migration
Masters Defense Major professor Dr.Daniel
Andresen
2Presentation Overview
- Problem statement
- Solutions
- Objective
- Interoperability
- Implementation details
- Demo
- Performance Evaluation
- Analysis
- Conclusion
3Problem Statement
- A company X has about a million lines of code
written in EJBs 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?
4Solutions
- Option 1 Migration
- Rewrite the entire business logic on a new
Windows server in VS.NET - Option 2 Interoperability
- Provide an interface to access the EJBs
from VS.NET
5Objective
- To analyze the feasibility of interoperability
from a programmers perspective - To compare the performance of a homogeneous
website to that of a heterogeneous website
6Choices for Interoperating
- CORBA
- DCOM
- RMI
- Web Services
- .NET Remoting
7Web Services
- Concepts involved XML, SOAP, WSDL, and UDDI
- Invocation of a web service
UDDI Registry
Server A
3. How exactly should I invoke you
1. Where can I find a web service that does X
(UDDI)
2. Server A is capable of doing X
4. Take a look at this WSDL
CLIENT
5. Request operation X
6. Result of operation X
8Architecture
Web Services
9Architecture
user session
Front End HTML CSS
BROWSER
KSU SMTP Server
user activity
AJAX function call
AJAX function call
Web Services
Web Service call
Code behind
EJBS
CIS Oracle 9i Database
JDBC
Ajax server pages
WebLogic APPL SERVER
Web Service call
IIS 5.0 WEB SERVER
ADO.NET
10Technologies and Tools Used
- Visual Studio.NET 2003
- WebLogic Workshop 8.0
- EJBs (session and entity beans)
- XML
- Ajax
- JavaScript/DOM
- Scriptaculous
- RSS
11Database relational schema
12Use Case diagrams
13Class Diagram
14 15Programmers Perspective
- Change in business logic code
- User defined XML tags
- Parameter passing
- Use of suitable IDE
- Conclusion
- Exposing the business logic is dependent on
- Complexity of EJBs
- IDE used
- Programmers proficiency
16Unit Testing
17Performance evaluation
- Comparing heterogeneous architecture with
homogeneous architecture - 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.
18Architectures of the pages tested
- Homogeneous pages
- Heterogeneous pages
19Test Suites and tools
- Tools used include Apache JMeter, Microsoft ACT,
and AdventNets QEngine - 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 Suite 1 Retrieving 50KB file from database
- Test Suite 2 Retrieving 200 KB file from
database - Test Suite 3 Retrieving 1MB data from database
- Test Suite 4 High level computational
business logic - 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 7 Retrieving large data (300 KB)
from the database - Test Suite 8 Ajax pages retrieving small amount
of data - Test Suite 9 Ajax pages retrieving large amount
of data
20Results
21Graphical view
22Analysis of performance testing
- Overall analysis How slow are heterogeneous
pages compared with homogeneous pages? - Inferences from the table
- Response time on par with homogeneous pages in
case of file transfers. - Low performance when retrieving tabular data from
database - Good performance while retrieving small amounts
of data using Ajax - Decrease in difference as file size increases
- Decrease in difference as amount of data increases
23Reasons
- For file transfers, there is no network
bottleneck - For tabular data, conversion into xml format is
the overhead - For large amounts of data ADO.NETs data adapter
is not optimized for performance
24XML conversion
ASP.NET Web Form
Parse xml
ltxmlgtltiteminfogtltnamegtNike lt/namegtltpricegt50lt/pricegt
lt/iteminfogt
name price
Nike 50
Web Services
EJBs
Result set
Convert to xml
ltxmlgtltiteminfogtltnamegtNike lt/namegtltpricegt50lt/pricegt
lt/iteminfogt
Item name Price
Nike 50
Item name Price
Nike 50
CIS Oracle DB
25Problems faced
- Learning WebLogic Workshop
- Lack of Ajax support in .NET 2003
- JMeter performance testing
- Oracle connection time-out
26Conclusion
- From a programmers 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
27Acknowledgments
- Dr. Daniel Andresen
- Dr. Gurdip Singh
- Dr. Mitch Neilsen
- Technical support team of the CIS department
- Administrative support team of the CIS department
28Questions