Effective Design Pattern and Enterprise Architecture Design Techniques in EJB Environment

EJB기반의 효율적인 설계 패턴 및 엔터프라이즈 아키텍처 설계 기법

  • Published : 2003.12.01

Abstract

In industry, it is a current trend that systems are developed by using Enterprise JavaBeans(EJB) technology for reducing the cost and the time. Thus, the architecture of EJB is getting more essential to enhance reusability, extensibility and portability of system. However little has been studied in the realm of the practical software architectures for EJB. The architecture has just bean studied in abstract level, but not in concrete level providing the method to substantiate it using the practical J2EE techniques. Just using the EJB technology doesn't guarantee the reusability of the artifacts because EJB specification provides the characteristics and architecture for only fine grained components as session and entity bean. In this paper, we propose the enterprise software architecture for the systems based on EJB and the concrete techniques for implementing that. Also, design patterns of modeling efficient enterprise architecture are represented. By analyzing both the strengths and the weaknesses of suggested design patterns, EJB design patterns which are suitable for each layer of enterprise architecture will be identified. Through the component which design patterns are applied, the architecture can support the optimized relationship between the components. Five techniques for designing components from fine grained to coarse grained based on EJB technology, and architecture design techniques including transaction and assembling techniques are proposed.

산업계에서 개발비용과 기간을 단축시키기 위해 시스템을 점차 Enterprise JavaBeans(EJB)로 개발하는 추세이다. 그러므로 시스템 재사용성, 확장성과 이식성을 높이기 위해 EJB를 위한 아키텍처가 중요해졌다. 그러나, 상위 레벨 수준의 추상적인 아키텍처는 제공되지만, 현재 가능한 J2EE기술을 사용하여 실제화 시키는 구체적 방법은 제공되지 않아 실용적인 소프트웨어 아키텍처에 관한 연구가 부족하다. EJB 규약(Specification)은 EJB를 운용하기 위한 세션빈, 엔티티빈들의 특성과 소규모(Fine Grained)방식의 컴포넌트 아키텍쳐만을 제시하고 있다. 그러므로 EJB는 작은 재사용 단위이기 때문에 EJB, 미들웨어 기술을 사용해도 기대만큼 재사용되지 않는다. 본 논문에서는 EJB 기반의 시스템을 위한 엔터프라이즈 소프트웨어 아키텍처를 구체적인 구현 기술과 기법을 함께 제안한다. 또한 효율적인 EJB 아키텍처를 설계하기 위한 EJB 설계 패턴을 제안한다. 설계 패턴들의 장단점을 분석하여 엔터프라이즈 아키텍처의 각 계층에 적합한 EJB 디자인 패턴을 식별하고, 디자인 패턴을 적용한 컴포넌트를 통해 최적의 컴포넌트간의 상호관계를 지원하는 아키텍처가 되도록 한다. EJB 설계기법을 객체수준의 화이트박스 형식인 소규모 EJB 컴포넌트로 부터 대규모(Coarse Grained) 방식의 EJB 컴포넌트로 설계하는 기법을 5가지로 제시하고, EJB 기반의 트랜잭션, 조립기법을 포함한 엔터프라이즈 아키텍처 설계 기법을 구체적으로 제안한다.

Keywords

References

  1. Desmond F. D'Souza & Alan Cameron Wills, Objects, Components, and Frameworks with UML, The Catalysis Approach, Addison Wesley, 1999
  2. Clemens Syzperski, Component Software, Addison-Wesley, 1999
  3. D. Garlan and M.Shaw, 'An Introduction to Software Architecture, Advances in Software Engineering and Knowledge Engineering,' Vol. 1, World Scientific Publishing Company, 1993
  4. Kazman, Software Architecture in Practice, Addison-Wesley, 1996
  5. Mary Shaw & David Garlan, Software Architecture, Perspectives on an Emerging Discipline, Prentic Hall, 1996
  6. D. Garlan, et. al, 'Architectural Mismatch: Why Reuse is So Hard,' IEEE Software, pp.17-26, Nov. 1995 https://doi.org/10.1109/52.469757
  7. Microsoft Corporation, 'Microsoft Reference Architecture for Commerce,' msdn, 2001. http://msdn.microsoft.com/library/default.asp?url=/library/en us/dnrac/html/mracv2_ch01.asp
  8. Israel Ben Shaul, 'An Integrated Network Component Architecture,' IEEE Software, September/October, 1988 https://doi.org/10.1109/52.714829
  9. D.C. Luckham and J.Vera, 'An Event Based Architecture Definition Language,' IEEE Trans. Software Eng., Vol 21, 1995, pp.717-734 https://doi.org/10.1109/32.464548
  10. Kim, S. D., 'Lessons Learned from a Nationwide CBD Promotion Project,' Journal of CACM, October, 2002 https://doi.org/10.1145/570907.570936
  11. Chip Wilson, 'Application Architectures with Enterprise JavaBeans,' Component Strategies, 1999
  12. Heineman, Councill, Component Based Software Engineering, Addison-Wesley, 2001
  13. Linda G. Dernichiel, Enterprise $JavaBeans^{TM}$ Specification, Version 2.1, Sun Microsystems, 2002
  14. Patrick Cauldwell, Rajesh Chawla, 'Professional XML WEB Service,' Wrox., 2001
  15. Ed Roman, Mastering Enterprise $JavaBeans^{TM}$ and the JavaTM2 Platform, Enterprise Edition, WILEY, 1999
  16. Philippe Kruchten, The 4+1 View Model of Architecture, IEEE Software, (Vol. 12, No.6), pp:42-50, November, 1995 https://doi.org/10.1109/52.469759
  17. Marinescu, F., EJB Design Patterns, John Wiley and Sons, Inc., 2002
  18. Meyer Tanuan, 'Software Architecture in the Business Software Domain,' ACM, 1998
  19. 나학청, 김수동, 'Performance Monitoring Techniques for EJB Applications,' 정보과학회논문지, 제30권, 제5,6호, 2003
  20. Nancy & Debra, 'What Makes One Software Architecture More Testable Than Another?,' SIGSOFT 96 Workshop, 1996 https://doi.org/10.1145/243327.243602
  21. P. Clements, Evaluating Software Architectures, Addison-Wesley, 2002
  22. Paul D., Jarallah, 'A data-centric design for n-tier architecture,' Information Sciences, 2002