KR101078227B1 - Method and server system providing specialized logic to each user - Google Patents

Method and server system providing specialized logic to each user Download PDF

Info

Publication number
KR101078227B1
KR101078227B1 KR1020110064038A KR20110064038A KR101078227B1 KR 101078227 B1 KR101078227 B1 KR 101078227B1 KR 1020110064038 A KR1020110064038 A KR 1020110064038A KR 20110064038 A KR20110064038 A KR 20110064038A KR 101078227 B1 KR101078227 B1 KR 101078227B1
Authority
KR
South Korea
Prior art keywords
service
user
standard
specialized
server
Prior art date
Application number
KR1020110064038A
Other languages
Korean (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 KR1020110064038A priority Critical patent/KR101078227B1/en
Priority to PCT/KR2011/005081 priority patent/WO2013002445A1/en
Application granted granted Critical
Publication of KR101078227B1 publication Critical patent/KR101078227B1/en

Links

Images

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE: A method and server system for providing a specialized logic to each user is provided to offer a customized logic by each user according to the demand of a user while maintaining a basic or standard service. CONSTITUTION: A standard module is called through a basic process which is commonly equipped by user systems. The standard module offers a standard service(40) which is commonly offered to all users as a ready-made articles. If a call request which is not embodied in the standard service is received from a user system through the call function of the standard service, a specialized module offers the customized service(50).

Description

사용자별로 특화된 로직을 제공하는 방법 및 서버시스템{Method and server system providing specialized logic to each user}Method and server system providing specialized logic to each user

본 발명은, 사용자별로 특화된 프로세스 로직을 제공하는 방법 및 서버시스템에 관한 것으로서, 보다 상세히는, 로컬자원으로서 사용자의 시스템이 공통으로 갖추고 있는 기본프로세스에 의하여 호출되면, 서버로부터 서버자원으로서 모든 사용자에게 공통으로 제공되는 표준서비스 이외에, 사용자의 개별적 요청에 의하여 이 표준서비스에 의하여 호출되면, 서버로부터 서버자원으로서 그 특정 사용자에게만 특별히 제공되는 특화서비스를 제공할 수 있도록 구성된 방법 및 서버시스템에 관한 것이다.The present invention relates to a method and a server system for providing user-specific process logic. More specifically, the present invention relates to all users as a server resource from a server when called by a basic process common to a user's system as a local resource. In addition to the standard services commonly provided, the present invention relates to a method and a server system configured to provide specialized services specifically provided only to that specific user as a server resource from a server when called by the user's individual request.

일반적으로, 모든 사용자들에게 동일한 프로그램을 이용하도록 하는 기성품 프로그램의 제공방식이 있다. 이는, 프로그램 제공업자가 만든 프로그램을 사용자의 시스템, 즉 컴퓨터 등의 정보기기에 설치하여, 그 사용자의 시스템에서만 사용하도록 하는 방식이다. 그런데, 이런 스탠드얼론 프로그램은, 다양한 사용자의 요구를 충족시키지 못한다.In general, there is a way of providing off-the-shelf programs that require all users to use the same program. This is a method in which a program created by a program provider is installed in a user's system, that is, an information device such as a computer, and used only by the user's system. However, such standalone programs do not meet the needs of various users.

그래서, 이에 대한 보완으로서, 대표적인 사용자의 요구에 따라서, 하나의 프로그램에 대하여 여러 가지 버전을 제공하는 기성품 프로그램의 제공방식이 출현하였다. 즉, 기본 틀을 유지하면서, 몇 가지 변형을 제공하여, 사용자가 요구에 따라서 선택할 수 있도록 하는 방식이다. 그런데, 이것도 역시 기성품이기 때문에, 더욱 세분화된 요구까지는 만족시키지 못한다는 태생적 한계를 가진다.Thus, as a supplement to this, a method of providing a ready-made program for providing various versions of one program has appeared in accordance with a typical user's request. In other words, while maintaining the basic framework, some modifications are provided so that the user can select them according to their needs. However, because this is also a ready-made product, it has a natural limitation that it cannot satisfy even more detailed requirements.

한편, 통신기술의 발전에 힘입어, 서버에서 프로그램의 기능을 하는 서비스를 제공할 수 있게 되었다. 이 방식 역시, 처음에는 모든 사용자들에게 동일한 서비스를 제공하도록 하는 것이어서, 다양한 사용자의 요구를 충족시키지 못하였다. 예컨대 온라인 포털사이트 등 현재의 대부분의 인터넷 서비스가 그 예이다.On the other hand, thanks to the development of communication technology, it is possible to provide a service that functions as a program in a server. This approach, too, initially provided all users with the same service, which did not meet the needs of various users. For example, most current Internet services, such as online portal sites.

그래서, 이에 대한 보완으로서, 대표적인 사용자의 요구에 따라서, 하나의 서비스에 대하여 여러 가지 버전을 제공하는 서비스의 제공방식이 출현하였다. 즉, 기본 틀을 유지하면서, 몇 가지 변형을 제공하여, 사용자가 요구에 따라서 선택할 수 있도록 하는 방식이다. 이러한 예는 많지 않으나, 예컨대, 은행 사이트의 개인용 서비스와 기업용 서비스의 제공이 그 예라고 볼 수도 있다. 그런데, 이것도 역시 기성품이기 때문에, 더욱 세분화된 요구까지는 만족시키지 못한다는 태생적 한계를 가진다.Therefore, as a supplement to this, a service providing method of providing various versions of one service has appeared according to a typical user's request. In other words, while maintaining the basic framework, some modifications are provided so that the user can select them according to their needs. There are not many such examples, but for example, the provision of personal services and corporate services at a bank site may be considered as an example. However, because this is also a ready-made product, it has a natural limitation that it cannot satisfy even more detailed requirements.

이러한 문제에 대한 해결의 노력으로서, 특허문헌 1에는, ‘컴퓨터 시스템에서, 네트워크-기반 서비스를 기술하는 추상적 서비스 기술(abstract service description)을 생성하는 방법으로서, 명시된 프로그래밍 모델에 따라 서비스를 구현하기 위한 서비스 유형 - 상기 서비스 유형은 컴파일된 소스 코드를 포함함 -, 및 대응하는 서비스 구성을 액세스하는 단계; 상기 명시된 프로그래밍 모델에 기초하여 상기 서비스를 기술하는 기술 정보(description information)를 식별하기 위해 상기 서비스 유형 및 대응하는 서비스 구성을 파스(parse)하는 단계; 및 상기 식별된 기술 정보에 기초하여 상기 서비스를 위한 서비스 기술 트리를 생성하는 단계를 포함하고, 상기 서비스 기술 트리의 형식은 임의의 프로그래밍 모델에 독립적이고, 한 개 이상의 다른 변환 모듈들이 다른 형식들로 상기 서비스의 추가 표현들을 생성하기 위해 상기 서비스 기술 트리를 사용할 수 있도록, 상기 서비스 기술 트리가 사용되는 방법.’이 개시된 바 있다. 이 종래기술은, 서비스 기술 트리를 생성하고, 서비스 구성을 파스하며, 추상적 서비스 기술(description)을 생성하는 방법이다.In an effort to solve this problem, Patent Document 1 discloses, in a computer system, a method of generating an abstract service description describing a network-based service, for implementing a service according to a specified programming model. Service type, the service type comprising compiled source code, and accessing a corresponding service configuration; Parsing the service type and corresponding service configuration to identify description information describing the service based on the specified programming model; And generating a service description tree for the service based on the identified description information, wherein the format of the service description tree is independent of any programming model and one or more other transform modules are in different formats. And how the service description tree is used so that the service description tree can be used to generate additional representations of the service. This prior art is a method of generating a service description tree, parsing the service configuration, and generating an abstract service description.

한편, 특허문헌 2에는, ‘웹 페이지를 생성하기 위해 사용되는 컴포넌트 기반의 자바 웹 애플리케이션 개발 프레임워크에 있어서, 사용자의 요청에 따라, 비즈니스 객체(BO: Business Object)의 메소드를 수행하고 상기 수행 결과를 반환하는 런타임 엔진, 상기 비즈니스 객체의 메소드의 수행 전에 사용자 입력 값의 전처리를 수행하고, 상기 비즈니스 객체의 메소드의 수행 후에 상기 수행 결과를 가공하는 후처리를 수행하며, 유저 인터페이스 객체(UIO: User Interface Object)를 동적으로 배치하는 스크립트 콤포넌트 및 상기 프레임워크의 초기화 작업을 수행하고, 상기 사용자의 요청이 상기 프레임워크에서 처리가 가능한 요청인지를 확인하는 코어 콤포넌트를 포함하는 웹 애플리케이션 개발 프레임워크.’이 개시된 바 있다. 이 종래기술은, 필터체인 개념 중의 선후처리 개념으로 파악되고, 필터체인은 특정 위치(선후 위치)에만 코드를 주입할 수 있으며, 스크립트 콤포넌트가 유저 인터페이스 객체를 동적으로 배치하고, 코어 콤포넌트가 처리 가능한 요청인지 확인하며, 애플리케이션 개발 프레임워크에 관한 것이다.On the other hand, Patent Document 2, 'In the component-based Java web application development framework used to generate a web page, according to the user's request, performing the method of the business object (BO: Business Object) and the execution result A runtime engine that returns a value, performs a preprocessing of a user input value before performing a method of the business object, and performs a postprocessing of processing the result after performing the method of the business object, and a user interface object (UIO: User). A web application development framework including a script component for dynamically disposing an interface object) and a core component for performing initialization of the framework and checking whether the user's request is a request that can be processed by the framework. This has been disclosed. This prior art is understood as a post-processing concept in the filter chain concept, and the filter chain can inject code only at a specific position (post-post position), and a script component can dynamically place a user interface object and a core component can process it. It is a request, and it is about the application development framework.

특허공개 10-2006-0089616호 공보Patent Publication No. 10-2006-0089616 특허공개 10-2010-0056938호 공보Patent Publication No. 10-2010-0056938

특허문헌 1의 종래기술은, 서비스 기술 트리를 생성하고, 서비스 구성을 파스하며, 추상적 서비스 기술(description)을 생성하는 방법이므로, 원래 기본적으로 주어졌던 서비스 기술 트리를 추상화하는 처리방식에 불과하고, 시스템관리자에 의하여 시스템의 추상화를 수행하는 것을 상정한 것이다. 따라서, 사용자별 요구에 따라 사용자가 요청하는 사용자별 특화된 서비스 로직을 제공하는 기술이 아니다.Since the prior art of Patent Document 1 is a method of generating a service description tree, parsing a service configuration, and generating an abstract service description, it is merely a processing method of abstracting a service description tree that was originally given. It is assumed that the administrator will perform the abstraction of the system. Therefore, it is not a technology for providing user-specific service logic requested by a user according to a user-specific request.

또한, 특허문헌 2의 종래기술은, 필터체인 개념 중의 선후처리 개념으로 파악되고, 필터체인은 특정 위치(선후 위치)에만 코드를 주입할 수 있으며, 스크립트 콤포넌트가 유저 인터페이스 객체를 동적으로 배치하고, 코어 콤포넌트가 처리 가능한 요청인지 확인하며, 애플리케이션 개발 프레임워크에 관한 것에 불과하다. 따라서, 애플리케이션이 개발되고 배포된 후에도 유연하게 사용자별 요구에 따라 용이하게 사용자가 요청하는 사용자별 특화된 서비스 로직을 제공할 수 있도록 하는 기술이 아니다.Moreover, the prior art of patent document 2 is grasped as the post-processing concept in the filter chain concept, a filter chain can inject code only in a specific position (post-post position), a script component arranges a user interface object dynamically, It checks to see if the core component is a request that can be handled, it's just about the application development framework. Therefore, even after the application is developed and distributed, it is not a technology that provides a user-specific service logic that is flexibly requested by a user according to user needs.

따라서, 다양한 요구를 가지는 사용자들에게 서비스가 이미 제공되고 있는 상황에 있더라도, 기본프로세스나 표준서비스를 그대로 유지한 채, 사용자의 요구에 따라서 사용자별로 특화된 로직을 더욱 제공할 수 있는 기술의 출현이 기대된다.Therefore, even if the service is already provided to users with various needs, the emergence of a technology that can further provide user-specific logic according to the user's needs while maintaining the basic process or the standard service is expected. do.

상기 과제를 해결하기 위한 본 발명의 사용자별로 특화된 로직을 제공하는 방법은, 서버자원을 가지는 서버가, 로컬자원을 가지는 사용자의 시스템에, 사용자별로 특화된 로직을 제공하는 방법에 있어서, 상기 사용자의 시스템들이 공통으로 갖추고 있는 기본프로세스에 의하여 호출됨으로써, 상기 서버로부터 모든 사용자들에게 공통으로 제공되는 표준서비스를 제공하는 표준단계와, 상기 표준서비스 내에 미리 포함되어 있는 호출기능을 이용한 사용자의 특화서비스 호출요청이 수신되면, 상기 특화서비스 호출요청을 발신한 사용자의 시스템에만 상기 서버로부터 특별히 제공되는 특화서비스를 제공하는 특화단계와, 상기 특화서비스의 제공이 종료되면, 상기 호출요청이 발생에 의하여 일시중지되었던 상기 표준서비스를 이어서 수행하는 속행단계를 구비함을 특징으로 한다.The method for providing user-specific logic of the present invention for solving the above problems is, in a method in which a server having a server resource provides a user-specific logic to a system of a user having a local resource, the system of the user Called by the basic process that they have in common, the standard step to provide a standard service commonly provided to all users from the server, and the user's special service call request using the call function previously included in the standard service Is received, a special step of providing a special service specially provided from the server only to the system of the user who has sent the special service call request; and when the provision of the special service is terminated, the call request has been suspended due to occurrence. Continue to carry out the standard service Characterized in having a step .

여기서, 상기 특화서비스 호출요청에는, 미리 정해져 있는 특화서비스 아이디와 인수가 포함되어 있고, 상기 서버는, 상기 특화서비스 아이디에 의하여 특정되는 특화서비스를 저장소에 로딩하고, 상기 인수를 전달하여 상기 특화서비스를 실행함이 바람직하다.The special service call request includes a predetermined special service ID and an argument, and the server loads the special service specified by the special service ID into a storage and transfers the argument to the special service. It is preferable to execute.

그리고, 상기 특화단계에서 상기 표준서비스의 상기 특화서비스 호출요청에 필요한 정보는, 상기 표준단계에서 상기 기본프로세스가 상기 표준서비스를 호출할 때에 상기 표준서비스에 미리 전달됨이 바람직하다.The information required for the special service call request of the standard service in the specialization step is preferably transmitted to the standard service in advance when the basic process calls the standard service in the standard step.

또한, 상기 특화단계는, 상기 특화서비스를 수행하도록 특화된 비즈니스 로직을 수행하는 메소드가 구비된 빈(Bean)객체를 실행하는 빈객체 실행단계와, 상기 속행단계에서 수행할 상기 표준서비스에서 이용될 리턴값을 리턴클래스에 입력한 후 리턴하는 리턴클래스 입력단계를 구비함이 바람직하다.In addition, the specialized step may include a bean object execution step of executing a bean object having a method for executing business logic specialized to perform the specialized service, and a return to be used in the standard service to be performed in the subsequent step. It is desirable to have a return class input step of returning a value to the return class.

여기서, 상기 빈객체 실행단계는, 상기 빈객체가 저장소에 로딩되어 있는지를 검사하는 로딩검사단계와, 상기 빈객체가 로딩되어 있지 않으면, 등록용 XML파일을 로드하여, 빈객체와 리턴클래스를 생성 및 저장하는 생성단계를 구비함이 바람직하다.Here, the empty object execution step includes a loading inspection step of checking whether the empty object is loaded in the storage, and if the empty object is not loaded, loads an XML file for registration to generate an empty object and a return class. And generating step of storing.

여기서, 상기 생성단계는, 상기 등록용 XML파일을 XML파서가 파싱하여, 상기 등록용 XML파일에 특정되어 있는 리소스를 참조한 후, 빈생성객체를 호출하여, 빈클래스를 객체화시키고, 리턴클래스를 자바소스파일로 생성함이 바람직하다.Here, in the generating step, an XML parser parses the registration XML file, refers to a resource specified in the registration XML file, calls a bean generation object to object the bean class, and returns a return class in Java. It is preferable to create a source file.

또한, 여기서, 상기 빈생성객체는, 테이블 메타정보를 체크하여, 테이블 스키마를 이용할 수 없으면, 상기 리소스의 리턴클래스를 소스파일로 생성하고, 테이블 스키마를 이용할 수 있으면, 테이블 메타정보와 상기 등록용 XML파일에 정의된 리턴클래스 정보를 통합하여, 리턴클래스를 소스파일로 생성함이 바람직하다.Here, the bean generation object checks the table meta information, and if the table schema is not available, generates the return class of the resource as a source file, and if the table schema is available, the table meta information and the registration object. It is preferable to generate the return class as a source file by integrating the return class information defined in the XML file.

한편, 상기 과제를 해결하기 위한 본 발명의 사용자별로 특화된 로직을 제공하는 서버시스템은, 서버자원을 가지는 서버가, 로컬자원을 가지는 사용자의 시스템에, 사용자별로 특화된 로직을 제공하는 서버시스템에 있어서, 상기 사용자의 시스템들이 공통으로 갖추고 있는 기본프로세스에 의하여 호출됨으로써, 상기 서버로부터 모든 사용자들에게 공통으로 제공되는 표준서비스를 제공하는 표준모듈과, 상기 표준서비스 내에 미리 포함되어 있는 호출기능을 이용한 사용자의 특화서비스 호출요청이 수신되면, 상기 특화서비스 호출요청을 발신한 사용자의 시스템에만 상기 서버로부터 특별히 제공되는 특화서비스를 제공하는 특화모듈과, 상기 특화서비스의 제공이 종료되면, 상기 호출요청이 발생에 의하여 일시중지되었던 상기 표준서비스를 이어서 수행하는 속행모듈을 구비함을 특징으로 한다.On the other hand, the server system for providing the user-specific logic of the present invention for solving the above problems, in the server system for providing a server-specific logic to the user's system having a server, the server having the server resources, Called by the basic process common to the system of the user, the standard module for providing a standard service commonly provided to all users from the server, and the user of the user using the call function previously included in the standard service When a special service call request is received, a special module for providing a special service specially provided from the server only to the system of the user who sent the special service call request, and when the provision of the special service is terminated, the call request is generated. This standard service was suspended by It is characterized by having a follow-up module to perform.

본 발명에 의하면, 다양한 요구를 가지는 사용자들에게 서비스가 이미 제공되고 있는 상황에 있더라도, 기본프로세스나 표준서비스를 그대로 유지한 채, 사용자의 요구에 따라서 사용자별로 특화된 로직을 더욱 제공할 수 있는 기술이 제공된다.According to the present invention, even in a situation where a service is already provided to users having various needs, a technology capable of further providing user-specific logic according to a user's request while maintaining a basic process or a standard service is provided. Is provided.

도 1은, 본 발명의 사용자별로 특화된 로직을 제공하는 방법이 구현되는 서버시스템의 블럭구성도이다.
도 2는, 각각, (a) 사용자의 시스템에 설치되어 실행되는 기본프로세스를 구현하는 기본로직, (b) 서버에서 모든 사용자들에게 공통으로 제공되는 표준서비스를 구현하는 표준로직, (c) 서버에서 호출요청을 발신한 사용자에게만 특별히 제공되는 특화서비스를 구현하는 특화로직의 블럭구성도이다.
도 3은, 본 발명의 사용자별로 특화된 로직을 제공하는 방법의 전체 플로챠트이다.
도 4는, 도 3의 빈생성/등록/리턴클래스 생성단계(S50)의 예시적 세부플로챠트이다.
1 is a block diagram of a server system in which a method for providing user-specific logic of the present invention is implemented.
2 shows, respectively, (a) a basic logic implementing a basic process installed and executed in a user's system, (b) a standard logic implementing a standard service commonly provided to all users in a server, and (c) a server. Is a block diagram of specialized logic that implements specialized services that are specifically provided only to the user who sent the call request.
3 is an overall flowchart of a method for providing user-specific logic of the present invention.
FIG. 4 is an exemplary detailed flowchart of the bin generation / registration / return class generation step S50 of FIG. 3.

이하, 첨부도면을 참조하면서, 본 발명의 사용자별로 특화된 로직을 제공하는 방법 및 서버시스템에 대하여 상세히 설명한다.Hereinafter, a method and a server system for providing user-specific logic of the present invention will be described in detail with reference to the accompanying drawings.

도 1은, 본 발명의 사용자별로 특화된 로직을 제공하는 방법이 구현되는 서버시스템의 블럭구성도이다.1 is a block diagram of a server system in which a method for providing user-specific logic of the present invention is implemented.

도시된 바와 같이, 본 발명의 서버시스템은, 서버자원을 가지는 서버(30)가, 로컬자원을 가지는 사용자의 시스템(10, 20)에, 사용자별로 특화된 특화로직(51, 52)을 제공하는 서버시스템에 관한 것이다. 상기 서버(30)와 사용자의 시스템(10, 20)은, 데이터통신이 가능한 네트워크, 예컨대 인터넷에 의하여 연결되도록 구성될 수 있다.As shown, the server system of the present invention is a server in which the server 30 having server resources provides specialized logics 51 and 52 specialized for each user to the systems 10 and 20 of users having local resources. It is about the system. The server 30 and the user's systems 10 and 20 may be configured to be connected by a network capable of data communication, for example, the Internet.

상기 본 발명의 서버시스템은, 사용자의 시스템(10, 20)에 구비되는 기성품이고 로컬자원인 기본프로세스를 구현하는 프로그램모듈인 기본로직(11, 12, 21, 22)을 하나의 구성요소로 한다. 그러나, 단순히 이것만을 가지는 스탠드얼론 방식의 서비스 프로그램 제공방식이 아니다. The server system of the present invention includes a basic logic 11, 12, 21, 22, which is a ready-made product provided in the user's system 10, 20, and a program module for implementing a basic process, which is a local resource, as one component. . However, it is not simply a standalone service program providing method having only this.

또한, 상기 본 발명의 서버시스템은, 서버(30)에 구비되는 기성품이고 서버자원인 표준서비스(40)를 구현하는 프로그램모듈인 표준로직(41, 42)을 하나의 구성요소로 한다. 그러나, 단순히 이것만을 제공하는 서버얼론 방식의 서비스 제공방식이 아니다. In addition, the server system of the present invention, the standard logic (41, 42) , which is a ready-made product provided in the server 30 and implements the standard service 40, which is a server resource, as one component. However, it is not simply a server-alone service providing method that provides only this.

게다가, 상기 본 발명의 서버시스템은, 위 스탠드얼론 방식의 서비스 프로그램 제공방식과 서버얼론 방식의 서비스 제공방식이 단순히 결합된 기성품인 혼합방식도 아니다. 상기 본 발명의 서버시스템은, 다양한 요구를 가지는 사용자의 자유로운 선택에 의하여, 사용자들에게 어떤 서비스가 이미 제공되고 있는 상황에 있더라도, 기존의 기본프로세스나 표준서비스, 나아가서 이미 적용된 특화서비스가 있다면 그것조차도 그대로 유지한 채, 사용자의 요구에 따라서 사용자별로 특화된 로직을 더욱 제공할 수 있는 기술이다.In addition, the server system of the present invention is not a mixed method that is a ready-made combination of the above stand-alone service program providing method and the server-alone service providing method. According to the server system of the present invention, even if a service is already provided to users by the free choice of users having various needs, even if there is an existing basic process or standard service, and even a specialized service already applied, It is a technology that can provide more user-specific logic according to the user's needs while maintaining it.

상기 본 발명의 서버시스템은, 표준모듈(40~49)과, 특화모듈(50~59)과, 속행모듈을 구비함을 특징으로 한다. 상기 표준모듈과 특화모듈은 모두, 사용자의 시스템의 기본프로세스에 대하여 확장된 기능을 하므로, 확장프로세스라고 할 수 있다. 다만, 본 발명의 서버시스템은, 프로그램모듈에 의하여 구현되므로, 그 프로그램이 수행되는 단위인 프로세스, 서비스, 또는 로직에 의하여 도시하고, 모듈의 도시는 생략하고 있다. 그리고, 본 발명의 방법 및 서버시스템에 의하여 제공되는 처리는 비즈니스 업무처리에 속하고, 이러한 비즈니스 업무처리를 위한 논리적 수단으로서의 프로그램모듈을 비즈니스로직이라고 할 수 있고, 상기 비즈니스로직은, 상기와 같이, 사용자의 시스템(10, 20)에 설치되어 수행되는 기본로직, 서버에 의하여 모든 사용자에게 공통으로 제공되는 표준로직, 그리고 서버에 의하여 요청된 사용자에게만 제공되는 특화로직으로 구분된다.The server system of the present invention is characterized in that it comprises a standard module (40 to 49) , a specialized module (50 to 59) , and a continuation module . Since both the standard module and the specialized module have an extended function with respect to the basic process of the user's system, it can be said to be an extended process. However, since the server system of the present invention is implemented by a program module, the server system is illustrated by a process, a service, or logic which is a unit in which the program is executed, and the illustration of the module is omitted. The processing provided by the method and the server system of the present invention belongs to a business task processing, and a program module as a logical means for processing such a business task can be referred to as business logic, and the business logic is, as described above, Basic logic installed and performed in the user's system (10, 20), standard logic that is commonly provided to all users by the server, and specialized logic provided only to the user requested by the server.

상기 표준모듈(40~49)은, 상기 사용자의 시스템들이 공통으로 갖추고 있는 기본프로세스에 의하여 호출됨으로써, 상기 서버로부터 모든 사용자들에게 공통으로 제공되는 표준서비스(40)를 제공하는 모듈로서, 펌웨어 또는 소프트웨어에 의하여 구현되는 본 발명의 방법의 표준단계의 수행에 의하여 구현된다. The standard modules 40 to 49 are called by a basic process common to the systems of the user, thereby providing a standard service 40 which is commonly provided to all users from the server. It is implemented by performing the standard steps of the method of the present invention implemented by software.

상기 특화모듈(50~59)은, 상기 표준서비스(40) 내에 미리 포함되어 있는 호출기능을 이용한 사용자의 특화서비스(50) 호출요청이 수신되면, 상기 특화서비스(50) 호출요청을 발신한 사용자의 시스템에만 상기 서버로부터 특별히 제공되는 특화서비스(50)를 제공하는 모듈로서, 펌웨어 또는 소프트웨어에 의하여 구현되는 본 발명의 방법의 특화단계의 수행에 의하여 구현된다. 상기 특화모듈(50~59)은, 후술하는 바와 같이, 특화된 서비스를 제공하는 것이고, 만일 요청된 서비스를 제공하기 위한 기능을 가지는 특화로직이 아직 생성된 적이 없는 경우에는 이를 그 즉시로 생성시키는 기능을 가질 수 있으므로, '서비스팩토리'라고 부를 수 있다.The specialized modules 50 to 59, when a request for calling a special service 50 of a user using a call function previously included in the standard service 40 is received, the user who has sent the call to the special service 50. A module for providing a specialized service 50, which is provided specially from the server only to the system, which is implemented by performing a specialized step of the method of the present invention implemented by firmware or software. The specialized modules 50 to 59 provide a specialized service as described below, and if a specialized logic having a function for providing the requested service has not been generated yet, the specialized module 50 to 59 immediately generates the specialized service. It can be called, 'service factory' can be called.

상기 속행모듈은, 도시되지는 않았으나, 상기 특화모듈(50~59)에 포함되어 구성되거나, 별도의 제어모듈에 의하여 구현될 수 있고, 상기 특화서비스(50)의 제공이 종료되면, 상기 호출요청의 발생에 의하여 일시중지되었던 상기 표준서비스(40)를 이어서 수행하는 모듈로서, 펌웨어 또는 소프트웨어에 의하여 구현되는 본 발명의 방법의 속행단계의 수행에 의하여 구현된다.The follow-up module, although not shown, or the configuration is included in the specialized modules (50 to 59), if may be implemented by a separate control module, is provided for the specific service (50) ends, the call request A module that subsequently performs the standard service 40, which has been suspended by the occurrence of, is implemented by performing a subsequent step of the method of the present invention implemented by firmware or software.

이하, 상기 기본로직(11, 12, 21, 22), 표준로직(41, 42), 및 특화로직(51, 52)의 예시적 구성에 대하여 설명한다.Hereinafter, exemplary configurations of the basic logic 11, 12, 21, 22, standard logic 41, 42, and specialized logic 51, 52 will be described.

도 2는, 각각, (a) 사용자의 시스템에 설치되어 실행되는 기본프로세스를 구현하는 기본로직, (b) 서버에서 모든 사용자들에게 공통으로 제공되는 표준서비스를 구현하는 표준로직, (c) 서버에서 호출요청을 발신한 사용자에게만 특별히 제공되는 특화서비스를 구현하는 특화로직의 블럭구성도이다.2 shows, respectively, (a) a basic logic implementing a basic process installed and executed in a user's system, (b) a standard logic implementing a standard service commonly provided to all users in a server, and (c) a server. Is a block diagram of specialized logic that implements specialized services that are specifically provided only to the user who sent the call request.

상기 기본로직(11, 12, 21, 22)은, 본 발명의 방법이나 서버시스템을 운영하는 사업자에 의하여 제공되는 프로그램모듈로서, 상기 사용자의 시스템(10, 20)에 미리 설치되어 실행된다. 즉, 한정된 사용자의 시스템(10, 20)에 로컬자원을 차지하면서 설치되는 것이므로, 온라인을 통해서 공급받아야 하는 정보를 감안하지 않더라도, 그 기능은 제한적이 된다. 따라서, 기본적으로 제공되는 기본프로세스 이외의 기능은, 서버(30)와의 통신에 의하여 제공받게 된다.The basic logics 11, 12, 21, and 22 are program modules provided by the operator operating the method or the server system of the present invention, and are pre-installed and executed in the user's system (10, 20). That is, since it is installed while occupying local resources in the limited user's system (10, 20), the function is limited even without considering the information to be supplied online. Therefore, functions other than the basic process provided by default are provided by communication with the server 30.

이는, 도 2 (a)와 같이, 1 이상의 기본로직수행부(13), 1 이상의 확장로직호출부(14) 및 1 이상의 다른 기본로직수행부(15)로 이루어질 수 있다. As shown in (a) of FIG. 2, this may include one or more basic logic execution units 13, one or more extended logic call units 14, and one or more other basic logic execution units 15.

이러한 구성인 경우에, 사용자의 시스템(10, 20)에서 기본프로세스용 프로그램모듈의 기동과 함께 기본로직수행부(13)가 실행되고나서, 서버(30)와의 통신을 통한 기능확장을 위하여 확장로직을 호출하는 확장로직호출부(14)가 실행된다. 여기서, 확장로직이란, 사용자의 시스템(10, 20)의 기능을 확장할 수 있도록 하기 위하여 서버(30)에서 제공하는 기능을 구현하는 프로그램모듈을 말하고, 모든 사용자에게 공통으로 제공되는 표준로직(41, 42) 뿐 아니라 요청한 사용자에게만 제공되는 특화로직(51, 52)까지 포함하는 개념이다.In such a configuration, after the basic logic execution unit 13 is executed with the activation of the program module for the basic process in the user's system 10, 20, the expansion logic for function expansion through communication with the server 30 is performed. An extended logic call section 14 is called. Here, the expansion logic refers to a program module that implements the functions provided by the server 30 in order to expand the functions of the user's system 10 and 20, and the standard logic 41 commonly provided to all users. , 42) as well as specialized logic (51, 52) provided only to the requesting user.

상기 확장로직호출부(14)가 실행되면, 그 호출된 확장로직의 종류와 기능에 따라서 미리 정해진 처리를 행하고, 다시 제어가 사용자의 시스템(10, 20)으로 되돌아온다. 그리고 그 제어는 다시 다른 기본로직수행부(15)에 전달되어, 후속 처리를 수행하게 되는 것이다.When the extended logic call section 14 is executed, predetermined processing is performed according to the type and function of the called extended logic, and control is returned to the user's system 10, 20 again. The control is then transferred to another basic logic execution unit 15 to perform subsequent processing.

그리고, 상기 표준로직(41, 42)은, 상기 서버(30)에 구비되는 프로그램모듈로서, 상기 사용자의 시스템(10, 20)에 설치된 기본로직(11, 12, 21, 22)의 기능을 확장하는 역할을 하는 표준서비스(40)를 구성하고, 모든 사용자들에게 공통적으로 제공되는 것이다. 상기 표준로직(41, 42)은, 표준 데이터베이스(49)에 1 이상 미리 구비되어 있다.The standard logic 41 and 42 are program modules provided in the server 30 and extend the functions of the basic logics 11, 12, 21, and 22 installed in the system 10 and 20 of the user. It constitutes a standard service 40 to play a role, and is provided to all users in common. One or more of the standard logics 41 and 42 are provided in the standard database 49 in advance.

표준로직이 기동되면, 표준로직수행부(43)에 의하여 처리를 하다가, 미리 정해진 처리에 대하여 아이디와 인수를 가지고 특화로직호출부(44)에 의하여 특화로직이 호출되면, 그 기능에 대하여 특화로직이 수행되고, 그 수행결과인 리턴값을 저장한 후 다시 리턴클래스로 복귀하면서 다른 표준로직수행부(45)가 수행되게 된다. 그리고, 수행이 완료되면 제어는 다시 호출되었던 기본로직수행부(15)로 리턴된다.When the standard logic is activated, the processing is performed by the standard logic execution unit 43, and when the special logic is called by the special logic calling unit 44 with the ID and the argument for the predetermined processing, the special logic for the function is performed. This operation is performed, and another standard logic execution unit 45 is executed while returning to the return class after storing the return value which is the result of the execution. When the execution is completed, control is returned to the basic logic execution unit 15 which was called again.

한편, 상기 특화로직(51, 52)도, 역시 상기 서버(30)에 구비되는 프로그램모듈로서, 상기 사용자의 시스템(10, 20)에 설치된 기본로직(11, 12, 21, 22)의 기능을 확장하는 역할을 하지만, 특화서비스(50)를 구성하고, 오직 요청을 한 사용자들에게만 개별적으로 제공되는 것이라는 점에서 상기 표준로직(41, 42)과 다르다. 상기 특화로직(51, 52)은, 어느 사용자가 한번이라도 생성하여 이용한 적이 있는 경우에는 특화 데이터베이스(59)에 보존되고, 사용자 중 아무도 생성한 적이 없는 경우라면, 그 생성을 요청하는 즉시 생성되어, 상기 특화 데이터베이스(59)에 보존된다. 이는 이미 생성되어 있는 빈(bean)객체를 저장소에 로딩하는 빈로딩모듈(54), 로딩명령의 결과에 따라 빈객체가 생성된 바가 없다고 판단되면 빈객체를 생성하는 빈생성모듈(53), 및 저장소에 로딩된 빈객체를 실행시키는 빈실행모듈(55)을 구비한다.Meanwhile, the special logics 51 and 52 are also program modules provided in the server 30, and function as the basic logics 11, 12, 21 and 22 installed in the system 10 or 20 of the user. It differs from the standard logic 41 and 42 in that it serves to expand, but is configured to provide the specialized service 50 and is provided individually only to the requesting users. The specialty logics 51 and 52 are stored in the specialty database 59 when any user has ever created and used them. If none of the users have been created, the specialty logics 51 and 52 are generated immediately upon request of the creation. It is stored in the specialized database 59. This includes a bean loading module 54 for loading an already created bean object into a storage, a bean generation module 53 for generating an empty object when it is determined that an empty object has not been generated according to a result of the loading command, and A bin execution module 55 for executing a bin object loaded in the storage is provided.

따라서, 사용자의 시스템(10, 20)에서는, 반드시 기본로직(11, 12, 21, 22)을 수행하도록 되어 있고, 이 기본로직(11, 12, 21, 22) 중의 어느 하나 이상은 반드시 표준로직(41, 42)을 수행하도록 되어 있다. 하지만, 도 1에 도시된 바와 같이, 어떤 사용자(10)는 특화로직(51, 52)을 이용하지 않을 수 있고, 다른 어떤 사용자(20)는 특화로직(51, 52) 중 어느 하나를 이용할 수 있다. 따라서, 모든 사용자에 대하여 기본적 서비스와 표준적 서비스는 공통으로 수행하도록 하여, 시스템의 안정성과 대량생산성, 그리고 기능적 충족성을 극대화하면서, 한편으로 상기 기본적 서비스나 표준적 서비스의 틀에 영향을 주지 않는 범위 내에서 개별화를 위한 부수적 변형을 허용하여, 사용자에 따른 다양한 요구사항을 개별적으로 해소할 수 있도록 특화된 서비스도 제공할 수 있게 되어 있다.Therefore, in the user's system 10, 20, the basic logic 11, 12, 21, 22 must be performed, and at least one of the basic logics 11, 12, 21, 22 must be the standard logic. (41, 42). However, as shown in FIG. 1, some users 10 may not use the special logics 51 and 52, and some other users 20 may use any one of the special logics 51 and 52. have. Therefore, the basic service and the standard service should be performed in common for all users, maximizing the stability, mass productivity, and functional satisfaction of the system, while not affecting the basic service or the standard service framework. By allowing additional modifications for individualization within the scope, it is also possible to provide specialized services to individually address the various requirements of users.

이하, 본 발명의 방법에 대하여, 다양한 구체적 실시예와 함께 상세히 설명한다.Hereinafter, the method of the present invention will be described in detail with various specific examples.

도 3은, 본 발명의 사용자별로 특화된 로직을 제공하는 방법의 전체 플로챠트이다.3 is an overall flowchart of a method for providing user-specific logic of the present invention.

본 발명의 사용자별로 특화된 로직을 제공하는 방법은, 서버자원을 가지는 서버(30)가, 로컬자원을 가지는 사용자의 시스템(10, 20)에, 사용자별로 특화된 로직을 제공하는 방법에 관한 것이다. 이 방법은, 표준단계( S20 )와, 특화단계( S30 ~ S70 )와, 속행단계( S80 )를 구비함을 특징으로 한다.The method of providing the user-specific logic of the present invention relates to a method in which the server 30 having server resources provides the user-specific logic to the systems 10 and 20 of the user having local resources. The method is characterized in that it comprises a standard step ( S20 ) , a specialized step ( S30 ~ S70 ) , and a continuing step ( S80 ) .

상기 표준단계( S20 )는, 상기 사용자의 시스템(10, 20)들이 공통으로 갖추고 있는 기본프로세스에 의하여 호출됨으로써, 상기 서버(30)로부터 모든 사용자들에게 공통으로 제공되는 표준서비스(40)를 제공하는 단계이다. 즉, 도 1의 예시에서, 두 사용자의 시스템(10, 20)은 모두, 기본로직(11)에서 서버(30)의 표준로직(41)을 호출하고 있다. 따라서, 표준로직(41)까지 생각하는 경우에, 수행 프로세스는 동일하다.The standard step ( S20 ) is called by a basic process commonly provided by the user's systems 10 and 20, thereby providing a standard service 40 that is commonly provided to all users from the server 30. It's a step. That is, in the example of FIG. 1, the systems 10 and 20 of both users are calling the standard logic 41 of the server 30 from the basic logic 11. Therefore, in the case of thinking up to the standard logic 41, the execution process is the same.

상기 특화단계( S30 ~ S70 )는, 상기 표준서비스(40) 내에 미리 포함되어 있는 호출기능을 이용한 사용자의 특화서비스 호출요청이 수신되면, 상기 특화서비스 호출요청을 발신한 사용자의 시스템(20)에만 상기 서버(30)로부터 특별히 제공되는 특화서비스(50)를 제공하는 단계이다. 즉, 도 1의 예시에서, 한 사용자의 시스템(10)은, 특화로직을 호출하지 않으므로, 표준로직(41)까지만 수행된다. 이에 반하여 다른 사용자의 시스템(20)은, 요구사항을 반영하여 특화로직(51)을 호출하였으므로, 그만큼 부가적인 서비스 프로세스가 수행된다. 따라서, 두 사용자의 시스템(10, 20)의 수행 프로세스는 특화로직(51)만큼 달라진다. The specialized step ( S30 ~ S70 ) , when the user's request to call the special service using the call function previously included in the standard service 40, only the system 20 of the user who sent the special service call request It is a step of providing a special service 50 that is specifically provided from the server 30. That is, in the example of FIG. 1, the system 10 of a user does not call a specialized logic, so only up to the standard logic 41 is performed. On the other hand, since the system 20 of another user calls the special logic 51 reflecting the requirements, additional service processes are performed accordingly. Thus, the performance process of the two users' systems 10 and 20 differs by the specialized logic 51.

상기 속행단계(S80)는, 상기 특화서비스(50)의 제공이 종료되면, 상기 호출요청의 발생에 의하여 일시중지되었던 상기 표준서비스(40)를 이어서 수행하는 단계이다. 즉, 도 1의 예시에서, 한 사용자의 시스템(10)은, 특화로직을 호출하지 않으므로, 특화로직으로부터 표준로직으로 리턴하는 과정이 없다. 따라서 속행단계(S80)는 수행되지 않는다. 이에 반하여 다른 사용자의 시스템(20)은, 특화로직(51)을 호출하였고 그 결과가 리턴되므로, 그 리턴값을 가지고 원래의 호출 전 위치, 즉 표준로직(41)로 리턴하게 된다. 따라서, 두 사용자의 시스템(10, 20)의 수행 프로세스는 특화로직(51)의 수행 후 리턴값을 가지고 돌아온 후에 그 리턴값을 활용하는 것에 따라 달라진다. In the following step S80, when the provision of the specialized service 50 is terminated, the standard service 40 which is suspended by the generation of the call request is subsequently performed. That is, in the example of FIG. 1, since the user's system 10 does not call the specialized logic, there is no process of returning from the specialized logic to the standard logic. Therefore, the following step S80 is not performed. On the other hand, the system 20 of another user calls the special logic 51 and the result is returned, so that the system 20 returns to the position before the original call, that is, the standard logic 41, with the return value. Thus, the execution process of the two user's systems 10 and 20 depends on utilizing the return value after returning with the return value after the execution of the specialized logic 51.

여기서, 좀 더 구체적인 실시예를 제시하면, 상기 특화서비스 호출요청에는, 미리 정해져 있는 특화서비스 아이디와 인수가 포함되어 있도록 함이 바람직하다. 그리고, 이때, 상기 서버는, 상기 특화서비스 아이디에 의하여 특정되는 특화서비스를 저장소에 로딩하고, 상기 인수를 전달하여 상기 특화서비스를 실행함이 바람직하다.Here, if a more specific embodiment is presented, it is preferable that the specific service call request includes a predetermined specific service ID and arguments. In this case, the server preferably loads the specialized service specified by the specialized service ID in the storage, and delivers the argument to execute the specialized service.

이로써, 특화서비스를 위한 1 이상의 특화로직(51, 52)이 이미 특화 데이터베이스(59)에 등록되어 있는 경우에, 그들 중 하나를 특정할 수 있고, 그 특화로직의 수행에 필요한 인수를 전달할 수 있다. 예컨대, 학교에서 온라인 수강신청을 하도록 하는 프로그램의 경우에, 동일한 이름의 학과라 하더라도 학교에 따라서 개설과목이 다를 수 있다. 그래서 기본적으로 제공되는 과목명 이외의 특별한 과목명에 대해서, 특화로직에 의한 처리를 하도록 할 수 있다. 또는, 예컨대, 동일학교 동일학과에 온라인 수강신청을 하는 경우에도, 학생에 따라서는 특정 과목의 수강신청 인원현황을 체크하는 사람도 있고, 체크하지 않는 사람도 있을 수 있다. 이런 경우에도 인원현황 체크 부분을 특화로직에 의하여 처리하도록 할 수 있다.In this way, when one or more specialized logics 51 and 52 for the specialized service are already registered in the specialized database 59, one of them can be specified and the arguments required for the execution of the specialized logic can be passed. . For example, in the case of a program that allows students to register online at a school, even if a department of the same name exists, the courses offered may differ depending on the school. Therefore, special logics other than the subjects offered by default can be processed by specialized logic. Or, for example, even in the case of applying for online courses in the same department of the same school, some students may check the status of the course registration for a particular subject, or some may not. Even in this case, the personnel status check part can be handled by specialized logic.

가령 후자의 예에 대하여 설명하면, 수강신청 프로그램의 기동 및 온라인접속은 학번을 인수로 전달하면서 기본로직에서 수행하고, 수강신청과목의 선정은 학과를 인수로 전달하면서 표준로직에서 수행하여 그 결과를 사용자의 시스템의 화면에 디스플레이되도록 하며, 특정 과목에 대한 현재의 수강신청 접수현황의 데이터취득은 그 화면의 과목명, 예컨대 미시경제학을 클릭함으로써 얻어진 과목코드를 인수로 전달하면서 특화로직에서 수행할 수 있다. 그러면, 상기 서버(30)는, 상기 인수로 전달된 과목코드와 클릭에 의하여 요청된 특화로직 아이디에 따라서, 인원접수현황 조회용 특화로직을 선정, 저장소 로딩 및 구동하여, 인원접수현황 데이터베이스를 통하여 데이터를 취득할 수 있다. 그리고, 다시 수강신청과목의 선정을 위한 표준로직으로 리턴하도록 구성할 수 있다. 그러면 화면에 미시경제학의 현재의 수강신청 인원이 나타나게 된다.For example, in the latter example, the start and online connection of the course registration program is carried out in basic logic, passing the student number as an argument, and the selection of course registration courses is carried out in standard logic, passing the department as an argument. It can be displayed on the screen of the user's system, and data acquisition of the current course registration status for a particular subject can be performed in specialized logic by passing the subject code obtained by clicking the subject name on the screen, for example, microeconomics, as an argument. have. Then, the server 30 selects, loads and runs a specialized logic for personnel reception status inquiry according to the subject logic passed by the argument and the specialized logic ID requested by the click, and loads and drives the staff through the personnel reception status database. Data can be obtained. And, it can be configured to return to the standard logic for the selection of the course registration course again. You will then see the current number of students enrolled in Microeconomics.

한편, 특화로직 아이디와 인수처럼, 특화로직의 호출에 필요한 정보의 특정시기는, 반드시 표준로직의 기동 후로 한정되는 것은 아니다. 예컨대, 상기 특화단계에서 상기 표준서비스의 상기 특화서비스 호출요청에 필요한 정보는, 상기 표준단계에서 상기 기본프로세스가 상기 표준서비스를 호출할 때에 상기 표준서비스에 미리 전달되도록 할 수도 있다.On the other hand, the specific timing of the information required for invoking the specialized logic, such as the specialized logic ID and the argument, is not necessarily limited to after the start of the standard logic. For example, the information required for the special service call request of the standard service in the specialized step may be transmitted to the standard service in advance when the basic process calls the standard service in the standard step.

즉, 앞에서는 설명의 편의상, 기본로직(11)은 표준로직(41)을 호출하고, 표준로직(41)은 특화로직 아이디와 인수를 가지고 특화로직(51)을 호출하는 예에 대하여 설명하였으나, 이와 달리, 기본로직(11)이 미리 특화로직 아이디와 인수를 표준로직(41)에 전달하면서 표존로직(41)을 호출하고, 표준로직(41)은 이 전달된 특화로직 아이디와 인수를 가지고 특화로직(51)을 호출하는 것도 가능하고, 오히려 이와 같이 기본로직의 수행단계에서 이미 후속단계의 세팅을 미리 할 수 있는 경우가 많을 수 있다.That is, for convenience of description, the basic logic 11 calls the standard logic 41, and the standard logic 41 has been described for the example of calling the specialized logic 51 with the specialized logic ID and arguments. In contrast, the basic logic 11 calls the existing logic 41 while passing the specialized logic ID and arguments to the standard logic 41 in advance, and the standard logic 41 has the specialized logic ID and arguments passed in and specialized. It is also possible to call the logic 51, but rather it may be often possible to predetermine the settings of subsequent steps already in the execution phase of the basic logic.

그리고, 본 발명의 실시를 위한 더욱 구체적 실시예를 들면, 상기 특화단계(S30~S70)는, 빈(bean)객체 실행단계와, 리턴클래스 ( return class ) 입력단계를 구비함이 바람직하다.In a more specific embodiment of the present invention, the specialized steps S30 to S70 include a bean object execution step and a return class ( return). class ) is preferably provided.

상기 빈객체 실행단계는, 상기 특화서비스(50)를 수행하도록 특화된 비즈니스 로직을 수행하는 메소드가 구비된 빈(Bean)객체를 실행하는 단계이다. 즉, 상기 특화로직(51, 52)은 빈객체로 이루어질 수 있다. 빈의 실행은 도 2 (c)의 빈실행모듈(55)에 의하여 수행된다.The bean object execution step is a step of executing a bean object provided with a method for executing business logic specialized to perform the specialized service 50. That is, the special logics 51 and 52 may be made of empty objects. Execution of the bin is performed by the bin execution module 55 of FIG.

상기 리턴클래스 입력단계는, 상기 속행단계에서 수행할 상기 표준서비스에서 이용될 리턴값을 리턴클래스에 입력한 후 리턴하는 단계이다. 도 1의 예시에서, 상기 빈객체인 특화로직(51)의 실행에 의하여 얻어진 리턴값은, 리턴 후 돌아가서 속행될 표준로직(41)에서 활용될 수 있도록 리턴클래스에 입력된다. 그 후 제어는 상기 표준로직(41)으로 리턴된다.The return class input step is a step of returning after inputting a return value to be used in the standard service to be performed in the subsequent step into a return class. In the example of FIG. 1, the return value obtained by the execution of the specialized logic 51, which is the empty object, is input to the return class so that it can be utilized in the standard logic 41 to be returned and continued after the return. Control is then returned to the standard logic 41.

한편, 사용자에 의하여 요청된 특화로직(51, 52)이 한번도 생성되지 않은 로직일 경우가 있다. 이러한 예외처리에 대하여 설명한다.On the other hand, there are cases where the special logics 51 and 52 requested by the user are not generated once. This exception handling will be described.

이를 위하여, 상기 빈객체 실행단계는, 로딩검사단계와, 생성단계를 구비함이 바람직하다.To this end, it is preferable that the empty object execution step includes a loading inspection step and a generation step .

상기 로딩검사단계(S40)는, 상기 빈객체가 저장소에 로딩되어 있는지를 검사하는 단계이다. 만일 사용자에 의하여 요청된 특화로직(51, 52)이 한번이라도 생성된 적이 있다면, 이미 특화 데이터베이스(59)에 등록되어 있으므로, 조회에 의하여 확인할 수 있고, 로딩명령에 의하여 저장소에 로딩되면서 참(true)을 반환할 것이다. 빈의 로딩은 도 2 (c)의 빈로딩모듈(54)에 의하여 수행된다.The loading test step S40 is a step of checking whether the empty object is loaded in the storage. If the specialized logic 51, 52 requested by the user has been created at least once, it is already registered in the specialized database 59, so that it can be confirmed by inquiry and loaded into the repository by the loading command. Will return). Loading of the bin is performed by the bean loading module 54 of FIG.

상기 생성단계( S50 )는, 미리 저장된 등록용 XML파일(빈XML 설정파일)을 로드하여, 빈객체와 리턴클래스를 생성 및 저장하는 단계이다. 상기 등록용 XML파일은 서비스팩토리 등록 XML파일 또는 메인 XML파일이다. 이 XML파일에 기재되어 있는 내용, 구체적으로는 서비스팩토리 등록클래스를 객체화하여, 빈객체와 리턴클래스를 생성하는 것이다. 빈의 생성은 도 2 (c)의 빈생성모듈(53)에 의하여 수행된다.The generating step S50 is a step of loading and storing a pre-stored registration XML file (empty XML configuration file) to generate and store an empty object and a return class. The registration XML file is a service factory registration XML file or a main XML file. The contents described in this XML file, specifically, the service factory registration class are objectized to create empty objects and return classes. Generation of the bin is performed by the bin generation module 53 of FIG.

만일 상기 빈객체가 저장소에 로딩되지 못하여 거짓(false)을 반환하면, 이는 사용자에 의하여 요청된 특화로직(51, 52)이 한번도 생성되지 않은 로직인 경우이다. 따라서, 생성 및 등록 후 로딩되도록 하여야 한다. 이와 같이, 특화단계(S30~S70)는, 특화로직(50~59)에 의하여 수행되고, 이는 '서비스팩토리'에 의하여 수행되는데, 그 주요수단은 빈(bean)의 생성 및 제공에 있으므로, '빈(bean)팩토리'라고 할 수 있다.If the empty object fails to load into the store and returns false, this is a case where the special logics 51 and 52 requested by the user have never been created. Therefore, it should be loaded after creation and registration. As such, the specialized steps S30 to S70 are performed by specialized logics 50 to 59, which are performed by a service factory, whose main means are to create and provide beans. Bean factory. '

이하, 상기 생성단계(S50)의 빈객체의 생성과 관련된 더욱 구체적인 실시예를 제시한다.Hereinafter, more specific embodiments related to the generation of the empty object in the generation step S50 will be presented.

도 4는, 도 3의 빈생성/등록/리턴클래스 생성단계(S50)의 예시적 세부플로챠트이다.FIG. 4 is an exemplary detailed flowchart of the bin generation / registration / return class generation step S50 of FIG. 3.

여기서, 상기 생성단계(S50)는, 상기 로딩(S51)된 등록용 XML파일(빈XML 설정파일)을 XML파서가 파싱(S52)하여, 상기 등록용 XML파일에 특정되어 있는 리소스를 참조한 후, 빈생성객체를 생성(S53) 및 호출하여, 빈클래스를 객체화시켜서 빈객체를 생성 및 등록(S54)시키고, 리턴클래스를 자바소스파일로 생성 및 등록(S55)함이 바람직하다.Here, the generating step (S50), the XML parser parses (S52) the loaded registration XML file (empty XML configuration file), and refers to the resources specified in the registration XML file, It is preferable to generate and call an empty object (S53) and to create and register an empty object by objectizing the bean class (S54), and to generate and register a return class as a Java source file (S55).

또한, 여기서, 상기 빈생성객체는, 테이블 메타정보를 체크하여, 테이블 스키마를 이용할 수 없으면, 상기 리소스의 리턴클래스를 소스파일로 생성하고, 테이블 스키마를 이용할 수 있으면, 테이블 메타정보와 상기 등록용 XML파일에 정의된 리턴클래스 정보를 통합하여, 리턴클래스를 소스파일로 생성함이 바람직하다.Here, the bean generation object checks the table meta information, and if the table schema is not available, generates the return class of the resource as a source file, and if the table schema is available, the table meta information and the registration object. It is preferable to generate the return class as a source file by integrating the return class information defined in the XML file.

예컨대, 서비스팩토리 메인 XML파일이 For example, the service factory main XML file

<beans><beans>

<include resource = "학적 서비스팩토리.xml"/>   <include resource = "Scientific Service Factory.xml" />

</beans></ beans>

이고, ego,

학적 서비스팩토리.xml 파일이 Service factory.xml file

<bean id="서비스팩토리 ID" class="서비스팩토리 등록클래스"><bean id = "Service Factory ID" class = "Service Factory Registration Class">

<arg name="학번">   <arg name = "student number">

<return class="리턴클래스"/>   <return class = "return class" />

</bean></ bean>

이며, Lt;

테이블 스키마가 Table schema

테이블 {table {

Name varchar(30)   Name varchar (30)

}}

일 수 있다.
Can be.

이상, 특정 실시예에 근거하여 본 발명에 대하여 설명하였으나, 본 발명은 이에 한정되는 것이 아니며, 청구범위에 기재된 범위 내에서 이루어진 변형, 변경, 개량은 모두 본 발명의 범위에 속하는 것으로 해석되어야 한다.As mentioned above, although this invention was demonstrated based on the specific Example, this invention is not limited to this, All the deformation | transformation, a change, and the improvement made within the range of a claim should be interpreted that it belongs to the scope of the present invention.

본 발명은, 사용자 시스템에 미리 설치된 로직, 서버에 의하여 모든 사용자에게 공통으로 제공되는 로직 뿐 아니라, 사용자별로 특화된 로직을 제공하는 방법 및 이 방법이 구현된 서버시스템과 관련된 산업에 이용될 수 있다.The present invention can be used in the industry related to the method of providing the user-specific logic, as well as the logic that is pre-installed in the user system, the logic common to all users by the server, and the server system on which the method is implemented.

10, 20: 사용자의 시스템
11, 12, 21, 22: 기본로직
13, 15: 기본로직수행부
14: 확장로직호출부
30: 서버
40: 표준서비스
41, 42: 표준로직
43, 45: 표준로직수행부
44: 특화로직호출부
49: 표준 데이터베이스
50: 특화서비스
51, 52: 특화로직
53: 빈생성모듈
54: 빈로딩모듈
55: 빈실행모듈
59: 특화 데이터베이스
10, 20: Your system
11, 12, 21, 22: basic logic
13, 15: Basic Logistics Department
14: Extended Logic Calling Unit
30: server
40: standard service
41, 42: standard logic
43, 45: Standard Logic Execution Department
44: special logic call
49: standard database
50: Specialized Services
51, 52: Specialty Logic
53: bean generation module
54: bean loading module
55: empty execution module
59: specialized database

Claims (8)

서버자원을 가지는 서버가, 로컬자원을 가지는 사용자의 시스템에, 사용자별로 특화된 로직을 제공하는 방법에 있어서,
상기 사용자의 시스템들이 공통으로 갖추고 있는 기본프로세스에 의하여 호출됨으로써, 상기 서버 측으로부터 모든 사용자의 시스템에 공통으로 제공되는 표준서비스를 기성품으로서 제공하는 표준단계와,
상기 표준서비스 내에 미리 포함되어 있는 호출기능을 이용하여, 상기 표준서비스 내에 구현되어 있지 않았던 특화서비스 호출요청이 사용자의 시스템으로부터 수신되면, 상기 특화서비스 호출요청을 발신한 사용자의 시스템에만 한정하여 개별적으로 상기 서버로부터 특별히 제공되는 특화서비스를 제공하는 특화단계와,
상기 특화서비스의 제공이 종료되면, 상기 호출요청의 발생에 의하여 일시중지되었던 상기 표준서비스를 이어서 수행하는 속행단계
를 구비하고,
상기 특화서비스는, 상기 기본프로세스와 상기 표준서비스의 배포 이후에, 상기 특화서비스 호출요청에 의하여 생성 및 관리되는 확장프로세스로 이루어짐
을 특징으로 하는 사용자별로 특화된 로직을 제공하는 방법.
In a method in which a server having a server resource provides a user-specific logic to a system of a user having a local resource,
A standard step of providing as a ready-made standard service commonly provided to all the user's systems from the server side by being called by the basic process common to the user's systems;
When a special service call request, which is not implemented in the standard service, is received from the user's system by using a calling function previously included in the standard service, only the system of the user who sent the special service call request is individually. A special step of providing a special service provided by the server;
When the provision of the specialized service is terminated, the step of continuing to perform the standard service which was suspended due to the occurrence of the call request
And
The specialized service is composed of an extended process that is created and managed by the specialized service call request after the distribution of the basic process and the standard service.
Method for providing user-specific logic characterized in that.
청구항 1에 있어서,
상기 특화서비스 호출요청에는, 미리 정해져 있는 특화서비스 아이디와 인수가 포함되어 있고,
상기 서버는, 상기 특화서비스 아이디에 의하여 특정되는 특화서비스를 저장소에 로딩하고, 상기 인수를 전달하여 상기 특화서비스를 실행함
을 특징으로 하는 사용자별로 특화된 로직을 제공하는 방법.
The method according to claim 1,
The special service call request includes a predetermined special service ID and arguments,
The server loads a specialized service specified by the specialized service ID into a storage, and delivers the argument to execute the specialized service.
Method for providing user-specific logic characterized in that.
청구항 1 또는 청구항 2에 있어서,
상기 특화단계에서 상기 표준서비스의 상기 특화서비스 호출요청에 필요한 정보는, 상기 표준단계에서 상기 기본프로세스가 상기 표준서비스를 호출할 때에 상기 표준서비스에 미리 전달됨
을 특징으로 하는 사용자별로 특화된 로직을 제공하는 방법.
The method according to claim 1 or 2,
Information required for the special service call request of the standard service in the specialization step is transmitted to the standard service in advance when the basic process calls the standard service in the standard step.
Method for providing user-specific logic characterized in that.
청구항 1 또는 청구항 2에 있어서,
상기 특화단계는,
상기 특화서비스를 수행하도록 특화된 비즈니스 로직을 수행하는 메소드가 구비된 빈(Bean)객체를 실행하는 빈객체 실행단계와,
상기 속행단계에서 수행할 상기 표준서비스에서 이용될 리턴값을 리턴클래스에 입력한 후 리턴하는 리턴클래스 입력단계
를 구비함을 특징으로 하는 사용자별로 특화된 로직을 제공하는 방법.
The method according to claim 1 or 2,
The specialized step,
A bean object execution step of executing a bean object having a method for executing business logic specialized to perform the specialized service;
Return class input step of returning after inputting the return value to be used in the standard service to be performed in the subsequent step to the return class
Method for providing a user-specific logic characterized in that it comprises a.
청구항 4에 있어서,
상기 빈객체 실행단계는,
상기 빈객체가 저장소에 로딩되어 있는지를 검사하는 로딩검사단계와,
상기 빈객체가 로딩되어 있지 않으면, 등록용 XML파일을 로드하여, 빈객체와 리턴클래스를 생성 및 저장하는 생성단계
를 구비함을 특징으로 하는 사용자별로 특화된 로직을 제공하는 방법.
The method of claim 4,
The empty object execution step,
A loading checking step of checking whether the empty object is loaded in the storage;
If the blank is not the object is loaded, and loading the XML file for registration, generates an empty object and returns a class and stores generation step of
Method for providing a user-specific logic characterized in that it comprises a.
청구항 5에 있어서,
상기 생성단계는,
상기 등록용 XML파일을 XML파서가 파싱하여, 상기 등록용 XML파일에 특정되어 있는 리소스를 참조한 후, 빈생성객체를 호출하여, 빈클래스를 객체화시키고, 리턴클래스를 자바소스파일로 생성함
을 특징으로 하는 사용자별로 특화된 로직을 제공하는 방법.
The method according to claim 5,
The generating step,
An XML parser parses the registration XML file, refers to a resource specified in the registration XML file, calls a bean creation object, instantiates a bean class, and generates a return class as a Java source file.
Method for providing user-specific logic characterized in that.
청구항 6에 있어서,
상기 빈생성객체는, 테이블 메타정보를 체크하여, 테이블 스키마를 이용할 수 없으면, 상기 리소스의 리턴클래스를 소스파일로 생성하고, 테이블 스키마를 이용할 수 있으면, 테이블 메타정보와 상기 등록용 XML파일에 정의된 리턴클래스 정보를 통합하여, 리턴클래스를 소스파일로 생성함
을 특징으로 하는 사용자별로 특화된 로직을 제공하는 방법.
The method of claim 6,
The bean creation object checks the table meta information and generates a return class of the resource as a source file if the table schema is not available, and defines the table meta information and the registration XML file if the table schema is available. Generated return class as source file
Method for providing user-specific logic characterized in that.
서버자원을 가지는 서버가, 로컬자원을 가지는 사용자의 시스템에, 사용자별로 특화된 로직을 제공하는 서버시스템에 있어서,
상기 사용자의 시스템들이 공통으로 갖추고 있는 기본프로세스에 의하여 호출됨으로써, 상기 서버 측으로부터 모든 사용자의 시스템에 공통으로 제공되는 표준서비스를 기성품으로서 제공하는 표준모듈과,
상기 표준서비스 내에 미리 포함되어 있는 호출기능을 이용하여, 상기 표준서비스 내에 구현되어 있지 않았던 특화서비스 호출요청이 사용자의 시스템으로부터 수신되면, 상기 특화서비스 호출요청을 발신한 사용자의 시스템에만 한정하여 개별적으로 상기 서버로부터 특별히 제공되는 특화서비스를 제공하는 특화모듈과,
상기 특화서비스의 제공이 종료되면, 상기 호출요청의 발생에 의하여 일시중지되었던 상기 표준서비스를 이어서 수행하는 속행모듈
을 구비하고,
상기 특화서비스는, 상기 기본프로세스와 상기 표준서비스의 배포 이후에, 상기 특화서비스 호출요청에 의하여 생성 및 관리되는 확장프로세스로 이루어짐
을 특징으로 하는 사용자별로 특화된 로직을 제공하는 서버시스템.
In a server system in which a server having a server resource provides logic specialized for each user to a system of a user having a local resource,
A standard module which is called by a basic process common to the systems of the user, thereby providing standard services which are commonly provided to all the systems of the user from the server side as ready-made products;
When a special service call request, which is not implemented in the standard service, is received from the user's system by using a calling function previously included in the standard service, only the system of the user who sent the special service call request is individually. Specialized module for providing a special service provided specifically from the server,
When the provision of the specialized service is terminated, a subsequent module for successively executing the standard service suspended by the occurrence of the call request
And
The specialized service is composed of an extended process that is created and managed by the specialized service call request after the distribution of the basic process and the standard service.
Server system that provides a user-specific logic characterized in that.
KR1020110064038A 2011-06-29 2011-06-29 Method and server system providing specialized logic to each user KR101078227B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110064038A KR101078227B1 (en) 2011-06-29 2011-06-29 Method and server system providing specialized logic to each user
PCT/KR2011/005081 WO2013002445A1 (en) 2011-06-29 2011-07-12 Method and server system for providing a specific logic for each user

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110064038A KR101078227B1 (en) 2011-06-29 2011-06-29 Method and server system providing specialized logic to each user

Publications (1)

Publication Number Publication Date
KR101078227B1 true KR101078227B1 (en) 2011-11-01

Family

ID=45396925

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110064038A KR101078227B1 (en) 2011-06-29 2011-06-29 Method and server system providing specialized logic to each user

Country Status (2)

Country Link
KR (1) KR101078227B1 (en)
WO (1) WO2013002445A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351775B1 (en) 1997-05-30 2002-02-26 International Business Machines Corporation Loading balancing across servers in a computer network
KR100715322B1 (en) 2006-10-25 2007-05-04 (주)소만사 Method of providing personalized information by internet service provider and computer-readable medium having thereon program performing function embodying the same

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050010487A (en) * 2004-06-28 2005-01-27 오성일 Method for providing a education information online
KR101552914B1 (en) * 2007-01-30 2015-10-01 에스케이커뮤니케이션즈 주식회사 Web server application framework web application processing method using the framework and computer readable medium processing the method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351775B1 (en) 1997-05-30 2002-02-26 International Business Machines Corporation Loading balancing across servers in a computer network
KR100715322B1 (en) 2006-10-25 2007-05-04 (주)소만사 Method of providing personalized information by internet service provider and computer-readable medium having thereon program performing function embodying the same

Also Published As

Publication number Publication date
WO2013002445A1 (en) 2013-01-03

Similar Documents

Publication Publication Date Title
Mietzner et al. Defining composite configurable SaaS application packages using SCA, variability descriptors and multi-tenancy patterns
US9116766B2 (en) Extensible applications using a mobile application framework
US9021419B2 (en) System and method for supporting intelligent design pattern automation
US8302092B2 (en) Extensible data driven deployment system
US9916137B2 (en) Rest service source code generation
US8448163B2 (en) Deploying J2EE web applications in an OSGI environment
US20080189679A1 (en) Method and system for creating, deploying, and utilizing a service
US8615750B1 (en) Optimizing application compiling
Varanasi et al. Spring Rest
US20100153913A1 (en) Systems and Methods for Executing Object-Oriented Programming Code Invoking Pre-Existing Objects
US10949176B2 (en) Automatic view generation based on annotations
EP2203813A2 (en) Declarative model interpretation
Leitner et al. Lessons learned from tool integration with oslc
Bretet Spring mvc cookbook
US10732947B2 (en) Information-technology workflow using tiles that declaratively specify datatypes
KR101078227B1 (en) Method and server system providing specialized logic to each user
Deinum et al. Building Reactive Applications with Spring WebFlux
US9043384B2 (en) Testing of client systems consuming contractual services on different server systems
Katamreddy et al. Web Applications with Spring Boot
Tragura Spring 5.0 Cookbook: Recipes to build, test, and run Spring applications efficiently
Freeman et al. JavaScript and TypeScript: Part 1
Duong Transforming monolith PHP services to industrial RESTful services
Subramanian et al. Architecture and ESLint
Varanasi et al. Testing LDAP Code
Vos et al. Connecting to Enterprise Services

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141024

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151023

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161025

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181025

Year of fee payment: 8