KR20120064579A - 서비스 제공 방법 및 시스템 - Google Patents

서비스 제공 방법 및 시스템 Download PDF

Info

Publication number
KR20120064579A
KR20120064579A KR1020100125863A KR20100125863A KR20120064579A KR 20120064579 A KR20120064579 A KR 20120064579A KR 1020100125863 A KR1020100125863 A KR 1020100125863A KR 20100125863 A KR20100125863 A KR 20100125863A KR 20120064579 A KR20120064579 A KR 20120064579A
Authority
KR
South Korea
Prior art keywords
service
menu
tenant
application
data
Prior art date
Application number
KR1020100125863A
Other languages
English (en)
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 KR1020100125863A priority Critical patent/KR20120064579A/ko
Publication of KR20120064579A publication Critical patent/KR20120064579A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명에서는 서비스 제공 방법 및 시스템이 제공된다. 본 발명에 따른 멀티-테넌트 환경에서 애플리케이션 서비스를 제공하는 방법에 있어서, 제1 서비스와 상기 제1 서비스의 액세스를 위한 제1 메뉴가 설정된 애플리케이션에 대해 각 테넌트로부터 서비스 변경 요청을 수신하는 단계; 테넌트 별로 상기 서비스 변경 요청에 따른 제2 서비스를 설정하는 단계; 설정된 제2 서비스에 따른 페이지 데이터와 상기 제2 서비스의 액세스를 위한 제2 메뉴에 따른 메뉴 데이터를 테넌트 별로 구분하여 저장하는 단계; 해당 애플리케이션의 서비스 요청에 따라 저장된 메뉴 데이터에 기초하여 제2 메뉴를 생성하는 단계; 및 제2 서비스와 생성된 제2 메뉴가 설정된 애플리케이션 서비스를 제공하는 단계;를 포함하여 이루어진다. 이때, 상기 제2 메뉴 생성 단계는, 테넌트 식별자를 이용하여 메뉴 데이터를 검색하는 단계와; 검색된 메뉴 데이터에 기초하여 메뉴 트리를 생성하는 단계와; 생성된 메뉴 트리에 관한 특정 형태의 데이터를 생성하는 단계와; 생성된 특정 형태의 데이터를 클라이언트로 전달하는 단계;를 포함할 수 있다.

Description

서비스 제공 방법 및 시스템{A method and system of providing a service}
본 발명은 서비스 제공 방법 및 시스템에 관한 것으로, 특히 클라우드 컴퓨팅(cloud computing) 분야에서 애플리케이션에 대한 제어 및 관리 등을 통해 테넌트(tenant) 별로 독립적인 애플리케이션 메뉴 등을 제공하여 차별화된 서비스를 제공하는 방법 및 시스템에 관한 것이다.
종래 애플리케이션은 다수의 클라이언트에 동일한 서비스를 제공하였다. 즉, 종래 서비스 환경은 서버에서 애플리케이션을 제작, 배포하면, 클라이언트는 이를 다운로드하여 이용하는 것이 일반적이었다. 이러한 서비스 환경은 서비스 제공자의 측면이 강조된 것으로, 각 서비스 사용자는 서비스 제공자가 제공하는 애플리케이션에 종속적일 수밖에 없다.
다만, 최근에는 애플리케이션을 이용하는 서비스 사용자의 수가 급증하면서 점차 서비스에 대한 요구사항이 증가하여 자신만의 고유한 서비스를 요청하기 시작하고 있다. 즉, 이제는 서비스 환경이 서비스 제공자에서 서비스 사용자를 중심으로 개편되고 있는 것이다.
하지만, 아직도 종래 서비스 환경은 애플리케이션을 제작 및 배포 측에서만 해당 애플리케이션의 제어 및 관리를 할 수 있는 등 서비스 사용자의 다양한 요구에 적절하게 대응할 수 있을 만큼 충분히 성숙되지 않았을 뿐만 아니라 그러한 서비스를 할 경우 유지, 보수 비용이 많이 들어 결국 각 서비스 사용자의 고유한 요구에 적절히 대응하기 힘들어 서비스의 차별화가 힘든 문제점이 있었다.
상기와 같은 문제점을 해결하기 위하여, 본 발명의 목적은 서비스 사용자 즉, 테넌트 별로 고유의 차별화된 서비스를 제공하는 것이다.
본 발명의 다른 목적은, 테넌트 관리자도 애플리케이션 서비스를 제어 및 관리할 수 있도록 하는 것이다.
본 발명의 또 다른 목적은, 서비스 유지 및 보수의 비용을 절감하는 것이다.
본 발명에서는 서비스 제공 방법 및 시스템이 제공된다.
본 발명에 따른 멀티-테넌트 환경에서 애플리케이션 서비스를 제공하는 방법에 있어서, 제1 서비스와 상기 제1 서비스의 액세스를 위한 제1 메뉴가 설정된 애플리케이션에 대해 각 테넌트로부터 서비스 변경 요청을 수신하는 단계; 테넌트 별로 상기 서비스 변경 요청에 따른 제2 서비스를 설정하는 단계; 설정된 제2 서비스에 따른 페이지 데이터와 상기 제2 서비스의 액세스를 위한 제2 메뉴에 따른 메뉴 데이터를 테넌트 별로 구분하여 저장하는 단계; 해당 애플리케이션의 서비스 요청에 따라 저장된 메뉴 데이터에 기초하여 제2 메뉴를 생성하는 단계; 및 제2 서비스와 생성된 제2 메뉴가 설정된 애플리케이션 서비스를 제공하는 단계;를 포함하여 이루어진다.
이때, 상기 제2 메뉴 생성 단계는, 테넌트 식별자를 이용하여 메뉴 데이터를 검색하는 단계와; 검색된 메뉴 데이터에 기초하여 메뉴 트리를 생성하는 단계와; 생성된 메뉴 트리에 관한 특정 형태의 데이터를 생성하는 단계와; 생성된 특정 형태의 데이터를 클라이언트로 전달하는 단계;를 포함할 수 있다.
그리고 상기 특정 형태의 데이터는, JSON 데이터를 포함할 수 있다.
또한, 상기 제2 서비스는, 상기 제1 서비스에 포함된 특정 서비스의 삭제 및 변경이나 새로운 서비스의 추가 중 적어도 어느 하나를 포함할 수 있다.
그리고 상기 메뉴 트리를 생성하는 단계는, 상기 검색된 메뉴 데이터 중 부모 노드 정보, 자식 노드 정보 및 순서 정보에 기초하여 생성될 수 있다.
또한, 상기 페이지 데이터는, 상기 제2 서비스의 페이지 식별자, 페이지 이름, 페이지 유형, 제목, 커스터마이즈 여부, 사전 및 사후 스크립트, 사용자 IP 어드레스, 테넌트 아이디, 애플리케이션 식별자, 수정자, 수정 일시, 생성자 및 생성 일시에 관한 데이터 중 적어도 하나 이상을 포함할 수 있다.
그리고 상기 메뉴 데이터는, 상기 제2 서비스에 관한 메뉴 식별자, 메뉴 이름, 메뉴 설명, 애플리케이션 식별자, 사용자 IP 어드레스, 메뉴 유형, 메뉴 레벨 및 브라우징 여부에 관한 데이터 중 적어도 하나 이상을 더 포함할 수 있다.
또한, 상기 애플리케이션은, SaaS 애플리케이션을 포함할 수 있다.
그리고 상기 제2 서비스의 설정과 제2 메뉴의 생성은, 상기 각 테넌트의 테넌트 관리자에 의해 수행될 수 있다.
본 발명에 따른 멀티-테넌트 환경에서 애플리케이션 서비스를 제공하는 시스템의 일 예는, 제1 서비스와 상기 제1 서비스의 액세스를 위한 제1 메뉴가 설정된 애플리케이션에 대해 각 테넌트로부터 서비스 변경 요청을 수신하고, 테넌트 별로 상기 서비스 변경 요청에 따른 제2 서비스를 설정한 후, 설정된 제2 서비스에 따른 페이지 데이터와 상기 제2 서비스의 액세스를 위한 제2 메뉴에 따른 메뉴 데이터를 테넌트 별로 구분하여 저장하고, 해당 애플리케이션의 서비스 요청에 따라 저장된 메뉴 데이터에 기초하여 제2 메뉴를 생성하여, 제2 서비스와 생성된 제2 메뉴가 설정된 애플리케이션 서비스를 제공하는 서버;를 포함하여 구성된다.
이때, 상기 서버는, 상기 제2 메뉴 생성함에 있어서, 테넌트 식별자를 이용하여 메뉴 데이터를 검색하고, 검색된 메뉴 데이터에 기초하여 메뉴 트리를 생성하며, 생성된 메뉴 트리에 관한 특정 형태의 데이터를 생성하여 생성된 특정 형태의 데이터를 클라이언트로 전달할 수 있다.
그리고 상기 특정 형태의 데이터는, JSON 데이터를 포함할 수 있다.
또한, 상기 제2 서비스는, 상기 제1 서비스에 포함된 특정 서비스의 삭제 및 변경이나 새로운 서비스의 추가 중 적어도 어느 하나를 포함할 수 있다.
그리고 상기 서버는, 상기 메뉴 트리를 생성함에 있어서, 상기 검색된 메뉴 데이터 중 부모 노드 정보, 자식 노드 정보 및 순서 정보에 기초하여 생성될 수 있다.
또한, 상기 페이지 데이터는, 상기 제2 서비스의 페이지 식별자, 페이지 이름, 페이지 유형, 제목, 커스터마이즈 여부, 사전 및 사후 스크립트, 사용자 IP 어드레스, 테넌트 아이디, 애플리케이션 식별자, 수정자, 수정 일시, 생성자 및 생성 일시에 관한 데이터 중 적어도 하나 이상을 포함할 수 있다.
그리고 상기 메뉴 데이터는, 상기 제2 서비스에 관한 메뉴 식별자, 메뉴 이름, 메뉴 설명, 애플리케이션 식별자, 사용자 IP 어드레스, 메뉴 유형, 메뉴 레벨 및 브라우징 여부에 관한 데이터 중 적어도 하나 이상을 더 포함할 수 있다.
또한, 상기 애플리케이션은, SaaS 애플리케이션을 포함할 수 있다.
그리고 상기 서버는, 상기 각 테넌트의 테넌트 관리자를 포함할 수 있다.
본 발명에 따르면,
첫째, 테넌트 별로 차별화된 메뉴와 서비스를 제공받을 수 있는 효과가 있다.
둘째, 서비스가 하나의 애플리케이션 인스턴스 상에서 제공되어 유지, 보수의 측면에서도 상당한 비용 절감 효과가 있다.
셋째, 테넌트 관리자가 기존의 웹 애플리케이션 서비스에 새로운 서비스를 추가할 수 있는 효과가 있다.
도 1은 본 발명에 따른 SaaS 플랫폼을 포함한 클라우드 컴퓨팅 환경의 일 예를 설명하기 위해 도시한 도면,
도 2는 본 발명에 따라 하나의 웹 애플리케이션 서비스가 테넌트 별로 서로 다른 메뉴 기능을 제공하는 모습의 일 예에 대한 개념을 설명하기 위해 도시한 도면,
도 3은 본 발명에 따라 서비스 페이지 데이터와 상기 서비스 페이지와 링크되는 메뉴 데이터를 저장하는 테이블을 설명하기 위해 도시한 도면,
도 4는 도 3의 메뉴 테이블과 서비스 페이지 테이블의 주요 스키마의 일 예를 설명하기 위해 도시한 도면,
도 5는 본 발명에 따라 테넌트 별로 메뉴를 동적으로 생성하기 위해 애플리케이션 서버에서 수행하는 기능을 설명하기 위해 도시한 도면, 그리고
도 6은 도 5의 SaaS 애플리케이션의 메뉴를 생성하는 순서의 일 예를 설명하기 위해 도시한 순서도이다.
이하, 본 발명의 바람직한 실시 예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시 예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.
이하 첨부된 도면을 참조하여 본 발명에 따른 서비스 제공 방법 및 시스템에 대해 상세하게 설명한다.
본 발명은 클라우드 컴퓨팅 분야에서 서비스 제공 방법 및 시스템에 관한 것으로, 특히 멀티-테넌시(multi-tenancy) 기술을 이용하여 테넌트(tenant) 별로 변경되는 서비스를 포함한 차별화된(personalized or customized) 서비스를 제공하는 방법에 관한 것이다. 상기에서, 변경이라 함은 기본 서비스에 포함된 특정 서비스의 삭제, 변경 등을 의미하는 경우와 기본 서비스와 다른 새로운 서비스의 추가도 포함하는 의미이다. 다만, 이하에서는 설명의 편의를 위해 기본 서비스에 새로운 서비스가 추가되는 경우를 일 예로 하여 설명하나, 본 발명이 이에 한정되는 것은 아니다.
본 발명과 관련하여, 클라우드 컴퓨팅이라 함은, 인터넷 기술을 이용하여 가상화된 IT(Information Technology) 자원을 서비스로 제공하는 컴퓨팅을 일컫는 용어(terminology)로, 여기서 사용자는 소프트웨어(software), 스토리지(storage), 서버(server), 네트워크(network)와 같은 IT 자원을 필요한 만큼 차용하고 서비스 부하에 따라 실시간 확장성을 지원받으며, 사용한 만큼 비용을 지불하는 컴퓨팅을 말한다.
이러한 클라우드 컴퓨팅의 대표적인 서비스로는 애플리케이션(application)을 서비스 대상으로 하는 SaaS(Software as a Service), 사용자가 소프트웨어를 개발할 수 있는 토대를 제공해주는 서비스인 PaaS(Platform as a Service), 및 서버 인프라를 서비스로 제공하는 IaaS(Infrastructure as a Service)를 들 수 있다. 예를 들어, 상기 SaaS는, 클라우드 컴퓨팅 서비스 사업자가 인터넷을 통해 소프트웨어를 제공하고, 사용자가 인터넷상에서 이에 원격 접속해 해당 소프트웨어를 활용하는 모델이다. 클라우드 컴퓨팅의 최상위 계층에 해당하는 것으로 다양한 애플리케이션을 다중 임대 방식을 통해 온-디맨드 서비스(On-demand sevice) 형태로 제공한다. 여기서, 다중 임대 방식은 공급업체 인프라에서 구동되는 단일 소프트웨어 인스턴스(single software instance)를 여러 클라이언트 조직에 제공하는 것을 말한다. 즉, 우리가 흔히 사용하는 이메일 관리 프로그램이나 문서 관련 소프트웨어에서 기업의 핵심 애플리케이션인 전사적 자원 관리(ERP), 고객 관계 관리(CRM) 솔루션 등에 이르는 모든 소프트웨어를 클라우드 서비스를 통해 제공받는다. 또한, 상기 PaaS는, 사용자가 소프트웨어를 개발할 수 있는 토대를 제공해 주는 서비스로, 클라우드 서비스 사업자는 PaaS를 통해 서비스 구성 컴포넌트 및 호환성 제공 서비스를 지원한다. 컴파일 언어, 웹 프로그램, 제작 툴, 데이터베이스 인터페이스, 과금 모듈, 사용자 관리 모듈 등을 포함한다. 애플리케이션 서비스 개발자들은 클라우드 서비스 사업자가 마련해 놓은 플랫폼(platform)상에서 데이터 베이스와 애플리케이션 서버, 파일 시스템과 관련한 솔루션 등 미들웨어까지 확장된 IT 자원을 활용하여 새로운 애플리케이션을 만들어 사용할 수 있다. 또한, 상기 IaaS는, 서버 인프라를 서비스로 제공하는 것으로 클라우드를 통하여 저장장치(storage) 또는 컴퓨팅 능력(compute)을 인터넷을 통한 서비스 형태로 제공한다. 사용자에게 서버나 스토리지 같은 하드웨어 자체를 판매하는 것이 아니라 하드웨어가 지닌 컴퓨팅 능력만을 서비스하는 것이다.
이러한 클라우드 컴퓨팅의 시장에서의 역할은 벤더(vendors), 제공자(providers), 사용자(users)로 분류할 수 있다. 상기에서 벤더는 이동 단말 기기, 서버, 스토리지, 네트워크와 같은 하드웨어 장비들을 납품하는 업체와 SaaS 서비스를 위한 응용 소프트웨어를 제공하는 업체, 클라우드 컴퓨팅 솔루션을 제공하는 솔루션 기업들이 포함된다. 하드웨어와 솔루션 업체는 납품을 통하여, 응용 업체는 사용자들이 사용하여 얻어진 수익금을 배분하는 방식으로 수익을 얻는다. 클라우드 컴퓨팅 솔루션 업체들은 사설 클라우드(private cloud or enterprise cloud)를 구성하거나 공공 클라우드(public cloud)를 구성하는 솔루션을 제공하는 수익 모델을 가질 수 있다. 상기에서 제공자로서 IDC 운영 기업은 벤더로부터 시스템, 응용 서비스, 솔루션들을 구매하고 클라우드 컴퓨팅을 운영하는 주체가 된다. 컴퓨팅 자원 및 서비스 제공 플랫폼을 제공받아 개인 및 기업을 대상으로 인터넷 기반의 서비스를 제공하고 사용한 시간 용량에 따른 과금 수익 모델을 가진다. 마지막으로, 개인 사용자 또는 기업 사용자는 제공자의 인터넷 서비스를 통하여 컴퓨팅 자원을 할당받아 사용하고, 이에 대한 비용을 지불하는 주체이다. 그러나 사용자 중에서는 클라우드 컴퓨팅 서비스가 제공하는 PaaS를 이용하거나 독자적으로 창출한 비즈니스를 클라우드 컴퓨팅 플랫폼에서 운영하면서 제3의 사용자를 대상으로 비즈니스 주체가 되기도 한다.
다만, 이하 본 명세서에서는 이러한 클라우드 컴퓨팅의 대표적인 서비스 중 주로 SaaS를 중심으로 설명한다.
웹 애플리케이션(web application)은 많은 클라이언트들(clients)에게 동일한 서비스를 제공한다. 그러나 점차 서비스 환경은 각 테넌트가 고유의 비즈니스 요구 사항이 반영된 서비스를 원하는 환경으로 변경되고 있다.
이러한 테넌트들의 요구 사항을 반영하기 위해서는 웹 애플리케이션이 테넌트 관리자에 의한 애플리케이션 설정 기능을 지원해야 한다. 또한, 웹 애플리케이션이 테넌트 별로 독립적인 설정 기능을 지원하기 위해서는 테넌트별 설정 정보를 관리하고 설정 정보를 이용하여 테넌트 별 서비스를 제공해야 한다. 즉, 웹 애플리케이션은 하나의 인스턴스 상에서 테넌트 별 설정 정보 관리를 통해서 다수의 테넌트들에게 테넌트 독립적인 서비스를 제공할 수 있어야 한다.
웹 애플리케이션은 개인화(personalization)와 같은 기능을 통해서 일정 범위 내에서 애플리케이션 설정 기능을 제공하나, 그 범위가 매우 제한적이다. 이러한 상황에서 SaaS 서비스가 출현하였고 많은 소프트웨어 업체들이 SaaS에 관심을 기울이고 있다.
SaaS(Software as a Service)는 소프트웨어를 서비스 형태로 고객들에게 제공하는 서비스 배포 모델로 기본적으로 다중 테넌트를 지원하고 SaaS 애플리케이션 설정 기능을 제공하는 것이 특징이다. 하지만 소프트웨어 시장에서 아직까지는 SaaS 애플리케이션을 서비스할 만큼 SaaS 기술이 성숙되지 않았기 때문에 SaaS가 활성화되지는 못한 상태이다.
현재 일부 소프트웨어 개발 업체들이 SaaS 애플리케이션 서비스를 소개하고 있는데 이러한 SaaS 애플리케이션 서비스가 다중 테넌트를 지원하고 설정 기능을 지원한다고 해도 이러한 기능들은 테넌트 사용자가 애플리케이션 메뉴를 통해서 서비스를 제공받는다. 즉, 메뉴 능은 다중 테넌트 지원 및 설정의 범위에서 제외된다. 따라서 만약 특정 테넌트에서 추가적인 서비스를 구현하고 이를 서비스 받기 위해서는 메뉴에도 동적으로 추가가 되어야 하는데 종래 기술로는 이렇게 테넌트 별로 특화된 메뉴(menu)를 관리할 수 없다는 문제가 발생한다.
본 명세서에서는 본 발명에 따라 이러한 서비스 환경에서, SaaS 애플리케이션의 메뉴 정보를 메타데이터(metadata)로 변환하여 이를 데이터베이스(database)를 통해 관리하고 사용자 요청시 메타데이터를 기반으로 동적으로 메뉴를 생성하여 사용자에게 제공함으로써 테넌트 별로 독립적인 애플리케이션 메뉴를 제공하고자 한다.
특히, 본 발명은 다중 테넌트를 지원하기 위한 SaaS 애플리케이션 메뉴 관리 방법을 예로 하여, 클라우드 컴퓨팅 분야에서 SaaS 애플리케이션 권한 관리 및 멀티 테넌트 기술에 관해 기술하고자 한다.
상기 목적을 달성하기 위해 본 발명은, 다중 테넌트를 지원하기 위한 메뉴 관리 방법에 있어서, (1) 테넌트 관리자가 페이지를 설정 후 메뉴를 추가하는 단계, (2) 메뉴 설정 정보를 데이터베이스에 저장하는 단계, (3) 데이터베이스로부터 메타데이터를 검색하여 동적으로 애플리케이션 메뉴를 생성하는 단계, (4) 테넌트 사용자에게 메뉴를 포함한 애플리케이션 서비스를 제공하는 단계로 구성된다.
이하 첨부된 도면을 참조하여 본 발명에 대한 바람직한 예를 상세히 설명한다.
도 1은 본 발명에 따른 SaaS 플랫폼을 포함한 클라우드 컴퓨팅 환경의 일 예를 설명하기 위해 도시한 도면이다.
본 발명에 따른 멀티-테넌트 환경에서 애플리케이션 서비스를 제공하는 시스템의 일 예는, 제1 서비스와 상기 제1 서비스의 액세스를 위한 제1 메뉴가 설정된 애플리케이션에 대해 각 테넌트로부터 서비스 변경 요청을 수신하고, 테넌트 별로 상기 서비스 변경 요청에 따른 제2 서비스를 설정한 후, 설정된 제2 서비스에 따른 페이지 데이터와 상기 제2 서비스의 액세스를 위한 제2 메뉴에 따른 메뉴 데이터를 테넌트 별로 구분하여 저장하고, 해당 애플리케이션의 서비스 요청에 따라 저장된 메뉴 데이터에 기초하여 제2 메뉴를 생성하여, 제2 서비스와 생성된 제2 메뉴가 설정된 애플리케이션 서비스를 제공하는 서버;를 포함하여 구성된다.
이때, 상기 서버는, 상기 제2 메뉴 생성함에 있어서, 테넌트 식별자를 이용하여 메뉴 데이터를 검색하고, 검색된 메뉴 데이터에 기초하여 메뉴 트리를 생성하며, 생성된 메뉴 트리에 관한 특정 형태의 데이터를 생성하여 생성된 특정 형태의 데이터를 클라이언트로 전달할 수 있다. 그리고 상기 특정 형태의 데이터는, JSON 데이터를 포함할 수 있다. 또한, 상기 제2 서비스는, 상기 제1 서비스에 포함된 특정 서비스의 삭제 및 변경이나 새로운 서비스의 추가 중 적어도 어느 하나를 포함할 수 있다.
그리고 상기 서버는, 상기 메뉴 트리를 생성함에 있어서, 상기 검색된 메뉴 데이터 중 부모 노드 정보, 자식 노드 정보 및 순서 정보에 기초하여 생성될 수 있다. 또한, 상기 애플리케이션은, SaaS 애플리케이션을 포함할 수 있다. 그리고 상기 서버는, 상기 각 테넌트의 테넌트 관리자를 포함할 수 있다.
도 1을 참조하면, 클라우드 컴퓨팅 환경은, 크게 4개층으로 구분된다.
*53제1 층은, 각 테넌트(111,112,113)를 포함한다.
제2 층(120)은, 제1 층에 존재하는 각 테넌트(111,112,113)를 관리하는 테넌트 관리자를 포함한다. 여기서, 테넌트 관리자는 자신이 관리하는 각 테넌트의 사용자에게 UI(User Interface), 데이터 모델(data model), 비지니스 로직(business logic) 등을 제공할 수 있다.
제3 층(130)은, SaaS 플랫폼을 포함한다. 상기 SaaS 플랫폼에 대한 보다 상세한 설명은 후술한다.
제4 층(140)은, 플랫폼 관리자를 포함한다. 여기서, 상기 플랫폼 관리자는 제3 층(130)의 SaaS 플랫폼을 사용자는 테넌트 관리자를 관리하여 간접적으로 상기 테넌트 관리자가 관리하는 다수의 테넌트 사용자도 관리하는 인프라스트럭쳐 서비스(infrastructure service)를 제공한다. 제4 층(140)의 플랫폼 관리자는, 애플리케이션 프로필, 테넌트 프로필, 메타데이터 프로필, 테넌트 데이터를 각각 데이터베이스화하여 개별 저장할 수 있다.
이하에서는 제3 층(130)의 SaaS 플랫폼에 대해 보다 상세하게 기술하면, 다음과 같다.
SaaS 플랫폼은 SaaS 기술의 성숙도 레벨에 따라 그 플랫폼 구조가 다양하다. 다만, 본 명세서에서는 동일한 소프트웨어와 데이터베이스를 테넌트 별로 데이터베이스 액세스 독립성을 지원하는 소프트웨어 실행 구조인 레벨 3 이상을 예로 하여 설명한다.
따라서, 본 발명에 따른 SaaS 플랫폼의 일 예는, 신규 애플리케이션의 통합과 각 테넌트 별 애플리케이션 설정 기능을 지원하는 SaaS 애플리케이션 설정 환경 기술, 하나의 소프트웨어 실행 이미지를 통해 다수의 테넌트에게 서비스할 수 있는 멀티-테넌트 실행 엔진 기술, 멀티-테넌트 데이터베이스의 액세스 독립성과 보안 기능을 제공하는 메타데이터 관리 시스템 기술, SaaS 플랫폼의 서비스 계층 및 관리 도구를 제공하는 SaaS 플랫폼 프레임워크(framework) 기술을 제공한다. 그러므로, 도 1에 도시된 SaaS 플랫폼에서는 본 발명에 따라 멀티-테넌트 구조와 테넌트별 메타데이터 기능을 지원할 수 있다.
먼저, 설정 환경 기술은 컨피규레이터(configurator)(131)에 실현되는데, 상기 컨피규레이터(131)는, 제2 층의 애플리케이션의 UI, 데이터 관리, 비지니스 로직을 플랫폼에 통합시키고 각 테넌트 별로 커스터마이징(customizing) 기능을 제공한다.
다음으로 실행 엔진 기술은, 메타데이터 기반 코드 생성 모듈인 멀티테넌트 런타임 엔진(132)와 보안 관리 모듈인 시큐리티 매니저(134)에 의해 실현된다. 이러한 실행 엔진은 멀티테넌트 환경에서 테넌트 별 커스터마이제이션에 따라 사용자의 요청을 수행하여 결과를 리턴하는 모듈이다.
예를 들어, 메타데이터 매니저(135)는, SaaS 애플리케이션에 관한 애플리케이션 코드와, 각 테넌트별 UI 및 워크 플로우(work flow)에 관한 메타데이터를 수신하여 컨피규레이터(131)로 전송하고 컨피규레이터(131)에서 생성된 각 테넌트의 설정 환경을 수신하여 멀티테넌트 런타임 엔진(132)로 전송한다.
멀티테넌트 런타임 엔진(132)은, 메타데이터 매니저(135)로부터 전송되는 정보에 기반하여 각 테넌트 별로 워크플로우 및 규칙 엔진(workflow & rule engine), UI 렌더러(UI renderer), 워크플로우 핸들러(workflow handler)를 포함한 쓰레드(thread)를 생성하고 런타임으로 실행한다.
다음으로, 메타데이터 관리 기술은 멀티테넌트 애플리케이션 서비스를 지원하는 메타데이터와 테넌트 데이터가 메타데이터 매니저(135)와 테넌트 데이터 매니저(136) 각각에 의해 실현된다.
메타데이터 관리와 관련하여, 멀티테넌트 런타임 환경의 컨피규레이터(131)에서 입력되는 서비스 환경설정에 따른 메타데이터를 수신하여 저장하고, 멀티테넌트 런타임 엔진(132)에서 웹 페이지 요청에 따른 테넌트 데이터와 메타데이터를 요청받아 전송하고 테넌트 데이터와 메타데이터를 다시 수신한다. 메타데이터 매니저(135)는 메타데이터 캐쉬 매니저, UI 메타데이터 매니저, 워크플로우 메타데이터 매니저 등을 이용하여 메타데이터를 프로세싱하여 필요한 경우 테넌트 데이터 매니저(136)로 프로세싱된 메타데이터를 전송하거나 또는/및 제4 층의 메타데이터 데이터베이스에 저장한다. 또한, 테넌트 데이터 매니저(136)은 입력되는 테넌트 데이터 또는/및 메타데이터를 이용하여 데이터 프로세싱을 수행한 후 필요한 경우 프로세싱된 데이터를 메타데이터 매니저(135)로 전송하거나 또는 제4 층의 테넌트 데이터 데이터베이스에 저장한다.
플랫폼 프레임워크 기술은, SaaS 플래폼 프레임워크와, 서비스 실행 환경 모니터링 및 플랫폼 관리 기능을 지원하는 플랫폼 관리 도구에 의해 실현된다. 이 과정에서 플랫폼 관리자는 시스템, 테넌트, 사용자, 서비스 등을 관리할 수 있으며, 그 밖에 서비스 환경에서의 오류, 로그 등에 관한 모니터링 기능을 확장할 수도 있다.
이하에서는 본 발명에 따라 멀티테넌트를 지원하기 위한 SaaS 애플리케이션 메뉴 관리 방법에 대해 보다 상세하게 설명한다.
도 2는 본 발명에 따라 하나의 웹 애플리케이션 서비스가 테넌트 별로 서로 다른 메뉴 기능을 제공하는 모습의 일 예에 대한 개념을 설명하기 위해 도시한 도면이다.
본 발명에 따른 멀티-테넌트 환경에서 애플리케이션 서비스를 제공하는 방법에 있어서, 제1 서비스와 상기 제1 서비스의 액세스를 위한 제1 메뉴가 설정된 애플리케이션에 대해 각 테넌트로부터 서비스 변경 요청을 수신하는 단계; 테넌트 별로 상기 서비스 변경 요청에 따른 제2 서비스를 설정하는 단계; 설정된 제2 서비스에 따른 페이지 데이터와 상기 제2 서비스의 액세스를 위한 제2 메뉴에 따른 메뉴 데이터를 테넌트 별로 구분하여 저장하는 단계; 해당 애플리케이션의 서비스 요청에 따라 저장된 메뉴 데이터에 기초하여 제2 메뉴를 생성하는 단계; 및 제2 서비스와 생성된 제2 메뉴가 설정된 애플리케이션 서비스를 제공하는 단계;를 포함하여 이루어진다. 이때, 상기 제2 메뉴 생성 단계는, 테넌트 식별자를 이용하여 메뉴 데이터를 검색하는 단계와; 검색된 메뉴 데이터에 기초하여 메뉴 트리를 생성하는 단계와; 생성된 메뉴 트리에 관한 특정 형태의 데이터를 생성하는 단계와; 생성된 특정 형태의 데이터를 클라이언트로 전달하는 단계;를 포함할 수 있다.
그리고 상기 특정 형태의 데이터는, JSON 데이터를 포함할 수 있다. 또한, 상기 제2 서비스는, 상기 제1 서비스에 포함된 특정 서비스의 삭제 및 변경이나 새로운 서비스의 추가 중 적어도 어느 하나를 포함할 수 있다. 그리고 상기 메뉴 트리를 생성하는 단계는, 상기 검색된 메뉴 데이터 중 부모 노드 정보, 자식 노드 정보 및 순서 정보에 기초하여 생성될 수 있다. 또한, 상기 페이지 데이터는, 상기 제2 서비스의 페이지 식별자, 페이지 이름, 페이지 유형, 제목, 커스터마이즈 여부, 사전 및 사후 스크립트, 사용자 IP 어드레스, 테넌트 아이디, 애플리케이션 식별자, 수정자, 수정 일시, 생성자 및 생성 일시에 관한 데이터 중 적어도 하나 이상을 포함할 수 있다. 그리고 상기 메뉴 데이터는, 상기 제2 서비스에 관한 메뉴 식별자, 메뉴 이름, 메뉴 설명, 애플리케이션 식별자, 사용자 IP 어드레스, 메뉴 유형, 메뉴 레벨 및 브라우징 여부에 관한 데이터 중 적어도 하나 이상을 더 포함할 수 있다. 또한, 상기 애플리케이션은, SaaS 애플리케이션을 포함할 수 있다. 그리고 상기 제2 서비스의 설정과 제2 메뉴의 생성은, 상기 각 테넌트의 테넌트 관리자에 의해 수행될 수 있다.
본 발명에 따르면, 종래 메뉴의 기능을 설정하는 경우에도, 메뉴의 수정이 필요하지 않기 때문에 기본 웹 애플리케이션의 메뉴를 그대로 사용할 수 있다.
하지만 예를 들어, 테넌트가 기본 웹 애플리케이션이 제공하는 기능 이외의 새로운 기능을 수행하기 위해 새로운 페이지를 생성할 경우 새로운 페이지를 접속하기 위한 메뉴 역시 생성되어야 한다.
이때, 애플리케이션 메뉴는 예를 들어, 테넌트 관리자에 의해 관리된다. 따라서, 상기 테넌트 관리자는 기본적으로 웹 애플리케이션이 제공하는 메뉴를 사용한다. 만약 추가적인 서비스가 필요할 경우, 테넌트 관리자는 웹 애플리케이션의 설정 기능을 이용하여 새로운 페이지를 생성하고 서비스 기능을 설정한다. 예를 들어, 테넌트 관리자는 새로운 애플리케이션 데이터를 페이지에서 관리한다거나 데이터베이스에 데이터를 입력, 수정 또는 삭제하는 기능을 추가할 수 있다. 또한 테넌트 관리자는 데이터를 기반으로 통계 정보를 제공하는 페이지를 제공할 수도 있다.
이와 같이 새로운 페이지를 생성하고 서비스 기능을 추가한 경우에는, 테넌트 관리자는 새로운 페이지에 접속할 수 있는 메뉴를 등록해 주어야 한다. 여기서, SaaS 애플리케이션은 메타데이터 기반의 시스템 구조로 되어 있으므로, 테넌트 관리자는 테넌트 별 애플리케이션 설정 정보를 메타데이터 형태로 관리할 수 있다. 따라서, 테넌트 별 메뉴 역시 메타데이터 형태로 변환하여 데이터베이스에 저장된다.
*75도 2를 참조하면, 좌측에 하나의 기본 웹 애플리케이션 서비스(210)가 존재하고, 우측에 각 테넌트 별로 서로 다른 메뉴 기능이 포함된 애플리케이션 서비스(220,230,240)가 제공되는 것을 알 수 있다.
에를 들어, 기본 웹 애플리케이션 서비스(210)는 부메뉴 1-1과 1-2를 포함한 메뉴 1과 부메뉴 2-1을 포함한 메뉴 2를 기본 메뉴와 서비스 페이지를 포함한다.
관련하여, 테넌트 A(520)는, 상기 기본 메뉴 1에서 1-3이 더 부가된 새로운 메뉴 1과 기본 메뉴 2 및 서비스 페이지를 테넌트 관리자로부터 제공받는다. 테넌트 B(530)는, 상기 테넌트 A와 달리, 기본 메뉴 1과 부메뉴 2-2와 2-3이 더 부가된 새로운 메뉴 2 및 서비스 페이지를 테넌트 관리자로부터 제공받는다. 테넌트 C(540)는, 상술한 테넌트 A 및 B와 달리, 기본 메뉴 1과 2에 부메뉴 3-1과 3-2를 포함한 새로운 메뉴 3 및 서비스 페이지를 테넌트 관리자로부터 제공받는다.
도 3은 본 발명에 따라 서비스 페이지 데이터와 상기 서비스 페이지와 링크되는 메뉴 데이터를 저장하는 테이블을 설명하기 위해 도시한 도면이다.
테넌트 관리자는 새로운 페이지를 설정하면, 설정되는 새로운 페이지의 데이터를 페이지 테이블과 이와 연관된 테이블에 저장한다. 이때, 테넌트 관리자는 예를 들어, 메뉴 테이블에 상기 설정되는 새로운 페이지와 관련된 메뉴에 관한 데이터를 함께 저장할 수 있다. 여기서, 상기 메뉴 테이블에 저장되는 데이터는 메뉴 명, 메뉴 순서, 웹 브라우저에 브라우징 여부, 서비스 일시 중지 여부 등에 관한 데이터 중 적어도 하나 이상을 포함한다.
도 4는 도 3의 메뉴 테이블과 서비스 페이지 테이블의 주요 스키마의 일 예를 설명하기 위해 도시한 도면이다.
도 4a를 참조하면, 메뉴 테이블은 애플리케이션 내에 메뉴를 구성하기 위한 정보를 관리하기 위한 것으로, 메뉴를 식별하기 위한 MENUID, 메뉴의 위치를 지시하는 MENUURL, 메뉴의 이름을 설명하는 MENUNAME, 메뉴의 순서를 지시하는 MENUORDER, 애플리케이션을 식별하기 위한 APPID, 상위 메뉴를 식별하기 위한 PARENTMENUID, 해당 메뉴의 메인 적용 여부를 지시하는 MAINPAGEONLYYN, 유효 메시지 식별을 위한 VALIDATIONMESSAGEID, 로그인 필수 여부를 지시하는 ISLOGIN, 일시 중지 여부를 지시하기 위한 ISPAUSE, 일시 중지 사유를 설명하는 PAUSEDESC, 상업 도메인을 설명하는 BIZDOMAIN, 메뉴 트리 생성시 포함 여부를 지시하는 DISPLAYYN, 사용 여부를 지시하는 ISUSE, 사용자의 IP 어드레스를 지시하는 UserIP, 포워드 URL을 지시하는 FORWARDIP, 삭제 여부를 나타내는 ISDELETE, 도움 URL을 지시하는 HELPURL, 메뉴 유형을 지시하는 MENUTYPE 및 메뉴의 레벨을 지시하는 MENULEVEL 데이터 중 적어도 하나 이상을 포함한다. 이때, 상기 메뉴 테이블은 서비스 페이지 URL(Uniform Resource Locator), 페이지 명(page name), 브라우징(browsing) 여부 등에 관한 데이터를 추가로 더 저장할 수 있다.
도 4b를 참조하면, 서비스 페이지 테이블은 서비스 페이지에 대한 정보를 관리 및 제공하기 위한 것으로, 서비스 페이지를 식별하기 위한 PAGE_ID, 서비스 페이지의 이름을 설명하는 PAGE_NAME, 서비스 페이지의 유형을 지시하는 PAGE_TYPE, 서비스 페이지의 제목을 설명하는 TITLE, 서비스 페이지의 커스터마이즈 여부를 지시하는 CUSTOMIZE_FLAG, 각각 서비스 페이지의 사전 스크립트와 사후 스크립트를 설명하는 PRE_SCRIPT 및 POST_SCRIPT, 서비스 페이지 사용자의 IP 어드레스를 지시하는 USER_IP, 서비스 페이지를 액세스하는 테넌트를 식별하는 TENANT_ID, 서비스 페이지에 의해 제공되는 애플리케이션을 식별하는 APPID, 서비스 페이지에 대해 업데이트를 한 테넌트 관리자를 식별하는 UPDATED_BY, 상기 업데이트 일정을 지시하는 UPDATED_ON, 서비스 페이지의 생성자를 식별하는 CREATED_BY, 및 서비스 페이지의 생성 일정을 지시하는 CREATED_ON 데이터 중 적어도 하나 이상을 포함한다.
도 5는 본 발명에 따라 테넌트 별로 메뉴를 동적으로 생성하기 위해 애플리케이션 서버에서 수행하는 기능을 설명하기 위해 도시한 도면이고, 도 6은 도 5의 SaaS 애플리케이션의 메뉴를 생성하는 순서의 일 예를 설명하기 위해 도시한 순서도이다.
테넌트 사용자가 SaaS 애플리케이션 서비스를 요청하면, SaaS 애플리케이션 서버 내 제어부는 테넌트 사용자에게 제공할 SaaS 서비스 메뉴를 제공하기 위해서 우선 테넌트 아이디를 이용하여 데이터베이스(510)로부터 메뉴 항목을 검색한다(S610). 여기서, SaaS 애플리케이션 서버에서 테넌트 아이디를 이용하여 메뉴 항목을 검색하는 이유는, 동일한 SaaS 애플리케이션 서비스라도 테넌트 관리자에 의한 SaaS 서비스 메뉴 설정이 테넌트 별로 다르기 때문이다.
이때, 검색되는 메뉴 항목(ResultSetList)(820)은, 메뉴의 제1 및 제2 노드 정보와 순서 정보를 포함한다. 여기서, 상기 제1 노드 정보와 제2 노드 정보는 메뉴 트리를 구성할 때, 각 메뉴의 위치를 결정할 때 이용된다. 또한, 상기 순서 정보는, 특정 제1 메뉴 노드가 다수의 제2 노드들을 포함하는 경우, 상기 제2 노드들 간의 순서를 결정하기 위해 이용된다(S620).
이와 같이 데이터베이스(510)로부터 메뉴 항목 정보를 검색한 후, 제어부는 상기 검색된 메뉴 항목(820)을 이용하여 메뉴 트리(830)를 메모리 상에 생성한다(S630). 여기서, 생성된 메뉴 트리는 예를 들어, SaaS 애플리케이션이 테넌트 사용자에게 제공하는 모습과 동일할 수 있다. 상기 메뉴 트리는 서버 측의 메모리에 생성되므로 이를 클라이언트에 전달하기 위해서는 특정 데이터 형태로 변환 생성하고(S640), 생성된 특정 데이터 형태의 메뉴 데이터를 클라이언트 전달한다(S650). 여기서, 상기 특정 데이터 형태는 예를 들어, JSON(제이슨, JavaScript Object Notation)을 포함한다. 상기 JSON은, 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법으로, 자료의 종류에 큰 제한은 없다.
이후 클라이언트는 전달받은 특정 데이터 형태의 데이터를 기초로 메뉴를 생성하여 테넌트 사용자에게 제공한다(S660).
이상 상술한 본 발명에 따르면, 종래 웹 애플리케이션이 제공하는 서비스에 비해 다음과 같은 장점이 있다. 첫째, 테넌트 관리자는 기존의 웹 애플리케이션 서비스에 새로운 서비스를 추가할 수 있다. 기존의 웹 애플리케이션의 경우 애플리케이션 개발자가 애플리케이션 코드를 수정해야 가능했던 작업을 테넌트 관리자가 웹을 통해 새로운 서비스와 메뉴를 추가할 수 있다. 또한 서비스의 재구동 없이 설정한 후 바로 서비스를 제공받을 수 있다. 둘째, 본 발명이 적용되면 테넌트 별로 서로 다른 서비스 및 메뉴를 서비스받을 수 있다. 기존의 웹 애플리케이션이 많은 클라이언트들에게 동일한 서비스를 제공하지 못하는 반면 본 발명은 메타데이터를 기반으로 각 테넌트의 환경에 맞도록 서비스를 동적으로 생성하여 제공하기 때문에 테넌트에 최적화된 서비스를 받을 수 있는 효과가 있다. 또한 이러한 서비스가 하나의 애플리케이션 인스턴스 상에서 제공되기 때문에 유지, 보수의 측면에서도 상당한 비용을 절감할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면, 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
111,112,113: 테넌트, 제1 층 120: 제2 층
130: 제3 층 131: 컨피규레이터
132, 멀티테넌트 런타임 엔진 133: SaaS 관리 툴
134: 시큐리티 매니저 135: 메타데이터 매니저
136, 테넌트 데이터 매니저 137: SaaS 프레임워크
140: 제4 층

Claims (1)

  1. 멀티-테넌트 환경에서 애플리케이션 서비스를 제공하는 방법에 있어서,
    제1 서비스와 상기 제1 서비스의 액세스를 위한 제1 메뉴가 설정된 애플리케이션에 대해 각 테넌트로부터 서비스 변경 요청을 수신하는 단계;
    테넌트 별로 상기 서비스 변경 요청에 따른 제2 서비스를 설정하는 단계;
    설정된 제2 서비스에 따른 페이지 데이터와 상기 제2 서비스의 액세스를 위한 제2 메뉴에 따른 메뉴 데이터를 테넌트 별로 구분하여 저장하는 단계;
    해당 애플리케이션의 서비스 요청에 따라 저장된 메뉴 데이터에 기초하여 제2 메뉴를 생성하는 단계; 및
    제2 서비스와 생성된 제2 메뉴가 설정된 애플리케이션 서비스를 제공하는 단계;를 포함하는 애플리케이션 서비스 제공 방법.
KR1020100125863A 2010-12-09 2010-12-09 서비스 제공 방법 및 시스템 KR20120064579A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100125863A KR20120064579A (ko) 2010-12-09 2010-12-09 서비스 제공 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100125863A KR20120064579A (ko) 2010-12-09 2010-12-09 서비스 제공 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20120064579A true KR20120064579A (ko) 2012-06-19

Family

ID=46684655

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100125863A KR20120064579A (ko) 2010-12-09 2010-12-09 서비스 제공 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20120064579A (ko)

Similar Documents

Publication Publication Date Title
US11803893B2 (en) Graph processing service component in a catalog service platform
US8356274B2 (en) System and methods to create a multi-tenancy software as a service application
US9256413B2 (en) Automatic identification of services
US20190068690A1 (en) Automated management of resource attributes across network-based services
US9244951B2 (en) Managing tenant-specific data sets in a multi-tenant environment
US20160132808A1 (en) Portfolios and portfolio sharing in a catalog service platform
KR20140103870A (ko) 클라우드 컴퓨팅 기반의 네트워크 접속 스토리지 관리
US20220292161A1 (en) Content Management Systems and Methods for Utilizing External Content Libraries
US9912759B2 (en) Dynamically generating solution stacks
US8756254B2 (en) Integration of CRM applications to ECS application user interface
US10656972B2 (en) Managing idempotent operations while interacting with a system of record
CN104283875A (zh) 云盘权限管理方法
US20200226615A1 (en) Customer service representative dashboard application
US20170012897A1 (en) Intelligent framework for shared services orchestration
Won et al. Advanced resource management with access control for multitenant Hadoop
CN103902637B (zh) 用于向用户提供计算资源的方法和装置
US10176059B2 (en) Managing server processes with proxy files
US10567524B2 (en) Dynamic cognitive optimization of web applications
CN114866416A (zh) 一种多集群统一管理系统及部署方法
Desair et al. Policy-driven middleware for heterogeneous, hybrid cloud platforms
KR20120064579A (ko) 서비스 제공 방법 및 시스템
Vijayakumar Practical Azure Application Development: A Step-by-Step Approach to Build Feature-Rich Cloud-Ready Solutions
US20240134678A1 (en) Systems and methods for development and deployment of cloud services
US20220374258A1 (en) Collaboration across isolated virtual environments
CN117555932A (zh) 多集群检索方法、装置、设备、介质和程序产品

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination