A Framework for Evaluating Distributed Object Models and its Application to Web Engineering

Abstract

The success of building distributed object systems depends on important factors such as architecture, the distributed object model (DOM) selected, and the process adapted in the selection of the DOM. There are a number of DOMs. Although the primary goals of these models are the same, each model has a unique underlying architecture, maturity, and features provided. A critical evaluation of DOMs is thus needed by those organizations that are considering migrating to distributed object computing. The evaluation process can be time-consuming and may drain organizational resources. Most of the current evaluation processes adopted by organizations are not generic enough, and they concentrate only on the problem on hand. Hence, they cannot be used by any other organization, sometimes not even a different project at the same organization. Therefore, a more generalized framework or template is required to evaluate DOMs. This paper proposes a framework to evaluate DOMs. A number of important managerial items such as cost, personnel, and technology resources, training, enterprise changes, and time constraints have been identified, explained, and justified as the evaluation criteria. An evaluation of the most widely used DOMs, CORBA, DCOM, and RMI, is provided using the above criteria. Finally, a case study of a production web-based system is presented to demonstrate the use of the framework.

This is a preview of subscription content, access via your institution.

References

  1. Agha, G.A., M. Astley, J.A. Sheikh, and C. Varela (1998), “Modular Heterogeneous System Development: A Critical Analysis of Java, ” In Proceedings of the Seventh Heterogeneous Computing Workshop, Orlando, Florida.

  2. Bacon, J. (2000), “Expectations and challenges in large-scale distributed systems, ” IEEE Concurrency 8, 1, 2–3.

    Google Scholar 

  3. BEA Systems, Inc. (2000), “Documentation for the E-Generation, ” available at http://e-docs.bea.com.

  4. Bollinger, T., D. Diskin, and S. Chubin (1998), “Recommendations for Using DCE, DCOM, and CORBA Middleware, ” MITRE Document MITRE-DAS-C1, Release 1.6, MITRE Corporation.

  5. Bradley, M. (1997), “IIOP: OMG's Internet Inter-ORB Protocol: A Brief Description, ” Object Management Group, http://www.omg.org/library/whitepapers.html.

  6. Burghart, T., “Distributed Computing Overview, ” Quoin Incorporation, available at http://www.quoininc.dblquote RMI, IIOP, and EJB, ” Distributed Computing 2, 6, 18- 20, 32.

  7. Cicalese, C.D.T. and S. Rotenstreich (1998), “Behavioral Specification of Distributed Software Component Interfaces, ” IEEE Computer 31, 3, 126–128.

    Google Scholar 

  8. Curtis, D. (1997), Java, RMI and CORBA, “Object Management Group, ” available at http://www.omg.org/library/wpjava.html.

  9. Curtis, D. (1999), “RMI, IIOP, and EJB, ” Distributed Computing 2, 6, 18–20, 32.

    Google Scholar 

  10. Devarakonda, M. (1998), “The Practical Aspects of Object-Oriented Programming, ” IEEE Concurrency 6, 3, 30–33.

    Article  Google Scholar 

  11. Dick, K. (1999), “Introduction to Enterprise JavaBeans, ” Distributed Computing 2, 1, 26–38.

    Google Scholar 

  12. Emmerich, W. (1997), “An Introduction to OMG/CORBA, ” In Proceedings of the 19th International Conference on Software Engineering, pp. 641- 642.

  13. Fritzinger, J.S. and M. Mueller (1996), “JavaTM Security, ” Sun Microsystems, available at http://java.sun.com/security/whitepaper.txt.

  14. Gray, D.N., J. Hotchkiss, S. LaForge, A. Shalit, and T. Weinberg (1998), “Modern Languages and Microsoft's Component Object Model: Programming COM Made Simple, ” Communications of the ACM 41, 5, 55–65.

    Article  Google Scholar 

  15. Griffin, W.G. (1995), “Lessons Learned in Software Reuse, ” IEEE Software 12, 4, 11.

    Google Scholar 

  16. Guttman, M. and J. Matthews (1998), “Transitioning to Enterprise Components, ” Object Magazine 8, 4, 38–69.

    Google Scholar 

  17. Guttman, M. and R. Appelbaum (1998), “The Next Generation of CORBA, ” Component Strategies 1, 2, 40–51.

    Google Scholar 

  18. Harman, P. (1997), “The Corporate Use of Object Technology, RP13U, ” Cutter Information Corporation, available at http://www.cutter.com/itgroup/reports/corpuse.htm.

  19. Haughey, W.P. (1999), “Strategic Approach to Value Chain Integration, ” Object Management Group, available at http://www.omg.org/omg/strategy.html.

  20. dcomarch.html.

  21. IONO Technologies (2000), “IONO Orbix 2000 Product Information, ” available at http://www.orbix.com.

  22. Jézéquel, J.M. and B. Meyer (1997), “Design by Contract: The Lessons of Ariane, ” IEEE Computer 30, 1, 129–130.

    Google Scholar 

  23. Kirtland, M. (1997), “The COM+ Programming Model Makes it Easy to Write Components in Any Language, ” Microsoft Corporation, available at http://www.microsoft.com/msj/1297/complus2/complus2.htm.

  24. Kochikar, V.P. (1998), “The Object-Powered Web, ” IEEE Computer 15, 3, 57–62.

    Article  Google Scholar 

  25. Leppinen, M., P. Pulkkinen, and A. Rautiainen (1997), “Java and CORBA-Based Network Management, ” IEEE Computer 30, 6, 83–87.

    Google Scholar 

  26. Linthicum, D.S. (1998), “Multitiered Application Integration, ” Component Strategies 1, 6, 52–58.

    Google Scholar 

  27. Maffeis, S. (1997), “Piranha: A CORBA Tool for High Availability, ” IEEE Computer 30, 4, 59–66.

    Google Scholar 

  28. McArthur, K.M. (1999), “Component-Based Architectures and their Impacts on Reuse, ” Masters Thesis, University of Nebraska at Omaha.

  29. dcomtec.html.

  30. Microsoft Corporation (1999), “MTS, ” available at http://www.microsoft.com/com/tech/mts.asp.

  31. Microsoft Corporation (2000), “Product and Technology Catalog, ” available at http://shop.microsoft.com/Products.

  32. Mowbray T.J. and W.A. Ruh (1997), “Inside CORBA, ” Addison-Wesley, Reading, MA.

    Google Scholar 

  33. Murphy, M.F. (1995), “Enterprise Integration Extends to People, ” IEEE Software 12, 1, 16.

    Google Scholar 

  34. Nakamura, H. (1998), “Enterprise Middleware, ” Distributed Computing 1, 6, 38–41.

    Google Scholar 

  35. Neff, K. (1998), “DCOM and CORBA: Why Are We Still Fighting?, ” Distributed Computing 1, 5, 29–34.

    Google Scholar 

  36. Nester, C., M. Philippsen, and B. Haumacher (1999), “A More Efficient RMI for Java, ” In Proceedings of the ACM 1999 Conference on Java Grande, ” 152- 159.

  37. Norman, R.J. (1998), CORBA and DCOM: Side by Side, ” Distributed Computing 1, 5, 41–45.

    Google Scholar 

  38. Oberndorf, P., L. Brownsword, E. Morris, and C. Sledge (1997), CMU/SEI-97-SR-019, Software Engineering Institute, pp. 3- 4.

  39. OMG (1997), “A Discussion of the Object Management Architecture, OMA: formal/00–06–41, ” Object Management Group, available at http://sisyphus.omg.org/technology/documents/formal/object_management_architecture.html.

  40. OMG (1999), “CORBA 2.3 Overview, formal/99–07–06, ” Object Management Group, chapter 2, available at ftp://ftp.omg.org/pub/docs/formal/99–07–06.pdf.

  41. OMG (2000), “CORBA Academy, ” Object Management Group, available at http://www.omg.org/gettingstarted/training.htm.

  42. Orfali, R., D. Harkey, and J. Edwards (1997), “CORBA, JAVA, and the Object Web, ” Byte.

  43. Pattison, T. (1998), “Programming Distributed Applications with COM and Microsoft Visual Basic 6.0, ” Microsoft Press.

  44. Putman, L.H. and W. Myers (1997), “How Solved Is the Cost Estimation Problem?, ” IEEE Software 14, 6 105–107.

    Google Scholar 

  45. Quoin Inc., (1998), “COM versus CORBA: A Decision Framework, ” version 1.3.

  46. Roy, M. and A. Ewald (1996), “Choosing between CORBA and DCOM, ” Object Magazine 6, 8, 24–30.

    Google Scholar 

  47. Scallan, T., “A CORBA Primer, ” Segue Software Incorporation, available at http://www.omg.org/library/whitepapers.html.

  48. Schneidewind, N.F. (1998), “How to Evaluate Legacy System Maintenance, ” IEEE Software 15, 4, 34–42.

    Article  Google Scholar 

  49. Schneidewind, N.F. and C. Ebert (1998), “Preserve or Redesign Legacy Systems?, ” IEEE Software 15, 4, 14–17.

    Article  Google Scholar 

  50. Semaphore S., “Integrating, Distributed Applications via CORBA, ” Object Management Group, available at http://www.omg.org/library/whitepapers.html.

  51. Siegel, J. (1996), “CORBA: Getting to the Fundamentals, ” Object Magazine 6, 8, 52–55.

    Google Scholar 

  52. Siegel, J. (1998), “OMG Overview: CORBA and the OMA in Enterprise Computing, ” Communications of the ACM 41, 10, 37–43.

    Article  Google Scholar 

  53. Siegel, J. (1999), “A Preview of CORBA 3, ” IEEE Computer 32, 5, 114–116.

    Google Scholar 

  54. Siegel, J., “What's Coming In CORBA 3, ” Object Management Group, available at http://sisphus.omg.org/technology/corba/corba3releaseinfo.html.

  55. Sneed, H.M. (1995), “Planning the Reengineering of Legacy Systems, ” IEEE Software 12, 1, 24–34.

    Article  Google Scholar 

  56. Stewart, R., D. Rai, and S. Dalal (1999), “Building Large-Scale CORBA-Based Systems, ” Component Strategies 1, 7, 34–59.

    Google Scholar 

  57. Sun Microsystems, Incorporation (1998), “JavaTM Remote Method Invocation Specification, Revision 1.50, JDK 1.2, ” available at http://java.sun.com/products/jdk/1.2/docs/guide/rmi/spec/rmi-title.doc.html.

  58. Sun Microsystems, Incorporation (1999), “Java Remote Method Invocation - Distributed Computing for Java, ” available at http://java.sun.com/marketing/collateral/javarmi.html.

  59. Sun Microsystems, Incorporation (2000), “RMI over IIOP, ” available at: http://java.sun.com/products/rmi-iiop.

  60. Sun Microsystems, Incorporation (2000), “Java 2 Platform, Enterprise Edition, ” available at http://java.sun.com/j2ee.

  61. Tallman, O. and B. Kain (1998), “COM vs. CORBA: A Decision Framework, ” Distributed Computing 1, 12, 41–43.

    Google Scholar 

  62. Tallman, O. and Kain, B. (1999), “COM vs. CORBA: A Decision Framework, ” Distributed Computing 2, 1, 46–50.

    Google Scholar 

  63. Vonoski, S. (1998), “New Features for CORBA 3.0, ” Communications of the ACM 41, 10, 44–52.

    Article  Google Scholar 

  64. Waldo, J. (1998), “Remote Procedure Calls and Java Remote Method Invocation, ” IEEE Concurrency 6, 3, 5–7.

    Article  Google Scholar 

  65. Watson, A., R. Soley, and M. Bradley (1997), “Comparing ActiveX and CORBA/IIOP, ” Object Management Group, available at http://www.omg.org/library/activex.html.

  66. Wolf, H., F. Sauer, and K. Luc (1998), “How Java and CORBA Delivered, ” Component Strategies 1, 5, 55–60.

    Google Scholar 

  67. Wollrath, A., J. Waldo, and R. Riggs (1997), “Java-Centric Distributed Computing, ” IEEE Micro 17, 3, 44–53.

    Article  Google Scholar 

  68. Yee, A. (1999), “Making Sense of the COM vs. CORBA Debate, ” NetworkMagazine, available at http://www.performancecomputing.com/features/9906dev.shtml.

Download references

Author information

Affiliations

Authors

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Saiedian, H., Ghanem, N. & Natarajan, J. A Framework for Evaluating Distributed Object Models and its Application to Web Engineering. Annals of Software Engineering 13, 71–96 (2002). https://doi.org/10.1023/A:1016541325663

Download citation

Keywords

  • Operating System
  • Critical Evaluation
  • Evaluation Process
  • Time Constraint
  • Generalize Framework