Performance Evaluation of Java Web Services: a Developer's Perspective Je-Loon Yang University of North Florida
Total Page:16
File Type:pdf, Size:1020Kb
UNF Digital Commons UNF Graduate Theses and Dissertations Student Scholarship 2007 Performance Evaluation of Java Web Services: A Developer's Perspective Je-Loon Yang University of North Florida Suggested Citation Yang, Je-Loon, "Performance Evaluation of Java Web Services: A Developer's Perspective" (2007). UNF Graduate Theses and Dissertations. 246. https://digitalcommons.unf.edu/etd/246 This Master's Project is brought to you for free and open access by the Student Scholarship at UNF Digital Commons. It has been accepted for inclusion in UNF Graduate Theses and Dissertations by an authorized administrator of UNF Digital Commons. For more information, please contact Digital Projects. © 2007 All Rights Reserved PERFORMANCE EVALUATION OF JAVA WEB SERVICES: A DEVELOPER'S PERSPECTIVE by Je-Loon Yang A project submitted to the School of Computing in partial fulfillment of the requirements for the degree of Master of Science in Computer and Information Sciences UNIVERSITY OF NORTH FLORIDA SCHOOL OF COMPUTING December, 2007 The project "Performance Evaluation of Java Web Services: A Developer's Perspective" submitted by J e-Loon Yang in partial fulfillment of the requirements for the degree of Master of Science in Computer and Information Sciences has been Approved by: Date Signature Deleted /2-&/07 Sanjay Ahuja I Project Director Signature Deleted Charles N. Winton Graduate Director of the School of Computing Signature Deleted ii ACKNOWLEDGEMENT This paper is a tribute to the helpful and thoughtful guidance of my adviser Dr. Sanjay Ahuja. I further express my gratitude to my family for unwavering support and understanding, during the many hours I dedicated to achieving this milestone in my life and career. 111 CONTENTS List of Figures ........................................................................................................... vii List of Tables .......................................................................................................... viii Abstract ...................................................................................................................... ix Chapter 1: Introduction .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 1 Chapter 2: Web Services ........................................................................................... 5 2.1 SOAP ............................................................................................................ 6 2.2 WSDL ........................................................................................................... 7 2.3 UDDI ............................................................................................................. 8 Chapter 3: Web Service Frameworks ....................................................................... 9 3.1 Apache Axis . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 9 3.2 JBossWS .................................................................................................... 10 3.3 Codehaus XFire ......................................................................................... 10 3.4 Resin Hessian ............................................................................................. 11 Chapter 4: Evaluation Metrics ................................................................................ 12 4.1 Latency ........................................................................................................ 12 4.2 Throughput .................................................................................................. 13 4.3 Men1ory Usage ............................................................................................ 13 4.4 CPUUsage .................................................................................................. 14 4.5 Source Lines of Code .................................................................................. 16 Chapter 5: Statistical Analysis Methods ................................................................. 17 lV 5.1 The SAS System ......................................................................................... 17 5.2 The GLM Model ......................................................................................... 18 Chapter 6: Results and Analyses ............................................................................. 21 6.1 Results ........................................................................................................ 21 6.1.1 Client Scenarios ................................................................................ 21 6.1.2 Data Size Scenarios .......................................................................... 23 6.2 Analyses ..................................................................................................... 25 6.2.1 Client Scenarios ................................................................................ 26 6.2.2 Data Size Scenarios .......................................................................... 29 6.2.3 Others ................................................................................................ 31 Chapter 7: Conclusion .............................................................................................. 34 References ...................................................... , .......................................................... 35 Appendix A: Apache Axis Server Code: SendMB ................................................... 37 Appendix B: Apache Axis Server Code: CPUmem .................................................. 38 Appendix C: Apache Axis Client Code: Client ........................................................ 40 Appendix D: Resin Hessian Server Code: SendMB ................................................. 44 Appendix E: Resin Hessian Server Code: CPUmem ................................................ 45 Appendix F: Resin Hessian Client Code: Client ....................................................... 47 Appendix G: JBossWS Server Code: SendMBBean ................................................ 50 Appendix H: JBossWS Server Code: CPUmemBean ............................................... 51 Appendix I: JBossWS Client Code: Client ................................................................. 53 Appendix J: XFire Server Code: SendMBimpl ........................................................ 56 v Appendix K: XFire Server Code: CPUmemlmpl ..................................................... 57 Appendix L: XFire Client Code: Client .................................................................... 59 Vita ............................................................................................................................ 64 Vl LIST OF FIGURES Figure 1: Comparison of Planning Travel With and Without Virtual Agent oooooooooo·oo 2 Figure 2: Comparison oflnformation Between Webpages and Web Services oooooooooo· 3 Figure 3: Web Service Architecture oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo· 6 Figure 4: Structure of SOAP Envelope oooooooooooooooooooooooooooooooo 000000 000000 000000 000000 000000 oooooooo· 7 Figure 5: Network Latency oooo.oooooooooooooooooooooooooooooooooooooo•oooooooooooooooooooooooooooooooooooooooooo· 13 Figure 6: Memory Usage in Windows XP ooooooooooooooooooooooooooooooOOoooooo .... oo .. oooooooooooooooo .. 14 Figure 7: CPU Usage in Windows XP 000000 000000 000000000000 ooooooooooooOOooOOOOooOOoooooooooooooo .... oo .. 15 Figure 8: Plot of Two-Variable Example 00 .... oo 000000 000000 oooooooooooooooooooooooooo .... oo .. oooooooooo .. 18 Figure 9: Plot of Two-Variable Example with Straight Line oooooooooooooooooooooooooooooooooo. 19 Figure 10: Plot of Two-Variable Example with Straight Line and Variables 0000000000 20 Figure 11: Latency in Client Scenarios 00 00 .. 00 00 .. 00 00 .. 00 00 .. 00 00 00 00 00 00 00 00 .. 00 00 .. 00 00 00 00 00 00 00 00 00 ... 22 Figure 12: Throughput in Client Scenarios oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo. 23 Figure 13: Latency in Data Size Scenarios 00 00 .. 00 000000 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00. 24 Figure 14: Throughput in Data Size Scenarios 00 00 .. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .. 00 00 00 00 .. 00 00 00 00 ... 25 Figure 15: Factor Significance SAS in Client Scenarios oooooooooooooooooooooooooooooooooooooooooo 26 Figure 16: Pair-Wise Comparison Results from SAS in Client Scenarios 00 000000 000000 00 27 Figure 17: Factor Significance in Data Size Scenarios .... 00 00 000000 000000 000000 000000 000000 000000. 29 Figure 18: Pair-Wise Comparison Results from SAS in Data Size Scenarios 0000000000 30 Vll LIST OF TABLES Table 1: Response Time Comparison for Client Scenarios ...................................... 28 Table 2: Response Time Comparison for Data Size Scenarios ................................ 31 Table 3: Memory and CPU Usage of Four Frameworks .......................................... 32 Table 4: SLOC of Application of Four Frameworks ................................................ 32 V111 ABSTRACT With the rapid growth of traffic on the internet, further development of the web technology upon which it is based becomes extremely important. For the evolvement of Web 2.0, web services are essential. Web services are programs that allow different computer platforms to communicate interactively across the web, without