280 likes | 299 Views
Analyzing options for transitioning a company's codebase from EJB to ASP.NET, focusing on interoperability solutions and performance evaluations. Tools like Visual Studio.NET, WebLogic, XML, and more are discussed with a demo and conclusion.
E N D
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
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?”
Solutions 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 EJB’s from VS.NET
Objective • 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
Choices for Interoperating • CORBA • DCOM • RMI • Web Services • .NET Remoting
Web 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
ASP.NET Web Forms Presentation Tier JSP’s Web Services Struts Service Tier Local Remote Stateless Session EJB’s Message Driven Beans Integration Tier JDBC Row sets Local CMP Entity Beans Database/ Message Queues Architecture Web Services
Architecture 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 EJB’S CIS Oracle 9i Database JDBC Ajax server pages WebLogic APPL SERVER Web Service call IIS 5.0 WEB SERVER ADO.NET
Technologies and Tools Used • Visual Studio.NET 2003 • WebLogic Workshop 8.0 • EJB’s (session and entity beans) • XML • Ajax • JavaScript/DOM • Scriptaculous • RSS
Use Case diagrams Customer System
Programmer’s 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 EJB’s • IDE used • Programmer’s proficiency
Performance 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.
1 CodeBehind Browser Ajax 6 CIS Oracle Database 5 2 3 ADO.NET 4 1 2 CodeBehind Web Service 3 Browser Ajax CIS Oracle Database 8 7 6 WebLogic Server 4 EJB’s IIS Server 5 Architectures of the pages tested • Homogeneous pages • Heterogeneous pages
Test Suites and tools • Tools used include Apache JMeter, Microsoft ACT, and AdventNet’s 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
Analysis 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
Reasons • For file transfers, there is no network bottleneck • 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
XML conversion ASP.NET Web Form Parse xml <xml><iteminfo><name>Nike </name><price>50</price> </iteminfo> Web Services EJB’s Result set Convert to xml <xml><iteminfo><name>Nike </name><price>50</price> </iteminfo> CIS Oracle DB
Problems faced • Learning WebLogic Workshop • Lack of Ajax support in .NET 2003 • JMeter performance testing • Oracle connection time-out
Conclusion • 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
Acknowledgments • Dr. Daniel Andresen • Dr. Gurdip Singh • Dr. Mitch Neilsen • Technical support team of the CIS department • Administrative support team of the CIS department