KR20130033652A - Method and apparatus for developing, distributing and executing object-wise dynamic compileless programs - Google Patents

Method and apparatus for developing, distributing and executing object-wise dynamic compileless programs Download PDF

Info

Publication number
KR20130033652A
KR20130033652A KR1020110097452A KR20110097452A KR20130033652A KR 20130033652 A KR20130033652 A KR 20130033652A KR 1020110097452 A KR1020110097452 A KR 1020110097452A KR 20110097452 A KR20110097452 A KR 20110097452A KR 20130033652 A KR20130033652 A KR 20130033652A
Authority
KR
South Korea
Prior art keywords
objects
service
dynamic program
business logic
connection relationship
Prior art date
Application number
KR1020110097452A
Other languages
Korean (ko)
Other versions
KR101326985B1 (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 KR1020110097452A priority Critical patent/KR101326985B1/en
Publication of KR20130033652A publication Critical patent/KR20130033652A/en
Application granted granted Critical
Publication of KR101326985B1 publication Critical patent/KR101326985B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

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

Abstract

PURPOSE: A method for operating, distributing, and authoring a dynamic compile-less program of an object unit and a device thereof are provided to eliminate the need to write and design the whole of codes from the beginning by defining a connection relation between objects and individually authoring the objects according to requirements of a customer. CONSTITUTION: A form design unit(12) provides an editing environment for attribute information of components. A business logic service editing unit(13) provides an editing environment for parameter attributes defining an input/output data type and a procedure or a function of business logic service objects. A DB service editing unit(14) composes DB service objects and provides an editing environment for parameter attributes defining an input/output data type and a DB query required for components, the function, and the procedure. A project management unit(11) generates or deletes the objects and provides an editing environment for connection relation information between the objects. [Reference numerals] (11) Project management unit; (12) Form design unit; (13) Business logic service editing unit; (14) DB service editing unit; (15) Report design unit; (31) Dynamic program executing unit; (51) Dynamic program loading DB; (52) Local business DB;

Description

오브젝트 단위의 동적 컴파일리스 프로그램의 저작, 배포 및 구동 방법 및 장치{METHOD AND APPARATUS FOR DEVELOPING, DISTRIBUTING AND EXECUTING OBJECT-WISE DYNAMIC COMPILELESS PROGRAMS}METHOOD AND APPARATUS FOR DEVELOPING, DISTRIBUTING AND EXECUTING OBJECT-WISE DYNAMIC COMPILELESS PROGRAMS}

본 발명은 프로그램 저작 방법론에 관한 것으로, 더욱 상세하게는, 오브젝트 단위의 동적 컴파일리스 프로그램 저작 방법론에 관한 것이다.The present invention relates to a program authoring methodology, and more particularly, to a dynamic compilationless program authoring methodology on an object basis.

예를 들어 공장, 물류업체, 의료기관 등 특정 업종 또는 분야에서 요구되는 업무 관리 소프트웨어들은 그 분야에 특정된 유사점들이 적지 않을 것이고, 따라서 많은 경우에 프로그램 소스 코드를 재사용할 수 있을 것으로 기대된다. 하지만, 같은 업종이라 하더라도 발주 고객사마다 다른 요구 조건들을 맞추다보면 소프트웨어 개발자들은 매번 처음부터 소프트웨어를 새로 작성하는 것과 다를 바 없는 작업량을 투입하게 된다.For example, the business management software required for a particular industry or sector, such as factories, logistics companies, or medical institutions, will not have many similarities specific to that sector, and in many cases it is expected that the program source code can be reused. However, even in the same industry, if different customers set different requirements, the software developers would put in the same amount of work as writing new software from the beginning.

이렇게 작성된 소프트웨어들이 각각 컴파일되어 중소 규모의 공장이나 병원 고객사에 공급되면, 각 고객사마다 조금씩 다른 소프트웨어들을 추후에 업그레이드 내지 유지 보수하고자 할 때에도 개발자들은 매번 고객사마다 다른 소스 코드들 중에서 필요한 부분들을 찾아 수정하고 서로 다른 버전으로 컴파일하여야 한다.When these softwares are compiled and supplied to small and medium-sized factory or hospital customers, developers need to find and modify necessary parts of different source codes every time even if they want to upgrade or maintain slightly different software. You must compile with different versions.

이러한 종래의 소프트웨어 프로그램 저작 방법론에서 벗어나, 유사하면서도 각자 다른 고객사들의 요구를 만족시킬 수 있도록 유연한 구조를 가지면서도, 개발에 투입되는 작업량을 크게 절감하고, 동시에 유지 보수를 용이하게 할 수 있는 새로운 소프트웨어 저작 방법론이 필요하다.Breaking away from the conventional software program authoring methodology, the new software authoring can be similarly and flexibly structured to satisfy the needs of different customers, while significantly reducing the amount of work required for development and at the same time facilitating maintenance. A methodology is needed.

본 발명이 해결하고자 하는 과제는 고객사로부터 발주받은 프로그램 프로젝트를 오브젝트 단위로 작성 및 조합함으로써 저작하고, 오브젝트들로 구성된 프로그램 프로젝트를 고객사의 적재 데이터베이스에 저장함으로써 배포하며, 저장된 오브젝트들을 고객사 구동 환경에서 불러들여 실시간적으로 동적으로 결합함으로써 구동하는, 오브젝트 단위의 동적 프로그램의 저작, 배포 및 구동 방법 및 장치를 제공하는 데에 있다.The problem to be solved by the present invention is to create and combine a program project ordered by the customer by the object unit, authoring, distributing the program project consisting of the object by storing in the loading database of the customer, and recalled the stored objects in the customer operating environment The present invention provides a method and apparatus for authoring, distributing, and driving a dynamic program on a per-object basis, which is driven by dynamically combining in real time.

본 발명의 일 측면에 따른 동적 프로그램 저작 시스템은,Dynamic program authoring system according to an aspect of the present invention,

개발자가 폼 오브젝트를 구성하는 컴포넌트들의 외형, 이벤트 조건, 이벤트 반응 동작에 관하여 정의하는 속성 정보를 편집할 수 있도록 편집 환경을 제공하는 폼 디자인부;A form design unit that provides an editing environment for a developer to edit attribute information defining the appearance, event conditions, and event response operations of components constituting the form object;

개발자가 사용자의 업무 프로세스를 전산화한 업무 로직 서비스 오브젝트들을 구성하는 함수 내지 프로시저와 입출력 데이터 형식을 정의하는 파라미터 속성을 편집할 수 있도록 편집 환경을 제공하는 업무 로직 서비스 편집부;A business logic service editing unit for providing a editing environment for a developer to edit functions or procedures constituting business logic service objects computerized by a user's business process and parameter attributes defining input / output data types;

개발자가 데이터베이스(DB) 서비스 오브젝트들을 구성하며 상기 컴포넌트, 함수, 또는 프로시저에서 요구되는 DB 쿼리와 입출력 데이터 형식을 정의하는 파라미터 속성을 편집할 수 있도록 편집 환경을 제공하는 DB 서비스 편집부; 및A DB service editor configured to provide a editing environment in which a developer configures database (DB) service objects and edits parameter attributes defining a DB query and an input / output data format required by the component, function, or procedure; And

개발자가 상기 폼 오브젝트, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들을 생성하거나 삭제하고, 오브젝트들 사이의 연결 관계 정보를 편집할 수 있도록 편집 환경을 제공하는 프로젝트 관리부를 포함할 수 있다.It may include a project management unit for providing an editing environment for a developer to create or delete the form object, business logic service objects, DB service objects, and edit the connection relationship information between the objects.

일 실시예에 따라, 상기 연결 관계 정보는 상호 연결되는 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들 사이의 파라미터 속성들의 연결을 위해 할당되는 태그 속성을 포함할 수 있다.According to an embodiment of the present disclosure, the connection relationship information may include a tag attribute assigned for connection of parameter attributes between objects, components, functions, procedures, and DB queries that are interconnected.

일 실시예에 따라, 상기 동적 프로그램 저작 시스템은,According to one embodiment, the dynamic program authoring system,

개발자가 화면에 나타낸 양식에 채워진 업무 처리 결과를 출력할 보고서 양식을 편집할 수 있도록 편집 환경을 제공하는 보고서 관리부를 더 포함할 수 있다.It may further include a report management unit that provides an editing environment for the developer to edit the report form to output the results of the business processing filled in the form displayed on the screen.

일 실시예에 따라, 상기 동적 프로그램 저작 시스템은,According to one embodiment, the dynamic program authoring system,

상기 편집된 폼 오브젝트, 업무 로직 서비스 오브젝트, DB 서비스 오브젝트를 메모리에 로딩하고, 상기 연결 관계 정보 및 파라미터 속성에 따라 상기 로딩된 오브젝트들을 결합하여 실행할 수 있는 실행 환경을 제공하는 동적 실행 관리자를 더 포함할 수 있다.The dynamic execution manager further includes a dynamic execution manager that loads the edited form object, business logic service object, and DB service object into a memory, and provides an execution environment in which the loaded objects can be combined and executed according to the connection relationship information and parameter attributes. can do.

일 실시예에 따라, 상기 프로젝트 관리부는 오브젝트 단위로, 또는 다수의 오브젝트들과 연결 관계 정보를 모두 포함한 오브젝트 묶음으로 가져오기 또는 내보내기하도록 동작할 수 있다.According to an embodiment of the present disclosure, the project management unit may operate to import or export in units of objects or as an object bundle including all of the plurality of objects and connection relationship information.

본 발명의 다른 측면에 따른 동적 프로그램 저작 및 배포 시스템은,Dynamic program authoring and distribution system according to another aspect of the present invention,

개발자가 폼 오브젝트를 구성하는 컴포넌트들의 외형, 이벤트 조건, 이벤트 반응 동작에 관하여 정의하는 속성 정보를 편집할 수 있도록 편집 환경을 제공하는 폼 디자인부;A form design unit that provides an editing environment for a developer to edit attribute information defining the appearance, event conditions, and event response operations of components constituting the form object;

개발자가 사용자의 업무 프로세스를 전산화한 업무 로직 서비스 오브젝트들을 구성하는 함수 내지 프로시저와 입출력 데이터 형식을 정의하는 파라미터 속성을 편집할 수 있도록 편집 환경을 제공하는 업무 로직 서비스 편집부;A business logic service editing unit for providing a editing environment for a developer to edit functions or procedures constituting business logic service objects computerized by a user's business process and parameter attributes defining input / output data types;

개발자가 데이터베이스(DB) 서비스 오브젝트들을 구성하며 상기 컴포넌트, 함수, 또는 프로시저에서 요구되는 DB 쿼리와 입출력 데이터 형식을 정의하는 파라미터 속성을 편집할 수 있도록 편집 환경을 제공하는 DB 서비스 편집부;A DB service editor configured to provide a editing environment in which a developer configures database (DB) service objects and edits parameter attributes defining a DB query and an input / output data format required by the component, function, or procedure;

개발자가 상기 폼 오브젝트, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들을 생성하거나 삭제하고, 오브젝트들 사이의 연결 관계 정보를 편집할 수 있도록 편집 환경을 제공하는 프로젝트 관리부; 및A project management unit for providing a editing environment for a developer to create or delete the form object, business logic service objects, and DB service objects, and to edit connection relationship information between the objects; And

작성이 완료된 폼 오브젝트들, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들을 상기 연결 관계 정보 및 파라미터 속성와 함께 동적 프로그램 적재 DB에 저장하는 저장부를 포함할 수 있다.It may include a storage unit for storing the completed form objects, business logic service objects, DB service objects in the dynamic program loading DB with the connection relationship information and parameter attributes.

일 실시예에 따라, 상기 연결 관계 정보는 상호 연결되는 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들 사이의 파라미터 속성들의 연결을 위해 할당되는 태그 속성을 포함할 수 있다.According to an embodiment of the present disclosure, the connection relationship information may include a tag attribute assigned for connection of parameter attributes between objects, components, functions, procedures, and DB queries that are interconnected.

일 실시예에 따라, 상기 동적 프로그램 저작 및 배포 시스템은,According to one embodiment, the dynamic program authoring and distribution system,

개발자가 화면에 나타낸 양식에 채워진 업무 처리 결과를 출력할 보고서 양식을 편집할 수 있도록 편집 환경을 제공하는 보고서 관리부를 더 포함할 수 있다.It may further include a report management unit that provides an editing environment for the developer to edit the report form to output the results of the business processing filled in the form displayed on the screen.

일 실시예에 따라, 상기 동적 프로그램 저작 및 배포 시스템은,According to one embodiment, the dynamic program authoring and distribution system,

상기 편집된 폼 오브젝트, 업무 로직 서비스 오브젝트, DB 서비스 오브젝트를 메모리에 로딩하고, 상기 연결 관계 정보 및 파라미터 속성에 따라 상기 로딩된 오브젝트들을 결합하여 실행할 수 있는 실행 환경을 제공하는 동적 실행 관리자를 더 포함할 수 있다.The dynamic execution manager further includes a dynamic execution manager that loads the edited form object, business logic service object, and DB service object into a memory, and provides an execution environment in which the loaded objects can be combined and executed according to the connection relationship information and parameter attributes. can do.

일 실시예에 따라, 상기 프로젝트 관리부는 오브젝트 단위로, 또는 다수의 오브젝트들과 연결 관계 정보를 모두 포함한 오브젝트 묶음으로 가져오기 또는 내보내기하도록 동작할 수 있다.According to an embodiment of the present disclosure, the project management unit may operate to import or export in units of objects or as an object bundle including all of the plurality of objects and connection relationship information.

본 발명의 다른 측면에 따른 동적 프로그램 구동 시스템은,Dynamic program drive system according to another aspect of the present invention,

컴포넌트들의 외형, 이벤트 조건, 이벤트 반응 동작에 관하여 정의하는 속성 정보로써 구성되는 폼 오브젝트, 사용자의 업무 프로세스를 전산화한 함수 내지 프로시저와 입출력 데이터 형식을 정의하는 파라미터 속성로써 구성되는 업무 로직 서비스 오브젝트들, 그리고 상기 컴포넌트, 함수, 또는 프로시저에서 요구되는 DB 쿼리와 입출력 데이터 형식을 정의하는 파라미터 속성로써 구성되는 DB 서비스 오브젝트들을 상기 오브젝트들 사이의 연결 관계 정보와 함께 데이터베이스 구조로 저장하는 동적 프로그램 적재 DB; 및Business logic service objects composed of form objects consisting of attribute information defining the appearance of components, event conditions, and event response behaviors, and functions and procedures that computerize the user's business processes, and parameter attributes defining input and output data types. And a dynamic program loading DB for storing DB service objects, which are configured as parameter attributes defining the DB query and input / output data types required by the component, function, or procedure, together with connection relationship information between the objects, in a database structure. ; And

상기 폼 오브젝트들, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들, 연결 관계 정보를 상기 동적 프로그램 적재 DB로부터 읽어들여 메모리에 로딩하고, 상기 폼 오브젝트들 중 미리 설정된 폼 오브젝트를 화면에 표시하며, 사용자의 인터랙션, 이벤트, 설정된 연결 관계 정보에 따라 다른 폼 오브젝트를 화면에 표시하거나 상기 업무 로직 서비스 오브젝트들 또는 상기 DB 서비스 오브젝트들 중 적어도 하나를 호출 및 실행시키며, 상기 호출 및 실행된 서비스 오브젝트의 실행 결과를 상기 폼 오브젝트들 중 선택된 폼 오브젝트를 통해 화면에 표시하는 동적 프로그램 실행기를 포함할 수 있다.The form objects, business logic service objects, DB service objects, and connection relationship information are read from the dynamic program loading DB, loaded into a memory, a preset form object among the form objects is displayed on a screen, and Display another form object on the screen according to the interaction, event, and connection relationship information, or call and execute at least one of the business logic service objects or the DB service objects, and display the execution result of the called and executed service object. It may include a dynamic program executor to display on the screen through the selected form object of the form object.

일 실시예에 따라, 상기 동적 프로그램 실행기는According to one embodiment, the dynamic program executor

상기 로딩된 폼 오브젝트들 중에서 호출되는 폼 오브젝트에 의해 정의된 화면을 생성하는 폼 로더;A form loader for generating a screen defined by a form object called among the loaded form objects;

현재 생성된 화면의 폼 오브젝트에 포함된 컴포넌트들에 관하여 정의된 이벤트 발생 조건에 따라, 이벤트의 발생 여부를 분석하고, 컴포넌트들에 관하여 정의된 이벤트 반응 속성에 따라 지정된 폼 오브젝트 또는 서비스 오브젝트를 호출하는 이벤트 관리부;Analyzing whether an event occurs according to the event occurrence condition defined with respect to the components included in the form object of the currently created screen, and calling the designated form object or service object according to the event response attribute defined with respect to the components An event manager;

상기 로딩된 업무 로직 서비스 오브젝트들 중에서 호출된 업무 로직 서비스 오브젝트의 함수 내지 프로시저를 실행하는 로직 실행부;A logic execution unit that executes a function or procedure of a called business logic service object among the loaded business logic service objects;

업무 DB에 대하여 상기 로딩된 DB 서비스 오브젝트들 중에서 호출된 DB 쿼리를 실행하는 DB 접속부; 및A DB access unit which executes a called DB query among the loaded DB service objects with respect to a work DB; And

상기 실행되는 오브젝트들에 의해 생성되고 교환되는 데이터들을 상기 오브젝트들의 파라미터 속성에 따라 적절한 데이터 형식으로 변환하고, 변환된 데이터들을 상기 연결 관계 정보에 따라 식별된 목적지 오브젝트의 컴포넌트 또는 함수 내지 프로시저에 전달하는 파라미터 파서를 포함할 수 있다.Converts data generated and exchanged by the executed objects into an appropriate data format according to the parameter attribute of the objects, and transfers the converted data to a component or function or procedure of the destination object identified according to the connection relationship information. It may include a parameter parser.

일 실시예에 따라, 상기 연결 관계 정보는 서로 연결되는 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들 사이의 파라미터 속성들의 연결을 위해 할당되는 태그 속성을 포함하고,According to an embodiment, the connection relationship information may include a tag attribute assigned for connection of parameter attributes between objects, components, functions, procedures, and DB queries that are connected to each other.

상기 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들은 태그 속성을 기초로 호출할 상대방 또는 데이터를 주고받을 상대방을 특정할 수 있다.The objects, components, functions or procedures, and DB queries may specify a counterpart to call or a counterpart to exchange data based on a tag attribute.

본 발명의 또 다른 측면에 따른 동적 프로그램 구동 시스템은,Dynamic program drive system according to another aspect of the present invention,

데이터베이스 구조로 저장된 폼 오브젝트들, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들 및 연결 관계 정보를 메모리에 로딩하고, 상기 폼 오브젝트들 중 미리 설정된 폼 오브젝트를 화면에 표시하며, 사용자의 인터랙션, 이벤트, 설정된 연결 관계 정보에 따라 다른 폼 오브젝트를 화면에 표시하거나 상기 업무 로직 서비스 오브젝트들 또는 상기 DB 서비스 오브젝트들 중 적어도 하나를 호출 및 실행시키며, 상기 호출 및 실행된 서비스 오브젝트의 실행 결과를 상기 폼 오브젝트들 중 선택된 폼 오브젝트를 통해 화면에 표시하는 동적 프로그램 실행기를 포함하고,Load form objects, business logic service objects, DB service objects, and connection relationship information stored in a database structure into memory, display preset form objects among the form objects on the screen, and display user interactions, events, and settings. Displays another form object on the screen or calls and executes at least one of the business logic service objects or the DB service objects according to the connection relationship information, and displays the execution result of the called and executed service object among the form objects. Includes a dynamic program launcher that displays on the screen through the selected form object,

상기 폼 오브젝트는 컴포넌트들의 외형, 이벤트 조건, 이벤트 반응 동작에 관하여 정의하는 속성 정보로써 구성되며, The form object is composed of attribute information defining the appearance of the components, event conditions, event response behavior,

상기 업무 로직 서비스 오브젝트는 사용자의 업무 프로세스를 전산화한 함수 내지 프로시저와 입출력 데이터 형식을 정의하는 파라미터 속성로써 구성되고, The business logic service object is configured as a parameter attribute defining a function or procedure computerized by the user's business process and the input and output data format,

상기 DB 서비스 오브젝트는 상기 컴포넌트, 함수, 또는 프로시저에서 요구되는 DB 쿼리와 입출력 데이터 형식을 정의하는 파라미터 속성로써 구성될 수 있다.The DB service object may be configured as a parameter attribute defining a DB query and an input / output data format required by the component, function, or procedure.

본 발명의 다른 측면에 따른 개발자가 컴퓨터에서 구동된 동적 프로그램 저작 도구를 이용하여 동적 프로그램을 저작할 수 있게 하는 동적 프로그램 저작 방법은,According to another aspect of the present invention, a dynamic program authoring method that enables a developer to author a dynamic program using a computer-driven dynamic program authoring tool,

상기 컴퓨터에서,On the computer,

개발자가 폼 오브젝트를 구성하는 컴포넌트들의 외형, 이벤트 조건, 이벤트 반응 동작에 관하여 정의하는 속성 정보를 편집할 수 있도록 편집 환경을 제공하는 단계;Providing an editing environment for a developer to edit attribute information defining the appearance, event conditions, and event response behaviors of components constituting the form object;

개발자가 사용자의 업무 프로세스를 전산화한 업무 로직 서비스 오브젝트들을 구성하는 함수 내지 프로시저와 입출력 데이터 형식을 정의하는 파라미터 속성을 편집할 수 있도록 편집 환경을 제공하는 단계;Providing an editing environment for a developer to edit functions or procedures constituting business logic service objects computerized by a user's business process and parameter attributes defining input / output data types;

개발자가 데이터베이스(DB) 서비스 오브젝트들을 구성하며 상기 컴포넌트, 함수, 또는 프로시저에서 요구되는 DB 쿼리와 입출력 데이터 형식을 정의하는 파라미터 속성을 편집할 수 있도록 편집 환경을 제공하는 단계; 및Providing an editing environment for a developer to configure database (DB) service objects and to edit parameter attributes that define the DB query and I / O data types required by the component, function, or procedure; And

개발자가 상기 폼 오브젝트, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들을 생성하거나 삭제하고, 오브젝트들 사이의 연결 관계 정보를 편집할 수 있도록 편집 환경을 제공하는 단계를 포함할 수 있다.And providing a editing environment for a developer to create or delete the form object, business logic service objects, and DB service objects, and to edit connection relationship information between the objects.

일 실시예에 따라, 상기 연결 관계 정보는 상호 연결되는 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들 사이의 파라미터 속성들의 연결을 위해 할당되는 태그 속성을 포함할 수 있다.According to an embodiment of the present disclosure, the connection relationship information may include a tag attribute assigned for connection of parameter attributes between objects, components, functions, procedures, and DB queries that are interconnected.

일 실시예에 따라, 상기 동적 프로그램 저작 방법은,According to one embodiment, the dynamic program authoring method,

개발자가 화면에 나타낸 양식에 채워진 업무 처리 결과를 출력할 보고서 양식을 편집할 수 있도록 편집 환경을 제공하는 단계를 더 포함할 수 있다.The method may further include providing an editing environment for the developer to edit a report form to output a result of the processing of the work filled in the form displayed on the screen.

일 실시예에 따라, 상기 동적 프로그램 저작 방법은, According to one embodiment, the dynamic program authoring method,

상기 편집된 폼 오브젝트, 업무 로직 서비스 오브젝트, DB 서비스 오브젝트를 메모리에 로딩하고, 상기 연결 관계 정보 및 파라미터 속성에 따라 상기 로딩된 오브젝트들을 결합하여 실행할 수 있는 실행 환경을 제공하는 단계를 더 포함할 수 있다.The method may further include loading the edited form object, the business logic service object, and the DB service object into a memory, and providing an execution environment in which the loaded objects may be combined and executed according to the connection relationship information and parameter attributes. have.

일 실시예에 따라, 상기 동적 프로그램 저작 방법은,According to one embodiment, the dynamic program authoring method,

작성이 완료된 폼 오브젝트들, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들을 상기 연결 관계 정보 및 파라미터 속성와 함께 동적 프로그램 적재 DB에 저장하는 단계를 더 포함할 수 있다.The method may further include storing the completed form objects, business logic service objects, and DB service objects in the dynamic program loading DB together with the connection relationship information and parameter attributes.

일 실시예에 따라, 상기 동적 프로그램 저작 방법은,According to one embodiment, the dynamic program authoring method,

오브젝트 단위로, 또는 다수의 오브젝트들과 연결 관계 정보를 모두 포함한 오브젝트 묶음으로 가져오기 또는 내보내기하는 단계를 더 포함할 수 있다.The method may further include importing or exporting each object or as an object bundle including all of the plurality of objects and connection relationship information.

본 발명의 다른 측면에 따른 동적 프로그램 구동 방법은,Dynamic program driving method according to another aspect of the present invention,

컴포넌트들의 외형, 이벤트 조건, 이벤트 반응 동작에 관하여 정의하는 속성 정보로써 구성되는 폼 오브젝트, 사용자의 업무 프로세스를 전산화한 함수 내지 프로시저와 입출력 데이터 형식을 정의하는 파라미터 속성로써 구성되는 업무 로직 서비스 오브젝트들, 그리고 상기 컴포넌트, 함수, 또는 프로시저에서 요구되는 DB 쿼리와 입출력 데이터 형식을 정의하는 파라미터 속성로써 구성되는 DB 서비스 오브젝트들을 상기 오브젝트들 사이의 연결 관계 정보와 함께 데이터베이스 구조로 동적 프로그램 적재 DB에 저장하는 단계;Business logic service objects composed of form objects consisting of attribute information defining the appearance of components, event conditions, and event response behaviors, and functions and procedures that computerize the user's business processes, and parameter attributes defining input and output data types. And store DB service objects configured as parameter attributes defining the DB query and I / O data types required by the component, function, or procedure in a dynamic program loading DB in a database structure together with connection relationship information between the objects. Making;

상기 폼 오브젝트들, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들, 연결 관계 정보들을 상기 동적 프로그램 적재 DB로부터 읽어들여 메모리에 로딩하고, 상기 폼 오브젝트들 중 미리 설정된 폼 오브젝트를 화면에 표시하며, 사용자의 인터랙션, 이벤트, 설정된 연결 관계 정보에 따라 다른 폼 오브젝트를 화면에 표시하거나 상기 업무 로직 서비스 오브젝트들 또는 상기 DB 서비스 오브젝트들 중 적어도 하나를 호출 및 실행시키며, 상기 호출 및 실행된 서비스 오브젝트의 실행 결과를 상기 폼 오브젝트들 중 선택된 폼 오브젝트를 통해 화면에 표시함으로써 동적 프로그램을 실행하는 단계를 포함할 수 있다.The form objects, business logic service objects, DB service objects, and connection relationship information are read from the dynamic program loading DB, loaded into a memory, a preset form object among the form objects is displayed on a screen, and Display another form object on the screen according to the interaction, event, and connection relationship information, or call and execute at least one of the business logic service objects or the DB service objects, and display the execution result of the called and executed service object. The method may include executing a dynamic program by displaying on the screen through the selected form object among the form objects.

일 실시예에 따라, 상기 동적 프로그램을 실행하는 단계는,According to one embodiment, the step of executing the dynamic program,

상기 로딩된 폼 오브젝트들 중에서 호출되는 폼 오브젝트에 의해 정의된 화면을 생성하는 단계;Generating a screen defined by a form object called among the loaded form objects;

현재 생성된 화면의 폼 오브젝트에 포함된 컴포넌트들에 관하여 정의된 이벤트 발생 조건에 따라, 이벤트의 발생 여부를 분석하고, 컴포넌트들에 관하여 정의된 이벤트 반응 속성에 따라 지정된 폼 오브젝트 또는 서비스 오브젝트를 호출하는 단계;Analyzing whether an event occurs according to the event occurrence condition defined with respect to the components included in the form object of the currently created screen, and calling the designated form object or service object according to the event response attribute defined with respect to the components step;

상기 로딩된 업무 로직 서비스 오브젝트들 중에서 호출된 업무 로직 서비스 오브젝트의 함수 내지 프로시저를 실행하는 단계;Executing a function or procedure of a called business logic service object among the loaded business logic service objects;

업무 DB에 대하여 상기 로딩된 DB 서비스 오브젝트들 중에서 호출된 DB 쿼리를 실행하는 단계; 및Executing a called DB query among the loaded DB service objects with respect to a work DB; And

상기 실행되는 오브젝트들에 의해 생성되고 교환되는 데이터들을 상기 오브젝트들의 파라미터 속성에 따라 적절한 데이터 형식으로 변환하고, 변환된 데이터들을 상기 연결 관계 정보에 따라 식별된 목적지 오브젝트의 컴포넌트 또는 함수 내지 프로시저에 전달하는 단계를 포함할 수 있다.Converts data generated and exchanged by the executed objects into an appropriate data format according to the parameter attribute of the objects, and transfers the converted data to a component or function or procedure of the destination object identified according to the connection relationship information. It may include the step.

일 실시예에 따라, 상기 연결 관계 정보는 서로 연결되는 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들 사이의 파라미터 속성들의 연결을 위해 할당되는 태그 속성을 포함하고,According to an embodiment, the connection relationship information may include a tag attribute assigned for connection of parameter attributes between objects, components, functions, procedures, and DB queries that are connected to each other.

상기 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들은 태그 속성을 기초로 호출할 상대방 또는 데이터를 주고받을 상대방을 특정할 수 있다.The objects, components, functions or procedures, and DB queries may specify a counterpart to call or a counterpart to exchange data based on a tag attribute.

본 발명의 또 다른 측면에 따른 동적 프로그램 적재 데이터베이스 구축 방법은,Dynamic program loading database construction method according to another aspect of the present invention,

컴포넌트들의 외형, 이벤트 조건, 이벤트 반응 동작에 관하여 정의하는 속성 정보들을 필드 값으로 하여 폼 오브젝트를 구조화하는 단계;Structuring a form object with attribute information defining the appearance of components, event conditions, and event response behaviors as field values;

사용자의 업무 프로세스를 전산화한 함수 내지 프로시저와 입출력 데이터 형식을 정의하는 파라미터 속성들을 필드 값으로 하여 업무 로직 서비스 오브젝트들을 구조화하는 단계;Structuring business logic service objects with field values of functions or procedures computerizing a user's business process and parameter attributes defining input and output data types;

상기 컴포넌트, 함수, 또는 프로시저에서 요구되는 DB 쿼리와 입출력 데이터 형식을 정의하는 파라미터 속성들을 필드 값으로 하여 DB 서비스 오브젝트들을 구조화하는 단계; 및Structuring DB service objects using parameter attributes that define a DB query and an input / output data format required by the component, function, or procedure as field values; And

상기 오브젝트들을 상기 오브젝트들 사이의 연결 관계 정보와 함께 데이터베이스 구조로 저장하는 단계를 포함할 수 있다.The method may include storing the objects in a database structure along with connection relationship information between the objects.

일 실시예에 따라, 상기 연결 관계 정보는 서로 연결되는 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들 사이의 파라미터 속성들의 연결을 위해 할당되는 태그 속성을 포함하고,According to an embodiment, the connection relationship information may include a tag attribute assigned for connection of parameter attributes between objects, components, functions, procedures, and DB queries that are connected to each other.

상기 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들이 태그 속성을 기초로 호출할 상대방 또는 데이터를 주고받을 상대방을 특정할 수 있도록 상기 태그 속성이 지정될 수 있다.The tag attribute may be specified so that the objects, components, functions or procedures, and DB queries can specify a counterpart to call or a counterpart to exchange data based on a tag attribute.

본 발명의 오브젝트 단위의 동적 프로그램의 저작, 배포 및 구동 방법 및 장치에 따르면, 개발자는 각각의 역할에 따라 정형화된 오브젝트들을 고객사의 요구 조건에 따라 개별적으로 작성하고 오브젝트들 사이의 연결 관계를 정의함으로써 하나의 프로그램 프로젝트를 완성할 수 있기 때문에, 처음부터 전체 코드를 설계 및 작성할 필요를 제거할 수 있고 개발자의 숙련 요구도나 작업량을 줄일 수 있다.According to the method and apparatus for authoring, distributing, and driving a dynamic program of an object unit of the present invention, a developer separately creates objects, which are formalized according to their respective roles, according to the requirements of a customer, and defines a connection relationship between the objects. By completing one program project, you can eliminate the need to design and write the entire code from scratch and reduce the developer's skill requirements or workload.

또한, 본 발명의 오브젝트 단위의 동적 프로그램의 저작, 배포 및 구동 방법 및 장치에 따르면, 개발자가 프로그램을 배포할 때에는 작성된 오브젝트들을 고객사의 적재 DB에 전송 및 저장하는 것으로 완료되므로, 전체 프로그램을 컴파일하지 않고도 프로그램을 배포할 수 있다. 나아가, 프로젝트에 수정이 필요할 때에는 수정된 오브젝트만 적재 DB에 교체 저장하는 것으로 충분하기 때문에, 유지 보수도 효율적이다.In addition, according to the method and apparatus for authoring, distributing, and driving a dynamic program of an object unit of the present invention, when a developer distributes a program, the created objects are completed by transmitting and storing the created objects in a loading database of a client company. You can distribute the program without it. Furthermore, when the project needs to be modified, it is sufficient to replace and store only the modified objects in the loading DB, so maintenance is also efficient.

본 발명의 오브젝트 단위의 동적 프로그램의 저작, 배포 및 구동 방법 및 장치에 따르면, 고객사의 사용자들은 적재 DB로부터 최신 버전으로 수정된 오브젝트들을 불러들여 동적으로 조합하고 실행 환경을 제공하는 동적 실행 관리자를 실행하는 것만으로, 매번 최신 버전의 프로그램을 배포받아 전체 재설치하지 않아도, 항상 최신 버전으로 유지 보수된 프로그램이 실행되는 경험을 얻을 수 있다.According to the method and apparatus for authoring, distributing, and running a dynamic program of an object unit of the present invention, users of a customer execute a dynamic execution manager that retrieves objects modified to the latest version from a loading DB, dynamically combines them, and provides an execution environment. You can get the experience of always running the latest version of the program without having to get the latest version of the program and reinstall it every time.

도 1은 본 발명의 일 실시예에 따른 오브젝트 단위의 동적 프로그램의 저작, 배포 및 구동 시스템을 예시한 개념도이다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 오브젝트 단위의 동적 프로그램에 관하여 하나의 프로젝트가 어떻게 구성되는지를 개념적으로 예시한 개념도들이다.
도 4는 본 발명의 일 실시예에 따른 오브젝트 단위의 동적 프로그램에 관하여 오브젝트들 사이에 속성과 태그를 이용하여 어떻게 연결관계가 설정되는지를 개념적으로 예시한 개념도이다.
도 5는 본 발명의 일 실시예에 따른 오브젝트 단위의 동적 프로그램 저작도구를 예시한 도면이다.
도 6은 본 발명의 일 실시예에 따라 오브젝트 단위의 동적 프로그램을 동적으로 실행하는 동적 프로그램 실행기를 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 오브젝트 단위의 동적 프로그램을 실행하는 절차를 예시한 순서도이다.
1 is a conceptual diagram illustrating a system for authoring, distributing and driving a dynamic program in an object unit according to an embodiment of the present invention.
2 and 3 are conceptual views conceptually illustrating how a project is configured with respect to a dynamic program of an object unit according to an embodiment of the present invention.
FIG. 4 is a conceptual diagram conceptually illustrating how a connection relationship is established using attributes and tags between objects with respect to a dynamic program in an object unit according to an embodiment of the present invention.
5 is a diagram illustrating a dynamic program authoring tool in an object unit according to an embodiment of the present invention.
6 is a diagram illustrating a dynamic program executor that dynamically executes a dynamic program on an object basis according to an embodiment of the present invention.
7 is a flowchart illustrating a procedure of executing a dynamic program in an object unit according to an embodiment of the present invention.

본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니된다. With respect to the embodiments of the present invention disclosed in the text, specific structural to functional descriptions are merely illustrated for the purpose of describing embodiments of the present invention, embodiments of the present invention may be implemented in various forms and It should not be construed as limited to the embodiments described in.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. The same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

도 1은 본 발명의 일 실시예에 따른 오브젝트 단위의 동적 프로그램의 저작, 배포 및 구동 시스템을 예시한 개념도이다.1 is a conceptual diagram illustrating a system for authoring, distributing and driving a dynamic program in an object unit according to an embodiment of the present invention.

도 1을 참조하면, 동적 프로그램 저작 시스템(10)과 동적 프로그램 구동 시스템(30)이 예시되어 있다.Referring to FIG. 1, a dynamic program authoring system 10 and a dynamic program driving system 30 are illustrated.

동적 프로그램 저작 시스템(10)은 제1 네트워크(41)를 통해 고객사 DB(50)와 연결되고, 동적 프로그램 구동 시스템(30)은 제2 네트워크(42)를 통해 고객사 DB(50)와 연결된다. 고객사 DB(50)는 동적 프로그램 적재 DB(51) 및 로컬 업무 DB(52)를 포함할 수 있다. 이때, 예를 들어 제1 네트워크(41)는 공용 네트워크인 인터넷이고, 제2 네트워크(42)는 사설 네트워크인 인트라넷 또는 전용망이 될 수 있다.The dynamic program authoring system 10 is connected to the customer company DB 50 through the first network 41, and the dynamic program driving system 30 is connected to the customer company DB 50 through the second network 42. The client company DB 50 may include a dynamic program loading DB 51 and a local work DB 52. In this case, for example, the first network 41 may be the public network, and the second network 42 may be an intranet or a private network, which is a private network.

도 1에서는 동적 프로그램 저작 시스템(10)과 동적 프로그램 구동 시스템(30)이 물리적 또는 지리적으로 멀리 떨어져 있는 것으로 예시되었지만, 실시예에 따라서는 동적 프로그램 저작 시스템(10)과 동적 프로그램 구동 시스템(30)이 공통 범위의 하드웨어 내에, 예를 들어 고객의 통제권에 있는 하드웨어 내에 함께 구축될 수도 있다.In FIG. 1, the dynamic program authoring system 10 and the dynamic program driving system 30 are illustrated as being physically or geographically separated from each other, but according to an embodiment, the dynamic program authoring system 10 and the dynamic program driving system 30 may be used. It may be built together in this common range of hardware, for example in hardware under the control of the customer.

고객이 요구하는 특정 기능에 관하여 개발자가 원격으로 또는 직접 고객과 상담하면서 그 자리에서(in-situ) 프로젝트의 원하는 부분을 커스터마이징할 수 있고, 동시에 프로젝트의 수정된 부분은 컴파일없이도, 나아가 심지어 동적 프로그램 전체를 메모리에서 언로딩 및 재실행하지 않고서도, 즉각적으로 동적 프로그램 구동 시스템(30)에 갱신 및 실행시킬 수 있다. The developer can customize the desired part of the project in-situ while talking to the customer remotely or in person about the specific features required by the customer, while at the same time modifying the project without compiling, even dynamic programs. It is possible to update and execute the dynamic program drive system 30 immediately without unloading and rerunning from the whole in memory.

나아가, 고객이 프로그램을 수정할 권한이나 능력을 갖춘 경우라면, 고객이 직접 동적 프로그램을 원하는 방향으로 커스터마이징할 수도 있다.Furthermore, if the customer has the authority or ability to modify the program, the customer can customize the dynamic program in the desired direction.

동적 프로그램 저작 시스템(10)은 대량의 정형화된 데이터와 정형화된 업무를 취급하기 위한 프로그램 프로젝트를 몇 가지의 정형화된 역할 별로 분할한 오브젝트들을 개발자가 정형적으로 작성할 수 있도록 보조하는 도구, 즉 저작 툴(tool)들을 포함한다. 본 출원의 발명자는 그러한 프로그램에 관하여, 데이터의 입력부터 출력에 이르는 과정을 1) 사용자와 시스템 사이의 그래픽 인터페이스, 2) 사용자 업무를 전산화하는 데에 필요한 업무 프로세스, 3) DB 쿼리 및 관리, 4) 업무 처리 결과 보고서의 출력이라는 네 가지의 역할로 크게 분류하고, 하나의 전체 프로그램 프로젝트를 이러한 역할을 담당하는 오브젝트들의 집합으로서 개발하고 오브젝트들 사이에서는 규격화된 통신 인터페이스를 이용하여 연결시킴으로써 체계적이고 기계적으로 동적 프로그램을 개발할 수 있는 방안을 고안한 것이다.The dynamic program authoring system 10 is a tool that assists a developer to formally create an object that divides a program project for handling a large amount of structured data and a structured task into several formal roles, that is, an authoring tool. Contains tools. The inventor of the present application relates to such a program, the process from the input of data to the output 1) graphical interface between the user and the system, 2) business processes required to computerize the user's work, 3) DB query and management, 4 It is categorized into four roles, the output of the business process result report, and a whole program project is developed as a collection of objects that play a role, and the objects are connected by using a standardized communication interface. We devised a way to develop dynamic programs.

잠시 도 2를 참조하면, 도 2는 본 발명의 일 실시예에 따른 오브젝트 단위의 동적 프로그램에 관하여 하나의 프로젝트가 어떻게 구성되는지를 개념적으로 예시한 개념도이다.Referring to FIG. 2 for a while, FIG. 2 is a conceptual diagram conceptually illustrating how a project is configured with respect to a dynamic program of an object unit according to an embodiment of the present invention.

하나의 프로젝트 내에서 필요한 오브젝트들이 모두 작성되고 이들 사이에 연결 관계가 적절히 구축되면 이러한 오브젝트들과 연결관계로써 원하는 기능을 수행하는 프로그램이 완성될 수 있다.If all the necessary objects are created in one project and a connection relationship is properly established between them, a program that performs a desired function with these objects and a connection relationship can be completed.

이를 위해 다음과 같은 개념들이 정립될 수 있다.To this end, the following concepts can be established.

먼저, 본 명세서에서는 앞서 말한 네 가지 역할을 각각 담당하는 오브젝트들과 이들 사이의 연결관계를 정의하는 코드들을 통틀어 디자인 코드라고 지칭한다. 디자인 코드는 종래에 컴파일을 거쳐야 하는 프로그램 소스 코드와 다른 개념을 가지며, 마치 하나의 큰 퍼즐의 퍼즐 조각과 같이, 개발자에게는 직관적으로 이해하고 개별적으로 저작할 수 있는 것이고, 동적 실행부에게는 개별적으로 메모리에 로딩되고 해석되며 실행될 수 있는 것이다.First, in the present specification, the codes that define the objects that play the above four roles and the connection relationships therebetween are referred to as design codes. The design code has a different concept from the program source code that has to be conventionally compiled and can be intuitively understood and individually written by the developer, like a puzzle piece of one big puzzle, and individually memory by the dynamic execution unit. It can be loaded, interpreted, and executed on.

디자인 코드는 전체 프로젝트, 연결관계, 폼 오브젝트, 컴포넌트, 속성, 이벤트, 로직 스크립트, SQL 등을 포함할 수 있다.Design code can include entire projects, connections, form objects, components, properties, events, logic scripts, SQL, and so on.

프로젝트(project)는 목적하는 기능을 수행할 오브젝트들로 구성된 동적 프로그램의 최상위 그룹으로서, 동적 프로그램의 생성과 저장 단계에서 고유 ID를 가지고 구분될 수 있다.A project is a top-level group of dynamic programs composed of objects to perform a desired function, and can be distinguished with a unique ID in a dynamic program generation and storage stage.

오브젝트(object)는 프로젝트 내에서 메모리 로딩의 단위로서 프로젝트를 구성하며 그 역할에 따라 크게 폼 오브젝트와 서비스 오브젝트로 나뉠 수 있다. 폼 오브젝트는 화면에 표현되어 사용자와 사이에 인터페이스를 제공하는 오브젝트이고, 서비스 오브젝트는 폼 오브젝트를 통해 입력된 정보를 가공하거나 또는 폼 오브젝트에 표시될 정보를 생성하고 로컬 업무 DB(52)에 정보를 입출력하는 기능들을 수행하기 위한 오브젝트이다.Objects constitute a project as a unit of memory loading within a project, and can be divided into form objects and service objects according to their roles. The form object is an object that is displayed on the screen to provide an interface between the user and the service object, which processes information input through the form object or generates information to be displayed on the form object and sends the information to the local business DB 52. Object to perform input / output functions.

도 3은 본 발명의 일 실시예에 따른 오브젝트 단위의 동적 프로그램에 관하여 하나의 프로젝트가 어떻게 구성되는지를 개념적으로 예시한 개념도들이다.3 is a conceptual diagram conceptually illustrating how a project is configured with respect to a dynamic program of an object unit according to an embodiment of the present invention.

도 3을 참조하면, 오브젝트들 사이에는 주/종 관계 또는 모/자/형제 관계가 어떻게 정의될 수 있는지 예시되어 있다. 예를 들어, 폼 오브젝트 A는 이벤트 발생 시에 업무 로직 A 또는 업무 로직 B를 호출할 수 있다. 이 경우, 폼 오브젝트 A와 업무 로직 A, B는 주종 관계 또는 모자 관계이다.Referring to FIG. 3, it is illustrated how master / slave or parent / child / brother relationships can be defined between objects. For example, form object A may call business logic A or business logic B when an event occurs. In this case, form object A and business logics A and B are master or mother relationships.

한편, 업무 로직 A는 실행을 위해 DB 서비스 A를 호출할 수 있고, 업무 로직 B는 실행을 위해 DB 서비스 B와 C를 함께 호출할 수 있다. 이 경우, 업무 로직 A와 DB 서비스 A는 주종 또는 모자 관계이고, DB 서비스 B와 C는 형제 관계이다.Meanwhile, business logic A may call DB service A for execution, and business logic B may call DB service B and C together for execution. In this case, business logic A and DB service A are master or mother, and DB services B and C are siblings.

또한 폼 오브젝트 A는 이벤트 발생 시에 새로운 폼 오브젝트 B를 화면에 표시할 수도 있다. 나아가, 폼 오브젝트 D는 화면에 표시될 때에 사용자의 특정한 입력이 없어도 특정 데이터를 처음부터 화면에 표시하는 것이 필요할 경우에는 이를 위한 DB 서비스 B를 직접 호출할 수도 있다.Form object A may also display a new form object B on the screen when an event occurs. Furthermore, when the form object D needs to display specific data from the beginning even when there is no user's specific input when it is displayed on the screen, the form object D may directly call DB service B for this purpose.

이러한 오브젝트 간의 다양한 연결 관계는 프로젝트의 중요한 부분으로서 관리된다.The various connections between these objects are managed as an important part of the project.

한편, 도 3에서 알 수 있듯이, 하나의 오브젝트는 다양한 위치에서 연결 관계에 의해 중복적으로 호출될 수 있다. 예를 들어, 폼 B는 폼 A에서도 호출되고 폼 D에 의해서도 호출될 수 있으며, 업무 로직 A는 폼 A에 의해서 호출될 수도 있지만 폼 E에 의해서도 호출될 수 있다. 이렇게 한 차례 작성된 오브젝트가 여러 가지 연결 관계에 의해 다양한 양상으로 재사용될 수 있다. On the other hand, as can be seen in Figure 3, one object may be called repeatedly by a connection relationship at various locations. For example, Form B can be called from Form A and called by Form D, and business logic A can be called by Form A but can also be called by Form E. The object created once can be reused in various aspects by various connection relationships.

또한, 특정 위치의 오브젝트를 수정하였을 때에, 수정 사항이 동일한 내용의 오브젝트들 중에 해당 위치의 오브젝트에만 적용될 수도 있고, 모든 위치의 오브젝트에 적용되게 할 수도 있다. 예를 들어 사용자의 요청에 따라 폼 A에 의해 호출되는 폼 B를 폼 B'로 수정하였을 경우, 개발자의 의도에 따라 폼 A에 의해 호출되는 폼 B만 수정될 수 있고, 또는 폼 D에 의해 호출되는 폼 B도 함께 폼 B'로 수정될 수도 있다.In addition, when an object of a specific position is modified, the modification may be applied only to the object of the corresponding position among the objects of the same content or may be applied to the object of all the positions. For example, if Form B called by Form A is modified to Form B 'at the user's request, only Form B called by Form A can be modified according to the developer's intention, or called by Form D. Form B can also be modified to form B '.

나아가, 현재 프로젝트에서 사용된 오브젝트는 오브젝트 단위로, 또는 다수의 오브젝트들과 상하위 연결 관계 정보를 모두 포함한 오브젝트 묶음으로 가져오기 또는 내보내기를 할 수 있기 때문에 다른 프로젝트에 쉽게 삽입될 수 있다.Furthermore, the objects used in the current project can be easily inserted into other projects because the objects can be imported or exported in units of objects or as a bundle of objects including a plurality of objects and parent-child connection information.

도 2로 돌아가서, 특정 폼 오브젝트는 특정 정보를 입력받거나 표시하고, 그 특정 정보를 취급하기 위해서는 특정 서비스 오브젝트를 호출하여야 한다. 또한, 어떤 하나의 서비스 오브젝트가 여러 폼 오브젝트에서 호출될 수도 있다. Returning to FIG. 2, a particular form object receives or displays specific information, and needs to call a specific service object to handle the specific information. In addition, any single service object may be called on multiple form objects.

컴포넌트는 폼 오브젝트를 구성하는 정형화된 최소 단위 객체를 의미한다. 폼에 특정 정보를 특정 위치에 입력 또는 출력하기 위한 텍스트 박스, 콤보 박스, 옵션 선택 라디오 버튼, 명령어 버튼, 레이블, 스프레드, 도형, 이미지, 미디어 등이 있다.A component is a formal minimum unit object that forms a form object. There are text boxes, combo boxes, option selection radio buttons, command buttons, labels, spreads, shapes, images, and media for entering or outputting specific information on a form at specific locations.

속성은 컴포넌트마다 지정되어야 하는 성질을 정의하는 것으로, ID, 종류, 이름, 크기, 위치, 폰트, 태그, 이벤트의 발생 조건과 반응 등의 값을 가진다. 이때, 다른 오브젝트들의 구성 요소들도 다수의 속성에 의해 정의되고 태그에 의해 연결되는 것은 마찬가지이다.Attributes define properties that should be specified for each component, and have values such as ID, type, name, size, position, font, tag, event condition and response. At this time, elements of other objects are also defined by a plurality of attributes and connected by tags.

여기서, 태그는 본 발명의 동적 프로그램 저작, 배포 및 구동 시스템에서 독특한 개념으로서, 특정 오브젝트들에서 특정 역할을 하는 요소들 사이의 연결을 위해 약속된 속성 정보이다. 태그는 폼 오브젝트의 컴포넌트와 서비스 오브젝트의 함수/프로시저 사이, 또는 서로 다른 서비스 오브젝트들의 함수/프로시저 사이에서 고유한 연결관계를 제공할 수 있다. 예를 들어, 동일한 태그를 가진 컴포넌트와 함수는 일대일로 연결되는 관계이며, 만약 어떤 컴포넌트가 데이터의 입력 용도라면 입력된 데이터가 해당 함수에 관한 것임을 의미하고, 만약 해당 컴포넌트가 데이터의 출력 용도라면, 해당 함수에서 출력된 데이터가 해당 컴포넌트를 통해 표시될 것임을 의미한다.Here, the tag is a unique concept in the dynamic program authoring, distribution, and driving system of the present invention, and is attribute information promised for connection between elements that play a specific role in specific objects. A tag can provide a unique connection between a component of a form object and a function / procedure of a service object, or between functions / procedures of different service objects. For example, a component and a function with the same tag have a one-to-one relationship, and if a component is intended for input of data, it means that the data entered is for the function. If the component is intended for output of data, It means that the data output from the function will be displayed through the component.

한편, 태그 정보는 개발자가 인식하기 편한 형식으로 부여될 수 있다. 태그는 한 프로젝트 내에서 오브젝트들 사이에 공통적으로 약속되어 사용되는 속성 정보이므로, 중복되거나 잘못 지정되지 않도록 관리될 수 있다.On the other hand, the tag information may be given in a format easy for the developer to recognize. Since tags are attribute information commonly promised and used among objects in a project, they can be managed so that they are not duplicated or specified incorrectly.

예를 들어, 특정 폼 오브젝트 내의 텍스트 박스가 특정 서비스 오브젝트의 특정 함수에 대해 특정 태그로써 연결되어 있는데, 개발자가 인터페이스 수정을 위해 이 텍스트 박스 컴포넌트를 콤보 박스 컴포넌트로 변경하였다고 가정하자. 이 경우, 변경된 컴포넌트는 원래의 컴포넌트에 비해 ID, 종류, 이름, 크기, 위치, 폰트 등의 속성이 모두 변경될 수 있는데, 그럼에도 불구하고 원래의 태그 속성만 유지된다면, 변경된 컴포넌트는 특정 서비스 오브젝트의 특정 함수에 대해 아무 문제없이 연결될 수 있다.For example, suppose a text box within a particular form object is linked with a specific tag for a particular function of a particular service object, and the developer has changed this text box component to a combo box component to modify the interface. In this case, the changed component may change all the attributes such as ID, type, name, size, position, font, etc. compared to the original component. It can be linked without any problem for a particular function.

함수(function) 또는 프로시저(procedure)는 업무 로직 서비스 또는 DB 서비스 오브젝트 내에서 실제 기능을 구현하기 위한 코드들의 집합을 가리킨다. 폼 오브젝트의 컴포넌트에 대하여 특정 이벤트가 발생하면(예를 들어 텍스트 박스에 데이터가 입력된다거나, 라디오 버튼 컨포넌트가 눌러진다거나, 실행 버튼이 눌러지는 등의 이벤트), 특정 서비스 오브젝트의 특정 함수 또는 프로시저가 호출될 수 있다. A function or procedure refers to a set of codes for implementing the actual function within a business logic service or DB service object. When a specific event occurs for a component of a form object (for example, data is entered into a text box, a radio button component is pressed, an action button is pressed, and so on), a specific function or profile of a particular service object The procedure can be called.

파라미터는 특정 함수 또는 프로시저를 호출하는 오브젝트가 특정 함수 또는 프로시저에서 그 기능을 실행하기 위해 입력되어야 할 데이터를 해당 함수 또는 프로시저에 제공하기 위한 형식 내지 수단이며, 또한 호출된 함수 또는 프로시저가 자신의 실행 결과를 다른 오브젝트 또는 함수/프로시저로 전달하기 위한 형식 내지 수단이다. 파라미터는 데이터를 주고받는 상대 오브젝트나 함수에 따라 어떤 종류와 규격의 데이터로서 주고받을 것인지 그 형식을 정의한 것 또는 그렇게 정의된 형식으로 가공된 데이터를 가리킨다. 한편, 어떤 컴포넌트가 어떤 함수에 대해 어떤 파라미터를 통해 연결될 것인지는 태그에 의해 정의될 수 있다.A parameter is a form or means for providing a function or procedure with data that an object calling a particular function or procedure needs to be entered in order to execute its function in that particular function or procedure, and also called the function or procedure called Is a form or means for passing its execution result to another object or function / procedure. A parameter refers to a data that is defined in a format defined in such a format or a format of what kind and standard data to send or receive according to a counterpart object or a function that exchanges data. On the other hand, which component is connected to which function through which parameter may be defined by a tag.

이렇듯, 속성과 태그로 정의된 컴포넌트들로써 폼 오브젝트를 구성하고, 파라미터들로 입출력되는 함수 또는 프로시저들로써 업무 로직 서비스 오브젝트 내지 DB 서비스 오브젝트들을 구성하며, 이러한 폼 오브젝트들과 서비스 오브젝트들로써 하나의 프로젝트를 구성할 수 있다.In this way, form objects are composed of components defined by attributes and tags, and business logic service objects or DB service objects are composed of functions or procedures inputted and outputted as parameters, and a project is formed as these form objects and service objects. Can be configured.

이를 설명하기 위해 잠시 도 4를 참조하면, 도 4는 본 발명의 일 실시예에 따른 오브젝트 단위의 동적 프로그램에 관하여 오브젝트들 사이에 속성과 태그를 이용하여 어떻게 연결관계가 설정되는지를 개념적으로 예시한 개념도이다.Referring to FIG. 4 for a while, FIG. 4 conceptually illustrates how a connection relationship is established using attributes and tags between objects with respect to a dynamic program in an object unit according to an embodiment of the present invention. Conceptual diagram.

도 4에서, 예를 들어, 특정 시작 날짜와 종료 날짜 사이에 특정 정보를 검색하는 기능이 필요하다고 가정하면, 먼저 폼 오브젝트에 사용자가 시작 날짜와 종료 날짜를 각각 입력할 수 있는 컴포넌트들을 가지는 입력 폼과 결과를 보여주는 컴포넌트를 가지는 결과 폼이 작성되고, 입력 폼과 결과 폼에 각각 태그가 할당된다.In FIG. 4, for example, assuming that a function of retrieving specific information between a specific start date and an end date is required, first, an input form having components that allow a user to input a start date and an end date, respectively, in a form object A result form is created, with a component that shows the result and the result, and tags are assigned to the input form and the result form respectively.

한편, 업무 로직은 사용자가 실행을 지시하는 특정 업무 프로세스의 실행을 위해 사용자가 입력한 데이터 또는 DB에서 검색한 데이터들에 대해 연산하고 결과값을 생성하는 일련의 스크립트들을 포함하도록 작성되고, 작성된 업무 로직에 태그가 할당된다.On the other hand, the business logic is written to include a series of scripts that operate on the data entered by the user or the data retrieved from the DB and generate a result for the execution of a specific business process instructing the user to execute. The tag is assigned to the logic.

개발자는 입력 폼과 결과 폼에 할당한 태그들을 해당 입력 날짜 구간에 해당하는 정보 검색과 데이터 가공을 맡은 업무 로직의 태그와 연계시킨다.The developer associates the tags assigned to the input form and the result form with the tags of the task logic responsible for retrieving information and processing data corresponding to the input date range.

나아가, 업무 로직 서비스가 동작을 위해 필요로 하는 특정한 데이터 형식이 있을 때에는 업무 로직 서비스의 입출력 데이터는 그 특정한 데이터 형식을 가지는 파라미터를 통해서 입출력되도록 파라미터 속성이 설정된다.Furthermore, when there is a specific data format that the business logic service requires for operation, parameter attributes are set such that input / output data of the business logic service is input / output through a parameter having the specific data format.

또한, DB 서비스도 특정 조건으로 DB를 검색하기 위한 쿼리를 포함하도록 작성되고, 작성된 DB 서비스에 태그가 할당된다.In addition, the DB service is also created to include a query for searching the DB under specific conditions, and the tag is assigned to the created DB service.

이렇게 작성된 폼 오브젝트와 업무 로직 서비스 오브젝트, DB 서비스 오브젝트들이 실제로 실행될 때에는, 이러한 입력 컴포넌트에 사용자가 데이터를 입력하고 검색 버튼을 누르면, 해당 입력 폼에 관하여 할당된 태그들에 의해 연계된 업무 로직 서비스가 호출되고, 해당 업무 로직 서비스에 설정된 파라미터 속성에 맞춰 입력 컴포넌트에서 사용자 입력 데이터가 업무 로직 서비스에 제공되는 식으로 동작할 수 있다.When the created form object, business logic service object, and DB service object are actually executed, when a user inputs data to the input component and clicks a search button, the business logic service linked by the tags assigned to the input form is executed. It can be called and operated in such a way that user input data is provided to the business logic service in the input component according to the parameter attribute set in the corresponding business logic service.

예를 들어, 입력 폼 오브젝트의 입력 컴포넌트는 사용자가 시작 날짜란와 종료 날짜란에 각각 YY/MM/DD와 같이 입력하도록 할 수 있는데, 이 입력 데이터는 태그에 의해 입력 컴포넌트와 연관된 업무 로직 서비스의 함수에 관하여 설정된 파라미터를 통해 해당 업무 로직 서비스 내의 함수로 제공된다. For example, an input component of an input form object can cause a user to enter in the Start Date and End Date fields as YY / MM / DD, respectively, which input data is a function of the business logic service associated with the input component by a tag. It is provided as a function in the business logic service through the parameter set for.

업무 로직 서비스 내의 함수는 날짜 데이터를 YYYYMMDD 날짜 포맷으로 변환하고 이를 기초로 하여 정보를 생성할 수 있다. 예를 들어, 함수는 변환된 날짜 데이터를 각각 STARTDT, ENDDT 변수에 저장하는 스크립트로 작성될 수 있다. 이어서, 함수는 태그를 통해 자신이 필요로 하는 DB 서비스를 호출하고, 호출된 DB 쿼리에 의해 검색된 특정 데이터들을 처리하며, 이를 마찬가지로 태그를 통해 연결된 출력 폼 오브젝트의 출력 컴포넌트에 리턴한다.Functions within the business logic service can convert date data into the YYYYMMDD date format and generate information based thereon. For example, the function can be written in a script that stores the converted date data in the STARTDT and ENDDT variables, respectively. The function then calls the DB service it needs through the tag, processes the specific data retrieved by the invoked DB query, and similarly returns it to the output component of the output form object connected via the tag.

다시 도 1로 돌아와서, 동적 프로그램 저작 시스템(10)은 프로젝트 관리부(project manager)(11), 폼 디자인부(form designer)(12), 업무 로직 서비스 편집부(business logic service editor)(13), DB 서비스 편집부(DB service editor)(14), 보고서 디자인부(print output designer)(15)를 포함한다.1, the dynamic program authoring system 10 includes a project manager 11, a form designer 12, a business logic service editor 13, and a DB. It includes a DB service editor 14 and a print output designer 15.

개략적으로 설명하면, 프로젝트 관리부(11)는 프로젝트의 생성 및 삭제, 프로젝트 내의 오브젝트들의 생성과 삭제, 이동 또는 복사, 프로젝트 자체의 속성 편집 및 저장, 각 오브젝트들 사이에 정의된 연결관계 정보들의 편집 및 저장 등의 기능을 수행할 수 있다. In general terms, the project manager 11 generates and deletes a project, creates and deletes, moves or copies objects in the project, edits and stores attributes of the project itself, edits connection relation information defined between the objects, and You can perform functions such as save.

특히, 프로젝트 관리부(11)는 오브젝트 단위로, 또는 다수의 오브젝트들과 연결 관계 정보를 모두 포함한 오브젝트 묶음으로 가져오기(import) 또는 내보내기(export)할 수 있다. 예를 들어, 다른 프로젝트에서도 활용될 수 있는 특정 기능을 수행하기 위한 일련의 오브젝트들을 연결 관계 정보와 함께 묶어서 내보내기하여 저장해 두었다가, 다른 유사한 신규 프로젝트에서 내보내기된 오프젝트 묶음을 가져오기하여 신규 프로젝트에 삽입할 수도 있다.In particular, the project manager 11 may import or export each object or as an object bundle including all of the plurality of objects and connection relationship information. For example, a series of objects can be exported and saved with connection relationship information to perform a specific function that can be used in another project, and then imported and bundled into a new project by importing a bundle of objects exported from another similar new project. You may.

폼 디자인부(12)는 개발자가 해당 프로그램의 사용자 그래픽 인터페이스(GUI)로서의 폼 오브젝트들을 컴포넌트 별로 설계할 수 있도록 보조한다.The form design unit 12 assists a developer to design form objects as a user graphic interface (GUI) of a corresponding program for each component.

업무 로직 서비스 편집부(13)는 개발자가 해당 프로그램에서 사용자가 실질적으로 수행하고자 하는 업무 프로세스를 구성하는 함수나 프로시저를 작성하기 위한 도구이며, DB 서비스 편집부(14)는 개발자가 컴포넌트, 함수, 프로시저에서 요구되는 DB 쿼리를 작성하기 위한 도구이다.The business logic service editor 13 is a tool for a developer to write a function or procedure that composes a business process that a user actually wants to perform in a corresponding program, and the DB service editor 14 is a component, a function, and a professional. Tool to create the DB query required by the procedure.

보고서 디자인부(15)는 화면에 나타낸 양식에 채워진 업무 처리 결과를 특정한 보고서 양식이나 출력 용지에 맞춰 보고서로 출력할 수 있도록 보고서 양식을 편집하기 위한 도구이다.The report design unit 15 is a tool for editing the report form so that the business process result filled in the form displayed on the screen can be output as a report according to a specific report form or output paper.

프로젝트 관리부(11), 폼 디자인부(12), 업무 로직 서비스 편집부(13), DB 서비스 편집부(14) 및 보고서 디자인부(15)를 이용하여 편집된 프로젝트, 오브젝트, 컴포넌트, 함수, 연결관계, 속성, 태그, 파라미터 등의 디자인코드들은 각각 그 특성에 맞게 정형적으로 변환되어 데이터베이스 형태로 구조화될 수 있다. 예를 들어, 프로젝트는 제목, 포함된 오브젝트들의 ID, 연결관계 등으로 데이터베이스 구조화될 수 있고, 오브젝트는 포함된 컴포넌트들의 ID, 이름, 종류, 위치, 외형, 태그 등의 속성들로써 데이터베이스 구조화될 수 있다.Projects, objects, components, functions, connection relationships edited using the project management unit 11, form design unit 12, business logic service editor 13, DB service editor 14 and report design unit 15, Design codes such as attributes, tags, and parameters can be structured in a database form by formal conversion according to their characteristics. For example, a project can be structured in a database with titles, IDs of included objects, connections, etc., and objects can be structured with properties such as IDs, names, types, locations, appearances, tags, etc. of the included components. .

이렇게 각각 특성에 맞ㅈ게 구조화되는 디자인코드들은 제1 네트워크(41) 또는 그 밖의 전송 수단을 통해, 동적 프로그램 적재 DB(51)에 전송하여 저장함으로써, 컴파일된 실행 파일의 형식을 취하지 않고도, 동적 프로그램의 실행 및 배포를 실현할 수 있다. 이때, 동적 프로그램 저작 시스템(10)은 디자인코드들 중에 갱신된 부분만 동적 프로그램 적재 DB(51)에 전송하여 갱신토록 함으로써 데이터 트래픽을 최소로 할 수도 있다.The design codes structured according to their characteristics are transmitted and stored to the dynamic program loading DB 51 through the first network 41 or other transmission means, so that they can be dynamically generated without taking the form of a compiled executable file. Program execution and distribution can be realized. At this time, the dynamic program authoring system 10 may minimize the data traffic by transmitting only the updated portion of the design codes to the dynamic program loading DB 51 to update.

동적 프로그램 구동 시스템(30)은 동적 프로그램 적재 DB(51)에 제2 네트워크(42)를 통해 접근할 수 있으며, 동적 프로그램 실행기(31)에 의해 동적 프로그램 적재 DB(51)로부터 프로젝트를 메모리에 로딩하고 디자인코드들을 파싱하여 동적 프로그램으로서 구동할 수 있다.The dynamic program driving system 30 can access the dynamic program loading DB 51 through the second network 42 and load the project from the dynamic program loading DB 51 into the memory by the dynamic program executor 31. You can parse the design code and run it as a dynamic program.

동적 프로그램 실행기(31)는 로딩된 프로젝트로부터 오브젝트들과 그 연결관계들을 추출하고 분석한 다음, 먼저 최상위의 폼 오브젝트를 화면에 표시하고 사용자의 인터랙션, 이벤트, 설정된 연결관계에 따라 다른 폼 오브젝트를 화면에 표시하거나 서비스 오브젝트들을 호출 및 실행시키며, 서비스 오브젝트의 실행 결과를 폼 오브젝트를 통해 화면에 표시할 수 있다.The dynamic program executor 31 extracts and analyzes the objects and their relationships from the loaded project, and then first displays the top-level form object on the screen and displays other form objects according to the user's interactions, events, and established connections. In addition, the service object can be called and executed, and the execution result of the service object can be displayed on the screen through the form object.

동적 프로그램 실행기(31)가 동적 프로그램의 구동을 위해 필요한 데이터는 동적 프로그램 적재 DB(51)에서 읽어들어오며, 반면에 실제 업무에 관하여 필요한 데이터를 불러오고 가공하기 위하여 이용되는 DB는 로컬 업무 DB(52)에서 관리된다.The data necessary for the dynamic program executor 31 to drive the dynamic program is read from the dynamic program loading DB 51, while the DB used for retrieving and processing the necessary data about the actual task is the local task DB ( 52).

도 5는 본 발명의 일 실시예에 따른 오브젝트 단위의 동적 프로그램 저작도구를 예시한 도면이다.5 is a diagram illustrating a dynamic program authoring tool in an object unit according to an embodiment of the present invention.

도 5를 참조하면, 이렇게 구성되는 프로젝트를 작성하기 위한 동적 프로그램 저작 시스템(10)은, 구체적으로, 프로젝트 관리부(11), 폼 디자인부(12), 업무 로직 서비스 편집부(13), DB 서비스 편집부(14), 보고서 디자인부(15), 오브젝트 매핑부(object mapper)(16), 프로그램 저작 환경 관리부(program authoring environment manager)(17), 저장부(18)를 포함할 수 있다. 추가적으로 동적 프로그램 저작 시스템(10)은 동적 프로그램 실행기(dynamic program executor)(19)와 디버거(debugger)(20)를 더 포함할 수 있다.Referring to FIG. 5, the dynamic program authoring system 10 for creating a project configured as described above is specifically, a project management unit 11, a form design unit 12, a business logic service editing unit 13, and a DB service editing unit. 14, a report design unit 15, an object mapper 16, a program authoring environment manager 17, and a storage unit 18 may be included. Additionally, the dynamic program authoring system 10 may further include a dynamic program executor 19 and a debugger 20.

프로젝트 관리부(11)는 프로젝트의 생성 및 삭제, 프로젝트 내의 오브젝트들의 생성과 삭제, 이동 또는 복사, 프로젝트 자체의 속성 편집 및 저장, 각 오브젝트들 사이에 정의된 연결관계 정보들의 편집 및 저장 등의 기능을 수행할 수 있다.The project manager 11 performs functions such as creating and deleting a project, creating and deleting, moving, or copying objects in the project, editing and storing attributes of the project itself, and editing and storing connection relationship information defined between the objects. Can be done.

폼 디자인부(12)는 개발자가 해당 프로그램의 사용자 그래픽 인터페이스(GUI)를 디자인하기 위해 폼 오브젝트들을 설계할 수 있도록 한다. 폼 디자인부(12)는 개발자가 사용자 업무 화면의 구성에 필요한 각종 컴포넌트들을 양식(form) 화면 상에 적절히 배치할 수 있도록 예를 들어 드래그 앤 드롭(drag and drop) 편집 메뉴를 제공할 수 있다. The form design unit 12 allows a developer to design form objects to design a user graphical interface (GUI) of the program. The form design unit 12 may provide, for example, a drag and drop editing menu so that a developer may appropriately arrange various components necessary for configuring a user's work screen on a form screen.

폼 디자인부(12)는 개발자가 편집 메뉴에서 선택하여 양식 화면 상의 원하는 위치에 끌어다 놓은 특정 컴포넌트를 양식 화면 상에 표시하고, 컴포넌트의 외형, 이벤트 발생 조건과 반응, 태그 매핑 관계, 호출할 서비스 등을 정의하기 위한 각종 속성 정보를 편집하고 저장할 수 있다.The form design unit 12 displays a specific component on the form screen that the developer selects from the Edit menu and drags it to a desired position on the form screen, and the appearance of the component, event occurrence condition and reaction, tag mapping relationship, service to be called You can edit and save various property information to define.

이를 위해, 폼 디자인부(12)는 화면에 배치할 컴포넌트들에 관하여, ID, 이름, 설명, 위치와 형태, 입출력 데이터의 형식, 이벤트 조건, 이벤트 액션, 호출할 서비스, 태그 등의 속성 정보를 개발자로부터 입력받는다.To this end, the form design unit 12 provides attribute information such as ID, name, description, location and type, format of input / output data, event condition, event action, service to be called, tag about components to be placed on the screen. Receive input from the developer.

폼 디자인부(12)는 컴포넌트들의 각 속성 정보들을 필드로 가지는 데이터베이스 구조로 폼 오브젝트를 형성할 수 있다. 이렇게 형성된 폼 오브젝트는 동적 프로그램 적재 DB(51)에 그대로 저장될 수 있고, 동적 프로그램 적재 DB에서 읽혔을 때에는 데이터베이스 구조로 저장된 속성 정보들이 적절히 해석되면서 사용자 인터페이스의 화면 상에 컴포넌트들이 개발자가 의도한 대로 배치되고 구현될 수 있다.The form design unit 12 may form a form object in a database structure having each attribute information of components as a field. The form object thus formed may be stored in the dynamic program loading DB 51 as it is, and when read from the dynamic program loading DB, the attribute information stored in the database structure is properly interpreted, and the components on the screen of the user interface may be used as the developer intended. Can be deployed and implemented.

업무 로직 서비스 편집부(13)는 개발자가 사용자의 업무 프로세스를 전산화한 업무 로직 서비스 오브젝트를 구성하는 함수 내지 프로시저를 편집할 수 있는 도구로서, 통상적인 고급 프로그래밍 언어 편집기와 유사하게 함수 별로 스크립트를 편집할 수 있고, 오류를 검증할 수 있는 구성도 추가로 가질 수 있다.The business logic service editing unit 13 is a tool that allows a developer to edit functions or procedures constituting a business logic service object computerized by a user's business process, and edits a script for each function similar to a general high-level programming language editor. You can also have additional configurations to verify errors.

업무 로직이란, 폼 오브젝트의 컴포넌트들로부터 입력된 내용을 가공 내지 처리하거나 또는 컴포넌트에 출력될 내용을 생성하는 프로세스를 말한다. 업무 로직은 또한 DB에서 검색된 데이터를 기초로 연산 및 가공을 수행하고 그 결과를 상응하는 폼 오브젝트에 전달하여 각종 폼 컴포넌트에 의해 표시될 수 있도록 한다.The business logic refers to a process of processing or processing content input from components of a form object or generating content to be output to the component. The business logic also performs operations and manipulations based on the data retrieved from the DB and passes the results to the corresponding form objects for display by various form components.

또한 업무 로직 서비스 편집부(13)는 함수나 프로시저에 대해 태그와 파라미터를 정의할 수 있다. 예를 들어, 폼 오브젝트와 업무 로직 서비스 오브젝트 사이, 업무 로직 서비스 오브젝트와 또 다른 업무 로직 서비스 오브젝트 사이, 업무 로직 서비스 오브젝트와 DB 서비스 오브젝트 사이에서, 태그를 기초로 하여 서로 간의 파라미터 연결 관계를 정의할 수 있고, 그러한 연결에 필요한 데이터의 종류와 형식을 파라미터 속성으로서 정의할 수 있다.In addition, the business logic service editor 13 may define tags and parameters for a function or a procedure. For example, between a form object and a business logic service object, between a business logic service object and another business logic service object, between a business logic service object and a DB service object, you can define a parameter connection relationship between each other based on tags. In addition, the type and format of data required for such a connection can be defined as parameter attributes.

업무 로직 서비스 편집부(13)는 각각의 업무에 따라 작성된 스크립트, 파라미터 및 태그 정보들을 필드로 가지는 데이터베이스 구조로 업무 로직 서비스 오브젝트를 형성하고, 이를 동적 프로그램 적재 DB(51)에 저장할 수 있다.The business logic service editing unit 13 may form a business logic service object in a database structure having a script, parameter, and tag information created according to each task as a field, and store it in the dynamic program loading DB 51.

데이터베이스 서비스 편집부(14)는 폼 오브젝트 또는 업무 로직 서비스 오브젝트에서 요구하는 DB 서비스를 위해 예를 들어 SQL(structured query language) 쿼리 스크립트를 편집하고 파라미터와 태그를 정의하기 위한 도구이다. DB 서비스 편집부(14)는 특정 SQL 쿼리의 실행 결과를 개발자가 미리 확인할 수 있고, 입출력 파라미터를 파싱할 수 있다. The database service editor 14 is a tool for editing, for example, a structured query language (SQL) query script and defining parameters and tags for a DB service required by a form object or a business logic service object. The DB service editor 14 may check the execution result of a specific SQL query in advance and may parse input / output parameters.

DB 서비스 편집부(14)는 요구되는 DB 서비스에 따라 작성된 SQL 쿼리, 파라미터 및 태그 정보들을 필드로 가지는 데이터베이스 구조로 DB 서비스 오브젝트를 형성하고, 이렇게 파싱된 디자인코드들을 동적 프로그램 적재 DB(51)에 저장할 수 있다.The DB service editing unit 14 forms a DB service object with a database structure having SQL queries, parameters, and tag information prepared according to a required DB service as fields, and stores the parsed design codes in the dynamic program loading DB 51. Can be.

보고서 디자인부(15)는 사용자가 출력하기를 원하는 양식으로 보고서(report)를 프린트할 수 있도록 동적인 보고서의 디자인을 보조하는 툴이다. The report design unit 15 is a tool that assists in the design of a dynamic report so that a user can print a report in a form desired to be output.

보고서는 폼 오브젝트에 의해 화면에 표시된 컴포넌트들의 컨텐츠를 그대로 또는 출력 용지나 그 밖의 조건에 맞게 적절히 변형하여 작성될 수도 있고, 또는 업로 로직 서비스나 DB 서비스를 통해 획득된 데이터를 기초로 사용자가 원하는 형식으로 가공하거나 변형하여 출력될 수 있다.The report may be generated by using a form object by modifying the contents of the components displayed on the screen as it is, or as appropriate for the output paper or other conditions, or based on data obtained through upload logic service or DB service. It can be output by processing or deforming.

이를 위해, 보고서 디자인부(15)는 각종 컴포넌트들을 보고서 디자인 상에 적절히 배치할 수 있도록 예를 들어 드래그 앤 드롭 리본 메뉴를 제공할 수 있다. 보고서 디자인 상에 배치되는 컴포넌트들은 특정 업무 로직의 처리 결과나 DB 쿼리 결과로서 폼 오브젝트의 컴포넌트들을 통해 화면 상에 표시되어 있는 값들을 태그를 통해 매핑하여 그대로 보고서 디자인에 옮길 수 있다. 또한, 보고서 디자인부(15)는 컴포넌트들에 예를 들어, 합계, 평균, 차이, 비율 등의 계산식 속성을 부여할 수 있고, 그러한 계산식에 의해 가공한 결과가 보고서 디자인에 포함되도록 지정할 수도 있으며, 나아가 다양한 하드웨어 제어 로직 등과 연결시킬 수도 있다.To this end, the report design unit 15 may provide, for example, a drag and drop ribbon menu to properly arrange various components on the report design. The components placed on the report design can be mapped to the values displayed on the screen through the form object's components as a result of a specific business logic or DB query, and transferred to the report design as they are. In addition, the report design unit 15 may assign calculation properties such as totals, averages, differences, and ratios to components, and may designate that the results processed by such calculations are included in the report design. It can also be connected to various hardware control logic.

보고서 디자인부(15)는 속성, 태그, 파라미터로써 정의된 컴포넌트들로 구성된 보고서들의 양식을 모아서 보고서 폼 오브젝트로써 저장할 수 있다.The report design unit 15 may collect a form of reports composed of components defined as attributes, tags, and parameters, and store the report form object as a report form object.

오브젝트 매핑부(object mapper)(16)는 폼 오브젝트의 컴포넌트들, 업무 로직 서비스 오브젝트의 함수 내지 프로시저, DB 서비스 오브젝트의 SQL 쿼리들 사이에 태그와 파라미터로써 정의된 연결관계들을 관리할 수 있다. The object mapper 16 may manage connection relationships defined as tags and parameters between components of form objects, functions and procedures of business logic service objects, and SQL queries of DB service objects.

프로그램 저작 환경 관리부(17)는 프로젝트 관리부(11), 폼 디자인부(12), 업무 로직 서비스 편집부(13), DB 서비스 편집부(14), 보고서 디자인부(15), 오브젝트 매핑부(16)와, 추가적으로 동적 실행기(19), 디버거(20)의 동작을 전체적으로 총괄하고 조율하여 개발자가 프로그램 프로젝트의 각 요소들을 작성하고 편집하며, 실행 및 검증할 수 있는 환경을 제공한다.The program authoring environment manager 17 may include a project manager 11, a form designer 12, a business logic service editor 13, a DB service editor 14, a report designer 15, and an object mapping unit 16. In addition, the overall execution and dynamic coordination of the dynamic executor 19 and the debugger 20 provides a environment for developers to create, edit, execute, and verify each element of a program project.

또한 프로그램 저작 환경 관리부(17)는 특정 디자인코드의 수정에 의해 다른 디자인코드에 영향을 미치는 경우에 이를 추적하여 프로젝트의 무결성을 추구할 수 있다.In addition, the program authoring environment management unit 17 may pursue the integrity of the project by tracking it when it affects other design codes by modifying a specific design code.

저장부(18)는 디자인코드들에 관하여 열기, 저장, 삭제, 내보내기, 가져오기 등의 관리 기능과, 완성된 프로젝트를 고객사의 동적 프로그램 적재 DB(51)에 전송하는 기능을 제공할 수 있다.The storage unit 18 may provide management functions such as opening, storing, deleting, exporting, and importing the design codes, and transmitting a completed project to the dynamic program loading DB 51 of the customer.

동적 프로그램 실행기(dynamic executor)(19)는 동적 프로그램 저작 시스템(10)에서는 선택적인 구성요소로서, 동적 프로그램 저작 시스템(10) 내 각각의 폼 디자인부(12), 업무 로직 서비스 편집부(13), DB 서비스 편집부(14)에서 작성된 폼 오브젝트, 업무 로직 서비스 오브젝트, DB 서비스 오브젝트를 동적 프로그램 구동 시스템(30)에 전송하기 전에 메모리에 로딩하고 실행해 볼 수 있는 환경을 제공한다.The dynamic executor 19 is an optional component in the dynamic program authoring system 10, and includes a form design unit 12, a business logic service editor 13, The form object, the business logic service object, and the DB service object created by the DB service editing unit 14 are provided in an environment that can be loaded into the memory and executed before being transmitted to the dynamic program driving system 30.

디버거(20)는 동적 실행기(19)와 함께 연동할 수 있으며, 프로젝트 내의 각종 디자인코드들 중에 비정상적이거나 충돌을 일으키는 요소를 검증할 수 있다.The debugger 20 may interoperate with the dynamic executor 19 and verify an abnormal or conflicting element among various design codes in the project.

도 6은 본 발명의 일 실시예에 따라 오브젝트 단위의 동적 프로그램을 동적으로 실행하는 동적 프로그램 실행기를 예시한 도면이다.6 is a diagram illustrating a dynamic program executor that dynamically executes a dynamic program on an object basis according to an embodiment of the present invention.

도 6을 참조하면, 동적 프로그램 구동 시스템(30) 내의 동적 프로그램 실행기(31)는 폼 로더(32), 그래픽 유저 인터페이스(GUI) 모듈(33), 이벤트 관리부(34), 파라미터 파서(35), 로직 실행부(36), DB 접속부(37), 보고서 생성부(38), 프린터 모듈(39)를 포함할 수 있다. 이러한 구성은 동적 프로그램 저작 시스템(10) 내의 동적 프로그램 실행기(19)도 실질적으로 마찬가지이다.Referring to FIG. 6, the dynamic program executor 31 in the dynamic program driving system 30 may include a form loader 32, a graphical user interface (GUI) module 33, an event manager 34, a parameter parser 35, The logic execution unit 36 may include a DB connection unit 37, a report generator 38, and a printer module 39. This configuration is substantially the same for the dynamic program executor 19 in the dynamic program authoring system 10.

동적 프로그램 실행기(31)가 최초로 실행되면 각종 내부 변수를 초기화하고, 설정된 인수(argument)를 확인하여 DB 접속부(37)를 통해 동적 프로그램 적재 DB(51)로부터 폼 오브젝트들, 서비스 오브젝트들 및 연결관계를 읽어 메모리의 적절한 영역에 로딩한다.When the dynamic program executor 31 is executed for the first time, it initializes various internal variables, checks the set arguments, and checks the form arguments, service objects, and connection relations from the dynamic program loading DB 51 through the DB connection unit 37. Read it and load it into the appropriate area of memory.

폼 로더(32)는 메모리에 로딩된 폼 오브젝트들을 관리하며, 호출되는 폼 오브젝트에 의해 정의된 화면을 생성한다. 특히 폼 로더(32)는 동적 프로그램 실행기(31)가 실행될 초기에 표시되도록 설정된 폼 오브젝트를 기초로 최초의 화면을 구성할 수 있다. 구성된 화면은 GUI 모듈(33)을 통해 모니터에 표시될 수 있다. 이후의 화면은 사용자의 인터랙션이나 이벤트 발생 등에 의해 이벤트 관리부(34)에서 호출된 임의의 폼 오브젝트에 기초하여 생성될 수 있다.The form loader 32 manages form objects loaded in memory, and creates a screen defined by the form object to be called. In particular, the form loader 32 may construct the first screen based on the form object set to be initially displayed when the dynamic program executor 31 is executed. The configured screen may be displayed on the monitor through the GUI module 33. The subsequent screen may be generated based on an arbitrary form object called by the event manager 34 due to user interaction or event generation.

GUI 모듈(33)은 현재 화면에서 사용자의 인터랙션이나 이벤트 발생에 따라 입력되는 값을 획득하여 폼 로더(32)로 전달하거나, 폼 로더(32)에서 새로 처리된 화면을 모니터에 표시할 수 있다.The GUI module 33 may obtain a value input according to a user's interaction or event occurrence on the current screen and transmit the value to the form loader 32 or display the newly processed screen on the monitor.

이벤트 관리부(34)는 사용자의 인터랙션이나 조작을 입력받아, 현재 화면의 폼 오브젝트에 포함된 컴포넌트들에 관하여 정의된 이벤트 발생 조건 속성에 따라, 이벤트의 발생 여부를 분석하고, 마찬가지로 컴포넌트들에 관하여 정의된 이벤트 반응 속성에 따라 지정된 오브젝트를 폼 로더(32), 로직 실행부(36), DB 접속부(37)에서 실행시키는 등의 후속 동작을 수행할 수 있다.The event manager 34 receives an interaction or manipulation of a user, analyzes whether an event occurs according to an event occurrence condition attribute defined with respect to components included in a form object of a current screen, and similarly defines components. Subsequent operations such as executing the designated object in the form loader 32, the logic execution unit 36, and the DB connection unit 37 according to the event response attribute may be performed.

동적 프로그램이 사용자의 업무를 보조하는 프로그램인 만큼, 동적 프로그램의 이후 동작을 결정하는 것은 대체로 사용자가 키보드나 마우스로 데이터를 입력한다거나, 사용자가 마우스로 특정 명령 컴포넌트를 동작시킨다거나 하는 사용자의 인터랙션이다. 따라서, 동적 프로그램의 동작을 제어하는 것은 실질적으로 이벤트 관리부(34)라고 할 수 있다.Since a dynamic program is a program that assists a user in working, it is usually the user's interaction that the user enters data with the keyboard or mouse or the user operates a specific command component with the mouse. . Therefore, it can be said that the event management unit 34 controls the operation of the dynamic program.

예를 들어, 사용자가 특정 조건의 고객들의 정보를 검색하고자 한다면, 사용자는 정보 검색용 화면을 표시하는 메뉴를 클릭할 것이고, 이벤트 관리부(34)는 해당 메뉴에 관하여 이벤트가 발생할 경우에 호출하도록 정의되어 있는 정보 검색용 폼 오브젝트를 폼 로더(32)로 하여금 호출 및 실행하도록 할 수 있다. 이어서, 폼 로더(32)가 해당 정보 검색용 폼 오브젝트를 기초로 생성한 화면 상에서 사용자가 정보 검색 조건의 입력 컴포넌트에 검색 조건을 입력하고 검색 실행 컴포넌트를 클릭하면, 이벤트 관리부(34)는 입력 컴포넌트와 검색 실행 컴포넌트에 관하여 호출되도록 정의된 업무 로직 서비스 오브젝트 또는 DB 서비스 오브젝트를 각각 로직 실행부(36) 또는 DB 접속부(37)로 하여금 호출 및 실행하도록 할 수 있다. 다만, 어떤 오브젝트는 사용자에 의한 이벤트를 필요로 하지 않고 다른 오브젝트를 호출하도록 설계될 수도 있는데, 이 경우에는 이벤트 관리부(34)를 통하지 않을 수 있다.For example, if the user wants to search the information of the customers with a certain condition, the user will click on a menu displaying a screen for searching for information, and the event manager 34 defines to call when an event occurs with respect to the menu. It is possible to have the form loader 32 call and execute the form information search form object. Subsequently, when the user inputs the search condition into the input component of the information search condition and clicks the search execution component on the screen generated by the form loader 32 based on the form object for information search, the event manager 34 inputs the input component. And the logic execution unit 36 or the DB connection 37 may call and execute the business logic service object or DB service object defined to be called with respect to the search execution component. However, some objects may be designed to call other objects without requiring an event by a user. In this case, the object may not go through the event manager 34.

파라미터 파서(35)는 오브젝트들의 실행에 의해 생성되고 교환되는 데이터들을 오브젝트들에 관하여 정의된 파라미터 속성에 따라 적절한 데이터 형식으로 변환하고, 변환된 데이터들을 태그 정보에 따라 식별된 목적지 오브젝트의 컴포넌트 또는 함수/프로시저에 전달한다.The parameter parser 35 converts the data generated and exchanged by the execution of the objects into an appropriate data format according to the parameter attribute defined with respect to the objects, and converts the converted data into a component or function of the identified destination object according to the tag information. Pass it to the procedure.

로직 실행부(36)와 DB 접속부(37)는 동적 프로그램 적재 DB(51)로부터 각각 업무 로직 서비스 오브젝트들과 DB 서비스 오브젝트들을 읽어서 보유 및 관리하고 있다가, 이벤트의 발생에 의해 또는 디폴트로 특정 서비스 오브젝트가 호출되면, 필요한 데이터를 필요한 형식으로 파라미터 파서(33)를 통해 전달받아, 업무 로직 서비스 또는 로컬 업무 DB(52)의 입출력을 담당하는 DB 서비스를 수행하고, 수행된 결과로 생성된 데이터를 파라미터 파서(33)를 통해 목적하는 오브젝트로 전달할 수 있다.The logic execution unit 36 and the DB connection unit 37 read and hold and manage the business logic service objects and the DB service objects from the dynamic program loading DB 51, respectively. When the object is called, it receives the necessary data through the parameter parser 33 in the required format, performs a DB service that performs input / output of the business logic service or the local business DB 52, and performs the data generated as a result. The parameter parser 33 may be passed to the desired object.

DB 접속부(37)는 초기에 동적 프로그램을 로딩하는 단계에서는, 또는 동적 프로그램의 동작 중에라도 디자인코드가 업데이트된 경우에는, 동적 프로그램 적재 DB(51)에 접근할 수 있다. The DB connection unit 37 may access the dynamic program loading DB 51 at the stage of initially loading the dynamic program or when the design code is updated even during the operation of the dynamic program.

동적 프로그램의 로딩과 파싱이 완료되고 실행 준비가 된 이후부터는 실제 사용자 업무를 수행하는 단계이므로, DB 접속부(37)는 이벤트 관리부(34)에 의해 호출되는 함수/프로시저나 DB 서비스를 수행하기 위해서 로컬 업무 DB(52)에 접근할 수 있다.Since the loading and parsing of the dynamic program is completed and ready for execution, the actual user task is performed. Therefore, the DB connection unit 37 performs a function / procedure or DB service called by the event manager 34. Local work DB 52 can be accessed.

실시예에 따라, 동적 프로그램 실행기(31)는 추가적으로 보고서 생성부(38)와 프린터 모듈(39)을 더 포함할 수 있다. 보고서 생성부(38)는 사용자가 처리한 업무에 관하여 보고서를 출력하고자 할 때에 동적 프로그램 적재 DB(51)로부터 필요한 보고서 양식을 읽어들이고, 해당 보고서 양식에 따라 보고서를 생성할 수 있고, 프린터 모듈(39)을 통해 외부의 프린터에 출력시킬 수 있다.According to an embodiment, the dynamic program executor 31 may further include a report generator 38 and a printer module 39. The report generator 38 reads the report form required from the dynamic program loading DB 51 and outputs a report according to the report form when a user wants to output a report about a task processed by the user. 39) can be output to an external printer.

도 7은 본 발명의 일 실시예에 따른 오브젝트 단위의 동적 프로그램을 실행하는 절차를 예시한 순서도이다.7 is a flowchart illustrating a procedure of executing a dynamic program in an object unit according to an embodiment of the present invention.

도 7을 참조하면, 고객사의 데이터베이스(50)에는 동적 프로그램 적재 DB(51)와 업무 DB(52)가 설치되어 있고, 동적 프로그램 적재 DB(51)에는 미리 동적 프로그램 저작 시스템(10)에서 개발된 동적 프로그램 프로젝트의 디자인코드들이 제1 네트워크(41)를 통해 전송되어 저장되어 있다.Referring to FIG. 7, the database 50 of the client company is provided with a dynamic program loading DB 51 and a work DB 52, and the dynamic program loading DB 51 is developed in advance in the dynamic program authoring system 10. Design codes of the dynamic program project are transmitted and stored through the first network 41.

먼저, 단계(S71)에서, 동적 프로그램 실행기(31)가 미리 설정된 인수에 따라 동적 프로그램 적재 DB(51)로부터 해당 동적 프로그램에 관하여 작성된 프로젝트 내의 디자인코드들을 전부 또는 수정된 부분이 있을 경우에는 수정된 부분을 새로 읽어들인다.First, in step S71, if the dynamic program executor 31 has all or modified parts of the design codes in the project created with respect to the dynamic program from the dynamic program loading DB 51 according to a preset argument, the modified Read a new part.

단계(S72)에서, 동적 프로그램 실행기(31)는 동적 프로그램을 초기화하고 폼 오브젝트들과 서비스 오브젝트들을 각각 로딩하며 그 속성 정보를 파싱한다.In step S72, the dynamic program executor 31 initializes the dynamic program, loads form objects and service objects, respectively, and parses the attribute information.

단계(S73)에서, 동적 프로그램 실행기(31)는 최초로 표시되도록 설정된 폼 오브젝트를 기초로 화면을 구성하여 사용자에게 표시한다.In step S73, the dynamic program executor 31 constructs a screen based on the form object set to be initially displayed and displays it to the user.

단계(S74)에서, 동적 프로그램 실행기(31)는 사용자의 입력과 같은 이벤트 발생을 위해 대기한다.In step S74, the dynamic program executor 31 waits for occurrence of an event such as a user input.

단계(S75)에서, 동적 프로그램 실행기(31)는 사용자의 입력 등의 발생된 이벤트에 따라, 지정된 업무 로직 서비스 오브젝트를 호출하여 필요한 연산 작업을 수행하거나, 지정된 DB 서비스 오브젝트를 호출하여 필요한 SQL 작업을 수행한다.In step S75, the dynamic program executor 31 calls the designated business logic service object to perform the necessary arithmetic operation according to the generated event such as the user's input, or calls the designated DB service object to perform the required SQL operation. To perform.

실시예에 따라, 오브젝트들 사이의 연결 관계는 태그 속성에 의해 정의될 수 있다. 다시 말해, 사용자의 입력이 있거나 이벤트가 발생한 컴포넌트에 부여된 태그와 동일한 태그를 가진 오브젝트의 함수나 프로시저 또는 SQL 쿼리가 호출될 수 있다.According to an embodiment, the connection relationship between the objects may be defined by a tag attribute. In other words, a function, procedure, or SQL query of an object with the same tag as that given to the component that has the user's input or the event occurred can be called.

또한, 실시예에 따라, 오브젝트들 사이의 데이터 전달은 파라미터 속성에 의해 정의될 수 있다. 다시 말해, 데이터는 출력하는 측의 함수나 프로시저 또는 SQL 쿼리에 관한 파라미터 속성에 정의된 형식으로 변환되어 출력되거나, 입력받는 측의 함수나 프로시저 또는 SQL 쿼리에 관한 파라미터 속성에 정의된 형식으로 변환되어 입력될 수 있다.Also, according to an embodiment, data transfer between objects may be defined by parameter attributes. In other words, the data is converted into the format defined in the parameter property of the function, procedure or SQL query on the output side, or the data is converted into the format defined in the parameter property of the function, procedure or SQL query on the receiving side. It can be converted and input.

단계(S76)에서는, 호출된 서비스 오브젝트의 작업 수행 결과에 관하여, 지정된 폼 오브젝트를 기초로 화면을 구성하여 사용자에게 표시하고, 단계(S74)로 진행한다.In step S76, the screen is constructed and displayed to the user based on the designated form object with respect to the result of the work performed by the called service object, and the flow proceeds to step S74.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다.As described above, although the present invention has been described by way of limited embodiments and drawings, the present invention is not limited to the above-described embodiments, which can be variously modified and modified by those skilled in the art to which the present invention pertains. Modifications are possible. Accordingly, the spirit of the invention should be understood only by the claims set forth below, and all equivalent or equivalent modifications will fall within the scope of the invention.

10 동적 프로그램 저작 시스템 11 프로젝트 관리부
12 폼 디자인부 13 업무 로직 서비스 편집부
14 DB 서비스 편집부 15 보고서 디자인부
16 오브젝트 매핑부 17 프로그램 저작 환경 관리부
18 저장부 19 동적 프로그램 실행기
20 디버거
30 동적 프로그램 구동 시스템 31 동적 프로그램 실행기
32 폼 로더 33 그래픽 유저 인터페이스 모듈
34 이벤트 관리부 35 파라미터 파서
36 로직 실행부 37 DB 접속부
38 보고서 생성부 39 프린터 모듈
41 제1 네트워크 42 제2 네트워크
50 고객사 DB 51 동적 프로그램 적재 DB
52 로컬 업무 DB
10 Dynamic Program Authoring System 11 Project Management Department
12 Form Design Department 13 Business Logic Services Editor
14 DB Service Editor 15 Report Design
16 Object Mapping Unit 17 Program Authoring Environment Management Unit
18 Storage 19 Dynamic Program Launcher
20 debugger
30 Dynamic Program Driven System 31 Dynamic Program Launcher
32 Form Loader 33 Graphical User Interface Module
34 Event Manager 35 Parameter Parser
36 Logic Execution Unit 37 DB Connection
38 Report Generator 39 Printer Module
41 First Network 42 Second Network
50 Client DB 51 Dynamic Program Loading DB
52 Local Business DB

Claims (31)

개발자가 폼 오브젝트를 구성하는 컴포넌트들의 외형, 이벤트 조건, 이벤트 반응 동작에 관하여 정의하는 속성 정보를 편집할 수 있도록 편집 환경을 제공하는 폼 디자인부;
개발자가 사용자의 업무 프로세스를 전산화한 업무 로직 서비스 오브젝트들을 구성하는 함수 내지 프로시저와 입출력 데이터 형식을 정의하는 파라미터 속성을 편집할 수 있도록 편집 환경을 제공하는 업무 로직 서비스 편집부;
개발자가 데이터베이스(DB) 서비스 오브젝트들을 구성하며 상기 컴포넌트, 함수, 또는 프로시저에서 요구되는 DB 쿼리와 입출력 데이터 형식을 정의하는 파라미터 속성을 편집할 수 있도록 편집 환경을 제공하는 DB 서비스 편집부; 및
개발자가 상기 폼 오브젝트, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들을 생성하거나 삭제하고, 오브젝트들 사이의 연결 관계 정보를 편집할 수 있도록 편집 환경을 제공하는 프로젝트 관리부를 포함하는 동적 프로그램 저작 시스템.
A form design unit that provides an editing environment for a developer to edit attribute information defining the appearance, event conditions, and event response operations of components constituting the form object;
A business logic service editing unit for providing a editing environment for a developer to edit functions or procedures constituting business logic service objects computerized by a user's business process and parameter attributes defining input / output data types;
A DB service editor configured to provide a editing environment in which a developer configures database (DB) service objects and edits parameter attributes defining a DB query and an input / output data format required by the component, function, or procedure; And
And a project management unit for providing a editing environment for a developer to create or delete the form object, business logic service objects, and DB service objects, and to edit connection relationship information between the objects.
청구항 1에 있어서, 상기 연결 관계 정보는 상호 연결되는 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들 사이의 파라미터 속성들의 연결을 위해 할당되는 태그 속성을 포함하는 것을 특징으로 하는 동적 프로그램 저작 시스템.The dynamic program authoring of claim 1, wherein the connection relation information includes a tag attribute assigned for linking parameter attributes between objects, components, functions, procedures, and DB queries that are interconnected. system. 청구항 1에 있어서, 개발자가 화면에 나타낸 양식에 채워진 업무 처리 결과를 출력할 보고서 양식을 편집할 수 있도록 편집 환경을 제공하는 보고서 관리부를 더 포함하는 것을 특징으로 하는 동적 프로그램 저작 시스템.The dynamic program authoring system according to claim 1, further comprising a report management unit for providing an editing environment for the developer to edit a report form for outputting a business process result filled in the form displayed on the screen. 청구항 1에 있어서, 상기 편집된 폼 오브젝트, 업무 로직 서비스 오브젝트, DB 서비스 오브젝트를 메모리에 로딩하고, 상기 연결 관계 정보 및 파라미터 속성에 따라 상기 로딩된 오브젝트들을 결합하여 실행할 수 있는 실행 환경을 제공하는 동적 실행 관리자를 더 포함하는 것을 특징으로 하는 동적 프로그램 저작 시스템.The system of claim 1, wherein the edited form object, the business logic service object, and the DB service object are loaded into a memory, and a dynamic environment for providing an execution environment in which the loaded objects can be combined and executed according to the connection relationship information and parameter attributes. A dynamic program authoring system, further comprising an execution manager. 청구항 1에 있어서, 상기 프로젝트 관리부는 오브젝트 단위로, 또는 다수의 오브젝트들과 연결 관계 정보를 모두 포함한 오브젝트 묶음으로 가져오기(import) 또는 내보내기(export)하도록 동작하는 것을 특징으로 하는 동적 프로그램 저작 시스템.The dynamic program authoring system of claim 1, wherein the project management unit is operable to import or export a group of objects or an object bundle including all of a plurality of objects and connection relationship information. 개발자가 폼 오브젝트를 구성하는 컴포넌트들의 외형, 이벤트 조건, 이벤트 반응 동작에 관하여 정의하는 속성 정보를 편집할 수 있도록 편집 환경을 제공하는 폼 디자인부;
개발자가 사용자의 업무 프로세스를 전산화한 업무 로직 서비스 오브젝트들을 구성하는 함수 내지 프로시저와 입출력 데이터 형식을 정의하는 파라미터 속성을 편집할 수 있도록 편집 환경을 제공하는 업무 로직 서비스 편집부;
개발자가 데이터베이스(DB) 서비스 오브젝트들을 구성하며 상기 컴포넌트, 함수, 또는 프로시저에서 요구되는 DB 쿼리와 입출력 데이터 형식을 정의하는 파라미터 속성을 편집할 수 있도록 편집 환경을 제공하는 DB 서비스 편집부;
개발자가 상기 폼 오브젝트, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들을 생성하거나 삭제하고, 오브젝트들 사이의 연결 관계 정보를 편집할 수 있도록 편집 환경을 제공하는 프로젝트 관리부; 및
작성이 완료된 폼 오브젝트들, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들을 상기 연결 관계 정보 및 파라미터 속성와 함께 동적 프로그램 적재 DB에 저장하는 저장부를 포함하는 동적 프로그램 저작 및 배포 시스템.
A form design unit that provides an editing environment for a developer to edit attribute information defining the appearance, event conditions, and event response operations of components constituting the form object;
A business logic service editing unit for providing a editing environment for a developer to edit functions or procedures constituting business logic service objects computerized by a user's business process and parameter attributes defining input / output data types;
A DB service editor configured to provide a editing environment in which a developer configures database (DB) service objects and edits parameter attributes defining a DB query and an input / output data format required by the component, function, or procedure;
A project management unit for providing a editing environment for a developer to create or delete the form object, business logic service objects, and DB service objects, and to edit connection relationship information between the objects; And
And a storage unit for storing the completed form objects, business logic service objects, and DB service objects in the dynamic program loading DB together with the connection relationship information and parameter attributes.
청구항 6에 있어서, 상기 연결 관계 정보는 상호 연결되는 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들 사이의 파라미터 속성들의 연결을 위해 할당되는 태그 속성을 포함하는 것을 특징으로 하는 동적 프로그램 저작 및 배포 시스템.The dynamic program creation of claim 6, wherein the connection relationship information includes a tag attribute assigned for linking parameter attributes between objects, components, functions, procedures, and DB queries that are interconnected. And distribution system. 청구항 6에 있어서, 개발자가 화면에 나타낸 양식에 채워진 업무 처리 결과를 출력할 보고서 양식을 편집할 수 있도록 편집 환경을 제공하는 보고서 관리부를 더 포함하는 것을 특징으로 하는 동적 프로그램 저작 및 배포 시스템.The dynamic program authoring and distribution system according to claim 6, further comprising a report management unit which provides an editing environment for the developer to edit the report form for outputting the business process result filled in on the form displayed on the screen. 청구항 6에 있어서, 상기 편집된 폼 오브젝트, 업무 로직 서비스 오브젝트, DB 서비스 오브젝트를 메모리에 로딩하고, 상기 연결 관계 정보 및 파라미터 속성에 따라 상기 로딩된 오브젝트들을 결합하여 실행할 수 있는 실행 환경을 제공하는 동적 실행 관리자를 더 포함하는 것을 특징으로 하는 동적 프로그램 저작 및 배포 시스템.The system of claim 6, wherein the edited form object, the business logic service object, and the DB service object are loaded into a memory, and the dynamic environment provides an execution environment capable of combining and executing the loaded objects according to the connection relationship information and parameter attributes. Dynamic program authoring and distribution system further comprising an execution manager. 청구항 6에 있어서, 상기 프로젝트 관리부는 오브젝트 단위로, 또는 다수의 오브젝트들과 연결 관계 정보를 모두 포함한 오브젝트 묶음으로 가져오기(import) 또는 내보내기(export)하도록 동작하는 것을 특징으로 하는 동적 프로그램 저작 및 배포 시스템.The method of claim 6, wherein the project management unit for the dynamic program authoring and distribution, characterized in that it is operable to import (import) or export (object), or a bundle of objects containing all of the plurality of objects and connection relationship information system. 컴포넌트들의 외형, 이벤트 조건, 이벤트 반응 동작에 관하여 정의하는 속성 정보로써 구성되는 폼 오브젝트, 사용자의 업무 프로세스를 전산화한 함수 내지 프로시저와 입출력 데이터 형식을 정의하는 파라미터 속성로써 구성되는 업무 로직 서비스 오브젝트들, 그리고 상기 컴포넌트, 함수, 또는 프로시저에서 요구되는 DB 쿼리와 입출력 데이터 형식을 정의하는 파라미터 속성로써 구성되는 DB 서비스 오브젝트들을 상기 오브젝트들 사이의 연결 관계 정보와 함께 데이터베이스 구조로 저장하는 동적 프로그램 적재 DB; 및
상기 폼 오브젝트들, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들, 연결 관계 정보를 상기 동적 프로그램 적재 DB로부터 읽어들여 메모리에 로딩하고, 상기 폼 오브젝트들 중 미리 설정된 폼 오브젝트를 화면에 표시하며, 사용자의 인터랙션, 이벤트, 설정된 연결 관계 정보에 따라 다른 폼 오브젝트를 화면에 표시하거나 상기 업무 로직 서비스 오브젝트들 또는 상기 DB 서비스 오브젝트들 중 적어도 하나를 호출 및 실행시키며, 상기 호출 및 실행된 서비스 오브젝트의 실행 결과를 상기 폼 오브젝트들 중 선택된 폼 오브젝트를 통해 화면에 표시하는 동적 프로그램 실행기를 포함하는 동적 프로그램 구동 시스템.
Business logic service objects composed of form objects consisting of attribute information defining the appearance of components, event conditions, and event response behaviors, and functions and procedures that computerize the user's business processes, and parameter attributes defining input and output data types. And a dynamic program loading DB for storing DB service objects, which are configured as parameter attributes defining the DB query and input / output data types required by the component, function, or procedure, together with connection relationship information between the objects, in a database structure. ; And
The form objects, business logic service objects, DB service objects, and connection relationship information are read from the dynamic program loading DB, loaded into a memory, a preset form object among the form objects is displayed on a screen, and Display another form object on the screen according to the interaction, event, and connection relationship information, or call and execute at least one of the business logic service objects or the DB service objects, and display the execution result of the called and executed service object. And a dynamic program launcher for displaying on the screen through the selected form object among the form objects.
청구항 11에 있어서, 상기 동적 프로그램 실행기는
상기 로딩된 폼 오브젝트들 중에서 호출되는 폼 오브젝트에 의해 정의된 화면을 생성하는 폼 로더;
현재 생성된 화면의 폼 오브젝트에 포함된 컴포넌트들에 관하여 정의된 이벤트 발생 조건에 따라, 이벤트의 발생 여부를 분석하고, 컴포넌트들에 관하여 정의된 이벤트 반응 속성에 따라 지정된 폼 오브젝트 또는 서비스 오브젝트를 호출하는 이벤트 관리부;
상기 로딩된 업무 로직 서비스 오브젝트들 중에서 호출된 업무 로직 서비스 오브젝트의 함수 내지 프로시저를 실행하는 로직 실행부;
업무 DB에 대하여 상기 로딩된 DB 서비스 오브젝트들 중에서 호출된 DB 쿼리를 실행하는 DB 접속부; 및
상기 실행되는 오브젝트들에 의해 생성되고 교환되는 데이터들을 상기 오브젝트들의 파라미터 속성에 따라 적절한 데이터 형식으로 변환하고, 변환된 데이터들을 상기 연결 관계 정보에 따라 식별된 목적지 오브젝트의 컴포넌트 또는 함수 내지 프로시저에 전달하는 파라미터 파서를 포함하는 것을 특징으로 하는 동적 프로그램 구동 시스템.
The method of claim 11, wherein the dynamic program executor
A form loader for generating a screen defined by a form object called among the loaded form objects;
Analyzing whether an event occurs according to the event occurrence condition defined with respect to the components included in the form object of the currently created screen, and calling the designated form object or service object according to the event response attribute defined with respect to the components An event manager;
A logic execution unit that executes a function or procedure of a called business logic service object among the loaded business logic service objects;
A DB access unit which executes a called DB query among the loaded DB service objects with respect to a work DB; And
Converts data generated and exchanged by the executed objects into an appropriate data format according to the parameter attribute of the objects, and transfers the converted data to a component or function or procedure of the destination object identified according to the connection relationship information. And a parameter parser.
청구항 11에 있어서, 상기 연결 관계 정보는 서로 연결되는 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들 사이의 파라미터 속성들의 연결을 위해 할당되는 태그 속성을 포함하고,
상기 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들은 태그 속성을 기초로 호출할 상대방 또는 데이터를 주고받을 상대방을 특정하는 것을 특징으로 하는 동적 프로그램 구동 시스템.
The method of claim 11, wherein the connection relationship information includes a tag attribute assigned for connection of parameter attributes between objects, components, functions, procedures, and DB queries that are connected to each other.
The objects, components, functions or procedures, and DB queries may specify a counterpart to call or a counterpart to exchange data based on a tag attribute.
데이터베이스 구조로 저장된 폼 오브젝트들, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들 및 연결 관계 정보를 메모리에 로딩하고, 상기 폼 오브젝트들 중 미리 설정된 폼 오브젝트를 화면에 표시하며, 사용자의 인터랙션, 이벤트, 설정된 연결 관계 정보에 따라 다른 폼 오브젝트를 화면에 표시하거나 상기 업무 로직 서비스 오브젝트들 또는 상기 DB 서비스 오브젝트들 중 적어도 하나를 호출 및 실행시키며, 상기 호출 및 실행된 서비스 오브젝트의 실행 결과를 상기 폼 오브젝트들 중 선택된 폼 오브젝트를 통해 화면에 표시하는 동적 프로그램 실행기를 포함하고,
상기 폼 오브젝트는 컴포넌트들의 외형, 이벤트 조건, 이벤트 반응 동작에 관하여 정의하는 속성 정보로써 구성되며,
상기 업무 로직 서비스 오브젝트는 사용자의 업무 프로세스를 전산화한 함수 내지 프로시저와 입출력 데이터 형식을 정의하는 파라미터 속성로써 구성되고,
상기 DB 서비스 오브젝트는 상기 컴포넌트, 함수, 또는 프로시저에서 요구되는 DB 쿼리와 입출력 데이터 형식을 정의하는 파라미터 속성로써 구성되는 것을 특징으로 하는 동적 프로그램 구동 시스템.
Load form objects, business logic service objects, DB service objects, and connection relationship information stored in a database structure into memory, display preset form objects among the form objects on the screen, and display user interactions, events, and settings. Displays another form object on the screen or calls and executes at least one of the business logic service objects or the DB service objects according to the connection relationship information, and displays the execution result of the called and executed service object among the form objects. Includes a dynamic program launcher that displays on the screen through the selected form object,
The form object is composed of attribute information defining the appearance of the components, event conditions, event response behavior,
The business logic service object is configured as a parameter attribute defining a function or procedure computerized by the user's business process and the input and output data format,
And the DB service object is configured as a parameter attribute defining a DB query and an input / output data format required by the component, function, or procedure.
개발자가 컴퓨터에서 구동된 동적 프로그램 저작 도구를 이용하여 동적 프로그램을 저작할 수 있게 하는 동적 프로그램 저작 방법에 있어서,
상기 컴퓨터에서,
개발자가 폼 오브젝트를 구성하는 컴포넌트들의 외형, 이벤트 조건, 이벤트 반응 동작에 관하여 정의하는 속성 정보를 편집할 수 있도록 편집 환경을 제공하는 단계;
개발자가 사용자의 업무 프로세스를 전산화한 업무 로직 서비스 오브젝트들을 구성하는 함수 내지 프로시저와 입출력 데이터 형식을 정의하는 파라미터 속성을 편집할 수 있도록 편집 환경을 제공하는 단계;
개발자가 데이터베이스(DB) 서비스 오브젝트들을 구성하며 상기 컴포넌트, 함수, 또는 프로시저에서 요구되는 DB 쿼리와 입출력 데이터 형식을 정의하는 파라미터 속성을 편집할 수 있도록 편집 환경을 제공하는 단계; 및
개발자가 상기 폼 오브젝트, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들을 생성하거나 삭제하고, 오브젝트들 사이의 연결 관계 정보를 편집할 수 있도록 편집 환경을 제공하는 단계를 포함하는 동적 프로그램 저작 방법.
In a dynamic program authoring method, a developer can author a dynamic program using a computer-driven dynamic program authoring tool,
On the computer,
Providing an editing environment for a developer to edit attribute information defining the appearance, event conditions, and event response behaviors of components constituting the form object;
Providing an editing environment for a developer to edit functions or procedures constituting business logic service objects computerized by a user's business process and parameter attributes defining input / output data types;
Providing an editing environment for a developer to configure database (DB) service objects and to edit parameter attributes that define the DB query and I / O data types required by the component, function, or procedure; And
And providing a editing environment for a developer to create or delete the form object, business logic service objects, DB service objects, and to edit connection relationship information between the objects.
청구항 15에 있어서, 상기 연결 관계 정보는 상호 연결되는 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들 사이의 파라미터 속성들의 연결을 위해 할당되는 태그 속성을 포함하는 것을 특징으로 하는 동적 프로그램 저작 방법.The dynamic program authoring of claim 15, wherein the connection relationship information includes a tag attribute assigned for linking parameter attributes between objects, components, functions, procedures, and DB queries to be interconnected. Way. 청구항 15에 있어서, 개발자가 화면에 나타낸 양식에 채워진 업무 처리 결과를 출력할 보고서 양식을 편집할 수 있도록 편집 환경을 제공하는 단계를 더 포함하는 것을 특징으로 하는 동적 프로그램 저작 방법.17. The method of claim 15, further comprising providing an editing environment for a developer to edit a report form to output a business process result filled in a form displayed on the screen. 청구항 15에 있어서, 상기 편집된 폼 오브젝트, 업무 로직 서비스 오브젝트, DB 서비스 오브젝트를 메모리에 로딩하고, 상기 연결 관계 정보 및 파라미터 속성에 따라 상기 로딩된 오브젝트들을 결합하여 실행할 수 있는 실행 환경을 제공하는 단계를 더 포함하는 것을 특징으로 하는 동적 프로그램 저작 방법.The method of claim 15, further comprising: loading an edited form object, a business logic service object, and a DB service object into a memory, and providing an execution environment in which the loaded objects may be combined and executed according to the connection relationship information and parameter attributes. Dynamic program authoring method further comprises. 청구항 15에 있어서, 작성이 완료된 폼 오브젝트들, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들을 상기 연결 관계 정보 및 파라미터 속성와 함께 동적 프로그램 적재 DB에 저장하는 단계를 더 포함하는 것을 특징으로 하는 동적 프로그램 저작 방법.The method of claim 15, further comprising storing the completed form objects, business logic service objects, and DB service objects in the dynamic program loading DB together with the connection relationship information and parameter attributes. . 청구항 15에 있어서, 작성이 완료된 오브젝트들을 오브젝트 단위로, 또는 다수의 오브젝트들과 연결 관계 정보를 모두 포함한 오브젝트 묶음으로 가져오기 또는 내보내기하는 단계를 더 포함하는 것을 특징으로 동적 프로그램 저작 방법.The method of claim 15, further comprising importing or exporting the completed objects on an object basis or in an object bundle including a plurality of objects and connection relationship information. 컴포넌트들의 외형, 이벤트 조건, 이벤트 반응 동작에 관하여 정의하는 속성 정보로써 구성되는 폼 오브젝트, 사용자의 업무 프로세스를 전산화한 함수 내지 프로시저와 입출력 데이터 형식을 정의하는 파라미터 속성로써 구성되는 업무 로직 서비스 오브젝트들, 그리고 상기 컴포넌트, 함수, 또는 프로시저에서 요구되는 DB 쿼리와 입출력 데이터 형식을 정의하는 파라미터 속성로써 구성되는 DB 서비스 오브젝트들을 상기 오브젝트들 사이의 연결 관계 정보와 함께 데이터베이스 구조로 동적 프로그램 적재 DB에 저장하는 단계;
상기 폼 오브젝트들, 업무 로직 서비스 오브젝트들, DB 서비스 오브젝트들, 연결 관계 정보들을 상기 동적 프로그램 적재 DB로부터 읽어들여 메모리에 로딩하고, 상기 폼 오브젝트들 중 미리 설정된 폼 오브젝트를 화면에 표시하며, 사용자의 인터랙션, 이벤트, 설정된 연결 관계 정보에 따라 다른 폼 오브젝트를 화면에 표시하거나 상기 업무 로직 서비스 오브젝트들 또는 상기 DB 서비스 오브젝트들 중 적어도 하나를 호출 및 실행시키며, 상기 호출 및 실행된 서비스 오브젝트의 실행 결과를 상기 폼 오브젝트들 중 선택된 폼 오브젝트를 통해 화면에 표시함으로써 동적 프로그램을 실행하는 단계를 포함하는 동적 프로그램 구동 방법.
Business logic service objects composed of form objects consisting of attribute information defining the appearance of components, event conditions, and event response behaviors, and functions and procedures that computerize the user's business processes, and parameter attributes defining input and output data types. And store DB service objects configured as parameter attributes defining the DB query and I / O data types required by the component, function, or procedure in a dynamic program loading DB in a database structure together with connection relationship information between the objects. Making;
The form objects, business logic service objects, DB service objects, and connection relationship information are read from the dynamic program loading DB, loaded into a memory, a preset form object among the form objects is displayed on a screen, and Display another form object on the screen according to the interaction, event, and connection relationship information, or call and execute at least one of the business logic service objects or the DB service objects, and display the execution result of the called and executed service object. And executing the dynamic program by displaying on the screen through the selected form object among the form objects.
청구항 21에 있어서, 상기 동적 프로그램을 실행하는 단계는,
상기 로딩된 폼 오브젝트들 중에서 호출되는 폼 오브젝트에 의해 정의된 화면을 생성하는 단계;
현재 생성된 화면의 폼 오브젝트에 포함된 컴포넌트들에 관하여 정의된 이벤트 발생 조건에 따라, 이벤트의 발생 여부를 분석하고, 컴포넌트들에 관하여 정의된 이벤트 반응 속성에 따라 지정된 폼 오브젝트 또는 서비스 오브젝트를 호출하는 단계;
상기 로딩된 업무 로직 서비스 오브젝트들 중에서 호출된 업무 로직 서비스 오브젝트의 함수 내지 프로시저를 실행하는 단계;
업무 DB에 대하여 상기 로딩된 DB 서비스 오브젝트들 중에서 호출된 DB 쿼리를 실행하는 단계; 및
상기 실행되는 오브젝트들에 의해 생성되고 교환되는 데이터들을 상기 오브젝트들의 파라미터 속성에 따라 적절한 데이터 형식으로 변환하고, 변환된 데이터들을 상기 연결 관계 정보에 따라 식별된 목적지 오브젝트의 컴포넌트 또는 함수 내지 프로시저에 전달하는 단계를 포함하는 것을 특징으로 하는 동적 프로그램 구동 방법.
The method of claim 21, wherein executing the dynamic program comprises:
Generating a screen defined by a form object called among the loaded form objects;
Analyzing whether an event occurs according to the event occurrence condition defined with respect to the components included in the form object of the currently created screen, and calling the designated form object or service object according to the event response attribute defined with respect to the components step;
Executing a function or procedure of a called business logic service object among the loaded business logic service objects;
Executing a called DB query among the loaded DB service objects with respect to a work DB; And
Converts data generated and exchanged by the executed objects into an appropriate data format according to the parameter attribute of the objects, and transfers the converted data to a component or function or procedure of the destination object identified according to the connection relationship information. Dynamic program driving method comprising the step of.
청구항 21에 있어서, 상기 연결 관계 정보는 서로 연결되는 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들 사이의 파라미터 속성들의 연결을 위해 할당되는 태그 속성을 포함하고,
상기 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들은 태그 속성을 기초로 호출할 상대방 또는 데이터를 주고받을 상대방을 특정하는 것을 특징으로 하는 동적 프로그램 구동 방법.
The method of claim 21, wherein the connection relationship information includes a tag property assigned for connection of parameter properties between objects, components, functions, procedures, and DB queries connected to each other.
The objects, components, functions or procedures, and DB queries specify a counterpart to call or a counterpart to exchange data based on a tag attribute.
컴포넌트들의 외형, 이벤트 조건, 이벤트 반응 동작에 관하여 정의하는 속성 정보들을 필드 값으로 하여 폼 오브젝트를 구조화하는 단계;
사용자의 업무 프로세스를 전산화한 함수 내지 프로시저와 입출력 데이터 형식을 정의하는 파라미터 속성들을 필드 값으로 하여 업무 로직 서비스 오브젝트들을 구조화하는 단계;
상기 컴포넌트, 함수, 또는 프로시저에서 요구되는 DB 쿼리와 입출력 데이터 형식을 정의하는 파라미터 속성들을 필드 값으로 하여 DB 서비스 오브젝트들을 구조화하는 단계; 및
상기 오브젝트들을 상기 오브젝트들 사이의 연결 관계 정보와 함께 데이터베이스 구조로 저장하는 단계를 포함하는 동적 프로그램 적재 데이터베이스 구축 방법.
Structuring a form object with attribute information defining the appearance of components, event conditions, and event response behaviors as field values;
Structuring business logic service objects with field values of functions or procedures computerizing a user's business process and parameter attributes defining input and output data types;
Structuring DB service objects using parameter attributes that define a DB query and an input / output data format required by the component, function, or procedure as field values; And
And storing the objects in a database structure with connection relationship information between the objects.
청구항 24에 있어서, 상기 연결 관계 정보는 서로 연결되는 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들 사이의 파라미터 속성들의 연결을 위해 할당되는 태그 속성을 포함하고,
상기 오브젝트들, 컴포넌트들, 함수 내지 프로시저들, DB 쿼리들이 태그 속성을 기초로 호출할 상대방 또는 데이터를 주고받을 상대방을 특정할 수 있도록 상기 태그 속성이 지정되는 것을 특징으로 하는 동적 프로그램 적재 데이터베이스 구축 방법.
The method of claim 24, wherein the connection relationship information includes a tag attribute assigned for linking parameter attributes between objects, components, functions, procedures, and DB queries connected to each other.
The tag property is specified so that the objects, components, functions or procedures, and DB queries can specify a counterpart to call or a counterpart to send and receive data based on the tag property. Way.
컴퓨터 장치를 청구항 1 내지 청구항 5 중 어느 한 청구항의 동적 프로그램 저작 시스템으로서 기능시키기 위한 프로그램을 기록한 컴퓨터 장치로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program for causing the computer device to function as the dynamic program authoring system of any one of claims 1 to 5. 컴퓨터 장치를 청구항 6 또는 청구항 10의 동적 프로그램 저작 및 배포 시스템으로서 기능시키기 위한 프로그램을 기록한 컴퓨터 장치로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program for causing a computer device to function as the dynamic program authoring and distribution system of claim 6 or 10. 컴퓨터 장치를 청구항 11 내지 청구항 14 중 어느 한 청구항의 동적 프로그램 구동 시스템으로서 기능시키기 위한 프로그램을 기록한 컴퓨터 장치로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program for causing the computer device to function as the dynamic program drive system according to any one of claims 11 to 14. 컴퓨터 장치에서 청구항 15 내지 청구항 20 중 어느 한 청구항의 동적 프로그램 저작 방법의 각 단계들을 실행시키기 위한 프로그램을 기록한 컴퓨터 장치로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program for executing respective steps of the dynamic program authoring method of any one of claims 15 to 20 in a computer device. 컴퓨터 장치에서 청구항 21 내지 청구항 23 중 어느 한 청구항의 동적 프로그램 구동 방법의 각 단계들을 실행시키기 위한 프로그램을 기록한 컴퓨터 장치로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program for executing respective steps of the dynamic program driving method of any one of claims 21 to 23 in a computer device. 청구항 24 또는 청구항 25의 방법에 의해 구축된 동적 프로그램 적재 데이터베이스가 수록된 컴퓨터 장치로 읽을 수 있는 기록 매체.A computer-readable recording medium having a dynamic program loading database constructed by the method of claim 24 or 25.
KR1020110097452A 2011-09-27 2011-09-27 Method and apparatus for developing, distributing and executing object-wise dynamic compileless programs KR101326985B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110097452A KR101326985B1 (en) 2011-09-27 2011-09-27 Method and apparatus for developing, distributing and executing object-wise dynamic compileless programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110097452A KR101326985B1 (en) 2011-09-27 2011-09-27 Method and apparatus for developing, distributing and executing object-wise dynamic compileless programs

Publications (2)

Publication Number Publication Date
KR20130033652A true KR20130033652A (en) 2013-04-04
KR101326985B1 KR101326985B1 (en) 2013-11-14

Family

ID=48435985

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110097452A KR101326985B1 (en) 2011-09-27 2011-09-27 Method and apparatus for developing, distributing and executing object-wise dynamic compileless programs

Country Status (1)

Country Link
KR (1) KR101326985B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018097361A1 (en) * 2016-11-23 2018-05-31 (주) 더존비즈온 Method for creating user-defined erp functions and computing system for executing same
KR20200106405A (en) * 2019-03-04 2020-09-14 주식회사 휴비즈 아이시티 System and method for implementing virtual reality supporting multi user editing function
CN112364084A (en) * 2020-11-18 2021-02-12 深圳航天智慧城市系统技术研究院有限公司 Visual data processing method and system for in-depth customization algorithm integration
KR20210063127A (en) 2019-11-22 2021-06-01 (주)에스티알바이오텍 Microorganism for producing shikimic acid and method for producing shikimic acid using the microorganism
CN114826899A (en) * 2022-03-16 2022-07-29 青岛海尔科技有限公司 Debugging method and device of equipment control service, storage medium and electronic device
CN116088816A (en) * 2021-11-05 2023-05-09 大连联达科技有限公司 Method for developing panoramic service view by low codes

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102364893B1 (en) * 2020-02-19 2022-02-18 (주)파모즈 Method for providing server deelopment service and storage medium storing program for performing the same

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100349973B1 (en) 2000-03-20 2002-08-23 애드라닷컴 주식회사 Server-side component for view contents separation and dynamic liking generation method for web-application development based on MVC model
KR20040052618A (en) * 2004-04-16 2004-06-23 김호익 Parameter-based software building system and the method
KR20060079690A (en) * 2005-01-03 2006-07-06 아토정보기술 주식회사 Component-based programming automation process using templates and patterns

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018097361A1 (en) * 2016-11-23 2018-05-31 (주) 더존비즈온 Method for creating user-defined erp functions and computing system for executing same
KR20200106405A (en) * 2019-03-04 2020-09-14 주식회사 휴비즈 아이시티 System and method for implementing virtual reality supporting multi user editing function
KR20210063127A (en) 2019-11-22 2021-06-01 (주)에스티알바이오텍 Microorganism for producing shikimic acid and method for producing shikimic acid using the microorganism
CN112364084A (en) * 2020-11-18 2021-02-12 深圳航天智慧城市系统技术研究院有限公司 Visual data processing method and system for in-depth customization algorithm integration
CN116088816A (en) * 2021-11-05 2023-05-09 大连联达科技有限公司 Method for developing panoramic service view by low codes
CN116088816B (en) * 2021-11-05 2024-03-26 大连联达科技有限公司 Method for developing panoramic service view by low codes
CN114826899A (en) * 2022-03-16 2022-07-29 青岛海尔科技有限公司 Debugging method and device of equipment control service, storage medium and electronic device
CN114826899B (en) * 2022-03-16 2024-01-23 青岛海尔科技有限公司 Debugging method and device for equipment control service, storage medium and electronic device

Also Published As

Publication number Publication date
KR101326985B1 (en) 2013-11-14

Similar Documents

Publication Publication Date Title
KR101326985B1 (en) Method and apparatus for developing, distributing and executing object-wise dynamic compileless programs
US7694272B2 (en) Method, a language and a system for the definition and implementation of software solutions by using a visualizable computer executable modeling language
US10222951B2 (en) Modeling system for graphic user interface
US7448024B2 (en) System and method for software application development in a portal environment
US7370315B1 (en) Visual programming environment providing synchronization between source code and graphical component objects
JP5651121B2 (en) Data object management and automatic linking
US8170901B2 (en) Extensible framework for designing workflows
KR20060087996A (en) Framework to model cross-cutting behavioral concerns in the workflow domain
KR20060087995A (en) An extensible framework for designing workflows
KR20060087994A (en) Componentized and extensible workflow model
US9552194B2 (en) System and method for creating a graphical user interface within a manufacturing execution system
US20120060141A1 (en) Integrated environment for software design and implementation
US7168062B1 (en) Object-oriented software system allowing live modification of an application
Leroy et al. Behavioral interfaces for executable DSLs
KR102213815B1 (en) Gui system for ansible
CN112181483B (en) Plasma control system software development platform and method
Andrade et al. Forms2Net–migrating oracle forms to microsoft. NET
CN102841918A (en) Method and device for processing binary system long-object fluidized data
Sheldon et al. Professional Visual Basic 2012 and. NET 4.5 Programming
JPH11102293A (en) Program automatic generating method
Driessen UML class models as first-class citizen: Metadata at design-time and run-time
WO2008014387A2 (en) Custom database system and method of building and operating the same
US20100070954A1 (en) Custom database system and method of building and operating the same
CN117234480B (en) Ontology-based multi-programming language component specification and workflow system and use method
Walsh A General Architecture for Hybrid Textual-Graphical Model Editors via Multiple Language Servers

Legal Events

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

Payment date: 20181031

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191031

Year of fee payment: 7