An Open API Proxy Server System for Widget Services

위젯 서비스를 위한 오픈 API 프록시 서버 시스템

  • 안병현 (광운대학교 임베디드 소프트웨어공학과) ;
  • 이혁준 (광운대학교 컴퓨터공학과) ;
  • 최용훈 (광운대학교 정보제어공학과) ;
  • 정영욱 (광운대학교 전자공학과)
  • Received : 2010.02.04
  • Accepted : 2010.07.12
  • Published : 2010.09.15

Abstract

A widget is a small application running by the users' favorite services, so they are provided with web contents without explicitly visiting the web site. Although widgets can be easily implemented with Open APIs, only a few web sites provide them because of refactoring the structures of web resource to supply Open APIs to the widget developers. This paper presents an Open API Proxy Server System for widget services. The system consists of two components: an Open API Source Code Generator and an Open API Proxy Server. The Open API Source Code Generator provides a Graphical User Interface (GUI) for users to generate the Open APIs of user's choice and sends the Open API source code generation request to the Open API Proxy Server. The Open API Proxy Server using the HTML Table Processing Library receives the HTML web page from web site and extracts useful information from the target HTML table. The proxy server converts the extracted data into the corresponding XML document which becomes available through the Open API. We verify the operation of the proposed system through experiments with the HTML tables in the example web sites.

위젯은 자주 이용하는 서비스를 독립적으로 구동시키는 작은 응용프로그램으로서, 콘텐츠를 제공하는 웹 사이트 등을 직접 방문하지 않고도 사용자가 원하는 콘텐츠를 손쉽게 얻을 수 있어서 많은 관심을 끌고 있다. 이러한 위젯은 오픈 API를 이용하면 손쉽게 개발될 수 있다. 하지만 위젯의 다양한 응용 가능성에도 불구하고, 현재 오픈 API를 제공하는 웹 사이트가 많지 않다. 그 이유는 웹 사이트 운영자가 오픈 API를 제공하기 위해서는 기존의 웹 서버 구조를 변경하거나 웹 서버 리소스를 수정해야 하는 어려움이 있기 때문이다. 본 논문에서는 기존의 웹 서버 구조 또는 웹 서버 리소스를 변경하지 않고, 개발자가 위젯 개발을 가능하도록 하는 것은 물론, 사용자가 위젯을 사용할 수 있도록 웹 서버를 대신하여 오픈 API를 제공하는 오픈 API 프록시 서버 시스템을 제안한다. 오픈 API 프록시 서버 시스템의 구성은 크게 오픈 API 소스 코드 생성기와 오픈 API 프록시 서버로 이루어져 있다. 오픈 API 소스 코드 생성기는 사용자가 원하는 오픈 API를 생성하도록 사용자에게 GUI를 제공하여 오픈 API 프록시 서버로 오픈 API 소스 코드 생성 요청을 보내는 프로그램이다. 오픈 API 프록시 서버는 본 논문에서 제안하는 HTML 테이블 처리 라이브러리를 이용하여 웹 사이트로부터 HTML 웹 페이지를 받아서 대상 HTML 테이블로부터 유용한 정보를 추출한다. 그리고 이를 XML 문서로 가공하여 오픈 API를 통해 제공한다. 실제 웹 사이트의 HTML 테이블을 대상으로 실험하여 오픈 API 프록시 서버 시스템의 동작을 검증하였다.

Keywords

References

  1. W3C, "Widgets 1.0: The Widget Landscape (Q1 2008)," http://www.w3.org/TR/widgets-land
  2. K. W. Ross, and J. F. Kurose, Computer Networking: A Top-Down Approach, 4th Ed., pp.134-138, Addison-Wesley Professional, 2007.
  3. W3C, "HTML 4.01 Specification," http://www.w3. org/TR/html401
  4. W3C, "Extensible Markup Language(XML) 1.0," http://www.w3.org/TR/xml
  5. C. Kaar, "An Introduction to Widgets with Particular Emphasison Mobile Widgets," http://www. symbianresources.com/tutorials/techreports/widgets /kaar07widgets.pdf
  6. R.T. Fielding, Architectural Styles and the Design of Network-Based Software Architectures, PhD dissertation, Dept. of Computer Science, Univ. of California, Irvine, Calif., 2000.
  7. XML-RPC homepage, http://www.xmlrpc.com
  8. W3C, "SOAP Version 1.2 Part 0: Primer (Second Edition)," http://www.w3.org/TR/2007/REC-soap12- part0-20070427
  9. W3C, "Web Services Description Language (WSDL) Version 2.0 Part 0: Primer," http://www.w3.org/ TR/2007/REC-wsdl20-primer-20070626
  10. UDDI homepage, http://uddi.org
  11. L. Richardson, and S. Ruby, Restful Web Services, pp.46-48, O'REILLY, 2007.
  12. W3C, "Document Object Model (DOM) Level 1 Specification," http://www.w3.org/TR/REC-DOMLevel-1
  13. Apache web server homepage, http://www.apache.org
  14. PHP server-side scripting language homepage, http://www.php.net
  15. MySQL database homepage, http://www.mysql.com
  16. Opera web browser homepage, http://www.opera.com