DOI QR코드

DOI QR Code

클라이언트 기반 매시업 페이지에서 다중 비동기 서비스 호출

Multiple Asynchronous Requests on a Client-based Mashup Page

  • 이은정 (경기대학교 컴퓨터과학과)
  • 발행 : 2010.02.28

초록

웹서비스의 매시업이 새로운 소프트웨어 개발방법으로 주목받고 있다. 본 논문에서는 하나의 페이지가 여러 서비스 메소드를 비동기 호출의 방식으로 인터페이스하는 클라이언트 매시업을 고려한다. 비동기 웹서비스 호출의 컬백이 사용자 인터페이스와 병행하여 수행되는 경우 컬백은 사용자 인터페이스의 연산들과 메모리와 화면을 공유한다. 또한 사용자가 서비스 요청의 회신이 도착하기 전에 다른 요청을 전송하는 다중 호출이 가능하다면 공유 자원에 대한 병행 처리의 문제는 더 복잡해진다. 이 문제를 해결하기 위한 본 논문의 기여는 다음과 같다. 첫째, RESTful 서비스의 매시업 페이지를 사용자 액션과 컬백으로 모델링하고, 매시업 페이지에서 다중 요청의 유형을 제시하였다. 둘째, 컬백과 사용자 액션의 충돌을 공유자원의 측면에서 정의하고 병행 가능한 컬백의 조건을 제시하였다. 셋째, 공유 자원에 대한 충돌이 가능한 컬백을 순차화하여 수행하는 방법을 제시하였다. 마지막으로 제안된 컬백의 병행가능성 검사와 순차화 방법을 XForms 언어에 적용하고 브라우저에서 구현하여 사용자 경험을 향상시킬 수 있음을 실험적으로 증명하였다.

Web service mashup bacomes one of the important web application development methods. This paper considers a client based mashup, where a page interfaces many service methods asynchronously. Browser systems execute callbacks when the corresponding reply arrives, possibly concurrent to user interface actions. In this case, callbacks and user interface actions share data memory and screen. Moreover, when the user is able to send another request before the previous ones have replied, the shared resource problem becomes more complicated. In order to solve the multiple requests problem, our contributions are as follows. First, we modeled a mashup page with user actions and callbacks, and we presented several types of callbacks. Secondly, concurrency condition is defined between callbacks and user actions in terms of shared resources, and the test method is presented. Also, we proposed the serialization approach to guarantee the safe execution of callbacks. Finally, we applied the proposed concurrency condition on XForms language and extended the XForms browser to implement the proposed approach. The prototype implementation showed that the proposed approach helps enhancing user experience on mashup pages.

키워드

참고문헌

  1. J. Yu, et al, “Understanding mashup development,” IEEE Internet computing, Vol.12, Issue5, pp.44-52, 2008. https://doi.org/10.1109/MIC.2008.114
  2. A. Koschmider, et al., “Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups,” MEM 2009, pp.1-9, 2009.
  3. Taivalsaari, “Mashware:the future of web applications is software,” Sun Labs Technical Report TR-2009-181, Feb., 2009.
  4. S. Auer, et al., “Dbpedia: A nucleus for a web of open data,” ISWS 2008.
  5. A. Jhingran, “Enterprise information mashups: integrating information, simply,” pp.3-4, Proc. of VLDB, 2006.
  6. S.Abiteboul, et al. “Matchup: Autocompletion for mashups,” ICDE'2009, 2009.
  7. R. Ennals, M.Garofalakis, “MashMaker: mashups for the masses,” Proc. ICMD'2007, pp.1116-1118, 2007.
  8. J.Wong, J.Hong, “Marmite: Towards end-user programming for the web,” CHI'07, 2007.
  9. R.T. Fielding, Architectural Styles and the Design of Network-Based Software Architectures, doctoral dissertation, Dept. of Computer Science, Univ. of Calif., Irvine, 2000.
  10. A. Holdener III, Ajax, the definitive guide, O'Reilly, 2008.
  11. Richardson, L., Ruby, S. (2007). RESTful Web Services, O'Reilly Media, Inc.
  12. G.Lorenzo, et al. “Data integration in mashups,” ACM Sigmod Record, Vol.38, Issue1, pp.59-66, 2009. https://doi.org/10.1145/1558334.1558343
  13. S.Yu, J.Woodard, “Innovation in the programmable web: characterizing the mashup ecosystem,” LNCS 5472, pp.136-147, 2009.
  14. N.Zang, et al., “Mashups: who? what? why?” pp.3171-3176, CHI'08, 2008.
  15. Linaje, M; Preciado, J.C:; Sanchez-Figueroa, F.: A Method for Model-Based Design of Rich Internet Application Interactive User Interfaces. In 7th International Conference on Web Engineering(ICWE), 2007.
  16. S.Perez, O.Diaz, S.Melia, J.Gomez, “Facing interaction-rich RIAs: the orchestration model,” In 8th International Conference on Web Engineering(ICWE), 2008.
  17. T.Fischer, et al., “Towards an Automatic Service Composition for Generation of User-Sensitive Mashups,” ABIS'08, 2008.
  18. Bozzon, A.; Comai,,S.; Fraternali,P; Toffetti Carughi, G. “Conceptual modeling and code generation for rich internet applications,” ICWE2006, Menlo Park, California, USA(2006).
  19. P. Dolog and J. Stage. “Designing interaction spaces for rich internet applications with UML,” In 7th International Conference on Web Engineering(ICWE), 2007.
  20. 김진한, 이병정, “웹서비스와 OpenAPI를 사용한 SOA 기반 동적 서비스 합성 프레임워크,” 정보과학회 논문지: 소프트웨어 및응용 제 36권 3호, pp.187-199, 2009.
  21. 진훈, 김인철, 반응형 계획에 기초한 자동화된 시맨틱 웹서비스의 조합, 한국정보처리학회논문지, 14권, 3호, pp.199-214, 2007. 6.
  22. Firefox browser, http://www.mozilla.com/firefox/.
  23. XForms processor from FormsPlayer, www.formsplayer.com.
  24. Apache group, “Axis web services,” http://ws.apache.org/axis/.
  25. M.Brambilla, et al., “Managing asynchronous web services interactions,” pp.80, ICWS'04, 2004.
  26. Juha Puustjarvi, “Concurrency control in web service orchestration,” CIT'2008.
  27. XForms 1.1 W3C Candidate Recommandation, www.w3.org/TR/xforms11/.
  28. World-Wide Web Consortium standards including XML, XML Schema, and XPath.
  29. 이은정, 유가연, “XForms 지원 브라우저를 이용한 모바일 오픈 API 플랫폼 개발,” 정보처리학회 학술발표대회논문집, 14집 2권, pp.444-447, 2007년 추계학술발표대회, 목포대학교, 2007.
  30. Java2Script, http://j2s.sourceforge.net/.
  31. Dave Thomas, David Heinemeier Hansson: Agile Web Development with Rails, Second Edition, Pragmatic Bookshelf, 2006.