KR20130037995A - 멀티테넌시를 지원하는 비즈니스 로직 설정방법 - Google Patents
멀티테넌시를 지원하는 비즈니스 로직 설정방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
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
본 발명은 멀티테넌시를 지원하는 비즈니스 로직 설정방법에 관한 것으로서, 더욱 상세하게는 멀티테넌시를 지원하는 온라인 어플리케이션 제공 환경에서 특정 테넌트가 다른 테넌트의 서비스 사용에 영향을 주지 않으면서 비즈니스 로직을 수정할 수 있는 멀티테넌시를 지원하는 비즈니스 로직 설정방법에 관한 것이다.
최근에 인터넷상의 서버를 통하여 데이터를 저장하고, 컨텐츠를 이용할 수 있는 클라우드 컴퓨팅 시스템이 확산됨에 따라 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는 본 발명의 일 실시예에 따른 멀티테넌시를 지원하는 비즈니스 로직 설정방법의 동작 흐름을 도시한 순서도이다.
도 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 : 어플리케이션 데이터베이스
20 : 서비스 설정도구
30 : 어플리케이션
40 : 어플리케이션 실행 플랫폼
41 : 서비스 개발모듈 42 : 서비스 설정모듈
43 : 디스패처 44 : 메타로직 서비스
45 : 컴파일러 46 : 로더
47 : 컨테이너
50 : 메타데이터 저장부
60 : 어플리케이션 데이터베이스
Claims (7)
- 어플리케이션 실행 플랫폼이 서비스 개발도구로부터 수신되는 비즈니스 로직을 메타데이터 저장부에 공용 비즈니스 로직으로 저장하는 단계;
상기 어플리케이션 실행 플랫폼이 테넌트의 서비스 설정도구로부터 수정된 비즈니스 로직이 수신되는지 확인하는 단계; 및
상기 수정된 비즈니스 로직이 수신되면, 상기 어플리케이션 실행 플랫폼이 상기 수정된 비즈니스 로직을 상기 메타데이터 저장부에 상기 테넌트의 전용 비즈니스 로직으로 저장하는 단계를 포함하는 멀티테넌시를 지원하는 비즈니스 로직 설정방법.
- 제 1항에 있어서, 상기 테넌트의 전용 비즈니스 로직으로 저장하는 단계에서
상기 테넌트의 전용 비즈니스 로직은 상기 공용 비즈니스 로직과 독립적으로 저장되는 것을 특징으로 하는 멀티테넌시를 지원하는 비즈니스 로직 설정방법.
- 제 2항에 있어서, 상기 테넌트의 전용 비즈니스 로직으로 저장하는 단계에서
상기 테넌트의 전용 비즈니스 로직은 상기 테넌트의 테넌트 ID에 대응되게 저장되는 것을 특징으로 하는 멀티테넌시를 지원하는 비즈니스 로직 설정방법.
- 제 1항에 있어서, 상기 테넌트의 전용 비즈니스 로직으로 저장하는 단계 이후에
상기 어플리케이션 실행 플랫폼이 어플리케이션으로부터 서비스의 실행을 요청하는 서비스 실행입력이 수신되는지 확인하는 단계;
상기 서비스 실행입력이 수신되면, 상기 어플리케이션 실행 플랫폼이 상기 서비스 실행입력에 따라 상기 메타데이터 저장부에 저장된 비즈니스 로직을 추출하는 단계; 및
상기 어플리케이션 실행 플랫폼이 상기 추출된 비즈니스 로직을 수행하여 서비스를 실행하는 단계를 더 포함하는 것을 특징으로 하는 멀티테넌시를 지원하는 비즈니스 로직 설정방법.
- 제 4항에 있어서, 상기 서비스 실행입력은 상기 테넌트의 테넌트 ID 및 상기 메타데이터 저장부에 저장된 비즈니스 로직을 호출하기 위한 URL(Uniform Resource Locator)을 포함하는 것을 특징으로 하는 멀티테넌시를 지원하는 비즈니스 로직 설정방법.
- 제 5항에 있어서, 상기 메타데이터 저장부에 저장된 비즈니스 로직을 추출하는 단계는
상기 어플리케이션 실행 플랫폼이 상기 테넌트 ID에 따라 상기 공용 비즈니스 로직 또는 상기 테넌트에 대한 전용 비즈니스 로직을 추출하는 것을 특징으로 하는 멀티테넌시를 지원하는 비즈니스 로직 설정방법.
- 제 5항에 있어서, 상기 추출된 비즈니스 로직을 수행하여 서비스를 실행하는 단계는
상기 추출된 비즈니스 로직의 SQL(Structured Query Language)을 어플리케이션 데이터베이스에 질의하여 상기 서비스를 실행하는 것을 특징으로 하는 멀티테넌시를 지원하는 비즈니스 로직 설정방법.
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327351B2 (en) * | 2009-04-30 | 2012-12-04 | Sap Ag | Application modification framework |
-
2011
- 2011-10-07 KR KR1020110102600A patent/KR20130037995A/ko not_active Application Discontinuation
-
2012
- 2012-09-10 US US13/608,719 patent/US20130014082A1/en not_active Abandoned
Cited By (2)
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 |