KR20130037995A - 멀티테넌시를 지원하는 비즈니스 로직 설정방법 - Google Patents

멀티테넌시를 지원하는 비즈니스 로직 설정방법 Download PDF

Info

Publication number
KR20130037995A
KR20130037995A KR1020110102600A KR20110102600A KR20130037995A KR 20130037995 A KR20130037995 A KR 20130037995A KR 1020110102600 A KR1020110102600 A KR 1020110102600A KR 20110102600 A KR20110102600 A KR 20110102600A KR 20130037995 A KR20130037995 A KR 20130037995A
Authority
KR
South Korea
Prior art keywords
business logic
service
tenant
application
received
Prior art date
Application number
KR1020110102600A
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 KR1020110102600A priority Critical patent/KR20130037995A/ko
Priority to US13/608,719 priority patent/US20130014082A1/en
Publication of KR20130037995A publication Critical patent/KR20130037995A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

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

Abstract

본 발명은 멀티테넌시를 지원하는 비즈니스 로직 설정방법에 관한 것으로 어플리케이션 실행 플랫폼이 서비스 개발도구로부터 수신되는 비즈니스 로직을 메타데이터 저장부에 공용 비즈니스 로직으로 저장하는 단계; 어플리케이션 실행 플랫폼이 테넌트의 서비스 설정도구로부터 수정된 비즈니스 로직이 수신되는지 확인하는 단계; 및 수정된 비즈니스 로직이 수신되면, 어플리케이션 실행 플랫폼이 수정된 비즈니스 로직을 메타데이터 저장부에 테넌트의 전용 비즈니스 로직으로 저장하는 단계를 포함하여 구성되며, 본 발명에 따르면 서비스에 가입된 각각의 테넌트가 서비스 설정도구를 통해 어플리케이션 서비스의 비즈니스 로직을 설정할 수 있으므로 각각의 테넌트는 비즈니스 로직을 필요한 형태로 수정하여 사용할 수 있다.

Description

멀티테넌시를 지원하는 비즈니스 로직 설정방법{METHOD FOR CONFIGURING BUSINESS LOGIC OF MULTI-TENANT APPLICATION}
본 발명은 멀티테넌시를 지원하는 비즈니스 로직 설정방법에 관한 것으로서, 더욱 상세하게는 멀티테넌시를 지원하는 온라인 어플리케이션 제공 환경에서 특정 테넌트가 다른 테넌트의 서비스 사용에 영향을 주지 않으면서 비즈니스 로직을 수정할 수 있는 멀티테넌시를 지원하는 비즈니스 로직 설정방법에 관한 것이다.
최근에 인터넷상의 서버를 통하여 데이터를 저장하고, 컨텐츠를 이용할 수 있는 클라우드 컴퓨팅 시스템이 확산됨에 따라 SaaS(Software as a Service) 등과 같이 온라인 상에서 어플리케이션을 제공하는 서비스가 증가하고 있는 추세이다.
ERP(Enterprise Resource Planning), CRM(Customer Relationship Management), 그룹웨어(Groupware) 등 SaaS 기반의 기업용 어플리케이션에서, 어플리케이션 서비스에 가입한 기업을 테넌트(Tenant)라 하고, 서비스 제공자 입장에서 하나의 서비스 인스턴스를 통해 다수의 테넌트에게 서비스를 제공하는 것을 멀티테넌시(Multitenancy)라 한다.
이러한 멀티테넌시 서비스 환경에서 각 테넌트들이 요구하는 비즈니스 로직은 서로 상이한 경우가 많으므로, 어플리케이션 서비스의 비즈니스 로직은 다른 테넌트들의 서비스에 영향을 주지 않으면서 특정 테넌트의 요구사항에 맞게 수정되어야 할 필요성이 요청된다.
종래에는 이와 같은 멀티테넌시 서비스 환경에서 어플리케이션을 개발한 개발자가 어플리케이션 서비스의 비즈니스 로직을 생성하고 편집할 수 있다.
하지만, 이와 같은 방식에 의하면 각 테넌트에 의해 현재 사용 중인 어플리케이션 서비스의 비즈니스 로직을 수정할 수 없기 때문에, 서비스를 개발하여 배포한 이후에 비즈니스 로직을 수정하기 어려운 문제점이 있다.
또한, 어플리케이션 서비스의 비즈니스 로직을 수정하기 위해서는 개발자가 반드시 참여해야 하기 때문에, 서비스 제공자의 서비스 유지 보수에 많은 비용이 드는 문제점이 있다.
본 발명의 배경기술은 대한민국 특허공개공보 제10-2010-0061434호 '비즈니스 로직 편집 및 실행방법' (2010.06.07)에 개시되어 있다.
본 발명은 전술한 문제점을 개선하기 위해 창안된 것으로서, 멀티테넌시를 지원하는 온라인 어플리케이션 제공 환경에서 서비스에 가입한 특정 테넌트가 다른 테넌트들의 서비스 사용에 영향을 주지 않으면서 어플리케이션 서비스의 비즈니스 로직을 수정할 수 있도록 하는 멀티테넌시를 지원하는 비즈니스 로직 설정방법을 제공하는데 그 목적이 있다.
본 발명의 일 측면에 따른 멀티테넌시를 지원하는 비즈니스 로직 설정방법은 어플리케이션 실행 플랫폼이 서비스 개발도구로부터 수신되는 비즈니스 로직을 메타데이터 저장부에 공용 비즈니스 로직으로 저장하는 단계; 어플리케이션 실행 플랫폼이 테넌트의 서비스 설정도구로부터 수정된 비즈니스 로직이 수신되는지 확인하는 단계; 및 수정된 비즈니스 로직이 수신되면, 어플리케이션 실행 플랫폼이 수정된 비즈니스 로직을 메타데이터 저장부에 테넌트의 전용 비즈니스 로직으로 저장하는 단계를 포함한다.
본 발명의 테넌트의 전용 비즈니스 로직으로 저장하는 단계에서 테넌트의 전용 비즈니스 로직은 공용 비즈니스 로직과 독립적으로 저장되는 것을 특징으로 한다.
본 발명의 테넌트의 전용 비즈니스 로직으로 저장하는 단계에서 테넌트의 전용 비즈니스 로직은 테넌트의 테넌트 ID에 대응되게 저장되는 것을 특징으로 한다.
본 발명은 테넌트의 전용 비즈니스 로직으로 저장하는 단계 이후에 어플리케이션 실행 플랫폼이 어플리케이션으로부터 서비스의 실행을 요청하는 서비스 실행입력이 수신되는지 확인하는 단계; 서비스 실행입력이 수신되면, 어플리케이션 실행 플랫폼이 서비스 실행입력에 따라 메타데이터 저장부에 저장된 비즈니스 로직을 추출하는 단계; 및 어플리케이션 실행 플랫폼이 추출된 비즈니스 로직을 수행하여 서비스를 실행하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명에서 서비스 실행입력은 테넌트의 테넌트 ID 및 메타데이터 저장부에 저장된 비즈니스 로직을 호출하기 위한 URL(Uniform Resource Locator)을 포함하는 것을 특징으로 한다.
본 발명에서 메타데이터 저장부에 저장된 비즈니스 로직을 추출하는 단계는 어플리케이션 실행 플랫폼이 테넌트 ID에 따라 공용 비즈니스 로직 또는 테넌트에 대한 전용 비즈니스 로직을 추출하는 것을 특징으로 한다.
본 발명에서 추출된 비즈니스 로직을 수행하여 서비스를 실행하는 단계는 추출된 비즈니스 로직의 SQL(Structured Query Language)을 어플리케이션 데이터베이스에 질의하여 서비스를 실행하는 것을 특징으로 한다.
본 발명에 따르면, 서비스에 가입된 각각의 테넌트가 서비스 설정도구를 통해 어플리케이션 서비스의 비즈니스 로직을 설정할 수 있으므로 각각의 테넌트는 비즈니스 로직을 필요한 형태로 수정하여 사용할 수 있다.
또한, 본 발명에 따르면, 특정 테넌트에 의해 수정된 비즈니스 로직이 개발자가 개발한 공용 비즈니스 로직과 별도로 저장되므로, 서비스 배포 후에도 다른 테넌트의 서비스에 영향을 주지 않고 비즈니스 로직을 수정할 수 있다.
또한, 본 발명에 따르면, 비즈니스 로직 설정 시에 개발자를 참여시키지 않아도 되므로 서비스 제공자는 유지 보수 비용을 절감할 수 있으며, 하나의 플랫폼을 통해 다수의 테넌트에 서비스를 제공할 수 있으므로 자원의 효율성을 높일 수 있다.
도 1은 본 발명의 일 실시예에 따른 멀티테넌시를 지원하는 비즈니스 로직 설정방법을 수행하기 위한 장치의 블록구성도이다.
도 2는 본 발명의 일 실시예에 따른 멀티테넌시를 지원하는 비즈니스 로직 설정방법에서 서비스 개발도구가 비즈니스 로직을 생성하는 과정을 도시한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 멀티테넌시를 지원하는 비즈니스 로직 설정방법에서 서비스 설정도구가 비즈니스 로직을 수정하는 과정을 도시한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 멀티테넌시를 지원하는 비즈니스 로직 설정방법의 동작 흐름을 도시한 순서도이다.
이하에서는 본 발명의 일 실시예에 따른 멀티테넌시를 지원하는 비즈니스 로직 설정방법을 첨부된 도면들을 참조하여 상세하게 설명한다. 이러한 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로써, 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야할 것이다.
비즈니스 로직이란 업무 처리 흐름에 대한 것으로 업무에 필요한 데이터의 입력, 수정, 조회 및 처리 등을 수행하는 루틴을 의미한다.
이러한 비즈니스 로직은 어플리케이션 서비스의 사용자 인터페이스(User Interface, UI)에서 URL(Uniform Resource Locator)로 호출되어, 특정 로직을 수행하고, 그 로직 수행결과를 다시 사용자 인터페이스로 전달한다.
이하, 본 발명에 대한 구체적인 설명을 시작한다.
도 1은 본 발명의 일 실시예에 따른 멀티테넌시를 지원하는 비즈니스 로직 설정방법을 수행하기 위한 장치의 블록구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 멀티테넌시를 지원하는 비즈니스 로직 설정방법을 수행하기 위한 장치는 서비스 개발도구(10), 서비스 설정도구(20), 어플리케이션(30), 어플리케이션 실행 플랫폼(40) 및 메타데이터 저장부(50)를 포함한다.
서비스 개발도구(10)는 개발자가 어플리케이션 서비스의 비즈니스 로직을 개발하기 위한 도구로서, 서비스 개발도구(10)는 개발자로부터 입력되는 로직생성입력에 의해 정의되는 비즈니스 로직을 어플리케이션 실행 플랫폼(40)에 전달한다.
이때, 비즈니스 로직을 정의하기 위한 로직생성입력에 의해 비즈니스 로직을 호출하기 위한 URL(Uniform Resource Locator), URL과 함께 전달되는 입력 파라미터, 비즈니스 로직을 실행하는 SQL(Structured Query Language), 출력의 결과로 전달되는 출력 파라미터 등이 정의될 수 있다.
서비스 설정도구(20)는 서비스에 가입한 특정 테넌트가 어플리케이션 서비스의 비즈니스 로직을 수정하기 위한 도구로서, 서비스 설정도구(20)는 각각의 테넌트로부터 입력되는 로직설정입력에 따라 수정된 비즈니스 로직을 어플리케이션 실행 플랫폼(40)에 전달한다.
이때, 비즈니스 로직을 수정하기 위한 로직설정입력에 의해 URL과 함께 전달되는 입력 파라미터, 비즈니스 로직을 실행하는 SQL, 출력의 결과로 전달되는 출력 파라미터 등이 새로 정의될 수 있다.
어플리케이션(30)은 서비스에 가입한 테넌트에게 제공되는 SaaS 어플리케이션 서비스를 의미하며, 어플리케이션(30)은 각각의 테넌트로부터 입력되는 서비스 실행입력을 어플리케이션 실행 플랫폼(40)에 전달한다.
이때, 서비스의 실행을 요청하는 서비스 실행입력은 서비스에 가입된 테넌트를 구별하기 위해 부여되는 테넌트 ID 및 비즈니스 로직을 호출하기 위한 URL 등을 포함할 수 있다.
한편, 이와 같은 서비스 개발도구(10), 서비스 설정도구(20) 및 어플리케이션(30)은 웹 브라우저를 통해 동작하는 웹 어플리케이션 형태로 구현될 수 있다.
어플리케이션 실행 플랫폼(40)은 서비스 개발도구(10), 서비스 설정도구(20) 및 어플리케이션(30)의 동작에 필요한 여러 자원이나 서비스를 제공하는 플랫폼으로서, 웹 어플리케이션 실행 엔진으로 구현될 수 있다.
즉, 서비스 개발도구(10), 서비스 설정도구(20) 및 어플리케이션(30)은 어플리케이션 실행 플랫폼(40)과 클라이언트-서버 관계에 있을 수 있다.
이러한 어플리케이션 실행 플랫폼(40)은 서비스 개발모듈(41), 서비스 설정모듈(42), 디스패처(43), 메타로직 서비스(44), 컴파일러(45), 로더(46) 및 컨테이너(47)를 포함할 수 있다.
서비스 개발모듈(41)은 서비스 개발도구(10)로부터 수신되는 비즈니스 로직을 메타데이터 저장부(50)에 공용 비즈니스 로직으로 저장한다.
즉, 개발자가 서비스 개발도구(10)를 이용하여 개발한 비즈니스 로직은 공용 비즈니스 로직으로 저장되고, 서비스에 가입된 테넌트들에게는 기본적으로 공용 비즈니스 로직을 이용한 서비스가 제공된다.
서비스 설정모듈(42)은 서비스 설정도구(20)로부터 수신되는 수정된 비즈니스 로직을 메타데이터 저장부(50)에 해당 테넌트의 전용 비즈니스 로직으로 저장한다.
즉, 테넌트가 서비스 설정도구(20)를 이용하여 수정한 비즈니스 로직은 해당 테넌트의 전용 비즈니스 로직으로 저장되고, 해당 테넌트에게는 전용 비즈니스 로직을 이용한 서비스가 제공될 수 있다.
어플리케이션 실행 플랫폼(40)의 디스패처(43), 메타로직 서비스(44), 컴파일러(45), 로더(46) 및 컨테이너(47)는 어플리케이션(30)으로부터 서비스 실행을 요청하는 서비스 실행입력이 수신되면, 서비스 실행입력에 따라 메타데이터 저장부(50)에 저장된 공용 비즈니스 로직 또는 전용 비즈니스 로직을 추출하여 요청된 서비스를 실행할 수 있다.
구체적으로, 디스패처(43)는 어플리케이션(30)을 통해 서비스의 실행을 요청하는 서비스 실행입력이 수신되면, 요청된 URL을 분석하여 테넌트 ID와 함께 메타로직서비스(44)로 전달한다.
그러면, 메타로직 서비스(44)는 테넌트 ID에 매칭되는 공용 비즈니스 로직 코드 또는 전용 비즈니스 로직 코드를 메타데이터 저장부(50)로부터 추출하여 컴파일러(45)로 전달한다.
그러면, 컴파일러(45)는 전달된 코드를 클래스로 컴파일하여 로더(46)로 전달하고, 로더(46)는 해당 클래스를 컨테이너(47)로 로딩한다.
컨테이너(47)로 로딩된 클래스는 비즈니스 로직의 SQL을 실행하고, SQL은 어플리케이션 데이터베이스(60)에 질의하여 처리되며, 처리된 결과는 출력 파라미터 형태로 어플리케이션(30)으로 전달되어 요청된 서비스가 실행된다.
메타데이터 저장부(50)는 어플리케이션 실행 플랫폼(40)이 데이터의 저장 및 처리를 위해 접근하는 데이터베이스로서, 공용 비즈니스 로직 및 각각의 테넌트의 전용 비즈니스 로직이 저장될 수 있다.
이때, 공용 비즈니스 로직과 각각의 테넌트의 전용 비즈니스 로직은 메타데이터 저장부(50) 상에서 서로 다른 행에 독립적으로 저장된다.
이와 같이, 공용 비즈니스 로직과 각각의 테넌트의 전용 비즈니스 로직이 메타데이터 저장부(50) 상에서 서로 다른 위치에 독립적으로 저장됨으로써, 특정 테넌트가 비즈니스 로직을 수정하더라도 다른 테넌트의 서비스에 영향을 주지 않을 수 있고, 서비스 배포 후에도 비즈니스 로직을 수정할 수 있다.
도 2는 본 발명의 일 실시예에 따른 멀티테넌시를 지원하는 비즈니스 로직 설정방법에서 서비스 개발도구가 비즈니스 로직을 생성하는 과정을 도시한 순서도이다.
우선, 서비스 개발도구(10)는 개발자로부터 사용자 인터페이스(UI) 코드를 입력받는다(S100).
이렇게 입력되어 생성된 사용자 인터페이스(UI)는 로직은 없고 레이아웃만 있는 상태이므로, 사용자 인터페이스(UI)에 입력될 데이터를 생성하기 위해 비즈니스 로직을 호출해야 한다.
따라서, 서비스 개발도구(10)는 개발자로부터 사용자 인터페이스(UI)에서 호출될 비즈니스 로직의 URL을 입력받는다(S110).
이후, 서비스 개발도구(10)는 비즈니스 로직에 입력되는 입력 파라미터와 비즈니스 로직 실행 후에 출력되는 출력 파라미터 및 비즈니스 로직의 SQL을 차례로 입력받는다(S120~S130).
서비스 개발도구(10)는 이와 같이 입력되는 URL, 입,출력 파라미터 및 SQL을 프로그램 코드화하여 비즈니스 로직 코드를 생성하고, 이를 어플리케이션 실행 플랫폼(40)에 전달한다(S140).
그러면, 어플리케이션 실행 플랫폼(40)은 전달받은 비즈니스 로직 코드를 메타데이터 저장부(50)에 공용 비즈니스 로직으로 저장하게 된다.
도 3은 본 발명의 일 실시예에 따른 멀티테넌시를 지원하는 비즈니스 로직 설정방법에서 서비스 설정도구가 비즈니스 로직을 수정하는 과정을 도시한 순서도이다.
우선, 서비스 설정도구(20)는 현재 접속한 테넌트에게 제공되고 있는 비즈니스 로직의 리스트를 출력한다(S200).
이때, 해당 테넌트가 비즈니스 로직을 수정한 바가 없다면, 비즈니스 로직의 리스트에는 공용 비즈니스 로직만 포함되어 있을 것이고, 테넌트가 이전에 공용 비즈니스 로직을 수정하여 전용 비즈니스 로직을 설정한 바가 있다면, 공용 비즈니스 로직 및 해당 테넌트의 전용 비즈니스 로직이 포함되어 있을 것이다.
이후, 서비스 설정도구(20)는 테넌트로부터 출력된 비즈니스 로직의 리스트 중에서 설정하고자 하는 비즈니스 로직을 선택받는다(S210).
설정하고자 하는 비즈니스 로직이 선택되면, 서비스 설정도구(20)는 수정된 SQL을 입력받는다(S220).
이때, SQL이 수정되면, 비즈니스 로직에 입력되는 입력 파라미터와 비즈니스 로직 실행 후에 출력되는 출력 파라미터도 수정되어야 하기 때문에, 서비스 설정도구(20)는 수정된 입,출력 파라미터를 입력받는다(S230).
서비스 설정도구(20)는 비즈니스 로직이 호출될 URL과 이와 같이 수정된 입,출력 파라미터 및 SQL을 프로그램 코드화하여 비즈니스 로직 코드를 생성하고 이를 어플리케이션 실행 플랫폼(40)에 전달한다(S240).
그러면, 어플리케이션 실행 플랫폼(40)은 전달받은 비즈니스 로직 코드를 메타데이터 저장부(50)에 해당 테넌트의 전용 비즈니스 로직으로 저장하게 된다.
이와 같이, 서비스에 가입된 각각의 테넌트가 서비스 설정도구(20)를 통해 비즈니스 로직을 설정할 수 있으므로 각각의 테넌트는 비즈니스 로직을 필요한 형태로 수정하여 사용할 수 있다.
도 4는 본 발명의 일 실시예에 따른 멀티테넌시를 지원하는 비즈니스 로직 설정방법의 동작 흐름을 도시한 순서도로서, 이를 참조하여 본 발명의 구체적인 동작을 설명한다.
어플리케이션 실행 플랫폼(40)은 서비스 개발도구(10)로부터 수신되는 비즈니스 로직을 메타데이터 저장부(50)에 공용 비즈니스 로직으로 저장한다(S300).
이후, 어플리케이션 실행 플랫폼(40)은 특정 테넌트의 서비스 설정도구(20)로부터 수정된 비즈니스 로직이 수신되는지 확인한다(S310).
만약, 서비스 설정도구(20)로부터 수정된 비즈니스 로직이 수신되면, 어플리케이션 실행 플랫폼(40)은 수정된 비즈니스 로직을 메타데이터 저장부(50) 상에서 공용 비즈니스 로직과 다른 행에 저장한다(S320).
즉, 어플리케이션 실행 플랫폼(40)은 공용 비즈니스 로직을 수정하지 않은 다른 테넌트의 서비스에 영향을 주지 않기 위해 공용 비즈니스 로직과 특정 테넌트의 전용 비즈니스 로직을 별도로 저장한다.
또한, 어플리케이션 실행 플랫폼(40)은 이와 같은 특정 테넌트의 전용 비즈니스 로직을 특정 테넌트의 테넌트 ID에 대응되게 저장할 수 있다.
예를 들어, 공용 비즈니스 로직을 사용하는 테넌트 ID를 '0'이라 하고, 공용 비즈니스 로직이 저장된 행의 ID를 '1' 이라 하면, 수정된 비즈니스 로직을 사용하는 테넌트 ID는 '100'으로, 수정된 비즈니스 로직이 저장되는 행의 ID는 '2'와 같이 설정될 수 있다.
이와 같이, 특정 테넌트에 의해 수정된 비즈니스 로직이 개발자가 개발한 공용 비즈니스 로직과 독립적으로 저장되므로, 각 테넌트는 서비스 배포 후에도 다른 테넌트의 서비스에 영향을 주지 않고 비즈니스 로직을 수정할 수 있다.
또한, 비즈니스 로직 설정 시에 개발자를 참여시키지 않아도 되므로 서비스 제공자는 유지 보수 비용을 절감할 수 있으며, 하나의 플랫폼을 통해 다수의 테넌트에 서비스를 제공할 수 있으므로 자원의 효율성을 높일 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며 당해 기술이 속하는 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의하여 정해져야할 것이다.
10 : 서비스 개발도구
20 : 서비스 설정도구
30 : 어플리케이션
40 : 어플리케이션 실행 플랫폼
41 : 서비스 개발모듈 42 : 서비스 설정모듈
43 : 디스패처 44 : 메타로직 서비스
45 : 컴파일러 46 : 로더
47 : 컨테이너
50 : 메타데이터 저장부
60 : 어플리케이션 데이터베이스

Claims (7)

  1. 어플리케이션 실행 플랫폼이 서비스 개발도구로부터 수신되는 비즈니스 로직을 메타데이터 저장부에 공용 비즈니스 로직으로 저장하는 단계;
    상기 어플리케이션 실행 플랫폼이 테넌트의 서비스 설정도구로부터 수정된 비즈니스 로직이 수신되는지 확인하는 단계; 및
    상기 수정된 비즈니스 로직이 수신되면, 상기 어플리케이션 실행 플랫폼이 상기 수정된 비즈니스 로직을 상기 메타데이터 저장부에 상기 테넌트의 전용 비즈니스 로직으로 저장하는 단계를 포함하는 멀티테넌시를 지원하는 비즈니스 로직 설정방법.
  2. 제 1항에 있어서, 상기 테넌트의 전용 비즈니스 로직으로 저장하는 단계에서
    상기 테넌트의 전용 비즈니스 로직은 상기 공용 비즈니스 로직과 독립적으로 저장되는 것을 특징으로 하는 멀티테넌시를 지원하는 비즈니스 로직 설정방법.
  3. 제 2항에 있어서, 상기 테넌트의 전용 비즈니스 로직으로 저장하는 단계에서
    상기 테넌트의 전용 비즈니스 로직은 상기 테넌트의 테넌트 ID에 대응되게 저장되는 것을 특징으로 하는 멀티테넌시를 지원하는 비즈니스 로직 설정방법.
  4. 제 1항에 있어서, 상기 테넌트의 전용 비즈니스 로직으로 저장하는 단계 이후에
    상기 어플리케이션 실행 플랫폼이 어플리케이션으로부터 서비스의 실행을 요청하는 서비스 실행입력이 수신되는지 확인하는 단계;
    상기 서비스 실행입력이 수신되면, 상기 어플리케이션 실행 플랫폼이 상기 서비스 실행입력에 따라 상기 메타데이터 저장부에 저장된 비즈니스 로직을 추출하는 단계; 및
    상기 어플리케이션 실행 플랫폼이 상기 추출된 비즈니스 로직을 수행하여 서비스를 실행하는 단계를 더 포함하는 것을 특징으로 하는 멀티테넌시를 지원하는 비즈니스 로직 설정방법.
  5. 제 4항에 있어서, 상기 서비스 실행입력은 상기 테넌트의 테넌트 ID 및 상기 메타데이터 저장부에 저장된 비즈니스 로직을 호출하기 위한 URL(Uniform Resource Locator)을 포함하는 것을 특징으로 하는 멀티테넌시를 지원하는 비즈니스 로직 설정방법.
  6. 제 5항에 있어서, 상기 메타데이터 저장부에 저장된 비즈니스 로직을 추출하는 단계는
    상기 어플리케이션 실행 플랫폼이 상기 테넌트 ID에 따라 상기 공용 비즈니스 로직 또는 상기 테넌트에 대한 전용 비즈니스 로직을 추출하는 것을 특징으로 하는 멀티테넌시를 지원하는 비즈니스 로직 설정방법.
  7. 제 5항에 있어서, 상기 추출된 비즈니스 로직을 수행하여 서비스를 실행하는 단계는
    상기 추출된 비즈니스 로직의 SQL(Structured Query Language)을 어플리케이션 데이터베이스에 질의하여 상기 서비스를 실행하는 것을 특징으로 하는 멀티테넌시를 지원하는 비즈니스 로직 설정방법.
KR1020110102600A 2011-07-10 2011-10-07 멀티테넌시를 지원하는 비즈니스 로직 설정방법 KR20130037995A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110102600A KR20130037995A (ko) 2011-10-07 2011-10-07 멀티테넌시를 지원하는 비즈니스 로직 설정방법
US13/608,719 US20130014082A1 (en) 2011-07-10 2012-09-10 Method of configuring business logic supporting multi-tenancy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110102600A KR20130037995A (ko) 2011-10-07 2011-10-07 멀티테넌시를 지원하는 비즈니스 로직 설정방법

Publications (1)

Publication Number Publication Date
KR20130037995A true KR20130037995A (ko) 2013-04-17

Family

ID=47439437

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110102600A KR20130037995A (ko) 2011-07-10 2011-10-07 멀티테넌시를 지원하는 비즈니스 로직 설정방법

Country Status (2)

Country Link
US (1) US20130014082A1 (ko)
KR (1) KR20130037995A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160081822A (ko) * 2014-12-30 2016-07-08 주식회사 유엔진클라우드 클라우드 컴퓨팅 기반의 해운 항만 물류 서비스 플랫폼 구축 장치 및 방법
KR101877828B1 (ko) * 2018-02-26 2018-08-08 주식회사 리앙커뮤니케이션즈 인공지능 기반의 사용자 인터페이스 통합 플랫폼 시스템

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9391972B2 (en) 2014-09-12 2016-07-12 Oracle International Corporation Multi-tenant application using hierarchical bean factory container
US9934019B1 (en) * 2014-12-16 2018-04-03 Amazon Technologies, Inc. Application function conversion to a service
CN104572131A (zh) * 2015-02-04 2015-04-29 浪潮软件股份有限公司 一种业务表单配置的方法和装置
US10942900B2 (en) 2015-06-02 2021-03-09 Oracle International Corporation Techniques for tenant controlled visualizations and management of files in cloud storage systems
CN114675896A (zh) * 2020-12-24 2022-06-28 广东飞企互联科技股份有限公司 一种面向微服务开发的参数配置方法与系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327351B2 (en) * 2009-04-30 2012-12-04 Sap Ag Application modification framework

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160081822A (ko) * 2014-12-30 2016-07-08 주식회사 유엔진클라우드 클라우드 컴퓨팅 기반의 해운 항만 물류 서비스 플랫폼 구축 장치 및 방법
KR101877828B1 (ko) * 2018-02-26 2018-08-08 주식회사 리앙커뮤니케이션즈 인공지능 기반의 사용자 인터페이스 통합 플랫폼 시스템

Also Published As

Publication number Publication date
US20130014082A1 (en) 2013-01-10

Similar Documents

Publication Publication Date Title
US11789715B2 (en) Systems and methods for transformation of reporting schema
US9952856B2 (en) Deploying mobile applications in a collaborative cloud environment
KR20130037995A (ko) 멀티테넌시를 지원하는 비즈니스 로직 설정방법
US9916137B2 (en) Rest service source code generation
US10481884B2 (en) Systems and methods for dynamically replacing code objects for code pushdown
US8572566B2 (en) Systems and methods for analyzing changes in application code from a previous instance of the application code
CA3096768A1 (en) System and method for automated microservice source code generation and deployment
US8630969B2 (en) Systems and methods for implementing business rules designed with cloud computing
US20170255886A1 (en) Workflow execution
US20110282995A1 (en) Systems and methods for dynamically deploying an application transformation tool over a network
US9134965B2 (en) Method for developing software and system therefor
JP2018530070A (ja) クラウドベースのコンピューティング環境上の基盤を構築、最適化及び実施するシステム及び方法
US11561784B2 (en) Versioning of pipeline templates for continuous delivery of services on datacenters configured in cloud platforms
US8335773B2 (en) Stable linking and patchability of business processes through hierarchical versioning
CN108255708B (zh) 测试环境中访问生产文件的方法、装置、存储介质及设备
CN110659018B (zh) 一种流程引擎实现方法及装置
JP6881948B2 (ja) 製品ライフサイクル管理(plm)システムとソースコード管理(scm)システムとの間のデータの双方向同期
US20220236975A1 (en) Optimized compilation of pipelines for continuous delivery of services on datacenters configured in cloud platforms
CN108810164A (zh) 一种支持SaaS应用流程按需定制及运行的装置
US9141517B2 (en) Public solution model test automation framework
US20160085544A1 (en) Data management system
US11570183B2 (en) Tenant grouping for secure transport of content
US20140372488A1 (en) Generating database processes from process models
Rodríguez-Echeverría et al. Generating a rest service layer from a legacy system
Shi et al. Integrated Architecture for Web Application Development Based on Spring Framework and Activiti Engine

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid