Journal of the Korea Academia-Industrial cooperation Society Vol. 16, No. 10 pp. 6458-6465, 2015 http://dx.doi.org/10.5762/kais.2015.16.10.6458 ISSN 1975-4701 / eissn 2288-4688 동적모바일웹서비스를위한메타모델 김철진 1, 송치양 2* 1 인하공업전문대학컴퓨터시스템과, 2 경북대학교소프트웨어학과 A MetaModel for Dynamic Mobile Web Service Chul-Jin Kim 1, Chee-Yang Song 2* 1 Department of Computer Systems & Engineering, Inha Technical College 2 Department of Software, Kyungpook National Univeristy 요약모바일어플리케이션의잦은변경으로인해모바일서비스의관리가부담이되고있으며, 이에중앙관리가용이한모바일웹서비스개발이증가하고있다. 모바일웹서비스개발에대해개발자뿐만아니라일반사용자도쉽게개발할수있는도구들이개발되고있다. 그러나모바일웹서비스를일반사용자가동적으로구현하기위한표준화된메타모델의연구가미흡한상황이다. 이에본논문에서는동적으로모바일웹서비스를개발할수있는메타모델을제안한다. 동적메타모델은 XPDL 구조를이용하여모바일웹페이지와모바일웹페이지인스턴스, 그리고동적연결로구성된다. 연결메타모델에대해조건연결, 분기연결, 결합연결에대해연구하며, 최종적으로전체모델들을통합하여통합메타모델을제안한다. 또한, 동적메타모델의적합성을검증하기위해각메타모델에대해 XPDL 기반으로사례연구를수행한다. Abstract Frequent change of mobile applications has become a burden to management of mobile services. Therefore, the development of mobile Web services, which the central management is easy, has increased. Tools which developers, as well as general users can easily develop, have been developed for mobile Web services. However, researches of standardized metamodel for implementing mobile Web service dynamically by general users is the inadequate situation. In this paper, we propose a dynamic metamodel for developing mobile Web services. The dynamic metamodel consists of a mobile Web pages, mobile Web page instance and dynamic connection using XDPL structure. we study a connection metamodel for condition connection, split connection and join connection, and combile entire metamodel, finally. Also, we carry out a case study in order to verify the suitability of metamodel by based on XPDL. Keywords : Dynamic Mobile Web Service, XPDL, MetaModel 1. 서론모바일환경이일상화되면서모바일웹서비스사용이기존의 PC 기반웹서비스사용보다증가하고있다. 이러한추세에맞춰모바일앱과함께모바일웹서비스의개발에대한요구가증가하고있다. 모바일웹서비스개발은기존의 PC 기반웹서비스개발과많은차이를 보이진않지만제한된모바일디바이스 UI(User Interface) 화면에서제공되어야하기때문에한정된정보제공과 UX(User experience) 를고려하여개발되어야한다. 또한모바일서비스에대한일반사용자의개발요구로매쉬업 (Mash-Up) 을통해일반사용자도쉽게모바일서비스를개발할수있는환경이제공되고있다. 이러한일반사용자의개발은쉽고빠르게개발되어야하며 * Corresponding Author : Chee-Yang song (Kyungpook National Univ.) Tel : +82-054-530-1453 email : cysong@knu.ac.kr Received July 2, 2015 Revised July 16, 2015 Accepted October 8, 2015 Published October 31, 2015 6458
동적모바일웹서비스를위한메타모델 동적으로개발될수있어야한다. 본논문에서는이와같이모바일웹서비스의증가와모바일웹서비스를사용자측면에서동적으로개발할수있는도구및플랫폼을개발하는데기반을제공할수있는모바일웹서비스메타모델을제안한다. 본논문은다음과같이구성한다. 2장에서는관련연구로 XPDL(Xml Process Definition Language), 기존모바일웹페이지설정기법과메타모델에관련된연구를분석한다. 3장에서는모바일웹서비스메타모델을제안하며, 각구성요소별메타모델을제안한다. 4장에서는각메타모델에대한 XPDL 사례를적용하여제안한모델이적합함을검증하고, 5장에서결론과향후연구의방향성을제시한다. 2. 관련연구 2.1 XPDL[1] XPDL은프로세스개발도구에활용될수있는구조로서, 데이터선언부 (Data Declaration) 와프로세스정의부 (Application), 프로세스인스턴스정의부 (Activity), 그리고흐름정의부 (Transition) 로구성된다. 이러한구조는모바일웹페이지설정시에도유사하게적용될수있다. 데이터선언부는모바일웹페이지들간에전달되는데이터의타입을선언할수있을것이며, 프로세스정의부는모바일웹페이지 ( 또는모바일웹페이지의인터페이스 ) 의템플릿을정의할때이용될수있을것이다. 프로세스인스턴스정의부는모바일웹페이지의인터페이스가연결될때실정보들을정의하기위해이용될것이다. 마지막으로흐름정의부는모바일웹페이지들간에동적인연결정보를정의할때이용할수있을것이다. 이와같이 XPDL은프로세스의동적인흐름을적용하는것과유사하게모바일웹페이지의동적인흐름을정의하는데적합하게이용될수있다. 본논문에서는 XPDL 구성요소들을기반으로모바일웹페이지를동적구성하기위한정형화된메타모델을제안한다. 2.2 모바일웹의동적개발설정기법 [2] [2] 연구에서는 XDPL을기반으로모바일웹페이지를동적으로연결할수있는구조를제안한다. Fig. 1과 같이설정서비스프레임워크 (Configuration Service Framework) 은설정모델에저장된식별자들을통해실제모바일웹페이지를찾아서연결해준다. 설정서비스프레임워크는설정정보를해석하기위한기능과실제모바일웹페이지를호출할수있는기능을제공한다. Fig. 1. Components of Configuration Service Framework 설정서비스프레임워크는설정정보를해석하기위한설정모델관리자 (Configuration Model Manager) 와모바일웹페이지를호출하기위한모바일웹페이지런처 (Mobile Web Page Launcher) 로구성된다. 모바일웹페이지해석기 (Mobile Web Page Interpreter) 는호출된모바일웹페이지를해석하여실행할수있다. 연구 [2] 에서는모바일웹페이지를동적으로구성할수있는아키텍쳐를제안하였으나, 동적설정정보에대한정형화된모델없이 XPDL 기반으로만제시하여다른도구나시스템에적용하기에는한계가있다. 2.3 모바일웹개발매시업제작시스템 [3] 연구 [3] 에서는모바일앱을개발할수있는기존시스템을분석하였으며, 모바일웹어플리케이션을매시업하기위한도구를제안하였다. 모바일앱개발도구로서비교적잘알려진 MIT App Inventor [4], Yahoo Pipes [5], tiggzi [6] 및 PhoneGap [7] 의특징에대해서분석하였다. MIT App Inventor [4] 는어플리케이션의흐름을일반사용자가설계할수있도록제공하며안드로이드기반으로만생성가능하다. 또한흐름설계에제약이있으므로실무용으로사용하는데한계가있다. Yahoo Pipes [5] 는일반사용자가어플리케이션을개발하기쉽게제공되고있지만생성되는결과가텍스트기반으로구현에한계가있다. tiggzi [6] 는클라우드를기반으로하이브리드어플리케이션을개발하기위한도구지만매시업기능을제공하지못하고있다. PhoneGap [7] 은한번의개발로여러이기종의디바이스에배포하기위한개발도구로제 6459
한국산학기술학회논문지제 16 권제 10 호, 2015 공되며, 매시업기능을제공하지못하고있다. 연구 [3] 에서제안한 AppDrone 은개발자뿐만아니라일반사용자에게모바일웹어플리케이션을개발하기위한매시업기능을제공한다. 기존의도구들중에서가장편리하며서비스흐름을동적으로구성할수있는도구이다. 연구 [3] 에서는모바일앱과웹어플리케이션을개발하기위한기존도구들의장단점을분석하였으나, 모바일웹어플이케이션을동적으로매시업하기위한일반화된메타모델에대한연구가미흡하다. 3. 동적모바일웹서비스메타모델동적모바일웹서비스개발을위한메타모델은 XPDL 구성요소를기반으로메타모델을정의한다. 3.1 메타모델구성요소동적모바일웹서비스개발을위한메타모델의기본핵심구성요소는 Fig. 2에서와같이 XPDL의핵심요소인 <Application>, <Acitvity>, <Transition> 으로구성한다. Fig. 2. Core Element of MetaModel 일웹페이지메타정보인 Application 모델과인스턴스의메타정보인 Activity 모델, 그리고 Transition 모델로구성된다. Fig. 3. MetaModel for Dynamic Mobile Web Service 모바일웹페이지인스턴스의메타모델인 Activity는모바일웹페이지의 Application 메타모델을참조한다. 모바일웹페이지와인스턴스는 1:n 관계를형성한다. 실행시이용될모바일웹페이지인스턴스메타모델은연결메타정보를포함하고있는 Transition과 1:n의관계를갖는다. 이경우 Activity와 Transition은서로양방향으로참조하여연결형태를구성한다. 3.2.1 모바일웹페이지메타모델모바일웹서비스의메타모델은모바일웹페이지 Application을기반으로구성될수있다. 모바일웹페이지의메타정보는웹페이지의인터페이스를정의하는것으로 Fig. 4에서와같이모바일웹페이지는인터페이스의입출력데이터를정의하기위해 FormalParameter로구성된다. FormalParameter는여러입출력데이터를위한 id와순번을나타내는 index, 그리고입력또는출력을정의하기위한 mode 속성으로구성된다. 입출력데이터에대한타입을정의하기위해 DataType 메타정보를정의하며 DataType은기본데이터타입인 BasicType 모바일웹시스템은모바일웹페이지를구성하는메타모델을통해동적으로연결및변경이가능하다 [8]. 3.2 동적메타모델동적메타모델은 Fig. 2에서제시하는 3가지요소들을정형화하여동적설계을위한개발도구에적용가능하다. 모바일웹시스템은모바일웹페이지, 모바일웹페이지의인스턴스, 그리고페이지를동적으로연결하기위한서비스커넥터로구성된다. Fig. 3에서와같이모바 Fig. 4. MetaModel for Mobile Web Page 6460
동적모바일웹서비스를위한메타모델 과객체타입의 DeclaredType으로구성된다. 모바일웹페이지는 0개이상의입력데이터를포함하며, 입력데이터의타입은 1개의기본형타입이나사용자정의타입으로정의된다. 모바일웹페이지의메타모델인 Application은동적페이지구성을위한템플릿 ( 또는클래스 ) 모델을의미하며, Application 메타모델을기반으로실행될수있는모바일웹페이지의인스턴스를정의할수있다. Transition 메타정보를이용하여정의한다. 3.2.2 모바일웹페이지인스턴스메타모델모바일웹페이지의인스턴스메타모델은 Activity를이용하여정의할수있다. Fig. 5. MetaModel for Instance of Mobile Web Page Fig. 5에서와같이모바일웹페이지의인스턴스인 Activity는 Tool 과 TransitionRef 메타정보로구성된다. Tool 메타정보는현재모바일웹페이지의인스턴스에대한템플릿 ( 또는클래스 ) 을참조하여모바일웹페이지에서제공하는모바일웹페이지에대한정보를참조한다. 또한 Tool 메타정보는 ActualParameter 정보를포함하여모바일웹페이지가실행시필요한실데이터에대한정보를정의한다. TransitionRef 메타정보는모바일웹페이지인스턴스가실행시다른페이지와의연결정보를참조하기위해 Transition 메타정보를참조한다. 이와같이 Activity 메타모델정보는모바일웹페이지의템플릿인 Application 메타모델과모바일웹페이지간의연결정보인 Transition 메타모델정보를참조하여실행시점에이용될수있다. Fig. 6. MetaModel for Dynamic Connection between Mobile Web Pages Transition은모바일웹을연동하기위한커네터역할을하며모바일웹페이지들간의정보를관리한다. 호출하는모바일웹페이지의 from_id 와호출되는모바일웹페이지의 to_id를관리한다. from_id와 to_id는모바일웹페이지의인스턴스인 Activity 메타모델을참조한다. Activity는다른웹페이지인스턴스와의연결을위해 Transition을참조한다. 모바일웹페이지간의동적인구조는단순연결, 조건연결, 분기연결, 결합연결로구분하여정의할수있다. 3.2.3.1 단순연결 (Simple Connection) 구조 Fig. 7. Simple Connection Structure 단순연결구조는모바일웹페이지간에하이퍼링크 (HyberLink) 나폼 (Form) 태그에의한연결을나타낸다. 단순연결구조에대한메타모델은 Fig. 7 에서와같이 from_id와 to_id 정보에의해연결되며동적으로변경이가능하다. 3.2.3 동적연결메타모델 모바일웹페이지들간에동적인연결은 Fig.6 과같이 6461
한국산학기술학회논문지제 16 권제 10 호, 2015 3.2.3.2 조건연결 (Condition Connection) 구조 Fig. 8. Condition Connection Structure 조건연결구조는 Fig. 8에서와같이모바일웹페이지를조건에의해연결된다. Fig. 11. MetaModel of Split Connection 분기연결구조의메타모델은 Fig. 11에서와같이 Transition 내에연결된모바일웹메타정보인 Activity 에포함된분할메타정보 (Split) 중에 AND 형태로 2개이상의페이지로병렬로연결될수있다. 분기는 TransitionRef 메타정보를통해어떤모바일웹페이지로연결될지참조하기위해 Transition을참조한다. 참조된 Transition들은조건없이화면과서비스로분기된다. Fig. 9. MetaModel of Condition Connection 3.2.3.4 결합연결 (Join Connection) 구조 조건연결구조의메타모델은 Fig. 9에서와같이 Transition 내에연결된모바일웹메타정보인 Activity 에포함된분할메타정보 (Split) 의타입을 XOR 로정의한다. 분할은 TransitionRef 메타정보를통해어떤모바일웹페이지로연결될지참조하기위해 Transition을참조한다. 참조된 Transition은 Condition 메타정보의조건에따라연결된다. Fig. 12. Join Connection Structure 결합연결구조는 Fig. 12에서와같이모바일웹페이지를결합하는연결구조이다. 3.2.3.3 분기연결 (Split Connection) 구조 Fig. 10. Split Connection Structure 분기연결구조는 Fig. 10에서와같이모바일웹페이지를조건이아니라 2개이상의모바일웹페이지로병렬연결된다. 이런경우는 2개의이상의페이지로동시에제공될수없기때문에화면이제공되는모바일웹페이지와모바일서비스로분기될수있다. Fig. 13. MetaModel of Join Connection 결합연결구조의메타모델은 Fig. 13 에서와같이 Transition 내에연결된모바일웹메타정보인 Activity 6462
동적모바일웹서비스를위한메타모델 Fig. 14. Integrated MetaModel 내에서결합메타정보 (Join) 중에 AND 형태로 2개이상의모바일웹페이지로부터결합되어하나의모바일웹페이지로연결된다. 결합은 TransitionRef 메타정보를통해하나의모바일웹페이지를참조하기위해 Transition을참조한다. 참조된하나의 Transition은조건없이연결된다. 페이지의인터페이스를정의한다. 3.2.4 통합메타모델동적모바일웹페이지를구성하기위한메타모델은 Fig. 14에서와같이모바일웹페이지, 모바일웹페이지의인스턴스, 그리고모바일웹페이지간의동적연결에대한메타모델을통해정의가가능하다. Fig. 15. Applied Case for MetaModel of Mobile Web Page 4. 실험및평가 4.2 모바일웹페이지인스턴스메타모델적용사례 본논문에서제시한메타모델을기반으로모바일웹페이지간의동적연결이구성될수있는지 XPDL로정의하여적합성을검증한다. 4.1 모바일웹페이지메타모델적용사례모바일웹페이지메타모델인 Fig. 4에대한모바일웹페이지정보는 Fig. 15와같다. FormParameter와 DataType을통해입력출데이터를정의하여모바일웹 Fig. 16. Applied Case for MetaModel of Mobile Web Page Instance 6463
한국산학기술학회논문지제 16 권제 10 호, 2015 모바일웹페이지인스턴스메타모델인 Fig. 5에대한모바일웹페이지인스턴스정보는 Fig. 16과같다. Tool 정보에모바일웹페이지를참조하고 ActualParameter 정보는모바일웹페이지의 FormalParameter 정보에맞는데이터를정의한다. TransitionRef는연결될정보를참조한다. 4.3 동적연결메타모델 Fig. 17은단순동적연결에대한메타모델을적용한사례로서 from 과 to 는모바일웹페이지인스턴스정보를참조한다. 수있을것이다. 5. 결론본연구에서는동적모바일웹서비스개발을위한메타모델을제안한다. 모바일웹페이지, 모바일웹페이지의인스턴스, 그리고동적연결구조에대한메타모델을제시하여다양한동적모바일웹서비스를개발할수있는기반을제시한다. 또한본논문에서제시한동적메타모델에대해 XPDL 기반으로모바일웹서비스에대한사례를적용하여동적메타모델이적합함을검증하였다. 향후에는본논문에서제안한동적메타모델을기반으로동적인모바일웹서비스개발도구에대해연구한다. Fig. 17. Applied Case for MetaModel of Simple Connection 조건동적연결메타모델에대한적용사례를 Fig. 18 과같다. Transition내의 Condition 조건에의해연결될페이지가결정된다. 조건에따라연결될 Transition에서정의한 to 속성에정의된모바일웹페이지로연결될수있도록정의한다. References [1] XML Process Definition Language (XPDL) Document Number WFMC-TC-1025: Version 1.14 Document Status, Final October 3, 2005. [2] C.J. Lim, "A Configuration Technique for Dynamic Development of Mobile Web, Journal of The Korea Academia-Industrial cooperation Society, Vol.15 No.6, June, pp.3841~3850, 2014. DOI: http://dx.doi.org/10.5762/kais.2014.15.6.3841 [3] J.C. Kim, S.H. Lee, Y.S. Chang, and K.C. Lee, "Mashup Authoring System for Mobile Web Application Development", KISS(The Korean Institute of Information Scientists and Engineers) Journal, 30(11), 23-31, 2012. [4] MIT App Inventor, http://http://appinventor.mit.edu/ [5] Yahoo Pipes, http://pipes.yahoo.com/pipes/ [6] tizggi, http://http://tiggzi.com/home/ [7] PhoneGap, http://www.phonegap.com/ [8] C.J. Kim and K.S. Choi, "A Mobile Web's Recommendation Technique based on XPDL", Journal of The Korea Academia-Industrial cooperation Society, Vol.14 No.11, Nov, pp.5856~5865, 2013. DOI: http://dx.doi.org/10.5762/kais.2013.14.11.5856 Fig. 18. Applied Case for MetaModel of Condition Connection 본사례연구를통해본연구에서제시한메타모델을기반으로동적인모바일웹페이지에대한메타정보를제공할수있음을검증하였으며, 이러한메타모델을통해동적인모바일웹개발도구개발에기반을제공할 6464
동적모바일웹서비스를위한메타모델 김철진 (Chul-Jin Kim) [ 종신회원 ] 2004 년 2 월 : 숭실대학교대학원컴퓨터학과 ( 공학박사 ) 2004 년 3 월 ~ 2009 년 2 월 : 삼성전자책임연구원 2009 년 3 월 ~ 현재 : 인하공전컴퓨터시스템과교수 < 관심분야 > 컴포넌트기반개발방법론, 컴포넌트커스터마이제이션, 모바일서비스, 클라우드컴퓨팅 송치양 (Chee-Yang Song) [ 정회원 ] 2003 년 8 월 : 고려대학교컴퓨터학과 ( 이학박사 ) 1990 년 5 월 ~ 2005 년 9 월 : KT 중앙연구소책임연구원 2005 년 10 월 ~ 2008 년 2 월 : 상주대학교소프트웨어공학과조교수 2008 년 3 월 ~ 현재 : 경북대학교소프트웨어학과부교수 < 관심분야 > CBD, MDA, Service-Oriented Modeling, Formal Specification 6465