Your SlideShare is downloading. ×
0
A Choice between  Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen
Presentation Overview <ul><li>Problem statement </li></ul><ul><li>Solutions </li></ul><ul><li>Objective </li></ul><ul><li>...
Problem Statement <ul><li>“  A company ‘X’ has about a million lines of code written in EJB’s for its business logic for a...
Solutions <ul><li>Option 1  Migration </li></ul><ul><li>Rewrite the entire business logic on a new Windows server in VS.NE...
Objective <ul><li>To analyze the feasibility of interoperability from a programmer’s perspective </li></ul><ul><li>To comp...
Choices for Interoperating <ul><li>CORBA </li></ul><ul><li>DCOM </li></ul><ul><li>RMI </li></ul><ul><li>Web Services </li>...
Web Services <ul><li>Concepts involved :  XML, SOAP, WSDL, and UDDI </li></ul><ul><li>Invocation of a web service </li></u...
Architecture Web Services Service Tier Local Remote Stateless Session EJB’s Message Driven Beans Integration Tier JDBC Row...
Architecture user session user activity BROWSER Code  behind IIS 5.0  WEB SERVER EJB’S Web Services WebLogic APPL SERVER C...
Technologies and Tools Used <ul><li>Visual Studio.NET 2003 </li></ul><ul><li>WebLogic Workshop 8.0 </li></ul><ul><li>EJB’s...
Database relational schema
Use Case diagrams <ul><li>Customer  System </li></ul>
Class Diagram
<ul><li>DEMONSTRATION </li></ul>
Programmer’s Perspective <ul><li>Change in business logic code </li></ul><ul><li>User defined XML tags </li></ul><ul><li>P...
Unit Testing
Performance evaluation <ul><li>Comparing heterogeneous architecture with homogeneous architecture </li></ul><ul><li>System...
Architectures of the pages tested <ul><li>Homogeneous pages </li></ul><ul><li>Heterogeneous pages </li></ul>4 Browser Code...
Test Suites and tools <ul><li>Tools used include Apache JMeter, Microsoft ACT, and AdventNet’s QEngine </li></ul><ul><li>L...
Results
Graphical view
Analysis of performance testing <ul><li>Overall analysis: How slow are heterogeneous pages compared with homogeneous pages...
Reasons <ul><li>For file transfers, there is no network bottleneck </li></ul><ul><li>For tabular data, conversion into xml...
XML conversion CIS Oracle DB Web Services EJB’s Result set <xml><iteminfo><name>Nike </name><price>50</price> </iteminfo> ...
Problems faced <ul><li>Learning WebLogic Workshop </li></ul><ul><li>Lack of Ajax support in .NET 2003 </li></ul><ul><li>JM...
Conclusion <ul><li>From a programmer’s perspective, the feasibility of interoperability depends on the complexity of EJB c...
Acknowledgments <ul><li>Dr. Daniel Andresen </li></ul><ul><li>Dr. Gurdip Singh </li></ul><ul><li>Dr. Mitch Neilsen </li></...
Questions
Upcoming SlideShare
Loading in...5
×

A Choice Between Interoperability and Migration

519

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
519
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "A Choice Between Interoperability and Migration"

  1. 1. A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen
  2. 2. Presentation Overview <ul><li>Problem statement </li></ul><ul><li>Solutions </li></ul><ul><li>Objective </li></ul><ul><li>Interoperability </li></ul><ul><li>Implementation details </li></ul><ul><li>Demo </li></ul><ul><li>Performance Evaluation </li></ul><ul><li>Analysis </li></ul><ul><li>Conclusion </li></ul>
  3. 3. Problem Statement <ul><li>“ 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?” </li></ul>
  4. 4. Solutions <ul><li>Option 1 Migration </li></ul><ul><li>Rewrite the entire business logic on a new Windows server in VS.NET </li></ul><ul><li>Option 2 Interoperability </li></ul><ul><li>Provide an interface to access the EJB’s from VS.NET </li></ul>
  5. 5. Objective <ul><li>To analyze the feasibility of interoperability from a programmer’s perspective </li></ul><ul><li>To compare the performance of a homogeneous website to that of a heterogeneous website </li></ul>
  6. 6. Choices for Interoperating <ul><li>CORBA </li></ul><ul><li>DCOM </li></ul><ul><li>RMI </li></ul><ul><li>Web Services </li></ul><ul><li>.NET Remoting </li></ul>
  7. 7. Web Services <ul><li>Concepts involved : XML, SOAP, WSDL, and UDDI </li></ul><ul><li>Invocation of a web service </li></ul>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. 8. Architecture Web Services 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
  9. 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. 10. Technologies and Tools Used <ul><li>Visual Studio.NET 2003 </li></ul><ul><li>WebLogic Workshop 8.0 </li></ul><ul><li>EJB’s (session and entity beans) </li></ul><ul><li>XML </li></ul><ul><li>Ajax </li></ul><ul><li>JavaScript/DOM </li></ul><ul><li>Scriptaculous </li></ul><ul><li>RSS </li></ul>
  11. 11. Database relational schema
  12. 12. Use Case diagrams <ul><li>Customer System </li></ul>
  13. 13. Class Diagram
  14. 14. <ul><li>DEMONSTRATION </li></ul>
  15. 15. Programmer’s Perspective <ul><li>Change in business logic code </li></ul><ul><li>User defined XML tags </li></ul><ul><li>Parameter passing </li></ul><ul><li>Use of suitable IDE </li></ul><ul><li>Conclusion </li></ul><ul><li>Exposing the business logic is dependent on </li></ul><ul><li>Complexity of EJB’s </li></ul><ul><li>IDE used </li></ul><ul><li>Programmer’s proficiency </li></ul>
  16. 16. Unit Testing
  17. 17. Performance evaluation <ul><li>Comparing heterogeneous architecture with homogeneous architecture </li></ul><ul><li>System set up </li></ul><ul><li>1. Heterogeneous pages: Tested on pages built during implementation phase. </li></ul><ul><li>2. Homogeneous pages: The web services are replaced by calls to ADO.NET. </li></ul>
  18. 18. Architectures of the pages tested <ul><li>Homogeneous pages </li></ul><ul><li>Heterogeneous pages </li></ul>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. 19. Test Suites and tools <ul><li>Tools used include Apache JMeter, Microsoft ACT, and AdventNet’s QEngine </li></ul><ul><li>Load </li></ul><ul><li>Light Load: 1 user requesting 200 times </li></ul><ul><li>Heavy Load: 10 users requesting 200 times </li></ul><ul><li>Test Suites : 4 iterations for each of the two pages </li></ul><ul><li>Test Suite 1: Retrieving 50KB file from database </li></ul><ul><li>Test Suite 2: Retrieving 200 KB file from database </li></ul><ul><li>Test Suite 3: Retrieving 1MB data from database </li></ul><ul><li>Test Suite 4: High level computational business logic </li></ul><ul><li>Test Suite 5: Retrieving small amount of data with no logic overhead on database </li></ul><ul><li>Test Suite 6: Retrieving small amount of data with significant logic overhead on database </li></ul><ul><li>Test Suite 7: Retrieving large data (300 KB) from the database </li></ul><ul><li>Test Suite 8: Ajax pages retrieving small amount of data </li></ul><ul><li>Test Suite 9: Ajax pages retrieving large amount of data </li></ul>
  20. 20. Results
  21. 21. Graphical view
  22. 22. Analysis of performance testing <ul><li>Overall analysis: How slow are heterogeneous pages compared with homogeneous pages? </li></ul><ul><li>Inferences from the table </li></ul><ul><li>Response time on par with homogeneous pages in case of file transfers. </li></ul><ul><li>Low performance when retrieving tabular data from database </li></ul><ul><li>Good performance while retrieving small amounts of data using Ajax </li></ul><ul><li>Decrease in difference as file size increases </li></ul><ul><li>Decrease in difference as amount of data increases </li></ul>
  23. 23. Reasons <ul><li>For file transfers, there is no network bottleneck </li></ul><ul><li>For tabular data, conversion into xml format is the overhead </li></ul><ul><li>For large amounts of data ADO.NET’s data adapter is not optimized for performance </li></ul>
  24. 24. XML conversion CIS Oracle DB Web Services EJB’s Result set <xml><iteminfo><name>Nike </name><price>50</price> </iteminfo> ASP.NET Web Form <xml><iteminfo><name>Nike </name><price>50</price> </iteminfo> Parse xml Convert to xml 50 Nike Price Item name 50 Nike Price Item name 50 Nike price name
  25. 25. Problems faced <ul><li>Learning WebLogic Workshop </li></ul><ul><li>Lack of Ajax support in .NET 2003 </li></ul><ul><li>JMeter performance testing </li></ul><ul><li>Oracle connection time-out </li></ul>
  26. 26. Conclusion <ul><li>From a programmer’s perspective, the feasibility of interoperability depends on the complexity of EJB code, IDE used, and the programmers proficiency </li></ul><ul><li>From the performance comparison vis-à-vis a homogeneous architecture, the heterogeneous pages performed well when the amount of xml wrapping is minimized </li></ul>
  27. 27. Acknowledgments <ul><li>Dr. Daniel Andresen </li></ul><ul><li>Dr. Gurdip Singh </li></ul><ul><li>Dr. Mitch Neilsen </li></ul><ul><li>Technical support team of the CIS department </li></ul><ul><li>Administrative support team of the CIS department </li></ul>
  28. 28. Questions
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×