DOI QR코드

DOI QR Code

Methods to Apply GoF Design Patterns in Service-Oriented Computing

서비스 지향 컴퓨팅을 위한 GoF 디자인 패턴 적용 기법

  • 김문권 (숭실대학교 컴퓨터학과) ;
  • 라현정 (숭실대학교 모바일 서비스 소프트웨어공학센터) ;
  • 김수동 (숭실대학교 컴퓨터학부)
  • Received : 2012.01.20
  • Accepted : 2012.04.11
  • Published : 2012.04.30

Abstract

As a representative reuse paradigm, the theme of service-oriented Paradigm (SOC) is largely centered on publishing and subscribing reusable services. Here, SOC is the term including service oriented architecture and cloud computing. Service providers can produce high profits with reusable services, and service consumers can develop their applications with less time and effort by reusing the services. Design Patterns (DP) is a set of reusable methods to resolve commonly occurring design problems and to provide design structures to deal with the problems by following open/close princples. However, since DPs are mainly proposed for building object-oriented systems and there are distinguishable differences between object-oriented paradigm and SOC, it is challenging to apply the DPs to SOC design problems. Hence, DPs need to be customized by considering the two aspects; for service providers to design services which are highly reusable and reflect their unique characteristics and for service consumers to develop their target applications by reusing and customizing services as soon as possible. Therefore, we propose a set of DPs that are customized to SOC. With the proposed DPs, we believe that service provider can effectively develop highly reusable services, and service consumers can efficiently adapt services for their applications.

대표적인 재사용 패러다임 중 하나인 서비스 지향 컴퓨팅 (Service-Oriented Computing, SOC)는 독립적으로 실행가능하며 외부 인터페이스를 통해서만 접근 가능한 서비스를 재사용 단위로 사용한다. SOC는 서비스 지향 아키텍처 개념과 클라우드 컴퓨팅의 개념을 통칭하는 용어이다. 서비스는 서비스 제공자에게는 높은 재사용성으로 인해 수익을 내도록 하며, 서비스 소비자에게는 서비스를 재사용하여 보다 빠른 시간 내에 적은 노력으로 애플리케이션을 개발할 수 있는 경제성과 생산성을 제공한다. 디자인 패턴 (Design Patterns)는 객체 지향 소프트웨어 설계시에 자주 발생하는 문제들을 해결하기 위한 범용적이며 재사용 가능한 방법들이며, Open/Closed 원칙을 이용하여, 가변성 및 여러 설계 이슈를 보다 쉽게 처리할 수 있는 설계 구조를 제안한다. 그러나 객체지향 패러다임의 객체와 SOC의 서비스는 구별되는 차이점을 가지고 있어, 기존의 디자인 패턴을 그대로 SOC에 적용하는 것은 어렵다. 서비스 제공자의 입장에서는 서비스 소비자마다의 가변적인 기능을 허용하며, 서비스의 고유 특징을 반영하는 서비스를 설계하고, 서비스 소비자 입장에서는 서비스가 제공하는 기능을 목적에 변경하여 빠른 시간 내에 목표 애플리케이션을 개발하도록 디자인 패턴이 SOC에 맞게 특화되어야 한다. 그러므로 본 논문에서는 서비스 제공자가 재사용성을 비롯한 서비스 고유의 특징을 반영하도록 서비스를 설계하고, 서비스 소비자는 제공되는 서비스를 목적에 맞게 특화하여 목표 애플리케이션을 개발하기 위해, SOC의 특성을 고려하여 특화된 디자인 패턴을 제안한다.

Keywords

References

  1. Erl, T., Service-Oriented Architecture (SOA): Concepts, Technology, and Design, Prentice Hall, 2005.
  2. Gillett, F.E., "Future View: New Tech Ecosystems of Cloud, Cloud Services, and Cloud Computing," Forrester Research Paper, 2008.
  3. Gamma, E., Helm, R., Johnson, R., and Vlissides, J., Design patterns: elements of reusable object-oriented software, Addison-Wesley, 1995.
  4. Mell, P. and Grance, T.., "The NIST Definition of Cloud Computing (Draft): Recommendations of the National Institute of Standards and Technology," National Institute of Standards and Technology Special Publication 800-145 (Draft) , January, 2011.
  5. McNatt, W.B. and Bieman, J.M., "Coupling of design patterns: common practices and their benefits," Proc. 25th Annual Conference on Computer Software and Applications (COMPSAC 2001) , IEEE, pp. 574-579, Oct., 2001.
  6. Erl, T., SOA Design Patterns, Prentice Hall, 2009.
  7. Zdun, U., Hentrich, C., and van der Aalst, W.M.P., "A Survey of Patterns for Service-Oriented Architecture," International Journal of Internet Protocol Technology, Vol.1, No.3, pp.132-143, 2006. https://doi.org/10.1504/IJIPT.2006.009739
  8. Topaloglu, N.U. and Capilla, R., "Modeling the Variability of Web Services from a Pattern Point of View," In Proceedings of the 2004 European Conference on Web Services (ECOWS 2004), Lecture Notes in Computer Science 3250, Springer-Verlag Berlin, pp.128-138, September, 2004.
  9. Milanovic, N., "Service Engineering Design Patterns," Proc. Second IEEE International Symposium on Service-Oriented System Engineering (SOSE 2006) , IEEE, pp.19-26, May, 2006.
  10. Mauro, C., Leimeister, J.M., and Krcmar, H., "Service Oriented Device Integration - An Analysis of SOA Design Patterns," Proc. 43rd Hawaii International Conference on System Sciences (HICSS 2010) , IEEE, pp.1-10, Jan., 2010.
  11. Thu, T.D. and Tran, H.T.B., "Composite Design Patterns to Integrate Available Services," Proc. 2008 IEEE International Symposium on Service-Oriented System Engineering (SOSE 2008) , IEEE, pp.19-24, Dec., 2008.
  12. Arcelli, F., Tosi, C., and Zanoni, M., "Can Design Pattern Detection be Useful for Legacy System Migration towards SOA?" Proc. 2nd international workshop on Systems development in SOA environments (SDSOA 2008) in conjunction with ICSE 2008, ACM, pp.63-68, May, 2008.
  13. Kim, S.D., Software Reusability. In: Wah, B.W. (Eds.), Wiley Encyclopedia of Computer Science and Engineering, Vol.4. Wiley-Interscience, pp.2679-2689, 2009.
  14. Arsanjani, A., Ghosh, S., Allam, A., Abdollah, T., Ganapathy, S., and Holley, K., "SOMA: A method for developing service-oriented solutions," IBM Systems Journal, Vol.47, No.3, pp.377-396, 2008. https://doi.org/10.1147/sj.473.0377
  15. Erradi, A., Kulkarni, N., and Maheshwari, P., "Service Design Process for Reusable Services: Financial Services Case Study," Proc. 5th International Conference on Service- Oriented Computing (ICSOC 2007), Lecture Notes in Computer Science 4749, Springer-Verlag Berlin, pp.606-617, Sep., 2007.
  16. Papazoglou, M.P. and van den Heuvel, W.J., "Service-Oriented Design and Development Methodology," International Journal of Web Engineering and Technology (IJWET) , Vol.2, No.4, pp 412-442, 2006. https://doi.org/10.1504/IJWET.2006.010423
  17. Chang, S.H. and Kim, S.D., "A Service-Oriented Analysis and Design Approach to Developing Adaptable Services," Proc. IEEE International Conference on Services Computing (SCC 2007, IEEE) , pp.713-714, July, 2007.
  18. La, H.J., Her, J.S., Oh, S.H., and Kim, S.D., "A Practical Approach to Developing Applications with Reusable Services," Studies in Computational Intelligence, Vol.253, pp.95-106, December, 2009. https://doi.org/10.1007/978-3-642-05441-9_9
  19. Kim, S.D., Her, J.S., and Chang, S.H., "A Theoretical Foundation of Variability in Component-based Development," Information and Software Technology (IST), Vol.47, No.10, pp.663-673, July, 2005. https://doi.org/10.1016/j.infsof.2004.11.007
  20. Jegadeesan, H. abd Balasubramaniam, S., "A Method to Support Variability of Enterprise Services on the Cloud," In Proceedings of 2009 IEEE International Conference on Cloud Computing (CLOUD 2009) , IEEE, pp.117-124, September, 2009.
  21. Chang, S.D. and Kim, S.D., "A Variability Modeling Method for Adaptable Services in Service-Oriented Computing," In Proceedings of the 11th International Software Product Line Conference (SPLC 2007) , IEEE, pp.261-268, September, 2007.
  22. Kim, Y.Y. and Doh, K.G., "Adaptable Web Services Modeling using Variability Analysis," In Proceedings of the 2008 Third International Conference on Convergence and Hybrid Information Technology (ICCIT 2008) , Vol. 1, IEEE, pp.700-705, December, 2008.
  23. La, H.J. and Kim, S.D., "Static and dynamic adaptations for service-based systems," Information and Software Technology, Vol.53, pp.1275-1296, 2011. https://doi.org/10.1016/j.infsof.2011.06.001
  24. Sheng, Q.Z., Benatallah, B., and Maamar, Z., "User-Centric Services Provisioning in Wireless Environments," Communications of the ACM, Vol.51, No.11, pp.130-135, 2008. https://doi.org/10.1145/1400214.1400241