KR102213815B1 - 앤서블을 위한 gui 시스템 - Google Patents

앤서블을 위한 gui 시스템 Download PDF

Info

Publication number
KR102213815B1
KR102213815B1 KR1020190091470A KR20190091470A KR102213815B1 KR 102213815 B1 KR102213815 B1 KR 102213815B1 KR 1020190091470 A KR1020190091470 A KR 1020190091470A KR 20190091470 A KR20190091470 A KR 20190091470A KR 102213815 B1 KR102213815 B1 KR 102213815B1
Authority
KR
South Korea
Prior art keywords
display area
module
item
displayed
feature
Prior art date
Application number
KR1020190091470A
Other languages
English (en)
Inventor
김윤권
전상수
김다라
Original Assignee
주식회사 알티넷
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 알티넷 filed Critical 주식회사 알티넷
Priority to KR1020190091470A priority Critical patent/KR102213815B1/ko
Application granted granted Critical
Publication of KR102213815B1 publication Critical patent/KR102213815B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명의 앤서블을 위한 GUI(Graphical User Interface) 시스템은, 디스플레이;를 포함하되, 상기 디스플레이는, 사용자가 GUI 또는 텍스트 기반으로 파일을 생성할 수 있는 항목인 주요 섹션을 표시하는 주요 섹션 표시 영역; 상기 주요 섹션 표시 영역에 표시된 상기 주요 섹션과 관련된 모듈(Module)의 리스트를 표시하는 모듈 리스트 표시 영역; GUI 또는 텍스트 기반으로 상기 주요 섹션의 내용을 작성하거나 표시하는 메인 표시 영역; 상기 주요 섹션과 관련된 피처(Feature) 리스트를 표시하는 피처 리스트 표시 영역; 및 상기 모듈 리스트 표시 영역에 표시된 모듈 항목과 관련된 모듈 파라미터(Module Parameter)를 표시하는 모듈 파라미터 표시 영역;을 사용자의 사용에 따라 표시할 수 있다.

Description

앤서블을 위한 GUI 시스템{GUI SYSTEM FOR ANSIBLE}
본 발명은 앤서블을 위한 GUI(Graphical User Interface) 시스템에 관한 것이다.
앤서블(Ansible)은 오픈 소스 소프트웨어로서, 여러 개의 서버를 효율적으로 관리하기 위해 고안된 환경 구성 자동화를 가능하게 된다.
즉, 앤서블은 'Infrastructure as Code'라는 컨셉을 실현하기 위한 자동화 툴로서, 소스가 오픈되어 있고, 관련사이트(https://www.ansible.com/)를 이용하여 그 인스톨 방법, 구조 및 사용 방법 등의 자세한 정보를 파악할 수 있다.
앤서블에서는 야믈(Yaml)이라는 언어를 사용하여 프로그램을 작성한다. 다만, 앤서블의 구조는 사용자가 모두 파악하기에는 복잡한 까닭에, 야믈에 의해 텍스트 기반으로 프로그램을 작성하는 것에는 어려움이 있다.
본 발명은 전술한 바와 같은 기술적 과제를 해결하는 데 목적이 있는 발명으로서, 텍스트 기반의 앤서블 프로그래밍을 GUI(Graphical User Interface) 기반으로 하여, 앤서블의 세부 사양 및/또는 구조를 파악하지 못한 사용자도 쉽게 앤서블을 이용한 프로그램이 가능하도록, 편리한 사용자 환경을 제공할 수 있는 앤서블을 위한 GUI(Graphical User Interface) 시스템을 제공하는 것에 그 목적이 있다.
아울러, 본 발명은 텍스트 기반의 프로그램을 GUI화할 수도 있어, 일부의 프로그램은 GUI로 작성하고 일부는 텍스트 기반으로 작성하여, GUI와 텍스트가 상호 호환 가능한 앤서블을 위한 GUI 시스템을 제공하는 것에도 그 목적이 있다.
본 발명의 앤서블을 위한 GUI(Graphical User Interface) 시스템은, 디스플레이;를 포함하되, 상기 디스플레이는, 사용자가 GUI 또는 텍스트 기반으로 파일을 생성할 수 있는 항목인 주요 섹션을 표시하는 주요 섹션 표시 영역; 상기 주요 섹션 표시 영역에 표시된 상기 주요 섹션과 관련된 모듈(Module)의 리스트를 표시하는 모듈 리스트 표시 영역; GUI 또는 텍스트 기반으로 상기 주요 섹션의 내용을 작성하거나 표시하는 메인 표시 영역; 상기 주요 섹션과 관련된 피처(Feature) 리스트를 표시하는 피처 리스트 표시 영역; 및 상기 모듈 리스트 표시 영역에 표시된 모듈 항목과 관련된 모듈 파라미터(Module Parameter)를 표시하는 모듈 파라미터 표시 영역;을 사용자의 사용에 따라 표시할 수 있다.
아울러, 상기 디스플레이는, 상기 모듈 리스트 표시 영역, 상기 피처 리스트 표시 영역, 또는 상기 모듈 파라미터 표시 영역에서 각각의 항목에 대한 클릭 정보를 입력 받으면, 해당 항목에 대한 설명 및 야믈에 의해 작성된 예제 코드를 표시하는 것을 특징으로 한다.
구체적으로, 상기 피처 리스트 표시 영역은, 다수의 개별 피처를 그룹화하여 구성된 피처 그룹 및 다수의 개별 피처 중에서, 해당 작업과 관련된 피처 그룹 또는 피처를 표시하되, 상기 피처 그룹은, 상기 메인 표시 영역으로 드래그(Drag)하는 것에 의해, 상기 메인 표시 영역에 하위 항목을 포함하는 상위 항목으로 표시되는 것이 바람직하다. 아울러, 상기 다수의 피처 그룹은, 올웨이즈(Always), 블록(Block), 핸들러즈(Handlers), 포스트_태스크스(Post_tasks), 프리_태스크스(Pre_tasks), 레스큐(Rescue), 롤즈(Roles) 및 테스크스(Tasks)를 포함하는 것을 특징으로 한다.
또한, 신규 플레이북스(Playbooks) 파일이 생성되면, 상기 디스플레이는, 상기 메인 표시 영역에 플레이(Play)와 태스크스(Tasks)를, 상기 메인 표시 영역에 하위 항목을 포함하는 상위 항목으로 표시한다.
바람직하게는, 상기 메인 표시 영역의 태스크스의 하위 항목으로 상기 모듈 리스트 표시 영역에 포함된 모듈 항목이 드래그되면, 상기 디스플레이는, 해당 모듈 항목과 관련된 모듈 파라미터 리스트를 상기 모듈 파라미터 표시 영역에 표시하는 것을 특징으로 한다. 아울러, 상기 메인 표시 영역의 태스크스의 하위 항목으로 상기 모듈 리스트 표시 영역에 포함된 모듈 항목이 드래그되면, 해당 모듈과 관련하여 앤서블에서 정의된 모듈 파라미터의 기본값이 있는 경우, 상기 디스플레이는, 해당 기본값이 자동으로 설정된 상태로 상기 메인 표시 영역에 표시할 수 있되, 사용자에 의해 해당 기본값은 변경 가능한 것을 특징으로 한다.
또한, 상기 메인 표시 영역의 태스크스의 하위 항목으로, 상기 모듈 리스트 표시 영역에 포함된 모듈 항목을 드래그되면, 해당 모듈 항목과 관련하여 앤서블에서 정의된 필수 모듈 파라미터가 있는 경우, 상기 디스플레이는, 해당 필수 모듈 파라미터를 상기 메인 표시 영역에 표시할 수 있는 것이 바람직하다.
아울러, 상기 태스크스의 하위 항목으로 다수의 모듈 파라미터가 표시된 경우, 다수의 모듈 파라미터 각각은 선택에 의해, 복사, 편집, 삭제 및 위치 이동이 아이콘을 이용하여 가능한 것을 특징으로 한다.
또한, 하나의 모듈 항목에 대해, 다수의 모듈 파라미터가 사용자에 의해 선택될 수 있고, 해당 모듈 항목을 클릭하여 해당 모듈 항목에 포함된 다수의 모듈 파라미터가 표시된 경우, 모듈 파라미터 각각은, 삭제 및 위치 이동이 아이콘을 이용하여 가능하다. 아울러, 모듈 파라미터가 계층적 구조로 구성되어 있을 경우, 메인 표시 영역에 표시된 해당 모듈 파라미터가 클릭되면, 상기 메인 표시 영역에 트리 형식으로 해당 모듈 파라미터가 표시되는 것을 특징으로 한다.
바람직하게는, 상기 피처 리스트 표시 영역에 표시된 피처 항목을 선택한 후, 해당 피처 항목과 관련된 변수를 표시된 리스트 중에서 선택할 수 있는 것을 특징으로 한다. 또한, 상기 피처 리스트 표시 영역에 표시된 피처 항목을 선택한 후, 해당 피처와 관련된 선택할 수 있는 변수의 종류는, 사용자 정의 변수 및 앤서블에서 정의된 변수로 분류될 수 있고, 상기 사용자 정의 변수는, 해당 플레이북스 내부에서만 사용할 수 있는 변수 및 다른 플레이북스에서도 사용할 수 있는 변수로 분류할 수 있다.
아울러, 상기 메인 표시 영역에 표시된 GUI 기반의 작성 프로그램은, 야믈 코드로 변환되어 표시될 수 있다. 또한, 상기 메인 표시 영역에 표시된 야믈 코드 기반의 작성 프로그램은, GUI 기반으로 변환되어 표시될 수 있는 것을 특징으로 한다.
바람직하게는, 상기 주요 섹션은, 롤즈(Roles) 항목을 포함하며, 미리 압축되어 저장된 롤 파일을 업로드 하는 것에 의해, 롤즈 항목에 해당 롤을 상기 주요 섹션 표시 영역에 디렉토리 구조로 표시 가능하며, 해당 디렉토리 내부의 파일을 클릭하여 GUI 형식의 편집 및 야믈 코드로의 변환이 가능한 것을 특징으로 한다.
아울러, 상기 주요 섹션 중 하나에 포함된 파일이 선택되면, 해당 주요 섹션의 구조에 따라서는, 상기 모듈 리스트 표시 영역 및 상기 피처 리스트 표시 영역 각각에 어떠한 항목도 표시되지 않는 것을 특징으로 한다.
또한, 본 발명의 시스템은 프로세서를 더 포함하되, 상기 프로세서는, 상기 메인 표시 영역에 항목이 추가될 때, 해당 항목의 오류 여부를 검증하는 것이 바람직하다.
구체적으로, 상기 메인 표시 영역에 모듈 항목이 표시되었을 경우, 상기 프로세서는, 해당 모듈 항목이 필수 모듈 파라미터값이 있는 경우에는, 필수 모듈 파라미터값 입력 여부; 해당 모듈 항목의 모듈 파라미터의 데이터 타입이 맞는 지 여부; 및 동일 모듈 파라미터가 중복 입력되었는 지 여부;를 검증하는 것이 바람직하다.
아울러, 상기 메인 표시 영역에 다수의 개별 피처를 그룹화하여 구성된 피처 그룹 항목이 표시되었을 경우, 상기 프로세서는, 해당 피처 그룹이 정의된 위치에 위치하는 지 여부; 및 해당 피처 그룹의 내부 입력 항목이 올바른 지 여부;를 검증하는 것을 특징으로 한다.
바람직하게는, 상기 메인 표시 영역에 피처 항목이 표시되었을 경우, 상기 프로세서는, 해당 피처 항목이 정의된 위치에 위치하는 지 여부; 및 해당 피처 항목이 중복 입력되었는 지 여부;를 검증하는 것을 특징으로 하다.
또한, 피처 항목과 관련된 바즈(Vars)를 사용 시, 상기 프로세서는, 해당 변수가 사용자 또는 앤서블에 의해 미리 정의된 변수인 지 여부를 검증하는 것이 바람직하다.
아울러, 미리 저장된 야믈 파일을 참조시, 상기 프로세서는, 해당 파일의 경로가 맞는 지 여부 및 해당 파일 내부에 포함된 변수가 미리 정의된 변수인 지 여부를 검증하는 것을 특징으로 한다.
구체적으로, 상기 주요 섹션은, 플레이북스(Playbooks), 바즈(Vars), 태스크스(Tasks), 핸들러즈(Handlers), 템플리츠(Templates) 및 롤즈(Roles)를 포함하는 것을 특징으로 한다.
본 발명의 앤서블을 위한 GUI 시스템에 따르면, 텍스트 기반의 앤서블 프로그래밍을 GUI 기반으로 하여, 앤서블의 세부 사양 및/또는 구조를 파악하지 못한 사용자도 쉽게 앤서블을 이용한 프로그램이 가능하도록, 편리한 사용자 환경을 제공할 수 있다.
아울러, 본 발명에 따르면 텍스트 기반의 프로그램을 GUI화 할 수도 있어, 일부의 프로그램은 GUI로 작성하고 일부는 텍스트 기반으로 작성하여, GUI와 텍스트가 상호 호환 가능하다.
도 1은 본 발명의 앤서블을 위한 GUI 시스템의 구성도.
도 2는 본 발명의 앤서블을 위한 GUI 시스템의 디스플레이의 표시 영역에 대한 설명도.
도 3 내지 도 30은 각각, 본 발명의 디스플레이 표시의 제 1 예시도 내지 제 28 예시도.
이하, 첨부된 도면을 참조하면서 본 발명의 실시예에 따른 앤서블을 위한 GUI 시스템에 대해 상세히 설명하기로 한다.
본 발명의 하기의 실시예는 본 발명을 구체화하기 위한 것일 뿐 본 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 본 발명의 상세한 설명 및 실시예로부터 본 발명이 속하는 기술 분야의 전문가가 용이하게 유추할 수 있는 것은 본 발명의 권리 범위에 속하는 것으로 해석된다.
본 발명의 앤서블(Ansible)을 위한 GUI(Graphical User Interface) 시스템의 설명에 앞서, 본 발명에서 주로 사용될 용어에 대해 간단하게 설명하기로 한다.
참고로 본 발명에서 사용되는 용어는 앤서블에서의 정의에 따르며, 더욱 자세한 용어에 대한 설명은 관련사이트(https://www.ansible.com/) 등을 참조할 수 있다.
- 호스트(Hosts) : 플레이북(Playbooks)을 적용할 타겟호스트 또는 그룹.
- 플레이북스(Playbooks) : 앤서블이 시스템을 조정, 구성, 관리 또는 배포하는 데 사용되는 언어임. 즉, 복수의 태스크(Task)에 의해 구성된 워크플로우의 정의 파일이라고 할 수 있음.
- 바즈(Vars) : 변수(Variables)의 약자로서, 템플리츠(Templates)와 플레이북스에서 사용될 수 있는 값의 이름임. 즉, 바즈는 플레이북에서 실행 중에 이용되는 파라미터와, 그 값을 정의함. 바즈는 사용자 정의 변수와 앤서블 내부에서 미리 정의된 변수가 있음.
- 태스크스(Tasks) : 플레이북은 태스크를 실행하기 위해 존재함. 호스트 섹션에 기재한 타겟 상에서 실행할 모듈(Module)과 그 파라미터가 실행 순으로 정의된 파일.
- 핸들러즈(Handlers) : 핸들러도 태스크이지만, 핸들러는 리모트 시스템의 근본적인 변경 사항을 보고할 때 이름으로 통지되지 않으면 실행되지 않는 특별한 종류의 태스크임. 즉, 태스크스 섹션에서 정의한 모듈을 실행한 결과, 시스템에 변경이 발생한 경우에 실행할 모듈을 정의한 파일임.
- 템플리츠(Templates) : 템플릿은 Jinja2 템플릿 엔진을 사용하며, 루프(Loop) 문과 이프(If) 문과 같은 논리 구문을 포함할 수 있음.
- 롤즈(Roles) : 앤서블에서의 조직의 단위임. 하나의 롤은 특정 변수값, 특정 태스크, 특정 핸들러를 적용하거나, 이것들 중 하나 이상을 적용한 것을 포함할 수 있음.
- 올웨이즈(Always) : 블록(Block)에서의 태스크의 리스트로, 해당 블록에서의 에러 유무에 상관없이 실행됨.
- 블록(Block) : 태스크의 논리적 그룹화 및 재생 오류 처리를 허용함.
- 포스트_태스크스(Post_tasks) : 태스크스 섹션 이후에 실행되는 태스크의 리스트.
- 프리_태스크스(Pre_tasks) : 롤 이전에 실행되는 태스크의 리스트
- 레스큐(Rescue) : 주요(Main) 블록 리스트에 태스크 오류(Error)가 있는 경우, 실행되는 블록에서의 태스크 리스트.
- 모듈(Module) : 앤서블이 리모트 머신으로 운반할 단위 작업임.
- 플레이(Play) : 플레이북은 플레이의 리스트임. 플레이는, 호스트 스페서파이어(Host specifier)에 의해 선택된 호스트의 세트와 해당 호스트에서 수행하는 태스크를 매핑함.
도 1은 본 발명의 앤서블을 위한 GUI 시스템의 구성도를 나타낸다.
도 1로부터 알 수 있는 바와 같이, 본 발명의 앤서블을 위한 GUI 시스템은 프로세서(P), 메모리(M), 디스플레이(D) 및 입력 장치(I)를 포함하여 구성되는 일종의 컴퓨팅 장치이다.
아울러, 디스플레이(D) 및 입력 장치(I)는, 프로세서(P) 및 메모리(M)와 원격 접속을 통해 연결될 수도 있다.
프로세서(P)는, 본 발명의 앤서블을 위한 GUI 시스템의 동작이 정의된 소프트웨어 프로그램을 실행한다. 아울러, 필요에 따라 프로세서(P)는 메모리(M)에 저장된 필요한 데이터를 읽어들이거나 메모리(M)에 새로운 데이터의 저장을 가능하게 한다.
또한, 프로세서(P)에 의해 소프트웨어 프로그램이 실행되는 경우, 해당 정보는 디스플레이(D)를 통해 표시되고, 입력 장치(I)에 의해 사용자 입력 정보를 입력받을 수 있다. 입력 장치(I)의 예로는, 키보드 및 마우스를 들 수 있다.
도 2는 본 발명의 앤서블을 위한 GUI 시스템의 디스플레이(D)의 표시 영역에 대한 설명도를 나타낸다.
디스플레이(D)는, 프로세서(P)의 의한 실시 및 입력 장치(I)에 의한 사용자 사용에 따라, 크게 5가지의 영역을 포함하여 표시할 수 있다. 다만, 디스플레이(D)의 5가지의 영역은, 일부는 이시(異時)적으로, 일부는 동시(同時)에 표시될 수 있다. 아울러, 이식적으로 표시될 경우, 디스플레이의 동일한 영역을 이용할 수도 있다.
(1) 주요 섹션 표시 영역(A1) : 사용자가 GUI 또는 텍스트 기반으로 파일을 생성할 수 있는 항목인 주요 섹션을 표시한다. 주요 섹션 표시 영역(A1)에 표시된 주요 섹션은 미리 저장된 파일로, 해당 주요 섹션의 선택에 의해 메인 표시 영역(A3)에 표시하여 작성 및/또는 변경할 수 있다. 구체적으로, 주요 섹션 표시 영역(A1) 플레이북스의 리스트 및 플레이북에 기술하는 각 섹션들(바즈, 태스크스, 핸들러즈, 템플리츠 및 롤즈)을 프로젝트 단위 별로 표시한다. 프로젝트는 공통 파일을 관리하는 커먼(Common)과 사용자가 정의한 프로젝트로 구분된다. 주요 섹션 표시 영역(A1)에 표시된 바즈는 사용자가 정의한 변수이다.
(2) 모듈 리스트 표시 영역(A2) : 주요 섹션 표시 영역(A1)에 표시된 주요 섹션과 관련된 모듈(Module)의 리스트를 표시한다. 즉, 주요 섹션 표시 영역(A1)에 표시된 플레이북스의 리스트 및 플레이북에 기술하는 각 섹션들이 선택되면, 이와 연관된 모듈을 표시하여, 선택 및 편집할 수 있도록 한다.
(3) 메인 표시 영역(A3) : GUI 또는 텍스트 기반으로 주요 섹션의 내용을 작성하거나 표시한다. 즉, GUI 또는 텍스트 기반으로 주요 섹션의 작업 상태를 GUI 또는 야물 코드로 작성된 텍스트로서 표시한다.
(4) 피처 리스트 표시 영역(A4) : 주요 섹션과 관련된 피처(Feature) 리스트를 표시한다. 주요 섹션 표시 영역(A1)에 표시된 플레이북스의 리스트 또는 플레이북에 기술하는 각 섹션들이 선택되면, 이와 연관된 피처의 리스트를 표시하여 선택 및 편집할 수 있도록 한다. 즉, 피처 리스트 표시 영역(A4)에는 다수의 개별 피처를 그룹화하여 구성된 피처 그룹 및 다수의 개별 피처 중에서, 메인 표시 영역(A3)에 현재 작업 중인 상위 항목과 관련된 피처 그룹 또는 피처가 표시되게 된다.
피처 리스트 표시 영역(A4) 중, 윗부분에는, 다수의 개별 피처를 그룹화하여 구성된 다수의 피처 그룹이 표시된다. 피처 그룹은, 메인 표시 영역(A3)으로 드래그(Drag)하는 것에 의해, 메인 표시 영역(A3)에 하위 항목을 포함하는 상위 항목으로 표시되게 된다. 다수의 피처 그룹은, 올웨이즈(Always), 블록(Block), 핸들러즈(Handlers), 포스트_태스크스(Post_tasks), 프리_태스크스(Pre_tasks), 레스큐(Rescue), 롤즈(Roles) 및 테스크스(Tasks)를 포함한다.
참고로, 피처 리스트 표시 영역(A4)에 표시되는 핸들러즈, 롤즈 및 태스크스는, 신규 플레이북을 작성하기 위해 라이브러리화되어 있는 항목을 메인 표시 영역(A3)으로 드래그하여 가지고와 작성 가능한 것이다. 아울러, 주요 섹션 표시 영역(A1)에 표시된 핸들러즈, 롤즈 및 태스크스는, 기존에 사용자가 작성한 개별 파일이거나 작성중인 개별 파일들인 것에 그 차이가 있다.
(5) 모듈 파라미터 표시 영역 : 모듈 리스트 표시 영역(A2)에 표시된 모듈 항목과 관련된 모듈 파라미터(Module Parameter)를 표시한다. 즉, 모듈 리스트 표시 영역(A2)에에 표시된 모듈 파라미터들을 표시하여, 선택 및 편집할 수 있도록 한다.
참고로, 하기의 도 3 내지 도 31 중에서, 주요 섹션 표시 영역(A1), 모듈 리스트 표시 영역(A2), 메인 표시 영역(A3), 피처 리스트 표시 영역(A4) 및 모듈 파라미터 표시 영역(A5)은 도 3 및 도 4에만 표시되었다.
도 3은 본 발명의 디스플레이(D) 표시의 제 1 예시도를 나타낸다.
도 3으로부터 알 수 있는 바와 같이, 처음 소프트웨어 프로그램을 프로세서(P)에 의해 실시하면, 주요 섹션 표시 영역(A1), 모듈 리스트 표시 영역(A2), 메인 표시 영역(A3) 및 피처 리스트 표시 영역(A4)이 디스플레이(D)에 표시되게 된다. 이때 메인 표시 영역(A3)은 비어있는 상태로 나타나게 된다.
도 4는 본 발명의 디스플레이(D) 표시의 제 2 예시도를 나타낸다.
도 4로부터 알 수 있는 바와 같이, 디스플레이(D)는, 모듈 리스트 표시 영역(A2), 피처 리스트 표시 영역(A4), 또는 모듈 파라미터 표시 영역(A5)에서 각각의 항목에 대한 클릭 정보를 입력 받으면, 해당 항목에 대한 설명 및 야믈(Yaml)에 의해 작성된 예제 코드를 표시한다.
도 5 및 도 6은 각각, 본 발명의 디스플레이(D) 표시의 제 3 예시도 및 제 4 예시도를 나타낸다.
도 5 및 도 6으로부터 알 수 있는 바와 같이, 신규 플레이북스 파일이 생성되면, 디스플레이(D)는, 플레이와 태스크스를, 메인 표시 영역(A3)에 하위 항목을 포함하는 상위 항목으로 표시한다. 플레이북을 구성하기 위해서는, 플레이와 태스크스가 필수불가결한 항목이므로, 이를 상위 항목으로서 표시하고, 플레이의 편집을 실시한다. 아울러, 신규 플레이북스 파일 생성시 나타나는 플레이에는 파일 명칭(Name)과 호스트 정보가 나타나고, 이는 편집 가능하다.
태스크스는 주요 섹션 표시 영역(A1), 모듈 리스트 표시 영역(A2) 및 피처 리스트 표시 영역(A4)으로부터 필요한 항목을 드래그하여 사용 가능하다.
도 7 내지 도 12는 각각, 본 발명의 디스플레이(D) 표시의 제 5 예시도 내지 제 10 예시도를 나타낸다.
도 7로부터 알 수 있는 바와 같이, 메인 표시 영역(A3)의 상위 항목인 태스크스에, 모듈 리스트 표시 영역(A2)으로부터 'ping'이라는 모듈을 태스크의 하부 항목으로 드래그할 경우, 'ping'과 관련된 모듈 파라미터가 모듈 파라미터 표시 영역(A5)에 표시되게 된다. 아울러, 'ping'이라는 모듈을 태스크의 하부 항목으로 드래그할 경우, 처음에는 'ping'과 관련된 모듈 파라미터가 입력되지 않아, 프로세서(P)에 의한 검증에서 오류가 발생한 것을 알려주기 위해, 'ping'과 관련된 GUI 부분이 다른 부분과 달리 붉은 색으로 표시되게 된다. 프로세서(P)에 의한 검증에서 오류가 발생한 경우에는, 메인 표시 영역(A3)에서 GUI를 이용하여 작성 중인 또는 작성 완료된 내용이 야믈 코드로 변환되지 않는다.
참고로, 'ping'의 경우에는, 도 8로부터 알 수 있는 바와 같이 필수 모듈 파라미터가 없는 모듈 항목이다. 따라서, 도 9와 같이 사용자 선택에 의해 모듈 파라미터의 추가가 가능한다.
아울러, 도 9로부터 알 수 있는 바와 같이, 사용자 선택에 의해 모듈 파라미터를 추가할 경우, 앤서블에서 정의된 모듈 파라미터의 기본값(여기선 'pong')이 있으면 자동으로 기본값이 설정된다. 다만, 기본값은 사용자 정의값으로 변경 가능하다. 아울러, 파라미터의 값 입력 시, 입력 가능한 데이터 타입을 자동으로 출력 후 선택하여 입력할 수 있도록 한다.
도 10으로부터 알 수 있는 바와 같이, ‘copy’라는 모듈의 경우에는, 필수 모듈 파라미터 ‘dest’가 있어, 메인 표시 영역(A3)의‘copy’를 클릭하면, 도 11과 같이 필수 모듈 파라미터가 표시되게 된다.
아울러, 모듈에 대한 모듈 파라미터 등의 값이 제대로 입력된 경우, 프로세서(P)에 의한 검증을 통과하여 해당 모듈들은 도 12와 같이 검은 색으로 표시되고, 야믈 코드로서 변환 가능한 상태가 된다.
또한, 도 10으로부터 알 수 있는 바와 같이, 태스크스의 하위 항목으로 다수의 모듈 파라미터가 표시된 경우, 다수의 모듈 파라미터 각각은 선택에 의해, 복사, 편집, 삭제 및 위치 이동이 아이콘을 이용하여 가능하다.
도 7 내지 도 12에 의한 본 발명의 GUI 시스템의 특징을 정리하자면 다음과 같다.
메인 표시 영역(A3)의 태스크스의 하위 항목으로, 모듈 리스트 표시 영역(A2)에 포함된 모듈 항목을 드래그하면, 디스플레이(D)는, 해당 모듈 항목과 관련된 모듈 파라미터 리스트를 모듈 파라미터 표시 영역(A5)에 표시한다.
아울러, 메인 표시 영역(A3)의 태스크스의 하위 항목으로, 모듈 리스트 표시 영역(A2)에 포함된 모듈 항목을 드래그시, 해당 모듈과 관련하여 앤서블에서 정의된 모듈 파라미터의 기본값이 있는 경우, 디스플레이(D)는, 해당 기본값이 자동으로 설정된 상태로 메인 표시 영역(A3)에 표시할 수 있고, 사용자에 의해 해당 기본값은 변경 가능하다.
또한, 메인 표시 영역(A3)의 태스크스의 하위 항목으로, 모듈 리스트 표시 영역(A2)에 포함된 모듈 항목을 드래그시, 해당 모듈 항목과 관련하여 앤서블에서 정의된 필수 모듈 파라미터가 있는 경우, 디스플레이(D)는, 사용자의 해당 모듈 항목의 클릭에 의해 해당 필수 모듈 파라미터를 메인 표시 영역(A3)에 표시할 수 있다.
도 13은 본 발명의 디스플레이(D) 표시의 제 11 예시도를 나타낸다.
도 13으로부터 알 수 있는 바와 같이, 하나의 모듈 항목에 대해, 다수의 모듈 파라미터가 사용자에 의해 선택될 수 있고, 해당 모듈 항목을 클릭하여 해당 모듈 항목에 포함된 다수의 모듈 파라미터가 표시된다. 이 표시 화면 상에서, 모듈 파라미터 각각은, 삭제 및 위치 이동이 아이콘을 클릭하는 것에 의해 가능하다.
도 14는 본 발명의 디스플레이(D) 표시의 제 12 예시도를 나타낸다.
도 14로부터 알 수 있는 바와 같이, 모듈 파라미터가 계층적 구조로 구성되어 있을 경우, 메인 표시 영역(A3)에 표시된 해당 모듈 파라미터를 클릭 시, 메인 표시 영역(A3)에 트리 형식으로 해당 모듈 파라미터가 표시되게 된다.
계층적 구조라는 것은, 앤서블에서 정의된 모델 파라미터의 구조가 다중 그룹(다수의 Depth)으로 구성되었을 경우로 의미한다. 아울러, 이렇게 트리 형식으로 해당 모듈 파라미터를 표시하는 것은, 야믈 코드로 변환시, 야믈의 언어 구조를 따르기 위함이다.
도 15 내지 도 20은 본 발명의 디스플레이(D) 표시의 제 13 예시도 내지 제 18 예시도를 나타낸다.
도 15로부터 알 수 있는 바와 같이, 피처 리스트 표시 영역(A4)에 표시된 피처 항목을 선택한 후, 해당 피처 항목을 클릭하면, 해당 피처 항목과 관련된 변수를 표시된 리스트 중에서 선택할 수 있다.
도 16은, 피처 리스트 표시 영역(A4)에 표시된 피처 항목 중 'become'가 선택된 경우를 나타낸다. 아울러, 도 16으로부터 알 수 있는 바와 같이, 하나의 실행 태스크 내부에 순차 실행할 다수의 피처 항목을 정의할 수 있고, 각 피처 항목은 복사, 편집, 삭제 및 위치 이동이 아이콘을 이용하여 가능하다.
도 17로부터 알 수 있는 바와 같이, 메인 표시 영역(A3)의 플레이 영역을 클릭 시, 피처 리스트 표시 영역(A4)에는 플레이 영역에 입력 가능한 피처 리스트가 출력되며, 피처 리스트 표시 영역(A4)의 피처 항목을 드래그하여 추가할 수 있다. 아울러, 추가된 각 구성은 편집 및 삭제가 가능한다.
도 18 및 도 19로부터 알 수 있는 바와 같이, 앤서블에서 정의된 변수 및 사용자 정의 변수들은 피처 리스트 표시 영역(A4)의 피처 항목을 선택 후, 관련 변수들을 불러들이고, 리스트 중 선택할 수 있다. 즉, 피처 리스트 표시 영역(A4)에 표시된 피처 항목을 선택한 후 해당 피처와 관련된 선택할 수 있는 변수의 종류는, 사용자 정의 변수 및 앤서블에서 정의된 변수로 분류될 수 있다. 구체적으로 사용자 정의 변수는, 해당 플레이북스 내부에서만 사용할 수 있는 변수 및 다른 플레이북스에서도 사용할 수 있는 변수로 분류할 수 있다. 또한, 앤서블에서 정의된 변수는, 팩트(Fact) 변수와 매직(Magic) 변수로 분류할 수 있다. 팩트 변수와 매직 변수의 상세한 의미는 앤서블 관련사이트(https://www.ansible.com/)에서 확인할 수 있다.
도 20으로부터 알 수 있는 바와 같이, 앤서블에서 정의된 변수 및 사용자 정의 변수들은 피처 리스트 표시 영역(A4)에서 피처 항목을 선택 후, 키워드 자동 완성 기능도 가능하다.
도 21은, 본 발명의 디스플레이(D) 표시의 제 19 예시도를 나타낸다.
도 21은 도12의 제 10 예시도의 메인 표시 영역(A3)에 표시된 GUI 기반의 작성 프로그램은, 야믈 코드로 변환하여 표시한 예제이다.
메인 표시 영역(A3)에서 GUI 기반으로 각 항목을 작성 시, 프로세서(P)가 오류가 없는 지를 검증한 후, 오류가 없으면, 각 항목의 작성 완료 후 야믈로 변환할 수 있다.
도 22 내지 도 24는 각각, 본 발명의 디스플레이(D) 표시의 제 20 예시도 내지 제 22 예시도를 나타낸다.
도 22 및 도 23으로부터 알 수 있는 바와 같이, 메인 표시 영역(A3)에 표시된 야믈 코드 기반의 작성 프로그램은, GUI 기반으로 변환하여 표시할 수 있다.
GUI 기반으로 변환하여 표시하기 위해서는, 야믈 코드로 작성된 각각의 항목이 메모리(M)에 라이브러리 형태로 저장되어 있을 필요가 있다.
아울러, 도 24로부터 알 수 있는 바와 같이, GUI 형태로 변환 후, 편집할 수 있다.
본 발명에서, 사용자가 입력 장치(I)에 의해 주요 섹션 중 하나에 포함된 파일을 선택하면, 해당 주요 섹션의 구조에 따라서는, 모듈 리스트 표시 영역(A2) 및 상기 피처 리스트 표시 영역(A4) 각각에 어떠한 항목도 표시되지 않는 경우도 있다.
즉, 플레이북스, 태스크스, 핸들러즈 및 롤즈의 경우에는, 모듈 리스트 표시 영역(A2) 및 피처 리스트 표시 영역(A4)에 해당 모듈 및 피처 리스트가 표시된다. 그러나, 바즈 및 템플리츠의 경우에는, 모듈 리스트 표시 영역(A2) 및 피처 리스트 표시 영역(A4) 각각에 어떠한 항목도 표시되지 않는다.
하기에 주요 섹션과 관련되어 모듈 리스트 표시 영역(A2) 및 피처 리스트 표시 영역(A4)가 구체적으로 어떻게 표시되는 지에 대해 설명하기로 한다.
도 25 내지 도 30은 각각, 본 발명의 디스플레이(D) 표시의 제 23 예시도 내지 제 28 예시도를 나타낸다.
도 25는, 바즈를 생성하는 예제이다. 변수와 관련된 야믈 파일은 텍스트 에디터 기반으로 생성하며, 모듈 및 피처 관련 정보가 불필요하기 때문에 모듈 리스트 표시 영역(A2) 및 피처 리스트 표시 영역(A4) 각각에 어떠한 항목도 표시되지 않는다.
참고로, 바즈의 파일 내용은 앤서블에 정의된 야믈 신텍스(Syntax)를 따른다.
도 26은, 태스크스를 생성하는 예제이다. 참고로, 핸들러즈는 태스크스와 동일하게 표시된다.
도 26으로부터 태스크스를 생성하는 경우, 모듈 리스트 표시 영역(A2) 및 피처 리스트 표시 영역(A4)에 해당 모듈 및 피처 리스트가 표시되는 것을 알 수 있다.
도 27은, 템플리츠를 생성하는 예제이다. 템플릿와 관련된 야믈 파일은 텍스트 에디터 기반으로 생성하며, 모듈 및 피처 관련 정보가 불필요하기 때문에 모듈 리스트 표시 영역(A2) 및 피처 리스트 표시 영역(A4) 각각에 어떠한 항목도 표시되지 않는다.
참고로, 템플릿은 앤서블에 정의된 Jinja2 템플릿을 사용한다.
도 28은 롤즈를 생성하는 예제이다.
롤은 앤서블의 롤 디렉토리 구조에 맞게 생성된 압축파일을 업로드하여 사용한다. 참고로, 롤의 기본 디렉토리 구조는 앤서블 도큐멘트에 정의되어 있다.아울러, 업로드된 롤은 플레이북스의 생성 시, 롤 항목을 클릭하는 것에 의해 내부의 롤 항목의 값을 정의하며 사용 가능하다.
도 29 및 도 30으로부터 알 수 있는 바와 같이, 업로드된 롤은 롤을 주요 섹션 표시 영역(A1)에 디렉토리 구조로 표시 가능하며, 해당 디렉토리 내부의 파일을 클릭하여 GUI 형식의 편집 및 야믈 코드로의 변환이 가능하다.
본 발명의 앤서블을 위한 GUI 시스템에서는, GUI 기반의 프로그램을 야물 코드로 변환할 수 있을 뿐만 아니라. 야믈 코드에 의해 작성된 텍스트 기반의 프로그램을 GUI 기반으로 변환할 수 있다.
이를 위해 프로세서(P)는, GUI 기반의 프로그램에서 메인 표시 영역(A3)에 항목이 추가될 때, 해당 항목의 오류 여부를 검증하고, 검증에 의해 오류가 없는 경우, 야믈 코드로 변환 가능하다. 아울러, 프로세서(P)는, 야믈 코드에 의해 작성된 텍스트 기반의 프로그램을 GUI 기반으로 변환 후, 해당 항목에 오류가 있음을 GUI 기반의 해당 항목의 아이콘에 표시하는 것에 의해 사용자가 편집 등에 의해 오류를 수정할 수 있도록 한다.
구체적으로 프로세서(P)는, 하기와 같이 오류를 검증한다.
(1) 모듈 항목 관련 : 메인 표시 영역(A3)에 모듈 항목이 표시되었을 경우, 해당 모듈 항목이 필수 모듈 파라미터값이 있는 경우에는 필수 모듈 파라미터값 입력 여부; 해당 모듈 항목의 모듈 파라미터의 데이터 타입이 맞는 지 여부; 및 동일 모듈 파라미터가 중복 입력되었는 지 여부;를 검증할 필요가 있다.
즉, 해당 모듈 항목이 필수 모듈 파라미터값이 있는 경우 필수 모듈 파라미터값 입력되지 않으면 오류가 발생하며, 모듈 파라미터의 데이터 타입이 정수(int)로 설정되어야 하는 데 스트링(string)으로 설정되면 오류가 발생한다. 아울러, 동일 모듈 파라미터는 1회만 입력할 수 있다.
(2) 피처 그룹 관련 : 메인 표시 영역(A3)에 다수의 개별 피처를 그룹화하여 구성된 피처 그룹 항목이 표시되었을 경우, 해당 피처 그룹이 정의된 위치에 위치하는 지 여부; 및 해당 피처 그룹의 내부 입력 항목이 올바른 지 여부;를 검증한다.
즉, 피처 그룹 각각은 다른 항목들과의 사이에서 실행될 순서가 정의되어 있는 데, 그 순서가 올바르지 않으면 오류가 발생한다. 해당 피처 그룹의 내부 입력 항목이 올바른 지로 검증하여, 올바르지 않다면 오류를 발생하게 된다. 해당 피처 그룹의 내부 입력 항목의 예로는, 핸들러즈의 경우, 명칭(Name)이 입력되면 오류가 발생하게 된다.
(3) 피처 항목 관련 : 메인 표시 영역(A3)에 피처 항목이 표시되었을 경우, 해당 피처 항목이 정의된 위치에 위치하는 지 여부; 및 해당 피처 항목이 중복 입력되었는 지 여부;를 검증한다.
즉, 피처 항목 각각은 다른 항목들과의 사이에서 실행될 순서가 정의되어 있는 데, 그 순서가 올바르지 않으면 오류가 발생한다. 아울러, 피처 항목은 1회만 입력할 수 있다.
(4) 바즈 관련 : 피처 항목과 관련된 바즈를 사용 시, 해당 변수가 사용자 또는 앤서블에 의해 미리 정의된 변수인 지 여부를 검증할 필요가 있다, 미리 정의된 변수가 아닌 경우, 오류가 발생하게 된다.
(5) 다른 프로젝트 또는 폴더에 미리 저장된 야믈 파일을 참조시 : 해당 파일의 경로가 맞는 지 여부 및 해당 파일 내부에 포함된 변수가 미리 정의된 변수인 지 여부를 검증한다. 해당 파일의 경로가 잘못 되거나 미리 정의된 변수가 아닌 경우, 오류가 발생하게 된다.
상술한 바와 같이, 본 발명의 앤서블을 위한 GUI 시스템에 따르면, 텍스트 기반의 앤서블 프로그래밍을 GUI 기반으로 하여, 앤서블의 세부 사양 및/또는 구조를 파악하지 못한 사용자도 쉽게 앤서블을 이용한 프로그램이 가능하도록, 편리한 사용자 환경을 제공할 수 있음을 알 수 있다.
아울러, 본 발명에 따르면 텍스트 기반의 프로그램을 GUI화 할 수도 있어, 일부의 프로그램은 GUI로 작성하고 일부는 텍스트 기반으로 작성하여, GUI와 텍스트가 상호 호환 가능함도 알 수 있다.
P : 프로세서
M : 메모리
D : 디스플레이
I : 입력 장치

Claims (25)

  1. 앤서블을 위한 GUI(Graphical User Interface) 시스템에 있어서,
    디스플레이;를 포함하되,
    상기 디스플레이는,
    사용자가 GUI 또는 텍스트 기반으로 파일을 생성할 수 있는 항목인 주요 섹션을 표시하는 주요 섹션 표시 영역;
    상기 주요 섹션 표시 영역에 표시된 상기 주요 섹션과 관련된 모듈(Module)의 리스트를 표시하는 모듈 리스트 표시 영역;
    GUI 또는 텍스트 기반으로 상기 주요 섹션의 내용을 작성하거나 표시하는 메인 표시 영역;
    상기 주요 섹션과 관련된 피처(Feature) 리스트를 표시하는 피처 리스트 표시 영역; 및
    상기 모듈 리스트 표시 영역에 표시된 모듈 항목과 관련된 모듈 파라미터(Module Parameter)를 표시하는 모듈 파라미터 표시 영역;을 사용자의 사용에 따라 표시할 수 있는 것을 특징으로 하는 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 디스플레이는,
    상기 모듈 리스트 표시 영역, 상기 피처 리스트 표시 영역, 또는 상기 모듈 파라미터 표시 영역에서 각각의 항목에 대한 클릭 정보를 입력 받으면, 해당 항목에 대한 설명 및 야믈에 의해 작성된 예제 코드를 표시하는 것을 특징으로 하는 시스템.
  4. 제1항에 있어서,
    상기 피처 리스트 표시 영역은,
    다수의 개별 피처를 그룹화하여 구성된 피처 그룹 및 다수의 개별 피처 중에서, 해당 작업과 관련된 피처 그룹 또는 피처를 표시하되,
    상기 피처 그룹은,
    상기 메인 표시 영역으로 드래그(Drag)하는 것에 의해, 상기 메인 표시 영역에 하위 항목을 포함하는 상위 항목으로 표시되는 것을 특징으로 하는 시스템.
  5. 제4항에 있어서,
    상기 다수의 피처 그룹은,
    올웨이즈(Always), 블록(Block), 핸들러즈(Handlers), 포스트_태스크스(Post_tasks), 프리_태스크스(Pre_tasks), 레스큐(Rescue), 롤즈(Roles) 및 테스크스(Tasks)를 포함하는 것을 특징으로 하는 시스템.
  6. 제1항에 있어서,
    신규 플레이북스(Playbooks) 파일이 생성되면, 상기 디스플레이는,
    상기 메인 표시 영역에 플레이(Play)와 태스크스(Tasks)를, 상기 메인 표시 영역에 하위 항목을 포함하는 상위 항목으로 표시하는 것을 특징으로 하는 시스템.
  7. 제6항에 있어서,
    상기 메인 표시 영역의 태스크스의 하위 항목으로 상기 모듈 리스트 표시 영역에 포함된 모듈 항목이 드래그되면, 상기 디스플레이는,
    해당 모듈 항목과 관련된 모듈 파라미터 리스트를 상기 모듈 파라미터 표시 영역에 표시하는 것을 특징으로 하는 시스템.
  8. 제7항에 있어서,
    상기 메인 표시 영역의 태스크스의 하위 항목으로 상기 모듈 리스트 표시 영역에 포함된 모듈 항목이 드래그되면, 해당 모듈과 관련하여 앤서블에서 정의된 모듈 파라미터의 기본값이 있는 경우, 상기 디스플레이는,
    해당 기본값이 자동으로 설정된 상태로 상기 메인 표시 영역에 표시할 수 있되
    사용자에 의해 해당 기본값은 변경 가능한 것을 특징으로 하는 시스템.
  9. 제7항에 있어서,
    상기 메인 표시 영역의 태스크스의 하위 항목으로, 상기 모듈 리스트 표시 영역에 포함된 모듈 항목을 드래그되면, 해당 모듈 항목과 관련하여 앤서블에서 정의된 필수 모듈 파라미터가 있는 경우, 상기 디스플레이는,
    해당 필수 모듈 파라미터를 상기 메인 표시 영역에 표시할 수 있는 것을 특징으로 하는 시스템.
  10. 제7항에 있어서,
    상기 태스크스의 하위 항목으로 다수의 모듈 파라미터가 표시된 경우, 다수의 모듈 파라미터 각각은 선택에 의해, 복사, 편집, 삭제 및 위치 이동이 아이콘을 이용하여 가능한 것을 특징으로 하는 시스템.
  11. 제7항에 있어서,
    하나의 모듈 항목에 대해, 다수의 모듈 파라미터가 사용자에 의해 선택될 수 있고,
    해당 모듈 항목을 클릭하여 해당 모듈 항목에 포함된 다수의 모듈 파라미터가 표시된 경우, 모듈 파라미터 각각은,
    삭제 및 위치 이동이 아이콘을 이용하여 가능한 것을 특징으로 하는 시스템.
  12. 제7항에 있어서,
    모듈 파라미터가 계층적 구조로 구성되어 있을 경우, 메인 표시 영역에 표시된 해당 모듈 파라미터가 클릭되면, 상기 메인 표시 영역에 트리 형식으로 해당 모듈 파라미터가 표시되는 것을 특징으로 하는 시스템.
  13. 제6항에 있어서,
    상기 피처 리스트 표시 영역에 표시된 피처 항목을 선택한 후, 해당 피처 항목과 관련된 변수를 표시된 리스트 중에서 선택할 수 있는 것을 특징으로 하는 시스템.
  14. 제13항에 있어서,
    상기 피처 리스트 표시 영역에 표시된 피처 항목을 선택한 후, 해당 피처와 관련된 선택할 수 있는 변수의 종류는, 사용자 정의 변수 및 앤서블에서 정의된 변수로 분류될 수 있고,
    상기 사용자 정의 변수는,
    해당 플레이북스 내부에서만 사용할 수 있는 변수 및 다른 플레이북스에서도 사용할 수 있는 변수로 분류할 수 있는 것을 특징으로 하는 시스템.
  15. 제1항에 있어서,
    상기 메인 표시 영역에 표시된 GUI 기반의 작성 프로그램은,
    야믈 코드로 변환되어 표시될 수 있는 것을 특징으로 하는 시스템.
  16. 제15항에 있어서,
    상기 메인 표시 영역에 표시된 야믈 코드 기반의 작성 프로그램은,
    GUI 기반으로 변환되어 표시될 수 있는 것을 특징으로 하는 시스템.
  17. 제1항에 있어서,
    상기 주요 섹션은, 롤즈(Roles) 항목을 포함하며,
    미리 압축되어 저장된 롤 파일을 업로드 하는 것에 의해, 롤즈 항목에 해당 롤을 상기 주요 섹션 표시 영역에 디렉토리 구조로 표시 가능하며,
    해당 디렉토리 내부의 파일을 클릭하여 GUI 형식의 편집 및 야믈 코드로의 변환이 가능한 것을 특징으로 하는 시스템.
  18. 제1항에 있어서,
    상기 주요 섹션 중 하나에 포함된 파일이 선택되면, 해당 주요 섹션의 구조에 따라서는, 상기 모듈 리스트 표시 영역 및 상기 피처 리스트 표시 영역 각각에 어떠한 항목도 표시되지 않는 것을 특징으로 하는 시스템.
  19. 제1항에 있어서,
    상기 시스템은,
    프로세서;를 더 포함하되,
    상기 프로세서는,
    상기 메인 표시 영역에 항목이 추가될 때, 해당 항목의 오류 여부를 검증하는 것을 특징으로 하는 시스템.
  20. 제19항에 있어서,
    상기 메인 표시 영역에 모듈 항목이 표시되었을 경우, 상기 프로세서는,
    해당 모듈 항목이 필수 모듈 파라미터값이 있는 경우에는, 필수 모듈 파라미터값 입력 여부;
    해당 모듈 항목의 모듈 파라미터의 데이터 타입이 맞는 지 여부; 및
    동일 모듈 파라미터가 중복 입력되었는 지 여부;를 검증하는 것을 특징으로 하는 시스템.
  21. 제19항에 있어서,
    상기 메인 표시 영역에 다수의 개별 피처를 그룹화하여 구성된 피처 그룹 항목이 표시되었을 경우, 상기 프로세서는,
    해당 피처 그룹이 정의된 위치에 위치하는 지 여부; 및
    해당 피처 그룹의 내부 입력 항목이 올바른 지 여부;를 검증하는 것을 특징으로 하는 시스템.
  22. 제19항에 있어서,
    상기 메인 표시 영역에 피처 항목이 표시되었을 경우, 상기 프로세서는,
    해당 피처 항목이 정의된 위치에 위치하는 지 여부; 및
    해당 피처 항목이 중복 입력되었는 지 여부;를 검증하는 것을 특징으로 하는 시스템.
  23. 제19항에 있어서,
    피처 항목과 관련된 바즈(Vars)를 사용 시, 상기 프로세서는,
    해당 변수가 사용자 또는 앤서블에 의해 미리 정의된 변수인 지 여부를 검증하는 것을 특징으로 하는 시스템.
  24. 제19항에 있어서,
    미리 저장된 야믈 파일을 참조시, 상기 프로세서는,
    해당 파일의 경로가 맞는 지 여부 및 해당 파일 내부에 포함된 변수가 미리 정의된 변수인 지 여부를 검증하는 것을 특징으로 하는 시스템.
  25. 제1항에 있어서,
    상기 주요 섹션은,
    플레이북스(Playbooks), 바즈(Vars), 태스크스(Tasks), 핸들러즈(Handlers), 템플리츠(Templates) 및 롤즈(Roles)를 포함하는 것을 특징으로 하는 시스템.
KR1020190091470A 2019-07-29 2019-07-29 앤서블을 위한 gui 시스템 KR102213815B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190091470A KR102213815B1 (ko) 2019-07-29 2019-07-29 앤서블을 위한 gui 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190091470A KR102213815B1 (ko) 2019-07-29 2019-07-29 앤서블을 위한 gui 시스템

Publications (1)

Publication Number Publication Date
KR102213815B1 true KR102213815B1 (ko) 2021-02-08

Family

ID=74559971

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190091470A KR102213815B1 (ko) 2019-07-29 2019-07-29 앤서블을 위한 gui 시스템

Country Status (1)

Country Link
KR (1) KR102213815B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102442577B1 (ko) * 2022-03-08 2022-09-13 주식회사 마키나락스 개발환경을 제공하는 방법
WO2023171896A1 (ko) * 2022-03-08 2023-09-14 주식회사 마키나락스 개발환경을 제공하는 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
네이버 블로그, "베릴로그 인스턴스(객체) 활용하기", [online], 2019년 1월 15일, [2020년 11월 25일 검색], 인터넷 URL: https://blog.naver.com/v_soc/221443008860* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102442577B1 (ko) * 2022-03-08 2022-09-13 주식회사 마키나락스 개발환경을 제공하는 방법
WO2023171896A1 (ko) * 2022-03-08 2023-09-14 주식회사 마키나락스 개발환경을 제공하는 방법

Similar Documents

Publication Publication Date Title
US9754059B2 (en) Graphical design verification environment generator
US7089256B2 (en) Universal data editor
US7370315B1 (en) Visual programming environment providing synchronization between source code and graphical component objects
US7814427B2 (en) Object model tree diagram
US8631388B2 (en) Graphical editor with incremental development
WO2015078343A1 (zh) 用于web开发系统的开发方法和web开发系统
US20090083697A1 (en) Integration of User Interface Design and Model Driven Development
US20160350079A1 (en) Method and system of editing workflow logic and screens with a gui tool
JP2012508934A (ja) データオブジェクトの管理および自動的リンク
US11514237B2 (en) Spreadsheet and method for updating same
KR102213815B1 (ko) 앤서블을 위한 gui 시스템
KR20100081351A (ko) 논리 구조 설계 표면
KR101408280B1 (ko) 개발도구의 로직생성장치 및 방법과, 그 방법을 실행하기 위한 프로그램이 기록된 저장매체
KR101326985B1 (ko) 오브젝트 단위의 동적 컴파일리스 프로그램의 저작, 배포 및 구동 방법 및 장치
KR102300005B1 (ko) 소프트웨어 컴포넌트를 표현하는 각각의 그래픽 객체 간의 연결 조작을 이용한 소프트웨어 개발 어시스트 방법 및 그 시스템
CN101710275B (zh) 利用gui工具来编辑工作流逻辑和屏幕的方法和系统
CN117215556A (zh) 模块化的页面快速构建方法、系统、设备及介质
JP5971301B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP5916897B2 (ja) プロジェクトデータ作成装置
JP4629183B2 (ja) 要求仕様記述支援装置およびその方法、記録媒体
KR100928895B1 (ko) 제어시스템 개발을 위한 툴생성장치
KR102588597B1 (ko) Uml 시퀀스 다이어그램의 대체 에디터로서 오퍼레이션 로직 디자이너를 이용하여 프로그램을 설계하는 방법 및 그를 이용한 장치
Savolainen et al. Spine deliverable 2.1 software design document
Mohlin Model simulation in rational software architect: simulating uml models
Kruppai et al. Building Neural Networks as Dataflow Graphs

Legal Events

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