KR102109461B1 - Project Automation Assistance System with Micro Service Architecture - Google Patents

Project Automation Assistance System with Micro Service Architecture Download PDF

Info

Publication number
KR102109461B1
KR102109461B1 KR1020200018859A KR20200018859A KR102109461B1 KR 102109461 B1 KR102109461 B1 KR 102109461B1 KR 1020200018859 A KR1020200018859 A KR 1020200018859A KR 20200018859 A KR20200018859 A KR 20200018859A KR 102109461 B1 KR102109461 B1 KR 102109461B1
Authority
KR
South Korea
Prior art keywords
project
function
modules
code
image
Prior art date
Application number
KR1020200018859A
Other languages
Korean (ko)
Inventor
정인규
설재명
Original Assignee
주식회사 제이윈파트너스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 제이윈파트너스 filed Critical 주식회사 제이윈파트너스
Priority to KR1020200018859A priority Critical patent/KR102109461B1/en
Application granted granted Critical
Publication of KR102109461B1 publication Critical patent/KR102109461B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to a micro service architecture (MSA) based project automation support system. More particularly, the MSA based project automation support system is easily applicable to a new project by modularizing a function or a service having high reusability to manage a software development project of a system integration (SI) company as a micro service. Resources being existing product can be searched and downloaded in each procedure by automating the whole procedures of start, generation, performing, product write, and modularity of the software development project. The project can be efficiently performed and a project performing increased usability of a code once can be used as a substance of another project by integrally managing Maven, Gradle, Docker Hub, and simple repository.

Description

마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템{Project Automation Assistance System with Micro Service Architecture}     Project Automation Assistance System with Micro Service Architecture

본 발명은 SI 업체의 소프트웨어 개발 프로젝트를 관리하는데 재사용성이 높은 기능 또는 서비스를 마이크로 서비스로 모듈화하여 줌으로써, 새로운 프로젝트에 쉽게 적용할 수 있도록 지원할 수 있고, 소프트웨어 개발 프로젝트의 시작, 생성, 수행, 산출물 작성, 모듈화의 전 과정을 자동화함으로써, 각 과정에서 쉽게 기존의 산출물인 리소스들을 검색 및 다운로드하여 활용할 수 있도록 지원할 수 있으며, 기존의 Maven, Gradle, Docker Hub 단순한 저장소(Repository)뿐 아니라 이들을 통합 관리함으로써, 프로젝트 수행을 보다 효율적으로 하고 코드의 재사용성을 높여 한번 수행한 프로젝트가 다른 프로젝트의 자산으로 활용될 수 있도록 하는 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템에 관한 기술이다.The present invention modularizes a highly reusable function or service into a micro service to manage a software development project of an SI company, so that it can be easily applied to a new project, and starts, generates, performs, and outputs a software development project. By automating the entire process of creation and modularization, it is possible to easily search for and download and use the existing output resources in each process, and by integrating and managing not only the existing Maven, Gradle, and Docker Hub simple repositories , This is a technology related to a microservice architecture (MSA) -based project automation support system that makes project execution more efficient and code reusability so that a project once performed can be used as an asset for other projects.

현재의 개발되는 Monolithic Architecture에 필요한 모든 구성 요소들을 파악하여 한 번에 하나의 프로젝트 안에서 개발하는 시스템이 있지만, 하나의 서비스에 필요한 요소들이 서로 긴밀하게 결합되어 있어서 한 부분에 대한 수정 요구가 있을 때 각 요소들 간에 영향을 정확히 파악하여 대처하기가 힘들고, 수정사항을 반영하려면 연관된 모든 기능들을 테스트 해보아야 하며, 빌드 및 테스트시간이 길어지는 문제점이 있다.There is a system that identifies all the components required for the currently developed Monolithic Architecture and develops them in one project at a time, but when elements required for one service are closely combined with each other, there is a need to modify each part It is difficult to accurately grasp the impact between elements, and in order to reflect the modifications, all the related functions must be tested, and there is a problem in that build and test time are prolonged.

또한, 새로운 기능을 추가할 때 기존 개발 환경에 종속되어 새로운 방법이나 기술을 도입하기 어렵고, 하나의 기능에 발생된 문제로 전체 서비스가 중단될 수 있으며, 요구사항 반영과 테스트 배포까지의 작업 시간이 길어지는 문제점이 있다.In addition, when adding new functions, it is difficult to introduce new methods or technologies because it is dependent on the existing development environment, and the entire service may be stopped due to problems caused by one function, and the time required to reflect requirements and test deployment There is a prolonged problem.

그러므로 SI 업체의 소프트웨어 개발 프로젝트를 관리하는데 재사용성이 높은 기능 또는 서비스를 마이크로 서비스로 모듈화 하여 새로운 프로젝트에 쉽게 적용할 수 있도록 지원할 수 있고, 소프트웨어 개발 프로젝트의 시작, 생성, 수행, 산출물 작성, 모듈화의 전 과정을 자동화하여 각 과정에서 쉽게 기존의 산출물인 리소스들을 검색 및 다운로드하여 활용할 수 있도록 지원할 수 있으며, 기존의 Maven, Gradle, Docker Hub 단순한 저장소(Repository)뿐 아니라 이들을 통합 관리함으로써, 프로젝트 수행을 보다 효율적으로 하고 코드의 재사용성을 높여 한번 수행한 프로젝트가 다른 프로젝트의 자산으로 활용될 수 있도록 하는 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템의 개발이 절실히 요구되고 있는 실정이다.Therefore, in order to manage software development projects of SI companies, highly reusable functions or services can be modularized into microservices to support easy application to new projects, and to start, create, perform, produce and modularize software development projects. By automating the entire process, you can easily search for and download and use the existing output resources in each process. In addition to the simple Maven, Gradle, and Docker Hub simple repositories, you can manage the project by integrating them. There is an urgent need for the development of a microservices architecture (MSA) -based project automation support system that enables efficient, code-reusable projects to be used as assets of other projects.

KR 10-2007-0057806(2007.6.7)KR 10-2007-0057806 (2007.6.7)

따라서 본 발명은 상기와 같은 문제점을 해결하기 위하여 착상된 것으로서, SI 업체의 소프트웨어 개발 프로젝트를 관리하는데 재사용성이 높은 기능 또는 서비스를 마이크로 서비스로 모듈화하여 줌으로써, 새로운 프로젝트에 쉽게 적용할 수 있도록 지원할 수 있는 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템을 제공하는데 그 목적이 있다. Therefore, the present invention was conceived to solve the above problems, and it is possible to support easy application to a new project by modularizing a reusable function or service as a micro service for managing a software development project of an SI company. The objective is to provide a project automation support system based on a microservices architecture (MSA).

본 발명의 다른 목적은 소프트웨어 개발 프로젝트의 시작, 생성, 수행, 산출물 작성, 모듈화의 전 과정을 자동화함으로써, 각 과정에서 쉽게 기존의 산출물인 리소스들을 검색 및 다운로드하여 활용할 수 있도록 지원할 수 있는 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템을 제공하는데 있다. Another object of the present invention is to automate the entire process of starting, creating, performing, creating and modularizing a software development project, and thus microservice architecture that can easily support searching and downloading of resources, which are existing products, in each process. (MSA) -based project automation support system.

본 발명의 다른 목적은 기존의 Maven, Gradle, Docker Hub 단순한 저장소(Repository)뿐 아니라 이들을 통합 관리함으로써, 프로젝트 수행을 보다 효율적으로 하고 코드의 재사용성을 높여 한번 수행한 프로젝트가 다른 프로젝트의 자산으로 활용될 수 있도록 하는 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템을 제공하는데 있다. Another object of the present invention is to use existing Maven, Gradle, and Docker Hub simple repositories as well as to manage them in an integrated manner, making project execution more efficient and reusability of code to make a project once performed as an asset of another project. It is to provide a project automation support system based on a micro service architecture (MSA) that can be used.

상기 목적을 달성하기 위한 본 발명의 바람직한 일실시예에 따른 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템은 리소스를 저장하는 리소스 저장소와, 형상을 저장 관리하는 형상관리 저장소와, 상기 리소스 저장소와 형상관리 저장소에 저장되어 있는 정보를 검색하는 색인 및 검색부를 포함하며, 프로젝트 수행과정의 산출물인 소스코드의 버전별 형상을 관리하는 기능을 갖는 리소스 관리부와; 코드를 빌드하여 관리하는 빌드 관리부와, 빌드된 모듈을 배포 관리하는 배포 관리부를 포함하며, 코드를 모듈 단위 또는 실행 단위로 빌드하고, 상기 빌드된 모듈을 리소스 저장소에 등록 또는 서비스를 위한 서버에 배포하는 기능을 갖는 빌드 및 배포 관리부와; 리소스에 저장되어 있는 정보를 검색할 수 있도록 하는 모듈색인, 검색부를 포함하며, 프로젝트 수행 과정에서 재사용 가능한 모듈을 공동의 리소스 저장소에 보관 관리하며 어떤 프로젝트에서라도 쉽게 가져다 사용할 수 있도록 라이브러리화 하는 기능을 갖는 모듈 관리부와; 이미지를 저장하는 이미지 저장소와, 상기 이미지 저장소의 정보를 검색할 수 있도록 구성하는 이미지 색인, 검색 이미지 구성부를 포함하며, 독립된 서비스 가능한 모듈을 별도로 분리하여 docker 이미지를 생성하고, 상기 생성된 이미지를 프로젝트 자동화 지원 시스템에서 image 요청시에 image와 함께 해당 명세서를 제공하는 기능을 갖는 이미지 관리부; 를 통합 관리하며, 해당 프로젝트에서 필요 기능 명세와 매칭되는 모듈을 검색할 수 있는 기능과, 검색된 모듈의 리소스를 찾아서 새로 생성하는 프로젝트에 포함시키도록 하는 기능과, 해당 모듈을 연동시키는 방식을 정의하고 거기에 맞는 적절한 설정을 자동 생성하는 기능을 포함하는 프로젝트 생성과정과; 설계, 코딩, 빌드, 테스트, 배포 과정으로 세분되는데, 상기 설계는 요구사항 명세, 요구사항 추적, 도메인 정의서, 시퀀스 다이어그램, 클래스 정의서의 많은 문서와 작업이 필요로 하고, 각종 설계문서는 개발 과정에서 코드 변경과 함께 자주 변경작업이 일어나므로 버전 및 변경 이력관리가 필요한 것이고, 상기 코딩은 소스코드의 버전 별 형상을 관리하여 언제든지 작업의 특정기능 구현 상태 및 이력을 관리할 수 있어야 하고, 잘못된 작업을 이전 상태로 복구가 가능해야 하며, 공동 작업이 가능하여야 하는 것이며, 상기 빌드는 코드를 실행 가능한 형태로 컴파일하고, 상기 컴파일된 코드를 일정 단위로 패키징 하는 것이고, 상기 테스트는 해당 코드가 설계대로 작동하는지 테스트하는 기능을 갖는데, 클래스 및 메소드 단위의 테스트하는 단위 테스트와, 서비스 목적과 기능에 부합하는지 테스트하는 통합 테스트를 포함하는 것이며, 상기 배포는 빌드된 패키지를 하나 또는 그 이상의 시스템에 배포하여 서비스가 정상적으로 작동하도록 하여야 하고, 배포 후 시스템이 정상적인지 모니터링 할 수 있어야 하는 것임을 포함하는 프로젝트 수행과정과; 설계 단계에서 작성한 문서를 실제 수행한 결과와 일치하도록 현행화 하는 기능과, 생성된 코드에 대한 매뉴얼을 생성하는 기능을 포함하는 산출물 작성과정과; 개발된 코드를 재사용성, 단독 수행 가능성에 따라 모듈단위로 분해하여 재조립하며, 모듈은 라이브러리 성격의 모듈과 Micro Service 가능한 모듈로 분리하는데, 상기 라이브러리 성격의 모듈은 MAVEN 또는 Gradle과 같은 프레임웍을 지원하여 다른 프로젝트에서 쉽게 참조하여 가져다 쓸 수 있도록 관리하는 것이고, 상기 Micro Service 가능한 모듈은 docker이미지 형태로 만들어 자체 또는 공용의 docker Hub를 통해 다른 프로젝트에서 활용할 수 있도록 하는 것을 포함하는 모듈화과정과; 특별한 기능이라기보다 는 프로젝트 생성, 프로젝트 수행, 산출물 작성, 모듈화 과정들이 수행되어 재사용성이 높아진 상태가 되도록 하는 것이고, 이를 지원하기 위해 색인, 검색기능을 통해 접근성을 높이고 쉽게 활용할 수 있도록 사용자 인터페이스를 지속적으로 개선하는 것을 포함하는 리소스 자산화 과정을 통합 관리하는 것을 포함함을 특징으로 한다.A project automation support system based on a micro service architecture (MSA) according to an exemplary embodiment of the present invention for achieving the above object includes a resource repository for storing resources, a configuration management repository for storing and managing configurations, and the resource repository A resource management unit including an index and a search unit for searching information stored in the configuration management repository, and having a function of managing a version-specific configuration of a source code that is a product of a project execution process; It includes a build management unit that builds and manages code, and a deployment management unit that distributes and manages the built modules, builds the code in module units or execution units, and registers the built modules in a resource store or distributes them to a server for service. A build and distribution management unit having a function to perform; It includes a module index and a search unit that allows you to search for information stored in a resource, and has a function to store reusable modules in a common resource storage and manage them in a common resource storage during project execution, and to have a library function for easy import and use in any project. A module management unit; It includes an image repository for storing images, an image index configured to search for information in the image repository, and a search image organizer. Separately serviceable modules are separately separated to create docker images, and the generated images are projected. An image manager having a function of providing a corresponding specification together with an image when an image is requested by an automated support system; Defines the ability to integrate, manage the ability to search for modules matching the required functional specifications in the project, find the resource of the searched module and include it in the newly created project, and define the way to link the module. A project creation process including a function for automatically generating an appropriate setting therefor; It is subdivided into design, coding, build, test, and distribution processes. The design requires a lot of documents and work in requirements specification, requirements tracking, domain definition, sequence diagram, and class definition, and various design documents are developed during development. Version and change history management is necessary because frequently changes are made with code changes, and the coding should be able to manage the status and history of the implementation of specific functions of the task at any time by managing the shape of each version of the source code. It should be able to recover to the previous state, and should be able to collaborate, the build compiles the code in an executable form, packages the compiled code in a certain unit, and the test works as the code is designed. It has the function to test whether it is Twa, it includes integration tests to test if it meets the service purpose and function. The distribution should distribute the built package to one or more systems so that the service works normally, and monitor whether the system is normal after deployment. The project implementation process, including what should be possible; An output creation process including a function of presenting the document created at the design stage to match the actual result, and a function of generating a manual for the generated code; The developed code is disassembled and reassembled into module units according to reusability and singular performance, and the modules are separated into modules of library nature and modules that can be micro serviced. The modules of library nature support frameworks such as MAVEN or Gradle. And to manage it so that it can be easily referenced and used by other projects, and the Micro Service-capable module is made in the form of a docker image and can be used in other projects through its own or common docker hub; Rather than a special function, the project creation, project execution, product creation, and modularization processes are performed to make the reusability high, and to support this, the user interface is continuously used to increase accessibility and easily utilize it through the index and search functions. Characterized in that it includes the integrated management of the resource assetization process, including improvement.

상술한 바와 같이, 본 발명인 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템은 다음과 같은 효과를 가진다. As described above, the present invention micro-service architecture (MSA) -based project automation support system has the following effects.

첫째, 본 발명은 SI 업체의 소프트웨어 개발 프로젝트를 관리하는데 재사용성이 높은 기능 또는 서비스를 마이크로 서비스로 모듈화하여 줌으로써, 새로운 프로젝트에 쉽게 적용할 수 있도록 지원할 수 있다.First, the present invention can support easy application to a new project by modularizing a micro service as a reusable function or service for managing a software development project of an SI company.

둘째, 본 발명은 소프트웨어 개발 프로젝트의 시작, 생성, 수행, 산출물 작성, 모듈화의 전 과정을 자동화함으로써, 각 과정에서 쉽게 기존의 산출물인 리소스들을 검색 및 다운로드하여 활용할 수 있도록 지원할 수 있다. Second, the present invention can assist in making it easy to search, download, and utilize existing output resources in each process by automating the entire process of starting, generating, performing, outputting, and modularizing the software development project.

셋째, 본 발명은 기존의 Maven, Gradle, Docker Hub 단순한 저장소(Repository)뿐 아니라 이들을 통합 관리함으로써, 프로젝트 수행을 보다 효율적으로 하고 코드의 재사용성을 높여 한번 수행한 프로젝트가 다른 프로젝트의 자산으로 활용될 수 있도록 한다.Third, according to the present invention, the existing Maven, Gradle, Docker Hub, as well as simple repositories are managed by integrating them to make project execution more efficient and reusability of code to make the project once executed as an asset for other projects. Make it possible.

도 1은 본 발명의 일실시예에 따른 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템의 구성을 나타낸 도면.
도 2는 본 발명의 일실시예에 따른 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템의 구성 중 리소스 관리부를 상세하게 나타낸 도면.
도 3은 본 발명의 일실시예에 따른 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템의 구성 중 빌드 및 배포 관리부를 상세하게 나타낸 도면.
도 4는 본 발명의 일실시예에 따른 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템의 구성 중 모듈 관리부를 상세하게 나타낸 도면.
도 5는 본 발명의 일실시예에 따른 마이크로 서비스 아키텍처(MSA) 기의 프로젝트 자동화 지원 시스템의 구성 중 이미지 관리부를 상세하게 나타낸 도면.
도 6은 본 발명의 일실시예에 따른 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템을 이용한 프로젝트 프로세스의 흐름을 설명하기 위해 나타낸 도면.
1 is a view showing the configuration of a microservice architecture (MSA) based project automation support system according to an embodiment of the present invention.
2 is a view showing in detail a resource management unit in the configuration of a microservice architecture (MSA) based project automation support system according to an embodiment of the present invention.
3 is a view showing in detail a build and deployment management unit during the construction of a microservice architecture (MSA) based project automation support system according to an embodiment of the present invention.
4 is a detailed diagram of a module management unit in the configuration of a microservice architecture (MSA) -based project automation support system according to an embodiment of the present invention.
5 is a view showing in detail the image management unit during the configuration of the micro-service architecture (MSA) project automation support system according to an embodiment of the present invention.
6 is a view for explaining a flow of a project process using a microservice architecture (MSA) based project automation support system according to an embodiment of the present invention.

이하 첨부된 도면과 함께 본 발명의 바람직한 실시예를 살펴보면 다음과 같은데, 본 발명을 설명함에 있어서 관련된 공지기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이며, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있으므로, 그 정의는 본 발명인 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템을 설명하는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. Hereinafter, a preferred embodiment of the present invention will be described with reference to the accompanying drawings. In the description of the present invention, if it is determined that a detailed description of known technologies or configurations related to the present invention may unnecessarily obscure the subject matter of the present invention, detailed The description will be omitted, and the terms to be described below are terms defined in consideration of functions in the present invention, and may vary according to a user's or operator's intention or convention, so the definition is a microservice architecture (MSA) based project according to the present invention. It should be based on the contents throughout this specification describing the automation support system.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 일실시예에 따른 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템을 상세하게 설명한다.Hereinafter, a microservice architecture (MSA) -based project automation support system according to an exemplary embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템의 구성을 나타낸 도면이고, 도 2는 본 발명의 일실시예에 따른 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템의 구성 중 리소스 관리부를 상세하게 나타낸 도면이며, 도 3은 본 발명의 일실시예에 따른 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템의 구성 중 빌드 및 배포 관리부를 상세하게 나타낸 도면이고, 도 4는 본 발명의 일실시예에 따른 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템의 구성 중 모듈 관리부를 상세하게 나타낸 도면이며, 도 5는 본 발명의 일실시예에 따른 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템의 구성 중 이미지 관리부를 상세하게 나타낸 도면이고, 도 6은 본 발명의 일실시예에 따른 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템을 이용한 프로젝트 프로세스의 흐름을 설명하기 위해 나타낸 도면이다.1 is a view showing the configuration of a microservices architecture (MSA) based project automation support system according to an embodiment of the present invention, and FIG. 2 is a microservices architecture (MSA) based project according to an embodiment of the present invention. It is a diagram showing the resource management unit in detail during the configuration of the automation support system, and FIG. 3 is a view showing in detail the build and deployment management unit during the configuration of the microservice architecture (MSA) -based project automation support system according to an embodiment of the present invention 4 is a diagram showing in detail the module management unit during the configuration of the microservice architecture (MSA) -based project automation support system according to an embodiment of the present invention, and FIG. 5 is a microservice according to an embodiment of the present invention The image management department in detail during the construction of the architecture (MSA) -based project automation support system And tanaen drawings, Figure 6 is a view showing for explaining the flow of a process using a micro project Services Architecture (MSA) based project automated support system according to an embodiment of the present invention.

MSA(Micro-Service Architecture)는 독립적으로 디플로이 / 확장될 수 있는 서비스들을 조합하여 large 어플리케이션을 구성하는 아키텍처 패턴을 말하는데, 다음과 같은 특징을 갖는다.MSA (Micro-Service Architecture) refers to the architectural pattern that composes a large application by combining services that can be independently deployed / expanded, and has the following characteristics.

(1) 애플리케이션 로직을 각자 책임이 명확한 작은 컴포넌트들로 분해하고 이들을 조합해서 솔루션을 제공한다. (2) 각 컴포넌트는 작은 책임 영역을 담당하고 완전히 상호 독립적으로 배포된다. (3) 마이크로서비스는 비즈니스 영역의 한 부분에서만 책임을 담당하고, 여러 애플리케이션에서 재사용할 수 있어야 한다. (4) 마이크로서비스는 몇 가지 기본 원칙에 기반을 두며, 서비스 소비자와 서비스 제공자 사이의 데이터 교환을 위해 HTTP와 JSON과 같은 경량 통신 프로토콜을 사용한다. (5) 애플리케이션은 항상 기술 중립적 프로토콜을 사용해 통신하므로 서비스 구현 기술과는 무관하다. 따라서 마이크로서비스 기반의 애플리케이션을 다양한 언어와 기술로 구축할 수 있다는 것을 의미한다. (6) 작고 독립적이며 분산된 마이크로서비스를 사용해 조직은 명확히 정의된 책임 영역을 담당하는 소규모 팀을 보유할 수 있다. 이 팀들은 애플리케이션 출시처럼 하나의 목표를 향해 일하지만, 자기가 개발하는 서비스만 책임진다.(1) Decompose the application logic into small components with clear responsibilities, and combine them to provide a solution. (2) Each component covers a small area of responsibility and is distributed completely independently of each other. (3) Microservices are responsible for only one part of the business domain and must be reusable across multiple applications. (4) Microservices are based on several basic principles and use lightweight communication protocols such as HTTP and JSON to exchange data between service consumers and service providers. (5) Since the application always communicates using a technology-neutral protocol, it is independent of the service implementation technology. This means that microservices-based applications can be built in a variety of languages and technologies. (6) By using small, independent and distributed microservices, organizations can have small teams with clearly defined areas of responsibility. These teams work towards a single goal, like launching an application, but are only responsible for the services they develop.

상술한 MSA(Micro-Service Architecture)는 작은 서비스들로 나누고, 각 서비스를 독립적으로 만들고, 대용량 분산 환경에 적합하며, 복잡도가 감소하고, 유연한 배포가 가능하며, 재사용성을 통해 확장성을 높이고, 서비스별 hw/sw 플랫폼/기술의 도입 및 확장이 자유롭다. 또한, 개발자가 이해하기 쉽고 개발/운영 매 단계의 생산성이 높고, 지속적인 개발/디플로이가 biz capability 단위로 관련된 소수의 인원의 책임 하에 이루어질 수 있으며, fault isolation 특성이 좋다는 장점을 갖고 있는 것이다.The above-mentioned MSA (Micro-Service Architecture) is divided into small services, and each service is independently made, suitable for a large-scale distributed environment, reduced in complexity, flexible deployment is possible, and scalability is increased through reusability, It is free to introduce and expand hw / sw platform / technology for each service. In addition, it is easy for the developer to understand and has high productivity at each stage of development / operation, continuous development / deployment can be performed under the responsibility of a small number of persons involved in biz capability units, and has the advantage of good fault isolation characteristics.

하지만, 장애추적, 모니터링, 메시징이 어렵고, 여러 서비스에 걸쳐져 있는 feature의 경우, 트랜잭션을 다루기 어렵우며, 여러 서비스에 걸쳐져 있는 feature의 경우, 테스팅이 복잡하고, 서비스 간 dependency가 있는 경우 릴리즈가 까다롭다. 또한, 서비스 개수가 많고 유동적이기 때문에 Continuous Integration/Delivery 및 서비스 관리상의 문제가 발생할 수 있고, monolith로 시작한 시스템을 Microservices로 전환할 때 큰 고통이 수반될 수 있는 단점이 있는 것이다.However, failure tracking, monitoring, and messaging are difficult, features that span multiple services are difficult to handle transactions, and features that span multiple services are complicated to test, and releases are difficult when there are dependencies between services. . In addition, since the number of services is large and flexible, there may be problems in continuous integration / delivery and service management, and when a system started with a monolith is converted to microservices, there is a disadvantage in that it can be accompanied by great pain.

그래서 본원인 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템이 대두되게 되는 것이다. Therefore, the project automation support system based on the microservice architecture (MSA), which is the main office, will emerge.

본 발명인 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템은 리소스 관리부(100), 빌드 및 배포 관리부(200), 모듈 관리부(300), 이미지 관리부(400), 색인 및 검색부(110), 리소스 저장소(120), 형상관리 저장소(130), 빌드 관리부(210), 배포 관리부(220), 모듈 색인, 검색부(310), 이미지 색인, 검색 및 이미지 구성부(410), 이미지 저장소(420), 프로젝트 자동화 지원시스템(500) 등으로 구성된다.The inventor microservice architecture (MSA) based project automation support system includes a resource management unit 100, a build and deployment management unit 200, a module management unit 300, an image management unit 400, an index and search unit 110, and resources Storage 120, configuration management storage 130, build management unit 210, distribution management unit 220, module index, search unit 310, image index, search and image configuration unit 410, image storage 420 , Project automation support system 500, and the like.

도 1 내지 도 6에 도시한 바와 같이, 본 발명인 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템은 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템(500)은 리소스 관리부(100), 빌드 및 배포 관리부(200), 모듈 관리부(300), 이미지 관리부(400)를 통합 관리하며, 프로젝트 생성, 프로젝트 수행, 산출물 작성, 모듈화, 리소스 자산화 과정을 통합 관리하는 것을 구비하며, 구체적으로는 상기 프로젝트 자동화 지원 시스템은 리소스를 저장하는 리소스 저장소(120)와, 형상을 저장 관리하는 형상관리 저장소(130)와, 상기 리소스 저장소와 형상관리 저장소에 저장되어 있는 정보를 검색하는 색인 및 검색부(110)를 포함하며, 프로젝트 수행과정의 산출물인 소스코드의 버전별 형상을 관리하는 기능을 갖는 리소스 관리부(100)와; 코드를 빌드하여 관리하는 빌드 관리부(210)와, 빌드된 모듈을 배포 관리하는 배포 관리부(220)를 포함하며, 코드를 모듈 단위 또는 실행 단위로 빌드하고, 상기 빌드된 모듈을 리소스 저장소(120)에 등록 또는 서비스를 위한 서버에 배포하는 기능을 갖는 빌드 및 배포 관리부(200)와; 리소스에 저장되어 있는 정보를 검색할 수 있도록 하는 모듈색인, 검색부(310)를 포함하며, 프로젝트 수행 과정에서 재사용 가능한 모듈을 공동의 리소스 저장소(120)에 보관 관리하며, 어떤 프로젝트에서라도 쉽게 가져다 사용할 수 있도록 라이브러리화 하는 기능을 갖는 모듈 관리부(300)와; 이미지를 저장하는 이미지 저장소(420)와, 상기 이미지 저장소(420)의 정보를 검색할 수 있도록 구성하는 이미지 색인, 검색 이미지 구성부(410)를 포함하며, 독립된 서비스 가능한 모듈을 별도로 분리하여 docker 이미지를 생성하고, 상기 생성된 이미지를 프로젝트 자동화 지원 시스템에서 image 요청시에 image와 함께 해당 명세서를 제공하는 기능을 갖는 이미지 관리부(400); 을 구비한다. 1 to 6, the present invention is a microservice architecture (MSA) -based project automation support system, the microservice architecture (MSA) -based project automation support system 500 is a resource management unit 100, build and It is provided with integrated management of the distribution management unit 200, the module management unit 300, and the image management unit 400, and includes project management, project execution, product creation, modularization, and resource asset management. The support system includes a resource storage 120 for storing resources, a configuration management storage 130 for storing and managing configurations, and an index and search unit 110 for searching for information stored in the resource storage and configuration management storage. And a resource management unit 100 having a function of managing a shape for each version of a source code that is a product of a project execution process; It includes a build management unit 210 for building and managing code, and a distribution management unit 220 for managing deployment of the built modules, and builds the code in module units or execution units, and stores the built modules in resource storage 120 A build and distribution management unit 200 having a function of distributing to a server for registration or service; It includes a module index and a search unit 310 that allows you to search for information stored in resources, and keeps reusable modules in a common resource storage 120 in the course of project execution, and can be easily used in any project Module management unit 300 having a function to library to enable; It includes an image storage 420 for storing images, an image index configured to search for information in the image storage 420, and a search image configuration unit 410, and separates independent serviceable modules separately to docker images. An image management unit 400 having a function of generating the generated image and providing a corresponding specification together with an image when an image is requested from the project automation support system; It is provided.

상기 본 발명인 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템을 구성하는 각 기술적 수단들의 기능을 설명하면 다음과 같다.When describing the functions of each technical means constituting the project automation support system based on the present invention, the micro-service architecture (MSA) is as follows.

본 발명인 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템(500)은 리소스 관리부(100), 빌드 및 배포 관리부(200), 모듈 관리부(300), 이미지 관리부(400)를 통합 관리하며, 프로젝트 생성, 프로젝트 수행, 산출물 작성, 모듈화, 리소스 자산화 과정을 통합 관리하는 것을 구비하되,The present invention microservice architecture (MSA) based project automation support system 500 integrates and manages the resource management unit 100, the build and distribution management unit 200, the module management unit 300, and the image management unit 400, and generates a project. In addition, the project management, product creation, modularization, and resource assetization processes are integrated and managed.

상기 리소스 관리부(100)는 리소스를 저장하는 리소스 저장소(120)와, 형상을 저장 관리하는 형상관리 저장소(130)와, 상기 리소스 저장소와 형상관리 저장소에 저장되어 있는 정보를 검색하는 색인 및 검색부(110)를 포함하며, 프로젝트 수행과정의 산출물인 소스코드의 버전별 형상을 관리하는 기능을 갖는 것이다.The resource management unit 100 includes a resource storage 120 for storing resources, a configuration management storage 130 for storing and managing shapes, and an index and search unit for searching for information stored in the resource storage and configuration management storage. (110), and has the function of managing the shape of each version of the source code, which is the output of the project execution process.

여기서, 상기 리소스 관리부(100)에서는 Git, SVN과 같은 소스코드 형상관리와의 통합하는 기능과, Maven, Gradle과 같은 라이브러리 통합 관리와 연계하는 기능을 포함하는 것이다.Here, the resource management unit 100 includes a function of integrating with source code configuration management such as Git and SVN, and a function of integrating with library integrated management such as Maven and Gradle.

상기 빌드 및 배포 관리부(200)는 코드를 빌드하여 관리하는 빌드 관리부(210)와, 빌드된 모듈을 배포 관리하는 배포 관리부(220)를 포함하며, 코드를 모듈 단위 또는 실행 단위로 빌드하고, 상기 빌드된 모듈을 리소스 저장소(120)에 등록 또는 서비스를 위한 서버에 배포하는 기능을 갖는 것이다.The build and distribution management unit 200 includes a build management unit 210 that manages to build and manage code, and a distribution management unit 220 that manages deployment of the built modules, and builds the code in module units or execution units. It has a function to register the built module in the resource storage 120 or distribute it to a server for service.

상기 모듈 관리부(300)는 리소스에 저장되어 있는 정보를 검색할 수 있도록 하는 모듈색인, 검색부(310)를 포함하며, 프로젝트 수행 과정에서 재사용 가능한 모듈을 공동의 리소스 저장소(120)에 보관 관리하며, 어떤 프로젝트에서라도 쉽게 가져다 사용할 수 있도록 라이브러리화 하는 기능을 갖는 것이다.The module management unit 300 includes a module index and a search unit 310 to search information stored in resources, and stores and manages reusable modules in a common resource storage 120 in the course of project execution. In other words, it has the ability to library for easy import and use in any project.

상기 이미지 관리부(400)는 이미지를 저장하는 이미지 저장소(420)와, 상기 이미지 저장소(420)의 정보를 검색할 수 있도록 구성하는 이미지 색인, 검색 이미지 구성부(410)를 포함하며, 독립된 서비스 가능한 모듈을 별도로 분리하여 docker 이미지를 생성하고, 상기 생성된 이미지를 프로젝트 자동화 지원 시스템에서 image 요청시에 image와 함께 해당 명세서를 제공하는 기능을 갖는 것이다.The image management unit 400 includes an image storage 420 for storing images, an image index configured to search for information in the image storage 420, and a search image configuration unit 410, and independent service is possible. The docker image is generated by separately separating the modules, and the generated image is provided with a corresponding specification along with the image when the image is requested by the project automation support system.

상기 프로젝트 자동화 지원 시스템(500)에서 통합 관리되는 과정을 기술하면 다음과 같다.The process of integrated management in the project automation support system 500 is described as follows.

상기 프로젝트 생성과정은 해당 프로젝트에서 필요 기능 명세와 매칭되는 모듈을 검색할 수 있는 기능과, 검색된 모듈의 리소스를 찾아서 새로 생성하는 프로젝트에 포함시키도록 하는 기능과, 해당 모듈을 연동시키는 방식을 정의하고 거기에 맞는 적절한 설정을 자동 생성하는 기능을 포함한다.The project creation process defines the ability to search for modules that match the required functional specifications in the project, the ability to find the resources of the searched modules and include them in the newly created project, and how to link the modules. Includes the ability to automatically create appropriate settings for it.

다음으로, 상기 프로젝트 수행과정은 설계, 코딩, 빌드, 테스트, 배포 과정으로 세분된다.Next, the project execution process is subdivided into design, coding, build, test, and distribution processes.

상기 설계는 요구사항 명세, 요구사항 추적, 도메인 정의서, 시퀀스 다이어그램, 클래스 정의서의 많은 문서와 작업이 필요로 하고, 상기와 같은 각종 설계문서는 개발 과정에서 코드 변경과 함께 자주 변경작업이 일어나므로 버전 및 변경 이력관리가 필요한 것이다. The above design requires a lot of documents and work in requirements specification, requirements tracking, domain definition, sequence diagram, and class definition, and various design documents such as the above are frequently changed with code changes in the development process. And change history management.

또한, 상기 코딩은 소스코드의 버전 별 형상을 관리하여 언제든지 작업의 특정기능 구현 상태 및 이력을 관리할 수 있어야 하고, 잘못된 작업을 이전 상태로 복구가 가능해야 하며, 공동 작업이 가능하여야 하는 것이다. In addition, the coding should be able to manage the state and history of implementing a specific function of a task at any time by managing the shape of each version of the source code, and to be able to recover an erroneous task to a previous state, and to be able to collaborate.

상기 빌드는 코드를 실행 가능한 형태로 컴파일하고, 상기 컴파일된 코드를 일정 단위로 패키징 하는 것이다.The build compiles the code in an executable form, and packages the compiled code in a certain unit.

또한, 상기 테스트는 해당 코드가 설계대로 작동하는지 테스트하는 기능을 갖는데, 클래스 및 메소드 단위의 테스트하는 단위 테스트와, 서비스 목적과 기능에 부합하는지 테스트하는 통합 테스트를 포함하는 것이다.In addition, the test has a function to test whether the corresponding code works according to design, and includes unit tests to test in units of classes and methods, and integration tests to test if it meets service purposes and functions.

상기 배포는 빌드된 패키지를 하나 또는 그 이상의 시스템에 배포하여 서비스가 정상적으로 작동하도록 하여야 하고, 배포 후 시스템이 정상적인지 모니터링 할 수 있어야 하는 것이다.The above distribution is to distribute the built package to one or more systems so that the service operates normally, and to monitor whether the system is normal after distribution.

다음으로, 상기 산출물 작성과정은 설계 단계에서 작성한 문서를 실제 수행한 결과와 일치하도록 현행화 하는 기능과, 생성된 코드에 대한 매뉴얼을 생성하는 기능을 포함한다. Next, the product creation process includes a function of currentizing the document created in the design stage to match the actual result, and a function of generating a manual for the generated code.

그리고, 상기 모듈화 과정은 개발된 코드를 재사용성, 단독 수행 가능성에 따라 모듈단위로 분해하여 재조립하며, 모듈은 라이브러리 성격의 모듈과 Micro Service가능한 모듈로 분리한다.In addition, the modularization process decomposes and reassembles the developed code into module units according to reusability and singular performance, and separates the modules into modules with library characteristics and modules with micro service.

상기 라이브러리 성격의 모듈은 MAVEN 또는 Gradle과 같은 프레임웍을 지원하여 다른 프로젝트에서 쉽게 참조하여 가져다 쓸 수 있도록 관리하는 것이다.The library-like module supports a framework such as MAVEN or Gradle, and is managed to be easily referenced and used in other projects.

또한, 상기 Micro Service형 모듈은 docker이미지 형태로 만들어 자체 또는 공용의 docker Hub를 통해 다른 프로젝트에서 활용할 수 있도록 하는 것이다. In addition, the Micro Service type module is made in the form of a docker image so that it can be used in other projects through its own or common docker hub.

다음으로, 상기 리소스 자산화 과정은 특별한 기능이라기보다 는 프로젝트 생성, 프로젝트 수행, 산출물 작성, 모듈화 과정들이 수행되어 재사용성이 높아진 상태가 되도록 하는 것이고, 이를 지원하기 위해 색인, 검색기능을 통해 접근성을 높이고 쉽게 활용할 수 있도록 사용자 인터페이스를 지속적으로 개선하는 것을 포함한다.Next, the resource assetization process is not a special function, but a project creation, project execution, product creation, and modularization processes are performed so that reusability is increased, and accessibility is increased through an index and search function to support this. This includes continually improving the user interface for ease of use.

따라서, 본 발명인 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템은 SI 업체의 소프트웨어 개발 프로젝트의 시작, 생성, 수행, 산출물 작성, 모듈화의 전 과정을 자동화하여 각 과정에서 쉽게 기존의 산출물인 리소스들을 검색 및 다운로드하여 활용할 수 있도록 지원할 수 있으며, 기존의 Maven, Gradle, Docker Hub 단순한 저장소(Repository)뿐 아니라 이들을 통합 관리하여 프로젝트 수행을 보다 효율적으로 하고 코드의 재사용성을 높여 한번 수행한 프로젝트가 다른 프로젝트의 자산으로 활용될 수 있도록 하는 것이다.Therefore, the present invention microservice architecture (MSA) -based project automation support system automates the entire process of starting, creating, executing, producing and modularizing the software development project of the SI company, thereby easily reusing existing output resources in each process. It can be searched and downloaded and utilized, and existing projects such as Maven, Gradle, and Docker Hub as well as simple repositories are integrated to manage them to make projects more efficient and to improve the reusability of code, so projects that have been performed once are different projects. It can be used as an asset.

이상에서 설명한 바와 같이, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것은 아니다.As described above, a person having ordinary knowledge in the technical field to which the present invention pertains is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention, and thus is limited to the above-described embodiments and the accompanying drawings. It does not work.

상술한 바와 같이, 본 발명인 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템은 SI 업체의 소프트웨어 개발 프로젝트를 통합 관리하는 분야에 폭 넓게 적용할 수 있는 것이다. As described above, the present invention micro-service architecture (MSA) -based project automation support system can be widely applied to the field of integrated management of software development projects of SI companies.

100 : 리소스 관리부 200 : 빌드 및 배포 관리부
300 : 모듈 관리부 400 : 이미지 관리부
500 : 프로젝트 자동화 지원시스템 110 : 색인 및 검색부
120 : 리소스 저장소 130 : 형상관리 저장소
210 : 빌드 관리부 220 : 배포 관리부
310 : 모듈 색인, 검색부
410 : 이미지 색인, 검색 및 이미지 구성부
420 : 이미지 저장소
100: resource management unit 200: build and deployment management unit
300: module management unit 400: image management unit
500: Project automation support system 110: Index and search department
120: resource storage 130: configuration management storage
210: build management unit 220: distribution management unit
310: module index, search unit
410: image index, search and image organizer
420: image storage

Claims (8)

마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템에 있어서,
리소스를 저장하는 리소스 저장소와, 형상을 저장 관리하는 형상관리 저장소와, 상기 리소스 저장소와 형상관리 저장소에 저장되어 있는 정보를 검색하는 색인 및 검색부를 포함하며, 프로젝트 수행과정의 산출물인 소스코드의 버전별 형상을 관리하는 기능을 갖는 리소스 관리부와; 코드를 빌드하여 관리하는 빌드 관리부와, 빌드된 모듈을 배포 관리하는 배포 관리부를 포함하며, 코드를 모듈 단위 또는 실행 단위로 빌드하고, 상기 빌드된 모듈을 리소스 저장소에 등록 또는 서비스를 위한 서버에 배포하는 기능을 갖는 빌드 및 배포 관리부와; 리소스에 저장되어 있는 정보를 검색할 수 있도록 하는 모듈색인, 검색부를 포함하며, 프로젝트 수행 과정에서 재사용 가능한 모듈을 공동의 리소스 저장소에 보관 관리하며 어떤 프로젝트에서라도 쉽게 가져다 사용할 수 있도록 라이브러리화 하는 기능을 갖는 모듈 관리부와; 이미지를 저장하는 이미지 저장소와, 상기 이미지 저장소의 정보를 검색할 수 있도록 구성하는 이미지 색인, 검색 이미지 구성부를 포함하며, 독립된 서비스 가능한 모듈을 별도로 분리하여 docker 이미지를 생성하고, 상기 생성된 이미지를 프로젝트 자동화 지원 시스템에서 image 요청시에 image와 함께 해당 명세서를 제공하는 기능을 갖는 이미지 관리부; 를 통합 관리하며, 해당 프로젝트에서 필요 기능 명세와 매칭되는 모듈을 검색할 수 있는 기능과, 검색된 모듈의 리소스를 찾아서 새로 생성하는 프로젝트에 포함시키도록 하는 기능과, 해당 모듈을 연동시키는 방식을 정의하고 거기에 맞는 적절한 설정을 자동 생성하는 기능을 포함하는 프로젝트 생성과정과; 설계, 코딩, 빌드, 테스트, 배포 과정으로 세분되는데, 상기 설계는 요구사항 명세, 요구사항 추적, 도메인 정의서, 시퀀스 다이어그램, 클래스 정의서의 많은 문서와 작업이 필요로 하고, 각종 설계문서는 개발 과정에서 코드 변경과 함께 자주 변경작업이 일어나므로 버전 및 변경 이력관리가 필요한 것이고, 상기 코딩은 소스코드의 버전 별 형상을 관리하여 언제든지 작업의 특정기능 구현 상태 및 이력을 관리할 수 있어야 하고, 잘못된 작업을 이전 상태로 복구가 가능해야 하며, 공동 작업이 가능하여야 하는 것이며, 상기 빌드는 코드를 실행 가능한 형태로 컴파일하고, 상기 컴파일된 코드를 일정 단위로 패키징 하는 것이고, 상기 테스트는 해당 코드가 설계대로 작동하는지 테스트하는 기능을 갖는데, 클래스 및 메소드 단위의 테스트하는 단위 테스트와, 서비스 목적과 기능에 부합하는지 테스트하는 통합 테스트를 포함하는 것이며, 상기 배포는 빌드된 패키지를 하나 또는 그 이상의 시스템에 배포하여 서비스가 정상적으로 작동하도록 하여야 하고, 배포 후 시스템이 정상적인지 모니터링 할 수 있어야 하는 것임을 포함하는 프로젝트 수행과정과; 설계 단계에서 작성한 문서를 실제 수행한 결과와 일치하도록 현행화 하는 기능과, 생성된 코드에 대한 매뉴얼을 생성하는 기능을 포함하는 산출물 작성과정과; 개발된 코드를 재사용성, 단독 수행 가능성에 따라 모듈단위로 분해하여 재조립하며, 모듈은 라이브러리 성격의 모듈과 Micro Service 가능한 모듈로 분리하는데, 상기 라이브러리 성격의 모듈은 MAVEN 또는 Gradle과 같은 프레임웍을 지원하여 다른 프로젝트에서 쉽게 참조하여 가져다 쓸 수 있도록 관리하는 것이고, 상기 Micro Service 가능한 모듈은 docker이미지 형태로 만들어 자체 또는 공용의 docker Hub를 통해 다른 프로젝트에서 활용할 수 있도록 하는 것을 포함하는 모듈화과정과; 특별한 기능이라기보다 는 프로젝트 생성, 프로젝트 수행, 산출물 작성, 모듈화 과정들이 수행되어 재사용성이 높아진 상태가 되도록 하는 것이고, 이를 지원하기 위해 색인, 검색기능을 통해 접근성을 높이고 쉽게 활용할 수 있도록 사용자 인터페이스를 지속적으로 개선하는 것을 포함하는 리소스 자산화 과정; 을 통합 관리하는 것을 포함함을 특징으로 하는 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템.
In the project automation support system based on micro service architecture (MSA),
It includes a resource repository for storing resources, a configuration management repository for storing and managing configurations, and an index and search unit for retrieving information stored in the resource repository and configuration management repository, a version of source code that is a product of the project execution process. A resource management unit having a function of managing a star shape; It includes a build management unit that builds and manages code, and a deployment management unit that distributes and manages the built modules, builds the code in module units or execution units, and registers the built modules in a resource store or distributes them to a server for service. A build and distribution management unit having a function to perform; It includes a module index and a search unit that allows you to search for information stored in a resource, and maintains a reusable module in a common resource storage and manages it in a common resource storage during project execution, and has the function to library for easy import and use in any project. A module management unit; It includes an image repository for storing images, an image index configured to search for information in the image repository, and a search image organizer. Separately serviceable modules are separately separated to create docker images, and the generated images are projected. An image manager having a function of providing a corresponding specification together with an image when an image is requested by an automated support system; Defines the ability to integrate, manage the ability to search for modules matching the required functional specifications in the project, the ability to find the resources of the searched modules and include them in the newly created project, and how to interlock the modules. A project creation process including a function for automatically generating an appropriate setting therefor; It is subdivided into design, coding, build, test, and distribution processes. The design requires a lot of documents and work in requirements specification, requirements tracking, domain definition, sequence diagram, and class definition, and various design documents are developed during development. Version and change history management is necessary because frequently changes are made with code changes, and the coding should be able to manage the status and history of the implementation of specific functions of the task at any time by managing the shape of each version of the source code. It should be able to recover to the previous state, and should be able to collaborate, the build compiles the code in an executable form, packages the compiled code in a certain unit, and the test works as the code is designed. Has the function to test whether it is Twa, it includes integration tests to test if it meets the service purpose and function. The distribution should distribute the built package to one or more systems so that the service works normally, and monitor whether the system is normal after deployment. The project implementation process, including what should be possible; An output creation process including a function of presenting the document created at the design stage to match the actual result, and a function of generating a manual for the generated code; The developed code is disassembled and reassembled into module units according to reusability and singular performance, and the modules are separated into modules of library nature and modules that can be micro serviced. The modules of library nature support frameworks such as MAVEN or Gradle. And to manage it so that it can be easily referenced and used by other projects, and the Micro Service-capable module is made in the form of a docker image and can be used in other projects through its own or common docker hub; Rather than a special function, the project creation, project execution, product creation, and modularization processes are performed to make the reusability high, and to support this, the user interface is continuously used to increase accessibility and easily utilize it through the index and search functions. Resource assetization process, including improvement to; Project automation support system based on micro service architecture (MSA), characterized by including integrated management.
삭제delete 제 1항에 있어서,
상기 리소스 관리부에서는 Git, SVN과 같은 소스코드 형상관리와의 통합하는 기능과, Maven, Gradle과 같은 라이브러리 통합 관리와 연계하는 기능을 포함함을 특징으로 하는 마이크로 서비스 아키텍처(MSA) 기반의 프로젝트 자동화 지원 시스템.
According to claim 1,
The resource management unit supports the automation of the project based on the microservice architecture (MSA), which includes the function of integrating with the source code configuration management such as Git and SVN, and the function of integrating with the library integrated management such as Maven and Gradle. system.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020200018859A 2020-02-17 2020-02-17 Project Automation Assistance System with Micro Service Architecture KR102109461B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200018859A KR102109461B1 (en) 2020-02-17 2020-02-17 Project Automation Assistance System with Micro Service Architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200018859A KR102109461B1 (en) 2020-02-17 2020-02-17 Project Automation Assistance System with Micro Service Architecture

Publications (1)

Publication Number Publication Date
KR102109461B1 true KR102109461B1 (en) 2020-05-12

Family

ID=70679546

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200018859A KR102109461B1 (en) 2020-02-17 2020-02-17 Project Automation Assistance System with Micro Service Architecture

Country Status (1)

Country Link
KR (1) KR102109461B1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181403A (en) * 2020-09-27 2021-01-05 北京浪潮数据技术有限公司 Development, operation and maintenance integration realization method, device and equipment and readable storage medium
KR20210144045A (en) * 2020-05-21 2021-11-30 웹케시 주식회사 System and method for executing application based on microservice architecture and computer program for the same
KR102368165B1 (en) * 2020-11-04 2022-02-28 한국과학기술원 Cost-aware deployment of micro service-based applications in edge computing environments
KR20220023582A (en) 2020-08-21 2022-03-02 삼성에스디에스 주식회사 Clustering apparatus and method for designing microservice architecture
KR20220029011A (en) 2020-09-01 2022-03-08 삼성에스디에스 주식회사 Apparatus and method for identifying micro service
KR20220067384A (en) * 2020-11-17 2022-05-24 전북대학교산학협력단 Operating Method of Execution Environment for reuse of software and computing device supporting the same
KR20220160898A (en) 2021-05-28 2022-12-06 삼성에스디에스 주식회사 Method and apparatus for handling transaction
CN115729526A (en) * 2022-11-29 2023-03-03 北京京航计算通讯研究所 Monomer and micro-service integrated software development method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070057806A (en) 2004-08-31 2007-06-07 인터내셔널 비지네스 머신즈 코포레이션 Architecture for enterprise data integration systems
KR20080052987A (en) * 2006-12-08 2008-06-12 한국전자통신연구원 Method and apparatus for managing reusable resources
KR20170122402A (en) * 2016-04-27 2017-11-06 주식회사 한컴엠디에스 System for managing production of software
KR20180061589A (en) * 2016-11-30 2018-06-08 주식회사 플루이딕 Software build system and software build method using the system
KR20190008724A (en) * 2017-07-17 2019-01-25 에스케이브로드밴드주식회사 Apparatus and method for managing microservice
KR102009405B1 (en) * 2018-11-02 2019-10-21 주식회사 신한디에스 Integrated build method and system for mobile applications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070057806A (en) 2004-08-31 2007-06-07 인터내셔널 비지네스 머신즈 코포레이션 Architecture for enterprise data integration systems
KR20080052987A (en) * 2006-12-08 2008-06-12 한국전자통신연구원 Method and apparatus for managing reusable resources
KR20170122402A (en) * 2016-04-27 2017-11-06 주식회사 한컴엠디에스 System for managing production of software
KR20180061589A (en) * 2016-11-30 2018-06-08 주식회사 플루이딕 Software build system and software build method using the system
KR20190008724A (en) * 2017-07-17 2019-01-25 에스케이브로드밴드주식회사 Apparatus and method for managing microservice
KR102009405B1 (en) * 2018-11-02 2019-10-21 주식회사 신한디에스 Integrated build method and system for mobile applications

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210144045A (en) * 2020-05-21 2021-11-30 웹케시 주식회사 System and method for executing application based on microservice architecture and computer program for the same
KR102337962B1 (en) * 2020-05-21 2021-12-10 웹케시 주식회사 System and method for executing application based on microservice architecture and computer program for the same
KR20220023582A (en) 2020-08-21 2022-03-02 삼성에스디에스 주식회사 Clustering apparatus and method for designing microservice architecture
KR20220029011A (en) 2020-09-01 2022-03-08 삼성에스디에스 주식회사 Apparatus and method for identifying micro service
CN112181403A (en) * 2020-09-27 2021-01-05 北京浪潮数据技术有限公司 Development, operation and maintenance integration realization method, device and equipment and readable storage medium
CN112181403B (en) * 2020-09-27 2023-12-22 北京浪潮数据技术有限公司 Development operation and maintenance integrated implementation method, device, equipment and readable storage medium
KR102368165B1 (en) * 2020-11-04 2022-02-28 한국과학기술원 Cost-aware deployment of micro service-based applications in edge computing environments
KR20220067384A (en) * 2020-11-17 2022-05-24 전북대학교산학협력단 Operating Method of Execution Environment for reuse of software and computing device supporting the same
KR102425387B1 (en) * 2020-11-17 2022-07-25 전북대학교산학협력단 Operating Method of Execution Environment for reuse of software and computing device supporting the same
KR20220160898A (en) 2021-05-28 2022-12-06 삼성에스디에스 주식회사 Method and apparatus for handling transaction
CN115729526A (en) * 2022-11-29 2023-03-03 北京京航计算通讯研究所 Monomer and micro-service integrated software development method

Similar Documents

Publication Publication Date Title
KR102109461B1 (en) Project Automation Assistance System with Micro Service Architecture
Macenski et al. Robot operating system 2: Design, architecture, and uses in the wild
Ebert et al. DevOps
Bakshi Microservices-based software architecture and approaches
Soldani et al. ToscaMart: a method for adapting and reusing cloud applications
Jongmans et al. Automatic code generation for the orchestration of web services with Reo
Hochstrasser et al. Application of a process-oriented build tool for flight controller development along a DO-178C/DO-331 process
Gokhale et al. Model driven middleware
EP3657320B1 (en) Integration process for integrating an adapter connector
Leymann Linked compute units and linked experiments: Using topology and orchestration technology for flexible support of scientific applications
Clarke et al. Separating Crosscutting Concerns Across the Lifecycle: From Composition Patterns to AspectJ and Hyper/J
Mustafiz et al. Model-driven process enactment for NFV systems with MAPLE
Sungur et al. Executing informal processes
Dirgahayu et al. Development of transformations from business process models to implementations by reuse
Henry et al. A comparison of open architecture standards for the development of complex military systems: GRA, FACE, SCA NeXT (4.0)
Smith et al. Lessons learned in inter-organization virtual integration
Chown Applying a single source of truth approach to the information needed for Functional Safety
Nandgaonkar et al. CI-CD pipeline for content releases
Wörndle et al. Automating telecom software deployment with GitOps: A Declarative, GitOps-Based Approach to Software Delivery and Deployment Enables Communication Service Providers to Increase Automation and Speed up the Introduction of New Features and Updates-Including Security Fixes-into Their Networks
Koontz et al. Apache mission processor software architecture: future airborne capability environment (facetm) considerations
Tsai et al. Dynamic collaboration simulation in service-oriented computing paradigm
Hrastnik Execution of business processes based on web services
Martínez et al. Improving a robotics framework with real-time and high-performance features
Vu Harmonization of strategies for contract testing in microservices UI
Rouillé et al. Integrating software process reuse and automation

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant