KR101243015B1 - 별개의 서비스들을 결합하여 제공하는 서비스 제공 시스템 및 서비스 제공 방법 - Google Patents

별개의 서비스들을 결합하여 제공하는 서비스 제공 시스템 및 서비스 제공 방법 Download PDF

Info

Publication number
KR101243015B1
KR101243015B1 KR1020110023298A KR20110023298A KR101243015B1 KR 101243015 B1 KR101243015 B1 KR 101243015B1 KR 1020110023298 A KR1020110023298 A KR 1020110023298A KR 20110023298 A KR20110023298 A KR 20110023298A KR 101243015 B1 KR101243015 B1 KR 101243015B1
Authority
KR
South Korea
Prior art keywords
service
processing unit
information processing
application server
request
Prior art date
Application number
KR1020110023298A
Other languages
English (en)
Other versions
KR20120105698A (ko
Inventor
김성관
이승배
조정래
한규흥
송기선
윤미선
류승우
Original Assignee
엔에이치엔비즈니스플랫폼 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔에이치엔비즈니스플랫폼 주식회사 filed Critical 엔에이치엔비즈니스플랫폼 주식회사
Priority to KR1020110023298A priority Critical patent/KR101243015B1/ko
Publication of KR20120105698A publication Critical patent/KR20120105698A/ko
Application granted granted Critical
Publication of KR101243015B1 publication Critical patent/KR101243015B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

별개의 서비스들을 결합하여 제공하는 서비스 제공 시스템 및 서비스 제공 방법이 개시된다. 서비스 제공 시스템은 클라이언트의 브라우저를 통해 서비스 요청을 수신하여 서비스 정보 처리부로 전달하고, 서비스 정보 처리부를 통해 수신된 요청 처리 결과를 이용하여 서비스 정보의 표현을 위한 코드 정보를 생성하고, 생성된 코드 정보를 클라이언트로 전송하는 메타 정보 처리부 및 서비스 요청을 메타 정보 처리부를 통해 전달받아 요청 처리 결과를 생성하고, 생성된 요청 처리 결과를 메타 정보 처리부로 전송하는 서비스 정보 처리부를 포함한다.

Description

별개의 서비스들을 결합하여 제공하는 서비스 제공 시스템 및 서비스 제공 방법{SERVICE PROVIDING SYSTEM AND SERVICE PROVIDING METHOD FOR PROVIDING COMBINED SEPARATE SERVICES}
본 발명의 실시예들은 별개의 서비스들을 결합하여 제공하는 서비스 제공 시스템 및 서비스 제공 방법에 관한 것이다.
웹서비스 업체들이 제공하는 각종 콘텐츠와 서비스를 융합하여 새로운 웹서비스를 만들어내는 것을 매시업(mashup)이라 한다. 이때, 종래기술에서는 서로 다른 도메인 주소를 통해 제공되는 별개의 인터넷 서비스들을 결합하여 하나의 도메인 주소를 사용하는 결합 인터넷 서비스(서비스 매시업(mashup))를 제공하기 위해, 아래 도 1에서와 같이, 결합된 새로운 서비스를 위한 웹 어플리케이션 서버(Web Application Server, WAS)를 별도로 구성한다.
도 1은 종래기술에 있어서, 서비스 매시업을 위한 인터넷 서비스 구성을 도시한 도면이다.
종래기술에 따른 인터넷 서비스 구성을 도시한 점선박스(100)는 서비스 A(a.xxx.com)를 제공하는 WAS(110)와 서비스 B(b.xxx.com)를 제공하는 WAS(120) 및 서비스 A와 서비스 B가 결합된 서비스 C(c.xxx.com)를 제공하는 WAS(130) 그리고 각각의 WAS들(110 내지 130)와 연결되는 브라우저(Browser)들 및 DBMS(DataBase Management System)들을 나타내고 있다.
즉, 도 1과 같이 기존의 서비스 A 및 서비스 B를 결합하여 서비스 C를 제작하고자 할 때 서비스 C를 위한 WAS(130)가 별도로 구성된다. 그러나 이 경우, 서비스 A를 위한 기능들과 서비스 B를 위한 기능들이 WAS(130)에 중복 구현되어야 하고, 서비스 A 또는 서비스 B에 변경 사항이 발생되는 경우, 서비스 C에는 이러한 변경 사항이 자동으로 반영되지 않는 문제점이 있다. 즉, 서비스 A나 서비스 B에 대한 변경 사항을 WAS(130)가 서비스 C에 별도로 반영해야만 한다.
따라서, 보다 효율적으로 서비스 매시업을 가능하게 할 수 있는 기술의 도입에 대한 요구가 증가하고 있는 추세이다.
웹 어플리케이션 서버(Web Application Server, WAS)에서 처리하는 기능을 브라우저에게 정보를 전달하는 뷰(view)의 기능과, 브라우저에게 나타날 정보를 처리하는 모델(model)의 기능으로 물리적으로 분리하여 제공함으로써, 보다 효율적으로 서비스 매시업(mashup)을 제공할 수 있는 서비스 제공 시스템 및 방법이 제공된다.
뷰의 기능을 제공하는 뷰 웹 어플리케이션 서버(view WAS)와 모델의 기능을 제공하는 모델 어플리케이션 서버(Model AS)를 이용하여 뷰의 기능과 모델의 기능을 물리적으로 분리하여 제공함으로써, 인터넷 서비스 각각의 독립성을 보장함과 동시에, 한 번 구현된 인터넷 서비스 각각의 기능이 재사용이 가능하고, 인터넷 서비스의 변경 사항이 결합된 인터넷 서비스에도 자동적으로 반영될 수 있는 서비스 제공 시스템 및 방법이 제공된다.
클라이언트의 브라우저를 통해 서비스 요청을 수신하여 서비스 정보 처리부로 전달하고, 서비스 정보 처리부를 통해 수신된 요청 처리 결과를 이용하여 서비스 정보의 표현을 위한 코드 정보를 생성하고, 생성된 코드 정보를 클라이언트로 전송하는 메타 정보 처리부 및 서비스 요청을 메타 정보 처리부를 통해 전달받아 요청 처리 결과를 생성하고, 생성된 요청 처리 결과를 메타 정보 처리부로 전송하는 서비스 정보 처리부를 포함하는 서비스 제공 시스템이 제공된다.
일측에 따르면, 메타 정보 처리부는 클라이언트로 둘 이상의 서비스가 결합된 서비스를 제공하는 경우, 서비스 요청에 해당하는 적어도 둘 이상의 다른 서비스 정보 처리부로 서비스 요청을 더 전달하고, 적어도 둘 이상의 다른 서비스 정보 처리부로부터 수신된 요청 처리 결과를 더 이용하여 코드 정보를 생성할 수 있다.
다른 측면에 따르면, 서비스 정보 처리부는 서비스 요청을 다른 서비스 제공 시스템에 포함된 다른 메타 정보 처리부를 통해 더 수신한 경우, 서비스 요청에 대한 요청 처리 결과를 생성하여 다른 메타 정보 처리부로 더 전송할 수 있다.
또 다른 측면에 따르면, 메타 정보 처리부 또는 서비스 정보 처리부는 복수의 프로토콜 정보를 포함하는 매개 서버를 통해 다른 메타 정보 처리부 또는 다른 서비스 정보 처리부에서 이용 가능한 프로토콜 정보를 수신하거나 또는 다른 메타 정보 처리부 또는 다른 서비스 정보 처리부에서 이용 가능한 프로토콜로 필요한 정보의 프로토콜을 변환할 수 있다.
또 다른 측면에 따르면, 메타 정보 처리부 또는 서비스 정보 처리부는, 다른 메타 정보 처리부 또는 다른 서비스 정보 처리부에서 원격 매소드를 호출하여 예외(exception)가 발생하는 경우, 예외 스택(stack)을 문자열로 덤프(dump)하여 원격 매소드를 호출한 다른 메타 정보 처리부 또는 다른 서비스 정보 처리부로 전송할 수 있다.
또 다른 측면에 따르면, 메타 정보 처리부 또는 서비스 정보 처리부는 다른 메타 정보 처리부 또는 다른 서비스 정보 처리부로 원격 매소드를 호출하여 예외(exception)가 발생하는 경우, 다른 메타 정보 처리부 또는 다른 서비스 정보 처리부로부터 예외 스택(stack)을 문자열로 덤프(dump)하여 생성된 정보를 수신하고, 수신된 정보를 이용하여 예외 객체를 생성할 수 있다.
클라이언트의 브라우저를 통해 서비스 요청을 수신하여 모델 어플리케이션 서버(Model Application Server, Model AS)로 전달하는 서비스 요청 전달부, 모델 어플리케이션 서버를 통해 수신된 요청 처리 결과를 이용하여 서비스 정보의 표현을 위한 코드 정보를 생성하는 코드 정보 생성부 및 생성된 코드 정보를 클라이언트로 전송하는 코드 정보 전송부를 포함하고, 요청 처리 결과는 서비스 요청에 기초하여 모델 어플리케이션 서버에서 생성되는 서비스 제공 시스템이 제공된다.
클라이언트의 서비스 요청을 뷰 웹 어플리케이션 서버(View Web Application Server, View WAS)를 통해 전달받아 요청 처리 결과를 생성하는 요청 처리 결과 생성부 및 생성된 요청 처리 결과를 뷰 웹 어플리케이션 서버로 전송하는 요청 처리 결과 전송부를 포함하고, 서비스 요청은 클라이언트의 브라우저를 통해 뷰 웹 어플리케이션 서버에 수신되는, 서비스 제공 시스템이 제공된다.
메타 정보 처리부가 클라이언트의 브라우저를 통해 서비스 요청을 수신하여 서비스 정보 처리부로 전달하는 단계, 서비스 정보 처리부가 서비스 요청을 메타 정보 처리부를 통해 전달받아 요청 처리 결과를 생성하는 단계, 서비스 정보 처리부가 생성된 요청 처리 결과를 메타 정보 처리부로 전송하는 단계, 메타 정보 처리부가 서비스 정보 처리부를 통해 수신된 요청 처리 결과를 이용하여 서비스 정보의 표현을 위한 코드 정보를 생성하는 단계 및 메타 정보 처리부가 생성된 코드 정보를 클라이언트로 전송하는 단계를 포함하는 서비스 제공 방법이 제공된다.
클라이언트의 브라우저를 통해 서비스 요청을 수신하여 모델 어플리케이션 서버로 전달하는 단계, 모델 어플리케이션 서버를 통해 수신된 요청 처리 결과를 이용하여 서비스 정보의 표현을 위한 코드 정보를 생성하는 단계 및 생성된 코드 정보를 클라이언트로 전송하는 단계를 포함하고, 요청 처리 결과는 서비스 요청에 기초하여 모델 어플리케이션 서버에서 생성되는 서비스 제공 방법이 제공된다.
클라이언트의 서비스 요청을 뷰 웹 어플리케이션 서버를 통해 전달받아 요청 처리 결과를 생성하는 단계 및 생성된 요청 처리 결과를 뷰 웹 어플리케이션 서버로 전송하는 단계를 포함하고, 서비스 요청은 클라이언트의 브라우저를 통해 뷰 웹 어플리케이션 서버에 수신되는, 서비스 제공 방법이 제공된다.
웹 어플리케이션 서버(Web Application Server, WAS)에서 처리하는 기능을 브라우저에게 정보를 전달하는 뷰(view)의 기능과, 브라우저에게 나타날 정보를 처리하는 모델(model)의 기능으로 물리적으로 분리하여 제공함으로써, 보다 효율적으로 서비스 매시업(mashup)을 제공할 수 있다.
뷰의 기능을 제공하는 뷰 웹 어플리케이션 서버(view WAS)와 모델의 기능을 제공하는 모델 어플리케이션 서버(Model AS)를 이용하여 뷰의 기능과 모델의 기능을 물리적으로 분리하여 제공함으로써, 인터넷 서비스 각각의 독립성을 보장함과 동시에, 한 번 구현된 인터넷 서비스 각각의 기능이 재사용이 가능하고, 인터넷 서비스의 변경 사항이 결합된 인터넷 서비스에도 자동적으로 반영될 수 있다.
도 1은 종래기술에 있어서, 서비스 매시업을 위한 인터넷 서비스 구성을 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 서비스 매시업을 위한 인터넷 서비스 구성을 도시한 도면이다.
도 3은 본 발명의 일실시예에 있어서, 복수의 시스템 및 매개체를 나타낸 도면이다.
도 4는 본 발명의 일실시예에 있어서, 원격 프로시저 호출 과정을 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 서비스 제공 시스템의 내부 구성을 설명하기 위한 블록도이다.
도 6은 본 발명의 일실시예에 있어서, 결합된 인터넷 서비스를 제공하는 화면의 일례를 나타낸 도면이다.
도 7은 본 발명의 다른 실시예에 있어서, 서비스 제공 시스템의 내부 구성을 설명하기 위한 블록도이다.
도 8은 본 발명의 또 다른 실시예에 있어서, 서비스 제공 시스템의 내부 구성을 설명하기 위한 블록도이다.
도 9는 본 발명의 일실시예에 있어서, 서비스 제공 방법을 도시한 흐름도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명의 일실시예에 있어서, 서비스 매시업을 위한 인터넷 서비스 구성을 도시한 도면이다.
본 실시예에 따른 서비스 매시업을 위한 인터넷 서비스 구성을 나타낸 점선박스(200)는 뷰 웹 어플리케이션 서버(이하, View WAS)들(210, 230, 250)과, 모델 어플리케이션 서버(이하, Model AS)들(220, 240, 260) 그리고 브라우저(Browser)들과 DBMS(DataBase Management System)들을 도시하고 있다.
여기서, Model AS들(220, 240, 260)은 브라우저에 나타날 정보를 처리하고, View WAS들(210, 230, 250)은 연결되는 브라우저에 제공하고자 하는 인터넷 서비스와 관련된 정보를 프레젠테이션(presentation)하기 위해 Model AS들(220, 240, 260)에서 처리된 정보를 어떻게 표현할 것인가를 나타내는 메타 정보를 처리한다.
예를 들어, View WAS(210)와 Model AS(220)가 서비스 A를 해당 브라우저로 제공하고, View WAS(230)와 Model AS(240)가 서비스 B를 해당 브라우저로 제공하고, View WAS(250)와 Model AS(260)가 서비스 A와 서비스 B가 결합된 서비스 C를 해당 브라우저로 제공한다고 가정하자. 이 경우, 도 2에 도시된 바와 같이 View WAS(250)는 Model AS들(220, 240, 260) 모두로부터 관련 정보를 수신하기 때문에 서비스 A에 대한 변경 사항이 발생하는 경우, Model AS(220)로부터 수신된 정보를 통해 서비스 A에 대한 변경 사항이 서비스 C에도 자동적으로 반영되도록 할 수 있다.
View WAS들(210, 230, 250) 각각은 브라우저의 요청 처리를 담당할 수 있으며, 브라우저의 요청에 따라 필요한 정보를 Model AS들(220, 240, 260) 중 해당하는 Model AS에 요청할 수 있다. Model AS들(220, 240, 260) 각각은 요청에 따른 결과를 해당 DBMS를 이용하여 생성하고, 생성된 결과를 View WAS들(210, 230, 250) 중 해당하는 View WAS에 전달할 수 있다. 이때, View WAS들(210, 230, 250) 각각은 전달받은 결과를 이용하여 HTML(Hyper Text Markup Language)와 같은 코드 정보들을 생성하고, 생성된 코드 정보들을 해당 브라우저로 전송할 수 있다. 브라우저는 수신된 코드 정보들을 이용하여 사용자에게 제공하기 위한 인터넷 서비스를 화면에 표현할 수 있게 된다.
이를 위해, View WAS들(210, 230, 250) 각각과 Model AS들(220, 240, 260) 각각은 인터넷 서비스의 표현을 위한 메타정보와 인터넷 서비스를 위한 서비스 정보를 각각 분리하여 담당할 수 있다. 여기서, 메타정보는 어떠한 Model AS에 어떤 요청을 보내야 하는가에 대한 정보를 더 포함할 수도 있다.
이와 같이, 도 2의 실시예에 따른 방식을 통해 인터넷 서비스 각각의 독립성을 보장하면서도 이러한 인터넷 서비스들이 결합된 서비스를 제작하는 것이 가능해진다.
한편, 도 2에서는 서비스 A, B 그리고 서비스 A, B가 결합된 서비스 C와 같이, 두 개의 서비스와 두 개의 서비스가 결합된 하나의 서비스에 대해서만 설명하였으나, 이는 본 발명의 이해를 돕기 위한 하나의 실시예일뿐, 본 발명이 이러한 서비스의 개수나 서비스의 결합 개수 등에 한정되는 것은 아니다.
또한, 이러한 인터넷 서비스 구성을 위해 MVC(Model View Control) 모델이 이용될 수 있다. MVC 모델은 프레젠테이션과 어플리케이션 로직을 분리하기 위한 표준 디자인 패턴을 의미하는 것으로, 'Model'은 데이터에 접근하여 비즈니스 로직을 처리하고, 'View'는 사용자 상호작용과 데이터 출력을 처리하며, 'Control'은 흐름제어 및 'Model' 조작을 처리할 수 있다. 일례로, 도 2의 View WAS는 'View'와 'Controller'에, Model AS는 'Model' 에 대응될 수 있다.
도 3은 본 발명의 일실시예에 있어서, 복수의 시스템 및 매개체를 나타낸 도면이다.
시스템과 시스템이 통신하기 위해서는 서로가 이해할 수 있는 프로토콜이 필요하다. 서로 연계된 복수의 시스템들이 존재하고, 각각의 시스템이 이용하는 프로토콜이 다른 경우, 이러한 시스템들간의 자유로운 통신을 위해서는 시스템들 각각이 서로 연계된 다른 시스템들이 사용하는 모든 프로토콜을 처리할 수 있어야 한다. 이를 위해, 시스템들 각각은 어떠한 시스템이 어떠한 프로토콜을 사용하는가를 알아야만 한다.
예를 들어, 도 2에서 설명한 Model AS들(220, 240, 260) 각각과 같이 Model AS는 매우 많은 수의 기능들을 포함하고 있고, 복수의 Model AS와 통신하는 View WAS는 어떠한 Model AS가 어떠한 프로토콜을 사용하는가를 알아야 할 필요가 있다.
이러한 부담과 비효율을 줄이기 위해, 특정 시스템이 사용하는 프로토콜 정보를 갖고 변환해주는 매개체가 필요하다.
즉, 도 3에서는 서로 연계된 4개의 시스템들인 'System A'(310), 'System B'(320), 'System C'(330) 및 'System D'(340) 그리고 매개체(350)를 도시하고 있다. 여기서, 매개체(350)는 서로 연계된 4개의 시스템들과 통신하는 별도의 시스템일 수 있고, 서로 연계된 4개의 시스템들 모두의 프로토콜을 알 수 있다.
모든 시스템은 체계화된 문자열 ID를 갖고, 특정 시스템이 서로 연계된 다른 시스템과 통신하고자 할 때에는 이러한 문자열 ID를 이용할 수 있다. 일례로, 'System A'(310)가 'System B'(320)와 통신하고자 하는 경우, 'System A'(310)는 매개체(350)에 'System B'(320)가 사용하는 프로토콜이 어떠한 프로토콜인지 질의할 수 있고, 매개체(350)는 'System B'(320)가 사용하는 프로토콜들에 대한 정보를 'System A'(310)로 제공할 수 있다. 이때, 'System B'(320)의 프로토콜 중 'System A'(310)가 이해할 수 있는 프로토콜이 존재하는 경우, 'System A'(310)는 해당 프로토콜을 통해 'System B'(320)와 통신할 수 있다. 반면, 'System B'(320)의 프로토콜 중 'System A'(310)가 이해할 수 있는 프로토콜이 존재하지 않는 경우, 'System A'(310)는 매개체(350)에 프로토콜 변환을 요청하고, 변환된 정보를 이용하여 'System B'(320)와 통신할 수 있다.
예를 들어, 도 2를 통해 설명한 Model AS는 기능들에 대해 자원관리코드가 부여되어 있고, 이 경우 View WAS는 자원관리코드에 따른 문자열 ID를 이용하여 특정 Model AS의 특정 기능에 대해 통신하고자 하는 경우, 해당 문자열 ID를 이용하여 통신에 필요한 프로토콜에 대해 매개체(350)에 질의할 수 있다.
도 4는 본 발명의 일실시예에 있어서, 원격 프로시저 호출 과정을 도시한 도면이다.
원격 프로시저를 설계할 때, 원격지에서 발생할 수 있는 모든 예외(exception)를 설계 당시에 예측하는 것은 매우 어렵다. 따라서, 로컬 프로시저를 호출하는 경우와 같이, 원격 프로시저에서 발생하는 예외를 호출자가 알 수 있다면, 보다 효율적인 시스템이 구성될 수 있다.
이때, 도 4에서는 호출자(410) 및 원격 프로시저의 원격 매소드(420)를 나타내고 있다. 호출자(410)가 원격 프로시저를 호출하여 원격 매소드(420)가 실행되고, 원격 매소드(420)의 실행이 성공적으로 처리된 경우, 원격 매소드(420)는 호출자(410)에게 결과 값을 전달(430)할 수 있다. 반면, 예외가 발생하는 경우, 원격 매소드(420)는 예외 스택(stack)을 문자열로 호출자(410)에게 전송(440)할 수 있다. 이때, 호출자(410)는 전송된 문자열을 바탕으로 예외 객체를 생성하는 것이 가능해진다. 따라서, 호출자(410)는 로컬 매소드를 호출하는 것처럼 원격 매소드(420)를 호출할 수 있게 된다.
예를 들어, 클라이언트(호출자(410)에 대응)가 서버에 있는 매소드 A를 호출하는 상황을 가정하자. 또한, 매소드 A에는 'internalA()'와 'internalB()'라는 매소드가 포함되어 있다고 가정하자. 이때, 예외는 매소드 A 내부에서 발생할 수도 있으나, 'internalA()'와 'internalB()'에서 발생할 수도 있다. 이 경우, 클라이언트는 매소드 A의 존재만을 알고 있기 때문에 'internalA()'와 'internalB()'에서 어떤 예외가 발생할 수 있는지 알 수 없다.
따라서, 서버는 원격 매소드를 수행하는 도중 서버에서 예외가 발생하면, 예외 내용을 문자열로 덤프(dump)한 내용을 클라이언트로 전송할 수 있고, 클라이언트는 문자열 정보를 읽어서, 예외 객체를 생성할 수 있다. 예를 들어, 클라이언트는 문자열에 나와 있는 예외 클래스 명을 읽어서 해당 클래스가 로컬에 있다면 리플랙션(reflection)을 통해 클래스를 생성할 수 있다. 만약, 해당 클래스가 로컬에 존재하지 않는 경우, 클라이언트는 'java.lang.Exception'을 생성한 후 예외 메시지로 해당 예외 클래스 명을 지정한다. 이러한 방식으로 클라이언트는 체이닝 익셉션(Chaining Exception)을 만들 수 있다.
즉, 도 4를 통해 설명한 원격 매소드 호출 방식을 도 2를 통해 설명한 View WAS와 Model AS간의 통신에 활용할 수 있다. 따라서, View WAS와 Model AS간에 보다 효율적으로 통신이 가능해지도록 할 수 있다.
도 5는 본 발명의 일실시예에 있어서, 서비스 제공 시스템의 내부 구성을 설명하기 위한 블록도이다. 도 5의 실시예에 따른 서비스 제공 시스템(500)은 메타 정보 처리부(510) 및 서비스 정보 처리부(520)를 포함할 수 있다. 이때, 메타 정보 처리부(510)는 도 2를 통해 설명한 View WAS에, 서비스 정보 처리부(520)는 역시 도 2를 통해 설명한 Model AS에 각각 대응할 수 있다. 즉, 도 5에 도시된 메타 정보 처리부(510)와 서비스 정보 처리부(520)는 물리적으로 분리된 각각 별도의 시스템으로서 동작할 수 있다.
도 5에 더 도시된 복수의 다른 메타 정보 처리부들(530) 각각은 서로 다른 서비스 제공 시스템들에 포함될 수 있으며, 복수의 다른 서비스 정보 처리부들(540) 각각도 서로 다른 서비스 제공 시스템들에 포함될 수 있다. 이 경우, 서로 다른 서비스 제공 시스템들 각각은 하나의 다른 메타 정보 처리부와 하나의 다른 서비스 정보 처리부를 포함할 수 있다. 이때, 서로 다른 서비스 제공 시스템들 각각이 포함하는 다른 서비스 정보 처리부와 다른 메타 정보 처리부 역시 각각 별도의 시스템으로서 동작할 수도 있다.
메타 정보 처리부(510)는 클라이언트의 브라우저를 통해 서비스 요청을 수신하여 서비스 정보 처리부(520)로 전달하고, 서비스 정보 처리부(520)를 통해 수신된 요청 처리 결과를 이용하여 서비스 정보의 표현을 위한 코드 정보를 생성하고, 생성된 코드 정보를 클라이언트로 전송한다. 즉, 메타 정보 처리부(510)는 도 2를 통해 설명한 바와 같이, 서비스 정보인 요청 처리 결과를 어떻게 클라이언트의 브라우저에 표현할 것인가에 대한 메타 정보를 처리할 수 있다. 이를 위해, 메타 정보 처리부(510)는 서비스 정보 처리부(520)를 통해 수신된 요청 처리 결과를 이용하여 서비스 정보의 표현을 위한 코드 정보를 생성할 수 있다.
또한, 메타 정보 처리부(510)는 클라이언트로 둘 이상의 서비스가 결합된 서비스를 제공하는 경우, 서비스 요청에 해당하는 적어도 둘 이상의 다른 서비스 정보 처리부로 서비스 요청을 더 전달하고, 적어도 둘 이상의 다른 서비스 정보 처리부로부터 수신된 요청 처리 결과를 더 이용하여 코드 정보를 생성할 수 있다. 이 경우, 둘 이상의 다른 서비스 정보 처리부는 둘 이상의 서비스 각각에 대한 서비스 정보를 처리할 수 있다. 즉, 서비스 제공 시스템(500)이 복수의 서비스가 결합된 서비스를 제공하는 경우에, 메타 정보 처리부(510)는 서비스 제공 시스템(500)에 포함된 서비스 정보 처리부(520)뿐만 아니라, 다른 서비스를 제공하는 다른 서비스 제공 시스템들에 포함된 다른 서비스 정보 처리부들로부터도 요청 처리 결과를 수신할 수 있고, 수신된 요청 처리 결과들을 이용하여 해당 결합된 서비스의 서비스 정보를 클라이언트의 브라우저에 표현하기 위한 코드 정보를 생성하여 클라이언트로 전송할 수 있다.
서비스 정보 처리부(520)는 서비스 요청을 메타 정보 처리부(510)를 통해 전달받아 요청 처리 결과를 생성하고, 생성된 요청 처리 결과를 메타 정보 처리부(510)로 전송한다. 즉, 서비스 정보 처리부(520)는 도 2를 통해 설명한 바와 같이, 메타 정보 처리부(510)를 통해 전달되는 클라이언트의 요청에 따라 서비스 정보인 요청 처리 결과를 생성하여 메타 정보 처리부(510)로 전송할 수 있다.
이때, 서비스 제공 시스템(500)이 제공하는 서비스와 또 다른 서비스가 결합된 서비스를 제공하는 다른 서비스 제공 시스템이 존재하는 경우, 서비스 정보 처리부(520)는 다른 서비스 제공 시스템이 포함하는 다른 메타 정보 처리부를 통해서도 클라이언트의 서비스 요청을 전달받을 수 있다. 즉, 서비스 정보 처리부(520)는 서비스 요청을 다른 서비스 제공 시스템에 포함된 다른 메타 정보 처리부를 통해 더 수신한 경우, 서비스 요청에 대한 요청 처리 결과를 생성하여 다른 메타 정보 처리부로 더 전송할 수 있다.
메타 정보 처리부(510) 또는 서비스 정보 처리부(520)는, 복수의 프로토콜 정보를 포함하는 매개 서버를 통해 다른 메타 정보 처리부 또는 다른 서비스 정보 처리부에서 이용 가능한 프로토콜 정보를 수신하거나 또는 다른 메타 정보 처리부 또는 다른 서비스 정보 처리부에서 이용 가능한 프로토콜로 필요한 정보의 프로토콜을 변환할 수 있다. 여기서, 매개 서버는 도 3을 통해 설명한 매개체(350)에 대응될 수 있다. 이러한 매개체(350)를 이용한 프로토콜 정보 제공 또는 프로토콜 변환에 대해서는 도 3을 참조할 수 있다.
또한, 메타 정보 처리부(510) 또는 서비스 정보 처리부(520)는, 다른 메타 정보 처리부 또는 다른 서비스 정보 처리부에서 원격 매소드를 호출하여 예외(exception)가 발생하는 경우, 예외 스택(stack)을 문자열로 덤프(dump)하여 원격 매소드를 호출한 다른 메타 정보 처리부 또는 다른 서비스 정보 처리부로 전송할 수 있다. 반대로, 메타 정보 처리부(510) 또는 서비스 정보 처리부(520)는 다른 메타 정보 처리부 또는 다른 서비스 정보 처리부로 원격 매소드를 호출하여 예외(exception)가 발생하는 경우, 다른 메타 정보 처리부 또는 다른 서비스 정보 처리부로부터 예외 스택(stack)을 문자열로 덤프(dump)하여 생성된 정보를 수신하고, 수신된 정보를 이용하여 예외 객체를 생성할 수 있다. 원격 매소드의 호출 시 예외를 처리하는 방법에 대해서는 도 4를 참조할 수 있다.
도 6은 본 발명의 일실시예에 있어서, 결합된 인터넷 서비스를 제공하는 화면의 일례를 나타낸 도면이다. 도 6에서 화면(600)에는 메일 서비스, 쪽지 서비스, 캘린더 서비스, 가계부 서비스, 계좌조회 서비스, 포토앨범 서비스, 주소록 서비스 및 가상 드라이브 서비스와 같이, 각각 별도로 개발 및 제공되던 서비스들이 결합되어 하나의 서비스로 제공되는 모습을 나타내고 있다.
도 7은 본 발명의 다른 실시예에 있어서, 서비스 제공 시스템의 내부 구성을 설명하기 위한 블록도이다. 본 실시예에 따른 서비스 제공 시스템(700)은 도 2를 통해 설명한 View WAS나 도 5를 통해 설명한 메타 정보 처리부(510)에 대응될 수 있다. 이러한 서비스 제공 시스템(700)은 도 7에 도시된 바와 같이, 서비스 요청 전달부(710), 코드 정보 생성부(720) 및 코드 정보 전송부(730)를 포함할 수 있다.
서비스 요청 전달부(710)는 클라이언트의 브라우저를 통해 서비스 요청을 수신하여 모델 어플리케이션 서버(Model Application Server, Model AS)로 전달한다. 여기서, 모델 어플리케이션 서버는 도 2를 통해 설명한 Model AS나 도 5를 통해 설명한 서비스 정보 처리부(520)에 대응될 수 있다.
코드 정보 생성부(720)는 모델 어플리케이션 서버를 통해 수신된 요청 처리 결과를 이용하여 서비스 정보의 표현을 위한 코드 정보를 생성한다. 여기서, 요청 처리 결과는 서비스 요청에 기초하여 모델 어플리케이션 서버에서 생성할 수 있다.
코드 정보 전송부(730)는 생성된 코드 정보를 클라이언트로 전송한다. 이때, 클라이언트에서 코드 정보를 이용하여 브라우저에 요청된 서비스 정보가 표현될 수 있다.
이때, 서비스 요청 전달부(710)는 클라이언트로 둘 이상의 서비스가 결합된 서비스를 제공하는 경우, 서비스 요청에 해당하는 적어도 둘 이상의 다른 모델 어플리케이션 서버로 서비스 요청을 더 전달할 수 있고, 코드 정보 생성부(720)는 적어도 둘 이상의 모델 어플리케이션 서버로부터 수신된 요청 처리 결과를 더 이용하여 코드 정보를 생성할 수 있다.
도 8은 본 발명의 또 다른 실시예에 있어서, 서비스 제공 시스템의 내부 구성을 설명하기 위한 블록도이다. 본 실시예에 따른 서비스 제공 시스템(800)은 도 2를 통해 설명한 Model AS나 도 5를 통해 설명한 서비스 정보 처리부(520)에 대응될 수 있다. 이러한 서비스 제공 시스템(800)은 도 8에 도시된 바와 같이, 요청 처리 결과 생성부(810) 및 요청 처리 결과 전송부(820)를 포함할 수 있다.
요청 처리 결과 생성부(810)는 클라이언트의 서비스 요청을 뷰 웹 어플리케이션 서버(View Web Application Server, View WAS)를 통해 전달받아 요청 처리 결과를 생성한다. 여기서, 뷰 웹 어플리케이션 서버는 도 2를 통해 설명한 View WAS나 도 5를 통해 설명한 메타 정보 처리부(510)에 대응될 수 있다. 여기서, 서비스 요청은 클라이언트의 브라우저를 통해 뷰 웹 어플리케이션 서버에 수신될 수 있고, 상술한 바와 같이, 뷰 웹 어플리케이션 서버를 통해 서비스 제공 시스템(800)으로 전달될 수 있다.
요청 처리 결과 전송부(820)는 생성된 요청 처리 결과를 뷰 웹 어플리케이션 서버로 전송한다. 뷰 웹 어플리케이션 서버는 요청 처리 결과를 수신하여 서비스 정보를 표현하는 코드 정보를 생성하여 클라이언트로 전송함으로써, 클라이언트의 브라우저에서 서비스 정보가 표현되도록 할 수 있다.
이때, 요청 처리 결과 생성부(810)는 서비스 요청을 다른 뷰 웹 어플리케이션 서버를 통해 더 수신한 경우, 서비스 요청에 대한 요청 처리 결과를 더 생성할 수 있고, 요청 처리 결과 전송부(820)는 더 생성된 요청 처리 결과를 다른 뷰 웹 어플리케이션 서버로 더 전송할 수 있다. 즉, 서비스 제공 시스템(800)에서 제공되는 서비스와 또 다른 서비스가 결합된 서비스를 제공하기 위한 다른 뷰 웹 어플리케이션 서버는, 서비스 제공 시스템(800)에서 제공되는 서비스에 대한 서비스 정보를 얻기 위해, 서비스 제공 시스템(800)을 통해 요청 처리 결과를 수신할 수 있다.
도 9는 본 발명의 일실시예에 있어서, 서비스 제공 방법을 도시한 흐름도이다. 본 실시예에 따른 서비스 제공 방법은 도 5를 통해 설명한 메타 정보 처리부(510) 및 서비스 정보 처리부(520)를 통해 수행될 수 있다.
단계(910)에서 메타 정보 처리부(510)는 클라이언트의 브라우저를 통해 서비스 요청을 수신하여 서비스 정보 처리부(520)로 전달한다.
단계(920)에서 서비스 정보 처리부(520)는 서비스 요청을 메타 정보 처리부(510)를 통해 전달받아 요청 처리 결과를 생성한다. 단계(930)에서 서비스 정보 처리부(520)는 생성된 요청 처리 결과를 메타 정보 처리부(510)로 전송한다. 즉, 서비스 정보 처리부(520)는 도 2를 통해 설명한 바와 같이, 메타 정보 처리부(510)를 통해 전달되는 클라이언트의 요청에 따라 서비스 정보인 요청 처리 결과를 생성하여 메타 정보 처리부(510)로 전송할 수 있다.
단계(940)에서 메타 정보 처리부(510)는 서비스 정보 처리부(520)를 통해 수신된 요청 처리 결과를 이용하여 서비스 정보의 표현을 위한 코드 정보를 생성한다. 즉, 메타 정보 처리부(510)는 도 2를 통해 설명한 바와 같이, 서비스 정보인 요청 처리 결과를 어떻게 클라이언트의 브라우저에 표현할 것인가에 대한 메타 정보를 처리할 수 있다. 이를 위해, 메타 정보 처리부(510)는 서비스 정보 처리부(520)를 통해 수신된 요청 처리 결과를 이용하여 서비스 정보의 표현을 위한 코드 정보를 생성할 수 있다.
단계(950)에서 메타 정보 처리부(510)는 생성된 코드 정보를 클라이언트로 전송한다.
또한, 메타 정보 처리부(510)는 클라이언트로 둘 이상의 서비스가 결합된 서비스를 제공하는 경우, 서비스 요청에 해당하는 적어도 둘 이상의 다른 서비스 정보 처리부로 서비스 요청을 더 전달하고, 적어도 둘 이상의 다른 서비스 정보 처리부로부터 수신된 요청 처리 결과를 더 이용하여 코드 정보를 생성할 수 있다. 이 경우, 둘 이상의 다른 서비스 정보 처리부는 둘 이상의 서비스 각각에 대한 서비스 정보를 처리할 수 있다. 즉, 서비스 제공 시스템(500)이 복수의 서비스가 결합된 서비스를 제공하는 경우에, 메타 정보 처리부(510)는 서비스 제공 시스템(500)에 포함된 서비스 정보 처리부(520)뿐만 아니라, 다른 서비스를 제공하는 다른 서비스 제공 시스템들에 포함된 다른 서비스 정보 처리부들로부터도 요청 처리 결과를 수신할 수 있고, 수신된 요청 처리 결과들을 이용하여 해당 결합된 서비스의 서비스 정보를 클라이언트의 브라우저에 표현하기 위한 코드 정보를 생성하여 클라이언트로 전송할 수 있다.
이때, 서비스 제공 시스템(500)이 제공하는 서비스와 또 다른 서비스가 결합된 서비스를 제공하는 다른 서비스 제공 시스템이 존재하는 경우, 서비스 정보 처리부(520)는 다른 서비스 제공 시스템이 포함하는 다른 메타 정보 처리부를 통해서도 클라이언트의 서비스 요청을 전달받을 수 있다. 즉, 서비스 정보 처리부(520)는 서비스 요청을 다른 서비스 제공 시스템에 포함된 다른 메타 정보 처리부를 통해 더 수신한 경우, 서비스 요청에 대한 요청 처리 결과를 생성하여 다른 메타 정보 처리부로 더 전송할 수 있다.
또한, 본 발명의 다른 실시예에 따른 서비스 제공 방법은 도 9의 실시예에 따른 서비스 제공 방법에서 메타 정보 처리부(510)가 수행하는 단계만을 혹은 서비스 정보 처리부(520)가 수행하는 단계만을 포함할 수도 있다.
도 7 내지 도 9에서 생략된 내용은 도 2 내지 도 6을 참조할 수 있다.
이와 같이, 본 발명의 실시예들에 따르면, 웹 어플리케이션 서버에서 처리하는 기능을 브라우저에게 정보를 전달하는 뷰의 기능과, 브라우저에게 나타날 정보를 처리하는 모델의 기능으로 물리적으로 분리하여 제공함으로써, 보다 효율적으로 서비스 매시업을 제공할 수 있다. 또한, 뷰의 기능을 제공하는 뷰 웹 어플리케이션 서버와 모델의 기능을 제공하는 모델 어플리케이션 서버를 이용하여 뷰의 기능과 모델의 기능을 물리적으로 분리하여 제공함으로써, 인터넷 서비스 각각의 독립성을 보장함과 동시에, 한 번 구현된 인터넷 서비스 각각의 기능이 재사용이 가능하고, 인터넷 서비스의 변경 사항이 결합된 인터넷 서비스에도 자동적으로 반영될 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 또한, 상술한 파일 시스템은 컴퓨터 판독이 가능한 기록 매체에 기록될 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
500: 서비스 제공 시스템
510: 메타 정보 처리부
520: 서비스 정보 처리부

Claims (14)

  1. 클라이언트의 브라우저를 통해 서비스 요청을 수신하여 서비스 정보 처리부로 전달하고, 상기 서비스 정보 처리부를 통해 수신된 요청 처리 결과를 이용하여 서비스 정보의 표현을 위한 코드 정보를 생성하고, 상기 생성된 코드 정보를 상기 클라이언트로 전송하는 메타 정보 처리부; 및
    상기 서비스 요청을 상기 메타 정보 처리부를 통해 전달받아 상기 요청 처리 결과를 생성하고, 상기 생성된 요청 처리 결과를 상기 메타 정보 처리부로 전송하는 상기 서비스 정보 처리부
    를 포함하고,
    상기 메타 정보 처리부 또는 상기 서비스 정보 처리부는,
    다른 메타 정보 처리부 또는 다른 서비스 정보 처리부에서 원격 매소드를 호출하여 예외(exception)가 발생하는 경우, 예외 스택(stack)을 문자열로 덤프(dump)하여 상기 원격 매소드를 호출한 상기 다른 메타 정보 처리부 또는 상기 다른 서비스 정보 처리부로 전송하는 서비스 제공 시스템.
  2. 제1항에 있어서,
    상기 메타 정보 처리부는,
    상기 클라이언트로 둘 이상의 서비스가 결합된 서비스를 제공하는 경우, 상기 서비스 요청에 해당하는 적어도 둘 이상의 다른 서비스 정보 처리부로 상기 서비스 요청을 더 전달하고, 상기 적어도 둘 이상의 다른 서비스 정보 처리부로부터 수신된 요청 처리 결과를 더 이용하여 상기 코드 정보를 생성하는, 서비스 제공 시스템.
  3. 제1항에 있어서,
    상기 서비스 정보 처리부는,
    상기 서비스 요청을 다른 서비스 제공 시스템에 포함된 다른 메타 정보 처리부를 통해 더 수신한 경우, 상기 서비스 요청에 대한 요청 처리 결과를 생성하여 상기 다른 메타 정보 처리부로 더 전송하는, 서비스 제공 시스템.
  4. 제1항에 있어서,
    상기 메타 정보 처리부 또는 상기 서비스 정보 처리부는,
    복수의 프로토콜 정보를 포함하는 매개 서버를 통해 다른 메타 정보 처리부 또는 다른 서비스 정보 처리부에서 이용 가능한 프로토콜 정보를 수신하거나 또는 상기 다른 메타 정보 처리부 또는 상기 다른 서비스 정보 처리부에서 이용 가능한 프로토콜로 필요한 정보의 프로토콜을 변환하는, 서비스 제공 시스템.
  5. 삭제
  6. 클라이언트의 브라우저를 통해 서비스 요청을 수신하여 서비스 정보 처리부로 전달하고, 상기 서비스 정보 처리부를 통해 수신된 요청 처리 결과를 이용하여 서비스 정보의 표현을 위한 코드 정보를 생성하고, 상기 생성된 코드 정보를 상기 클라이언트로 전송하는 메타 정보 처리부; 및
    상기 서비스 요청을 상기 메타 정보 처리부를 통해 전달받아 상기 요청 처리 결과를 생성하고, 상기 생성된 요청 처리 결과를 상기 메타 정보 처리부로 전송하는 상기 서비스 정보 처리부
    를 포함하고,
    상기 메타 정보 처리부 또는 상기 서비스 정보 처리부는,
    다른 메타 정보 처리부 또는 다른 서비스 정보 처리부로 원격 매소드를 호출하여 예외(exception)가 발생하는 경우, 상기 다른 메타 정보 처리부 또는 상기 다른 서비스 정보 처리부로부터 예외 스택(stack)을 문자열로 덤프(dump)하여 생성된 정보를 수신하고, 상기 수신된 정보를 이용하여 예외 객체를 생성하는, 서비스 제공 시스템.
  7. 클라이언트의 브라우저를 통해 서비스 요청을 수신하여 모델 어플리케이션 서버(Model Application Server, Model AS)로 전달하는 서비스 요청 전달부;
    상기 모델 어플리케이션 서버를 통해 수신된 요청 처리 결과를 이용하여 서비스 정보의 표현을 위한 코드 정보를 생성하는 코드 정보 생성부; 및
    상기 생성된 코드 정보를 상기 클라이언트로 전송하는 코드 정보 전송부
    를 포함하고,
    상기 요청 처리 결과는 상기 서비스 요청에 기초하여 상기 모델 어플리케이션 서버에서 생성되고,
    다른 모델 어플리케이션 서버 또는 다른 뷰 웹 어플리케이션 서버에서 원격 매소드를 호출하여 예외(exception)가 발생하는 경우에 예외 스택(stack)을 문자열로 덤프(dump)하여 상기 원격 매소드를 호출한 상기 다른 모델 어플리케이션 서버 또는 상기 다른 뷰 웹 어플리케이션 서버로 전송하거나, 또는 상기 다른 모델 어플리케이션 서버 또는 상기 다른 뷰 웹 어플리케이션 서버로 원격 매소드를 호출하여 예외(exception)가 발생하는 경우에 상기 다른 모델 어플리케이션 서버 또는 상기 다른 뷰 웹 어플리케이션 서버로부터 예외 스택(stack)을 문자열로 덤프(dump)하여 생성된 정보를 수신하여 예외 객체를 생성하는 서비스 제공 시스템.
  8. 제7항에 있어서,
    상기 서비스 요청 전달부는,
    상기 클라이언트로 둘 이상의 서비스가 결합된 서비스를 제공하는 경우, 상기 서비스 요청에 해당하는 적어도 둘 이상의 다른 모델 어플리케이션 서버로 상기 서비스 요청을 더 전달하고,
    상기 코드 정보 생성부는,
    상기 적어도 둘 이상의 모델 어플리케이션 서버로부터 수신된 요청 처리 결과를 더 이용하여 상기 코드 정보를 생성하는, 서비스 제공 시스템.
  9. 클라이언트의 서비스 요청을 뷰 웹 어플리케이션 서버(View Web Application Server, View WAS)를 통해 전달받아 요청 처리 결과를 생성하는 요청 처리 결과 생성부; 및
    상기 생성된 요청 처리 결과를 상기 뷰 웹 어플리케이션 서버로 전송하는 요청 처리 결과 전송부
    를 포함하고,
    상기 서비스 요청은 상기 클라이언트의 브라우저를 통해 상기 뷰 웹 어플리케이션 서버에 수신되고,
    다른 모델 어플리케이션 서버 또는 다른 뷰 웹 어플리케이션 서버에서 원격 매소드를 호출하여 예외(exception)가 발생하는 경우에 예외 스택(stack)을 문자열로 덤프(dump)하여 상기 원격 매소드를 호출한 상기 다른 모델 어플리케이션 서버 또는 상기 다른 뷰 웹 어플리케이션 서버로 전송하거나, 또는 상기 다른 모델 어플리케이션 서버 또는 상기 다른 뷰 웹 어플리케이션 서버로 원격 매소드를 호출하여 예외(exception)가 발생하는 경우에 상기 다른 모델 어플리케이션 서버 또는 상기 다른 뷰 웹 어플리케이션 서버로부터 예외 스택(stack)을 문자열로 덤프(dump)하여 생성된 정보를 수신하여 예외 객체를 생성하는, 서비스 제공 시스템.
  10. 제9항에 있어서,
    상기 요청 처리 결과 생성부는,
    상기 서비스 요청을 다른 뷰 웹 어플리케이션 서버를 통해 더 수신한 경우, 상기 서비스 요청에 대한 요청 처리 결과를 더 생성하고,
    상기 요청 처리 결과 전송부는,
    상기 더 생성된 요청 처리 결과를 상기 다른 뷰 웹 어플리케이션 서버로 더 전송하는, 서비스 제공 시스템.
  11. 메타 정보 처리부가 클라이언트의 브라우저를 통해 서비스 요청을 수신하여 서비스 정보 처리부로 전달하는 단계;
    상기 서비스 정보 처리부가 상기 서비스 요청을 상기 메타 정보 처리부를 통해 전달받아 요청 처리 결과를 생성하는 단계;
    상기 서비스 정보 처리부가 상기 생성된 요청 처리 결과를 상기 메타 정보 처리부로 전송하는 단계;
    상기 메타 정보 처리부가 상기 서비스 정보 처리부를 통해 수신된 요청 처리 결과를 이용하여 서비스 정보의 표현을 위한 코드 정보를 생성하는 단계; 및
    상기 메타 정보 처리부가 상기 생성된 코드 정보를 상기 클라이언트로 전송하는 단계
    를 포함하고,
    상기 메타 정보 처리부 또는 상기 서비스 정보 처리부가, 다른 메타 정보 처리부 또는 다른 서비스 정보 처리부에서 원격 매소드를 호출하여 예외(exception)가 발생하는 경우에 예외 스택(stack)을 문자열로 덤프(dump)하여 상기 원격 매소드를 호출한 상기 다른 메타 정보 처리부 또는 상기 다른 서비스 정보 처리부로 전송하거나, 또는 상기 다른 메타 정보 처리부 또는 상기 다른 서비스 정보 처리부로 원격 매소드를 호출하여 예외(exception)가 발생하는 경우에 상기 다른 메타 정보 처리부 또는 상기 다른 서비스 정보 처리부로부터 예외 스택(stack)을 문자열로 덤프(dump)하여 생성된 정보를 수신하여 예외 객체를 생성하는 단계
    를 더 포함하는 서비스 제공 방법.
  12. 클라이언트의 브라우저를 통해 서비스 요청을 수신하여 모델 어플리케이션 서버로 전달하는 단계;
    상기 모델 어플리케이션 서버를 통해 수신된 요청 처리 결과를 이용하여 서비스 정보의 표현을 위한 코드 정보를 생성하는 단계; 및
    상기 생성된 코드 정보를 상기 클라이언트로 전송하는 단계
    를 포함하고,
    상기 요청 처리 결과는 상기 서비스 요청에 기초하여 상기 모델 어플리케이션 서버에서 생성되고,
    다른 모델 어플리케이션 서버 또는 다른 뷰 웹 어플리케이션 서버에서 원격 매소드를 호출하여 예외(exception)가 발생하는 경우에 예외 스택(stack)을 문자열로 덤프(dump)하여 상기 원격 매소드를 호출한 상기 다른 모델 어플리케이션 서버 또는 상기 다른 뷰 웹 어플리케이션 서버로 전송하거나, 또는 상기 다른 모델 어플리케이션 서버 또는 상기 다른 뷰 웹 어플리케이션 서버로 원격 매소드를 호출하여 예외(exception)가 발생하는 경우에 상기 다른 모델 어플리케이션 서버 또는 상기 다른 뷰 웹 어플리케이션 서버로부터 예외 스택(stack)을 문자열로 덤프(dump)하여 생성된 정보를 수신하여 예외 객체를 생성하는 서비스 제공 방법.
  13. 클라이언트의 서비스 요청을 뷰 웹 어플리케이션 서버를 통해 전달받아 요청 처리 결과를 생성하는 단계; 및
    상기 생성된 요청 처리 결과를 상기 뷰 웹 어플리케이션 서버로 전송하는 단계
    를 포함하고,
    상기 서비스 요청은 상기 클라이언트의 브라우저를 통해 상기 뷰 웹 어플리케이션 서버에 수신되고,
    다른 모델 어플리케이션 서버 또는 다른 뷰 웹 어플리케이션 서버에서 원격 매소드를 호출하여 예외(exception)가 발생하는 경우에 예외 스택(stack)을 문자열로 덤프(dump)하여 상기 원격 매소드를 호출한 상기 다른 모델 어플리케이션 서버 또는 상기 다른 뷰 웹 어플리케이션 서버로 전송하거나, 또는 상기 다른 모델 어플리케이션 서버 또는 상기 다른 뷰 웹 어플리케이션 서버로 원격 매소드를 호출하여 예외(exception)가 발생하는 경우에 상기 다른 모델 어플리케이션 서버 또는 상기 다른 뷰 웹 어플리케이션 서버로부터 예외 스택(stack)을 문자열로 덤프(dump)하여 생성된 정보를 수신하여 예외 객체를 생성하는, 서비스 제공 방법.
  14. 제11항 내지 제13항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020110023298A 2011-03-16 2011-03-16 별개의 서비스들을 결합하여 제공하는 서비스 제공 시스템 및 서비스 제공 방법 KR101243015B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110023298A KR101243015B1 (ko) 2011-03-16 2011-03-16 별개의 서비스들을 결합하여 제공하는 서비스 제공 시스템 및 서비스 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110023298A KR101243015B1 (ko) 2011-03-16 2011-03-16 별개의 서비스들을 결합하여 제공하는 서비스 제공 시스템 및 서비스 제공 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020120149885A Division KR20130004552A (ko) 2012-12-20 2012-12-20 별개의 서비스들을 결합하여 제공하는 서비스 제공 시스템 및 서비스 제공 방법

Publications (2)

Publication Number Publication Date
KR20120105698A KR20120105698A (ko) 2012-09-26
KR101243015B1 true KR101243015B1 (ko) 2013-03-12

Family

ID=47112514

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110023298A KR101243015B1 (ko) 2011-03-16 2011-03-16 별개의 서비스들을 결합하여 제공하는 서비스 제공 시스템 및 서비스 제공 방법

Country Status (1)

Country Link
KR (1) KR101243015B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010067976A (ko) * 2001-04-12 2001-07-13 이경일 인터넷을 이용한 컴퓨터 원격 제어 시스템 및 방법
KR20060112192A (ko) * 2003-12-19 2006-10-31 마이크로소프트 코포레이션 네트워크에서의 자원 정보 라우팅
KR20080022934A (ko) * 2006-09-08 2008-03-12 아주대학교산학협력단 유비쿼터스 환경에서 애플리케이션의 분산 및 이동성을위한 애플리케이션 프레임워크 시스템
KR20090000199A (ko) * 2007-01-30 2009-01-07 에스케이커뮤니케이션즈 주식회사 웹 서버 어플리케이션 프레임워크와 상기 프레임워크를이용한 웹 어플리케이션 처리 방법 및 이를 구현할 수 있는컴퓨터로 읽을 수 있는 기록 매체

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010067976A (ko) * 2001-04-12 2001-07-13 이경일 인터넷을 이용한 컴퓨터 원격 제어 시스템 및 방법
KR20060112192A (ko) * 2003-12-19 2006-10-31 마이크로소프트 코포레이션 네트워크에서의 자원 정보 라우팅
KR20080022934A (ko) * 2006-09-08 2008-03-12 아주대학교산학협력단 유비쿼터스 환경에서 애플리케이션의 분산 및 이동성을위한 애플리케이션 프레임워크 시스템
KR20090000199A (ko) * 2007-01-30 2009-01-07 에스케이커뮤니케이션즈 주식회사 웹 서버 어플리케이션 프레임워크와 상기 프레임워크를이용한 웹 어플리케이션 처리 방법 및 이를 구현할 수 있는컴퓨터로 읽을 수 있는 기록 매체

Also Published As

Publication number Publication date
KR20120105698A (ko) 2012-09-26

Similar Documents

Publication Publication Date Title
US11399113B2 (en) System and method for selectively sending, delivery and receiving of faxes
JP4868590B2 (ja) ウェブ・サービス要求をキャッシュする方法、システム、及びコンピュータ・プログラム
CN104025078B (zh) 用于在与签名人相关联的客户端计算设备上促进电子签名的方法和设备
CN108038796B (zh) 基于c++的gis服务运行方法、存储介质
KR101991537B1 (ko) 자율형 네트워크 스트리밍 기법
US20230269334A1 (en) System and method for sending, delivery or receiving of faxes, over a computer based network according to security or other protocols
US20120323975A1 (en) Presentation software automation services
JP2010186264A (ja) 画面生成方法、画面生成装置、及びプログラム
KR101243015B1 (ko) 별개의 서비스들을 결합하여 제공하는 서비스 제공 시스템 및 서비스 제공 방법
KR101254419B1 (ko) Jee 환경에서 무중단 서비스를 제공하는 시스템 및 방법
KR20130004552A (ko) 별개의 서비스들을 결합하여 제공하는 서비스 제공 시스템 및 서비스 제공 방법
US7792921B2 (en) Metadata endpoint for a generic service
JP2015082159A (ja) 印刷装置、印刷システム及びプログラム
JP6330277B2 (ja) 送信装置、送信方法、送信プログラム、及び、中継システム
EP2101474A1 (en) Service bindings for web services
JP2010176187A (ja) 情報処理システム、情報処理装置及び情報処理プログラム
JP3866173B2 (ja) 電子フォーム入力支援装置及びプログラム
JP2005293120A (ja) 連携インタフェース
CN115242631A (zh) 一种报文处理方法、装置、电子设备及存储介质
JP2015135592A (ja) 情報処理システム及び情報処理方法
JP2002288052A (ja) データ連携システム
JP2015230712A (ja) 通信装置、通信方法、通信システム
AU2012270989A1 (en) Presentation software automation services
WO2003107205A1 (ja) 分散オブジェクトミドルウェア連携方法及びプログラムを記録した記録媒体並びにプログラム
JP2014048846A (ja) 情報処理装置およびその制御方法、システム、並びにプログラム

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151223

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170117

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 8