KR101752082B1 - 개발 환경 시스템, 개발 환경 장치, 개발 환경 제공 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 매체 - Google Patents
개발 환경 시스템, 개발 환경 장치, 개발 환경 제공 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 매체 Download PDFInfo
- Publication number
- KR101752082B1 KR101752082B1 KR1020157035065A KR20157035065A KR101752082B1 KR 101752082 B1 KR101752082 B1 KR 101752082B1 KR 1020157035065 A KR1020157035065 A KR 1020157035065A KR 20157035065 A KR20157035065 A KR 20157035065A KR 101752082 B1 KR101752082 B1 KR 101752082B1
- Authority
- KR
- South Korea
- Prior art keywords
- program
- user
- development environment
- development
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
개발 환경의 버전을 적절히 관리함과 아울러, 동일 프로그램에 대한 복수 유저에 의한 경합을 막는 개발 환경 시스템을 제공한다. 유저가 로그인하면 유저 정보에 대응하는 작업 영역(126)을 개발 환경 장치에 확보하는 작업 영역 관리부와, 유저로부터의 개발 환경의 이용 요구에 포함되는 개발 환경 ID에 대응하는 개발 환경을 개발 환경 리포지토리(123)로부터 추출하고, 확보한 작업 영역(126)과 추출한 개발 환경을 이용 가능하게 하는 개발 환경 관리부(122)를 구비하고, 개발 환경 관리부(122)는, 프로그램의 개발 환경 서비스를 실행하는 개발 환경 서비스부(125)를 개발 환경 서버(100)에 배치함과 아울러, 개발 환경 서비스부(125)의 유저 인터페이스인 개발 환경 클라이언트부(202)를 클라이언트 단말(200)에 배치한다.
Description
본 발명은, 개발 환경 시스템, 개발 환경 장치, 개발 환경 제공 방법 및 프로그램에 관한 것이다. 특히, 단말 장치로부터의 조작에 의해, 개발 환경 장치에 있어서 소프트웨어의 개발을 행하는 분산 공유형 환경 개발 장치에 관한 것이다.
최근, 래더 프로그램과 같이, 공장 등에서 동작하는 제어 소프트웨어의 대규모화가 진행되어 오고 있어, 소프트웨어 자산의 관리나 복수의 인원에 의한 공동 개발을 효율적으로 행하는 것이 중요하게 되어 왔다.
지금까지는, 개발 담당자 각각의 PC(Personal Computer)에 개발 환경을 도입하여 소프트웨어를 개발하여 왔기 때문에, 소프트웨어는 개개의 PC에서 관리되고 있었다. 그 때문에, PC간에 동일 소프트웨어의 버전이 상이하여, 개발 환경과 소프트웨어의 버전의 대응을 취할 수 없게 되는 등의 과제를 안고 있었다.
이와 같은 과제를 해결하기 위해, 소프트웨어나 개발 환경을 서버에서 집중 관리하고, 네트워크를 경유하여 서버에 접속하여 개발을 행하는, 네트워크형 개발 환경이 요구되고 있다.
특허 문헌 1에서는, 네트워크를 통해서 접속된 클라이언트로부터의 원격 조작에 의해, 서버측에서 소프트웨어 개발을 행하는 원격 조작형 소프트웨어에 관한 방법이 개시되어 있다. 특허 문헌 1에 의하면, 클라이언트측에서는, 개발 환경 클라이언트부와 입출력 제어부가 동작하고, 서버측에서는, 입출력 제어부, 컴포넌트 리포지토리, 컴포넌트 팩토리, 인스턴스 보존 처리부, 소스 코드 자동 생성부가 동작한다. 개발자가 클라이언트측의 개발 환경 클라이언트부를 조작하면, 클라이언트측의 입출력 제어부로부터 서버측의 입출력 제어부에 처리가 인터넷을 경유하여 송신된다. 서버측에서는, 클라이언트측으로부터 송신된 처리를 받아, 컴포넌트의 조합이나 소스 코드의 자동 생성, 인스턴스(프로그램의 실행 환경)의 생성 등이 행해져, 인터넷을 경유한 개발을 가능하게 하고 있다.
(선행 기술 문헌)
(특허 문헌)
(특허 문헌 1) 일본 특허 공개 2002-278759호 공보
종래 기술에서는, 개발 환경의 버전을 관리하는 구조가 없다. 그 때문에, 종래 기술에서는, 개발 환경의 버전이 바뀌는 것에 따라, 서버측, 클라이언트측의 개발 환경을 바꿀 수 없다고 하는 과제가 있다.
또한, 종래 기술에서는, 서버에서 총괄적으로(collectively) 관리된 정보를 복수의 유저가 동시에 개발할 때에, 경합의 해결, 액세스 제어의 대책이 불충분하다고 하는 과제가 있다.
본 발명은, 상기와 같은 과제를 해결하기 위해 이루어진 것이고, 개발 환경의 버전을 적절히 관리함과 아울러, 동일 프로그램에 대한 복수 유저에 의한 경합을 해결하는 개발 환경 시스템을 제공하는 것을 목적으로 한다.
본 발명과 관련되는 개발 환경 시스템은, 프로그램의 개발에 이용하는 작업 영역의 확보를 요구하는 확보 요구로서, 유저를 식별하는 유저 정보를 포함하는 확보 요구와, 상기 프로그램의 개발에 이용하는 개발 환경의 이용을 요구하는 이용 요구로서, 상기 개발 환경을 식별하는 개발 환경 식별자와 상기 유저를 식별하는 상기 유저 정보를 포함하는 이용 요구를 송신하는 단말측 송신부를 구비하는 단말 장치와, 상기 단말측 송신부로부터, 상기 확보 요구를 수신하고, 수신한 상기 확보 요구에 포함되는 상기 유저 정보에 대응하는 유저 작업 영역을 처리 장치에 의해 확보하는 확보부와, 상기 개발 환경과, 상기 개발 환경을 식별하는 상기 개발 환경 식별자를 대응지어서 기억 장치에 기억하는 개발 환경 기억부와, 상기 단말측 송신부로부터 상기 이용 요구를 수신하고, 수신한 상기 이용 요구에 포함되는 상기 개발 환경 식별자에 대응하는 상기 개발 환경을 상기 개발 환경 기억부로부터 처리 장치에 의해 추출하고, 추출한 상기 개발 환경과, 상기 이용 요구에 포함되는 상기 유저 정보에 대응하는 상기 유저 작업 영역을 처리 장치에 의해 이용 가능하게 하는 개발 환경 관리부를 구비하는 개발 환경 장치를 구비하는 것을 특징으로 한다.
본 발명과 관련되는 프로그램을 기록한 컴퓨터 판독 가능한 매체는 프로그램의 개발에 이용하는 작업 영역의 확보를 요구하는 확보 요구로서, 유저를 식별하는 유저 정보를 포함하는 확보 요구와, 상기 프로그램의 개발에 이용하는 개발 환경의 이용을 요구하는 이용 요구로서, 상기 개발 환경을 식별하는 개발 환경 식별자와 상기 유저를 식별하는 상기 유저 정보를 포함하는 이용 요구를 송신하는 단말 장치로부터, 상기 확보 요구를 수신하고, 수신한 상기 확보 요구에 포함되는 상기 유저 정보에 대응하는 유저 작업 영역을 확보하는 확보 처리와, 상기 단말 장치로부터 상기 이용 요구를 수신하고, 수신한 상기 이용 요구에 포함되는 상기 개발 환경 식별자에 대응하는 상기 개발 환경을, 상기 개발 환경과 상기 개발 환경을 식별하는 상기 개발 환경 식별자를 대응지어서 기억 장치에 기억하는 개발 환경 기억부로부터 추출하고, 추출한 상기 개발 환경과, 상기 이용 요구에 포함되는 상기 유저 정보에 대응하는 상기 유저 작업 영역을 이용 가능하게 하는 개발 환경 처리와, 상기 유저에 의해 상기 프로그램이 편집될 때, 상기 유저 이외의 유저가 상기 유저가 편집하고자 하는 편집 개소를 편집하고 있는지 여부를 판정하기 위한 정보인 편집 이력 정보로서, 날짜와, 상기 유저를 식별하는 상기 유저 정보와, 상기 개발 환경을 식별하는 상기 개발 환경 식별자와, 상기 프로그램을 식별하는 프로그램 식별자와, 상기 날짜에 상기 개발 환경을 이용하여 편집된 상기 프로그램의 편집 개소가 대응지어진 편집 이력 정보를 기억 장치에 기억하는 편집 이력 정보 기억 처리를 컴퓨터에 실행시키고, 상기 단말 장치는, 상기 유저에 의해 상기 프로그램의 상기 편집 개소가 편집되면, 상기 편집 이력 정보 기억부에 의해 기억된 상기 편집 이력 정보에 근거하여, 상기 유저 이외의 유저가 상기 프로그램의 상기 편집 개소를 편집하고 있는지 여부를 판정하고, 편집하고 있지 않다고 판정한 경우에, 상기 일시와, 상기 유저 정보와, 상기 개발 환경 식별자와, 상기 프로그램 식별자와, 상기 편집 개소를 상기 편집 이력 정보에 기록하고, 편집하고 있다고 판정한 경우에, 상기 프로그램의 편집의 중지를 상기 유저에게 통지하는 것을 특징으로 한다.
본 발명과 관련되는 프로그램을 기록한 컴퓨터 판독 가능한 매체는 프로그램의 개발에 이용하는 작업 영역의 확보를 요구하는 확보 요구로서, 유저를 식별하는 유저 정보를 포함하는 확보 요구와, 상기 프로그램의 개발에 이용하는 개발 환경의 이용을 요구하는 이용 요구로서, 상기 개발 환경을 식별하는 개발 환경 식별자와 상기 유저를 식별하는 상기 유저 정보를 포함하는 이용 요구를 송신하는 단말 장치로부터, 상기 확보 요구를 수신하고, 수신한 상기 확보 요구에 포함되는 상기 유저 정보에 대응하는 유저 작업 영역을 확보하는 확보 처리와, 상기 단말 장치로부터 상기 이용 요구를 수신하고, 수신한 상기 이용 요구에 포함되는 상기 개발 환경 식별자에 대응하는 상기 개발 환경을, 상기 개발 환경과 상기 개발 환경을 식별하는 상기 개발 환경 식별자를 대응지어서 기억 장치에 기억하는 개발 환경 기억부로부터 추출하고, 추출한 상기 개발 환경과, 상기 이용 요구에 포함되는 상기 유저 정보에 대응하는 상기 유저 작업 영역을 이용 가능하게 하는 개발 환경 처리와, 상기 유저에 의해 상기 프로그램이 편집될 때, 상기 유저 이외의 유저가 상기 유저가 편집하고자 하는 편집 개소를 편집하고 있는지 여부를 판정하기 위한 정보인 편집 이력 정보로서, 날짜와, 상기 유저를 식별하는 상기 유저 정보와, 상기 개발 환경을 식별하는 상기 개발 환경 식별자와, 상기 프로그램을 식별하는 프로그램 식별자와, 상기 날짜에 상기 개발 환경을 이용하여 편집된 상기 프로그램의 편집 개소가 대응지어진 편집 이력 정보를 기억 장치에 기억하는 편집 이력 정보 기억 처리를 컴퓨터에 실행시키고, 상기 단말 장치는, 상기 유저에 의해 상기 프로그램의 상기 편집 개소가 편집되면, 상기 편집 이력 정보 기억부에 의해 기억된 상기 편집 이력 정보에 근거하여, 상기 유저 이외의 유저가 상기 프로그램의 상기 편집 개소를 편집하고 있는지 여부를 판정하고, 편집하고 있지 않다고 판정한 경우에, 상기 일시와, 상기 유저 정보와, 상기 개발 환경 식별자와, 상기 프로그램 식별자와, 상기 편집 개소를 상기 편집 이력 정보에 기록하고, 편집하고 있다고 판정한 경우에, 상기 프로그램의 편집의 중지를 상기 유저에게 통지하는 것을 특징으로 한다.
본 발명의 일 형태에 의하면, 확보부가 유저 정보에 대응하는 유저 작업 영역을 개발 환경 장치에 확보하고, 개발 환경 관리부가 이용 요구에 포함되는 개발 환경 식별자에 대응하는 개발 환경을 개발 환경 기억부로부터 추출하고, 확보한 유저 작업 영역과 추출한 개발 환경을 이용 가능하게 하므로, 개발 환경의 버전이 바뀌더라도 적절히 대응 가능함과 아울러, 복수 유저에 의한 경합을 해결할 수 있다.
도 1은 실시의 형태 1과 관련되는 개발 환경 시스템(500)의 블록 구성도이다.
도 2는 실시의 형태 1과 관련되는 유저 정보 테이블(113)의 구성을 나타내는 도면이다.
도 3은 실시의 형태 1과 관련되는 구성 정보 테이블(114)의 구성을 나타내는 도면이다.
도 4는 실시의 형태 1과 관련되는 개발 환경 서버(100), 클라이언트 단말(200)의 하드웨어 구성의 일례를 나타내는 도면이다.
도 5는 실시의 형태 1과 관련되는 개발 환경 시스템(500)에 의한 개발 환경 제공 처리 및 프로그램 개발 처리의 동작을 나타내는 플로차트이다.
도 6은 실시의 형태 2와 관련되는 개발 환경 시스템(500a)의 블록 구성을 나타내는 도면이다.
도 7은 실시의 형태 2와 관련되는 액세스권 테이블(130)의 구성을 나타내는 도면이다.
도 8은 실시의 형태 3과 관련되는 개발 환경 시스템(500b)의 블록 구성을 나타내는 도면이다.
도 9는 실시의 형태 3과 관련되는 코드 단위 액세스권 테이블(132)의 구성을 나타내는 도면이다.
도 10은 실시의 형태 3과 관련되는 코드 단위 액세스 제어부(203)에 의한 래더 프로그램 개발에 있어서의 상수 변경의 예를 나타내는 도면이다.
도 11은 실시의 형태 3과 관련되는 코드 단위 액세스 제어부(203)에 의한 래더 프로그램 개발에 있어서의 코드 추가의 예를 나타내는 도면이다.
도 12는 실시의 형태 4와 관련되는 개발 환경 시스템(500c)의 블록 구성을 나타내는 도면이다.
도 13은 실시의 형태 4와 관련되는 편집 이력 테이블(133)의 구성을 나타내는 도면이다.
도 14는 실시의 형태 5와 관련되는 개발 환경 시스템(500d)의 블록 구성을 나타내는 도면이다.
도 15는 실시의 형태 5와 관련되는 편집 락 테이블(134)의 구성을 나타내는 도면이다.
도 16은 실시의 형태 6과 관련되는 개발 환경 시스템(500e)의 블록 구성을 나타내는 도면이다.
도 17은 실시의 형태 6과 관련되는 조작 이력 테이블(135)의 구성을 나타내는 도면이다.
도 18은 실시의 형태 7과 관련되는 개발 환경 시스템(500f)의 블록 구성을 나타내는 도면이다.
도 19는 실시의 형태 8과 관련되는 개발 환경 시스템(500g)의 블록 구성을 나타내는 도면이다.
도 2는 실시의 형태 1과 관련되는 유저 정보 테이블(113)의 구성을 나타내는 도면이다.
도 3은 실시의 형태 1과 관련되는 구성 정보 테이블(114)의 구성을 나타내는 도면이다.
도 4는 실시의 형태 1과 관련되는 개발 환경 서버(100), 클라이언트 단말(200)의 하드웨어 구성의 일례를 나타내는 도면이다.
도 5는 실시의 형태 1과 관련되는 개발 환경 시스템(500)에 의한 개발 환경 제공 처리 및 프로그램 개발 처리의 동작을 나타내는 플로차트이다.
도 6은 실시의 형태 2와 관련되는 개발 환경 시스템(500a)의 블록 구성을 나타내는 도면이다.
도 7은 실시의 형태 2와 관련되는 액세스권 테이블(130)의 구성을 나타내는 도면이다.
도 8은 실시의 형태 3과 관련되는 개발 환경 시스템(500b)의 블록 구성을 나타내는 도면이다.
도 9는 실시의 형태 3과 관련되는 코드 단위 액세스권 테이블(132)의 구성을 나타내는 도면이다.
도 10은 실시의 형태 3과 관련되는 코드 단위 액세스 제어부(203)에 의한 래더 프로그램 개발에 있어서의 상수 변경의 예를 나타내는 도면이다.
도 11은 실시의 형태 3과 관련되는 코드 단위 액세스 제어부(203)에 의한 래더 프로그램 개발에 있어서의 코드 추가의 예를 나타내는 도면이다.
도 12는 실시의 형태 4와 관련되는 개발 환경 시스템(500c)의 블록 구성을 나타내는 도면이다.
도 13은 실시의 형태 4와 관련되는 편집 이력 테이블(133)의 구성을 나타내는 도면이다.
도 14는 실시의 형태 5와 관련되는 개발 환경 시스템(500d)의 블록 구성을 나타내는 도면이다.
도 15는 실시의 형태 5와 관련되는 편집 락 테이블(134)의 구성을 나타내는 도면이다.
도 16은 실시의 형태 6과 관련되는 개발 환경 시스템(500e)의 블록 구성을 나타내는 도면이다.
도 17은 실시의 형태 6과 관련되는 조작 이력 테이블(135)의 구성을 나타내는 도면이다.
도 18은 실시의 형태 7과 관련되는 개발 환경 시스템(500f)의 블록 구성을 나타내는 도면이다.
도 19는 실시의 형태 8과 관련되는 개발 환경 시스템(500g)의 블록 구성을 나타내는 도면이다.
실시의 형태 1.
도 1은 본 실시의 형태와 관련되는 개발 환경 시스템(500)의 블록 구성도이다. 도 1을 이용하여, 본 실시의 형태와 관련되는 개발 환경 시스템(500)의 블록 구성에 대하여 설명한다.
개발 환경 시스템(500)은, 개발 환경 서버(100)(개발 환경 장치), 클라이언트 단말(200)(단말 장치)을 구비한다. 개발 환경 서버(100)는, 클라이언트 단말(200)에 대하여, 유저에 의한 프로그램의 개발 처리를 실행하기 위한 개발 환경을 제공한다.
개발 환경은, 프로그램의 개발시에 제공되는 개발 환경 서비스로서 실행되는 개발 환경 서비스부(125)와, 개발 환경 서비스부(125)에 액세스할 때의 유저 인터페이스로서 실행되는 개발 환경 클라이언트부(202)로 구성된다.
도 1에서는, 개발 환경 시스템(500)은, 유저에 의해 이용되는 클라이언트 단말(200)을 2개 구비하고 있지만, 클라이언트 단말(200)은 1개이더라도 좋고, 3개 이상 구비하고 있더라도 좋다.
개발 환경 서버(100)와, 클라이언트 단말(200)은, 네트워크(400)를 통해서 접속되어 있다. 클라이언트 단말(200)에는, 제어 장치(300)가 접속되어 있다. 제어 장치(300)는, 유저의 조작에 의해, 개발 환경을 이용하여 개발된 프로그램이 기록되는 단말측 기억 기기의 일례이다.
클라이언트 단말(200)측의 구성을 설명한다.
클라이언트 단말(200)은, 클라이언트 환경 관리부(201), 개발 환경 클라이언트부(202)를 구비한다.
클라이언트 환경 관리부(201)는, 유저로부터 개발 환경의 이용을 요구하는 이용 요구를 접수한다. 클라이언트 환경 관리부(201)는, 접수한 이용 요구에 근거하여, 유저에 의해 이용이 요구된 개발 환경을 식별하는 개발 환경 ID(개발 환경 식별자)와, 유저를 식별하는 유저 정보를 이용 요구에 포함시킨다. 클라이언트 환경 관리부(201)는, 개발 환경 ID와 유저 정보가 포함된 이용 요구를 개발 환경 서버(100)에 송신한다. 클라이언트 환경 관리부(201)는, 단말측 송신부의 일례이다.
또한, 클라이언트 환경 관리부(201)는, 개발 환경의 이용하(下)에 있어서, 유저의 조작에 의해, 개발 환경 서버(100)측의 각종 기능을 호출한다.
개발 환경 클라이언트부(202)는, 개발 환경의 유저 인터페이스에 상당하는 기능을 갖는다.
개발 환경 클라이언트부(202)는, 개발 환경 서버(100)에 의해 이용 가능하게 된 개발 환경과 작업 영역(126)(유저 작업 영역)을 이용하여, 유저에 의한 프로그램의 개발 처리를 실행하기 위한 유저 인터페이스이다.
개발 환경 클라이언트부(202)는, 개발 환경 서버(100)로부터 프로그램을 개발하는 개발 프로그램의 유저 인터페이스인 인터페이스 프로그램을 수신한다. 개발 환경 클라이언트부(202)는, 수신한 인터페이스 프로그램을 클라이언트 단말(200)에 인스톨한다. 개발 환경 클라이언트부(202)는, 인스톨된 인터페이스 프로그램을 처리 장치에 의해 실행하는 것에 의해, 개발 환경 클라이언트부(202)의 기능을 실현한다. 이하, 인터페이스 프로그램을 개발 환경 클라이언트부(202)라고 부르는 경우도 있다. 개발 환경 클라이언트부(202)는, 이용 가능하게 된 개발 환경과 작업 영역(126)(유저 작업 영역)을 이용한 프로그램의 개발 요구를 유저로부터 접수하고, 접수한 개발 요구를 개발 환경 서버(100)에 송신하는 단말측 개발부의 일례이다.
유저가 클라이언트 환경 관리부(201)를 통해서 개발 환경을 선택하면, 선택된 개발 환경에 대응한 개발 환경 클라이언트부(202)(인터페이스 프로그램)가 개발 환경 서버(100)측에서 다운로드되어, 클라이언트 단말(200)측에 인스톨된다. 다시 말해, 개발 환경 클라이언트부(202)는, 개발 환경 서버(100)에 의한 개발 환경 제공 처리가 실행되고 있는 경우에, 클라이언트 단말(200)에 구비된다.
개발 환경 클라이언트부(202)는, 유저로부터 개발 요구에 따라서, 개발 환경 서버(100)측의 기능을 호출한다. 개발 환경 클라이언트부(202)는, 클라이언트 환경 관리부(201)를 통해서, 개발 환경 서버(100)측의 기능을 호출하더라도 좋고, 클라이언트 환경 관리부(201)를 통하지 않고서, 개발 환경 서버(100)측의 기능을 호출하더라도 좋다. 개발 환경에 닫힌 처리(closed development environment process)의 경우는, 개발 환경 클라이언트부(202)는, 개발 환경 서버(100)측에서 실행되고 있는 개발 환경 서비스부(125)를 직접 호출한다.
개발 환경 서버(100)측의 구성을 설명한다.
개발 환경 서버(100)는, 웹 서버부(118), 스테이트 제어부(117), 인증ㆍ인가부(112), 유저 관리부(111), 유저 정보 테이블(113), 서버 환경 관리부(116), 구성 정보 관리부(115), 구성 정보 테이블(114), 작업 영역 관리부(119), 프로그램 관리부(120), 프로그램 리포지토리(121), 개발 환경 관리부(122), 개발 환경 리포지토리(123), 개발 환경 서비스 제어부(124)를 구비한다.
도 2는 본 실시의 형태와 관련되는 유저 정보 테이블(113)의 구성을 나타내는 도면이다.
도 2에 나타내는 바와 같이, 유저 정보 테이블(113)은, 유저 ID, 이름, 패스워드를 대응지어서 저장한다.
도 3은 본 실시의 형태와 관련되는 구성 정보 테이블(114)의 구성을 나타내는 도면이다.
도 3에 나타내는 바와 같이, 구성 정보 테이블(114)은, 구성 관리 테이블(1141), 프로그램 정보 테이블(1142), 개발 환경 정보 테이블(1143), 제어 장치 정보 테이블(1144)을 구비한다.
프로그램 정보 테이블(1142)은, 프로그램 ID, 프로그램명, 프로그램 버전을 대응지어서 저장한다.
프로그램 관리부(120)는, 프로그램명과 버전에 근거하여, 프로그램 리포지토리(121)로부터 프로그램을 취득한다.
개발 환경 정보 테이블(1143)은, 개발 환경 ID, 개발 환경명, 버전을 대응지어서 저장한다. 개발 환경 관리부(122)는, 개발 환경명과 버전에 근거하여, 개발 환경 리포지토리(123)로부터 개발 환경을 취득한다.
제어 장치 정보 테이블(1144)은, 제어 장치 ID, 제어 장치명, 제어 장치를 특정하는 시리얼 ID를 대응지어서 저장한다.
구성 관리 테이블(1141)은, 유저 ID, 프로그램 ID, 개발 환경 ID, 제어 장치 ID를 대응지어서 저장한다.
구성 정보 관리부(115)는, 구성 정보 테이블(114)로부터의 읽기 처리, 구성 정보 테이블(114)로의 기록 처리를 관리한다.
웹 서버부(118)는, 클라이언트 단말(200)의 클라이언트 환경 관리부(201)로부터의 처리 요구에 근거하여 처리를 실행하고, 처리의 결과를 클라이언트 환경 관리부(201)에 송신한다. 클라이언트 환경 관리부(201)로부터의 처리 요구는, 예컨대, 로그인 처리의 요구(인증 요구, 확보 요구), 개발 환경 제공 처리의 요구(이용 요구), 프로그램 개발 처리의 요구 등(개발 요구)이다.
스테이트 제어부(117)는, 스테이트를 갖지 않는 HTTP 액세스와 개발 환경 서버(100)측의 상태를 관련짓는다. 구체적으로는, 스테이트 제어부(117)는, 유저가 인증을 받은 시점에, 로그인 유저를 특정하는 토큰을 발행하고, 유저와 토큰을 대응시킨다. 토큰은 유저를 식별하는 유저 정보의 일례이다. 클라이언트 단말(200)과 개발 환경 서버(100)는, 발행된 토큰을 송수신하는 것에 의해 유저를 특정한다. 이와 같이, 스테이트 제어부(117)는, 스테이트를 갖지 않는 HTTP 액세스와, 개발 환경 서버(100)측의 상태를 관련짓는다.
스테이트 제어부(117)는, 토큰 대신에 유저 ID를 이용하여, 스테이트를 갖지 않는 HTTP 액세스와 개발 환경 서버(100)측의 상태를 관련짓는 것도 가능하다. 이때, 유저 ID는, 유저 정보의 일례이다. 그러나, 유저 ID를 이용하는 경우는 스푸핑(spoofing)의 위험성이 있기 때문에, 스테이트 제어부(117)는, 로그인마다 상이한 토큰을 발행하는 것에 의해 스테이트를 관리하는 것이 바람직하다.
인증ㆍ인가부(112)는, 유저 ID와 패스워드를 받아서, 유저 정보 테이블(113)을 참조한다. 유저 ID와 패스워드는, 유저의 인증을 요구하는 인증 요구의 일례이다. 인증ㆍ인가부(112)는, 유저 정보 테이블(113)에 근거하여, 패스워드를 대조하여, 유저를 인증한다. 인증ㆍ인가부(112)는, 유저의 인증을 실행하는 유저 인증부의 일례이다.
유저 관리부(111)는, 인증ㆍ인가부(112)에 의해 유저가 인증되어, 유저가 로그인하면, 서버 환경 관리부(116)에 대하여 유저용 작업 영역(126)의 작성을 의뢰한다. 작업 영역(126)은, 개발 환경 서버(100)측의 파일 시스템상의 디렉토리이다. 또한, 유저 관리부(111)는, 클라이언트 환경 관리부(201), 서버 환경 관리부(116)로부터, 유저의 정보에 관한 문의, 유저의 등록의 조작을 접수한다.
서버 환경 관리부(116)는, 로그인한 유저의 유저 ID를 작업 영역 관리부(119)에 출력한다.
작업 영역 관리부(119)는, 유저의 인증이 완료되면, 유저에 대응하는 작업 영역(126)을 기억 장치에 확보한다. 다시 말해, 유저의 인증 요구는, 작업 영역의 확보 요구의 일례이다.
작업 영역 관리부(119)는, 확보한 작업 영역(126)과 유저를 나타내는 유저 정보를 대응지어서 관리한다. 작업 영역 관리부(119)는, 서버 환경 관리부(116)로부터 입력한 유저 ID에 근거하여, 유저 ID에 고유하게 대응하는 이름을 갖는 작업 영역(126)(유저 작업 영역)을 작성한다.
개발 환경 리포지토리(123)는, 개발 환경 ID(개발 환경 식별자)에 대응지어진 개발 환경을 저장한다. 개발 환경 리포지토리(123)는, 개발 환경과, 개발 환경을 고유하게 식별하는 개발 환경 ID를 대응지어서 기억 장치에 기억하는 개발 환경 기억부의 일례이다.
개발 환경 리포지토리(123)는, 개발 환경으로서, 프로그램을 개발하는 개발 환경 서비스(개발 프로그램)와, 개발 환경 서비스의 유저 인터페이스인 유저 인터페이스 프로그램을 기억한다.
개발 환경 관리부(122)는, 유저에 의해 선택된 개발 환경 ID에 대응하는 개발 환경을 개발 환경 리포지토리(123)로부터 취득한다.
개발 환경 관리부(122)는, 클라이언트 환경 관리부(201)로부터, 웹 서버부(118), 스테이트 제어부(117), 서버 환경 관리부(116)를 통해서 개발 환경의 이용 요구를 수신하고, 수신한 이용 요구에 포함되는 개발 환경 ID에 대응하는 개발 환경을 개발 환경 리포지토리(123)로부터 추출한다. 개발 환경 관리부(122)는, 추출한 개발 환경을 클라이언트 단말(200)에 있어서 이용 가능하게 한다.
개발 환경 관리부(122)는, 개발 환경 서비스부(125)를 개발 환경 서버(100)에 인스톨하고, 개발 환경 클라이언트부(202)를 클라이언트 단말(200)에 인스톨하는 것에 의해, 개발 환경을 이용하여 유저 작업 영역(126)에 있어서 프로그램의 개발을 하는 것을 가능하게 한다. 개발 환경 서비스부(125)는, 개발 프로그램을 인스톨하고, 처리 장치에 의해 실행하는 것에 의해 개발 환경 서비스 기능을 실현한다. 이하, 개발 환경 서비스부(125)를 개발 프로그램이라고 부르는 경우도 있다. 개발 환경 서비스부(125)는, 개발 환경 서버(100)측에서 동작한다. 개발 환경 클라이언트부(202)는, 클라이언트 단말(200)측에 있어서, 개발 환경 서비스부(125)의 유저 인터페이스로서 기능한다.
개발 환경 클라이언트부(202)는, 기동되면, 예컨대, 개발 환경 조작 화면을 클라이언트 단말(200)의 표시 장치에 표시한다. 유저는, 개발 환경 조작 화면을 통해서, 프로그램의 개발을 한다. 유저는, 개발 환경 조작 화면을 통해서, 필요한 개발 환경 서비스부(125)를 호출하여, 프로그램의 개발을 한다.
개발 환경 클라이언트부(202)는, 클라이언트 환경 관리부(201)를 경유하여, 개발 환경 서비스부(125)를 호출하더라도 좋다.
개발 환경 서비스 제어부(124)는, 개발 환경 서버(100)측에서 동작하는 개발 환경 서비스부(125)를 제어한다. 예컨대, 개발 환경 서비스 제어부(124)는, 클라이언트 환경 관리부(201)를 경유하여 개발 환경 서비스부(125)가 호출된 경우의 개발 환경 서비스부(125)의 동작을 제어한다.
프로그램 리포지토리(121)는, 프로그램 ID(프로그램 식별자)에 대응지어진 프로그램을 저장한다. 프로그램 리포지토리(121)는, 프로그램과, 프로그램을 고유하게 식별하는 프로그램 ID를 대응지어서 기억 장치에 기억하는 프로그램 기억부의 일례이다.
프로그램 관리부(120)는, 클라이언트 환경 관리부(201)로부터, 웹 서버부(118), 스테이트 제어부(117), 서버 환경 관리부(116)를 통해서, 유저에 의해 선택된 프로그램 ID를 포함하는 프로그램의 개발 요구를 수신한다. 프로그램 관리부(120)는, 유저에 의해 선택된 프로그램 ID에 근거하여, 프로그램 리포지토리(121)로부터 프로그램을 취득한다. 프로그램 관리부(120)는, 취득한 프로그램을 로그인시에 작성된 유저 작업 영역(126)에 전개한다.
도 4는 본 실시의 형태와 관련되는 개발 환경 서버(100), 클라이언트 단말(200)의 하드웨어 구성의 일례를 나타내는 도면이다.
도 4를 이용하여, 개발 환경 서버(100), 클라이언트 단말(200)의 하드웨어 구성예에 대하여 설명한다.
개발 환경 서버(100), 클라이언트 단말(200)은 컴퓨터이고, 개발 환경 서버(100), 클라이언트 단말(200)의 각 요소를 프로그램으로 실현할 수 있다.
개발 환경 서버(100), 클라이언트 단말(200)의 하드웨어 구성으로서는, 버스에, 연산 장치(901), 외부 기억 장치(902), 주 기억 장치(903), 통신 장치(904), 입출력 장치(905)가 접속되어 있다.
연산 장치(901)는, 프로그램을 실행하는 CPU(Central Processing Unit)이다.
외부 기억 장치(902)는, 예컨대 ROM(Read Only Memory)이나 플래시 메모리, 하드 디스크 장치이다.
주 기억 장치(903)는, RAM(Random Access Memory)이다.
통신 장치(904)는, 예컨대 통신 보드 등이고, LAN(Local Area Network) 등에 접속되어 있다. 통신 장치(904)는, LAN에 한정되지 않고, IP-VPN(Internet Protocol Virtual Private Network), 광역 LAN, ATM(Asynchronous Transfer Mode) 네트워크라고 하는 WAN(Wide Area Network), 혹은, 인터넷에 접속되어 있더라도 상관없다. LAN, WAN, 인터넷은, 네트워크의 일례이다.
입출력 장치(905)는, 예컨대 마우스, 키보드, 디스플레이 장치 등이다. 마우스 대신에, 터치 패널, 터치 패드, 트랙볼, 펜 태블릿, 혹은, 그 외의 포인팅 디바이스가 이용되더라도 좋다. 디스플레이 장치는, LCD(Liquid Crystal Display), CRT(Cathode Ray Tube), 혹은, 그 외의 표시 장치이더라도 좋다.
프로그램은, 통상은 외부 기억 장치(902)에 기억되어 있고, 주 기억 장치(903)에 로드된 상태에서, 순차적으로 연산 장치(901)에 읽혀, 실행된다.
프로그램은, 도 1에 나타내는 「~부」로서 설명하고 있는 기능을 실현하는 프로그램이다.
또한, 외부 기억 장치(902)에는 오퍼레이팅 시스템(OS)도 기억되어 있고, OS의 적어도 일부가 주 기억 장치(903)에 로드되어, 연산 장치(901)는 OS를 실행하면서, 도 1에 나타내는 「~부」의 기능을 실현하는 프로그램을 실행한다.
또한, 어플리케이션 프로그램도 외부 기억 장치(902)에 기억되어 있고, 주 기억 장치(903)에 로드된 상태에서, 순차적으로 연산 장치(901)에 의해 실행된다.
또한, 「~테이블」 등의 정보도 외부 기억 장치(902)에 기억되어 있다.
또한, 본 실시의 형태의 설명에 있어서, 「~의 판단」, 「~의 판정」, 「~의 추출」, 「~의 검지」, 「~의 설정」, 「~의 등록」, 「~의 선택」, 「~의 생성」, 「~의 입력」, 「~의 출력」 등으로서 설명하고 있는 처리의 결과를 나타내는 정보나 데이터나 신호치나 변수치가 주 기억 장치(903)에 파일로서 기억되어 있다.
또한, 개발 환경 서버(100), 클라이언트 단말(200)이 수신한 데이터가 주 기억 장치(903)에 기억된다.
또한, 암호 키ㆍ복호 키나 난수치나 파라미터가, 주 기억 장치(903)에 파일로서 기억되더라도 좋다.
또, 도 4의 구성은, 어디까지나 개발 환경 서버(100), 클라이언트 단말(200)의 하드웨어 구성의 일례를 나타내는 것이고, 개발 환경 서버(100), 클라이언트 단말(200)의 하드웨어 구성은 도 4에 기재된 구성으로 한정되지 않고, 다른 구성이더라도 좋다.
도 5는 본 실시의 형태와 관련되는 개발 환경 시스템(500)에 의한 개발 환경 제공 처리 및 프로그램 개발 처리의 동작을 나타내는 플로차트이다.
도 5를 이용하여, 개발 환경 서버(100) 및 클라이언트 단말(200)의 개발 환경 제공 처리(개발 환경 제공 방법) 및 프로그램 개발 처리(프로그램 개발 방법)의 동작에 대하여 설명한다.
S101에 있어서, 클라이언트 환경 관리부(201)는, 유저에 의한 로그인을 접수한다.
S201에 있어서, 웹 서버부(118)는, 클라이언트 환경 관리부(201)로부터의 로그인 요구를 접수하여, 유저 ID와 패스워드를 인증ㆍ인가부(112)에 건네준다. 인증ㆍ인가부(112)는, 유저 ID와 패스워드를 받아, 유저 정보 테이블(113)을 참조하여, 유저를 인증한다.
S202에 있어서, 유저 관리부(111)는, 유저의 인증이 완료되면, 서버 환경 관리부(116)에 대하여 유저용 작업 영역(126)의 작성을 의뢰한다. 작업 영역 관리부(119)는, 서버 환경 관리부(116)로부터 입력한 유저 ID에 근거하여, 유저 ID에 고유하게 대응하는 이름을 갖는 작업 영역(126)을 작성한다.
S102에 있어서, 유저가 클라이언트 단말(200)의 클라이언트 환경 관리부(201)를 통해서 개발 환경을 선택한다. 클라이언트 환경 관리부(201)는, 선택된 개발 환경의 개발 환경 ID를 포함하는 이용 요구를 개발 환경 서버(100)에 대하여 송신한다.
유저가 이용하는 개발 환경의 종류, 개발 환경의 버전을 변경하고 싶은 경우에는, 유저는 개발 환경을 다시 선택한다.
S203에 있어서, 개발 환경 관리부(122)는, 클라이언트 환경 관리부(201)에 의해 송신된 이용 요구에 포함되는 개발 환경 ID를 취득한다. 개발 환경 관리부(122)는, 취득한 개발 환경 ID에 근거하여, 개발 환경 리포지토리(123)로부터 개발 환경을 추출한다. 개발 환경은, 개발 환경 서비스부(125)와 개발 환경 클라이언트부(202)를 포함한다.
개발 환경 관리부(122)는, 추출한 개발 환경에 포함되는 개발 환경 서비스부(125)를 개발 환경 서버(100)측에 배치한다. 또한, 개발 환경 관리부(122)는, 클라이언트 환경 관리부(201)에 개발 환경 클라이언트부(202)를 송신한다.
S103에 있어서, 클라이언트 환경 관리부(201)는, 개발 환경 관리부(122)에 의해 송신된 개발 환경 클라이언트부(202)를 수신한다. 클라이언트 환경 관리부(201)는, 수신한 개발 환경 클라이언트부(202)를 클라이언트 단말(200)에 인스톨한다.
다음으로, 개발 환경 시스템(500)의 개발 환경 제공 처리에 의해 이용 가능하게 된 개발 환경을 이용하여, 프로그램을 개발하는 프로그램 개발 처리에 대하여 설명한다.
S104에 있어서, 유저가 클라이언트 단말(200)측의 클라이언트 환경 관리부(201)에서 개발하는 프로그램을 선택한다. 클라이언트 환경 관리부(201)는, 선택된 프로그램의 프로그램 ID를 포함하는 개발 요구를 개발 환경 서버(100)에 대하여 송신한다.
S204에 있어서, 프로그램 관리부(120)는, 클라이언트 환경 관리부(201)에 의해 송신된 개발 요구를 수신한다. 프로그램 관리부(120)는, 수신한 개발 요구에 포함되는 프로그램 ID에 근거하여, 프로그램 리포지토리(121)로부터 프로그램을 취득한다. 프로그램 관리부(120)는, 취득한 프로그램을, 로그인시에 작성된 작업 영역(126)에 저장한다.
S105에 있어서, 클라이언트 단말(200)측에 인스톨된 개발 환경 클라이언트부(202)가 기동된다. 유저는, 기동된 개발 환경 클라이언트부(202)의 유저 인터페이스 기능을 이용하여, 프로그램의 제작ㆍ편집을 행할 수 있다. 기동된 개발 환경 클라이언트부(202)에서는, 프로그램을 개발하는 것이 가능한 상태가 되어 있다. 개발 환경 클라이언트부(202)의 기동 후에 다른 프로그램을 읽어 들이는 것도 가능하다.
유저에 의한 프로그램의 편집은, 클라이언트 단말(200)측의 개발 환경 클라이언트부(202) 안에서 처리된다.
한편, 유저가, 프로그램의 컴파일 등의 개발 환경 서버(100)측에서 처리해야 할 개발 환경 서비스 처리를 요구하는 조작을 행하면, 개발 환경 서버(100)측의 개발 환경 서비스부(125)가 동작하여, 개발 환경 서비스 처리를 실행한다. 개발 환경 서비스부(125)는, 컴파일 처리, 디버그 처리 등의 서버측 처리마다 서비스 처리 블록을 갖는다.
S205에 있어서, 개발 환경 서비스부(125)는, 유저로부터 요구된 개발 환경 서비스 처리에 해당하는 서비스 처리 블록을 호출하여, 서버측에서 처리를 행한다. 개발 환경 서비스부(125)는, 서비스 처리 블록의 실행 결과만을 클라이언트 단말(200)측에 돌려보낸다.
S106에 있어서, 개발 환경 클라이언트부(202)는, 유저로부터의 프로그램의 보존 조작을 접수한다. 개발 환경 클라이언트부(202)는, 프로그램의 보존 요구를 개발 환경 서버(100)에 송신한다.
S206에 있어서, 개발 환경 서비스부(125)는, 작업 영역(126)의 프로그램이 저장된 파일에 대하여, 클라이언트 단말(200)측에서의 변경 내용을 반영한다. S106에서의 유저에 의한 보존 조작시에, 유저가 버전 등록을 행하는 경우는, 클라이언트 환경 관리부(201)는, 유저로부터의 버전 등록 조작을 접수한다. 프로그램 관리부(120)는, 작업 영역(126)으로의 프로그램의 보존이 완료된 후에, 작업 영역(126)상의 프로그램의 파일을 프로그램 리포지토리(121)에 등록한다. 파일 단위로 등록하더라도 좋고, 폴더 단위로 등록하더라도 좋다. 프로그램 관리부(120)는, 초회 이후의 등록시에는, 프로그램에 있어서 변경이 있었던 차분만을 등록한다.
이상으로, 개발 환경 시스템(500)에 의한 개발 환경 제공 처리 및 프로그램 개발 처리에 대한 설명을 끝낸다.
이상과 같이, 본 실시의 형태와 관련되는 개발 환경 시스템(500)에 의하면, 작업 영역 관리부(119)는, 유저 ID에 대하여 고유하게 되는 디렉토리명의 작업 영역(126)을 작성한다. 이 때문에, 개발 환경 시스템(500)에서는, 복수 유저가 작업 영역(126)에 동시에 액세스하더라도 경합하는 일은 없다.
프로그램 관리부(120)는, 프로그램 리포지토리(121)로부터 유저마다의 작업 영역(126)에 프로그램을 카피하고, 유저는 작업 영역(126)에 카피된 프로그램을 편집한다. 이 때문에, 동일한 프로그램을 복수의 유저가 동시에 편집하는 것이 가능하다.
프로그램 관리부(120)가 프로그램의 변경을 프로그램 리포지토리(121)에 등록하는 경우, 다른 유저에 의해 다른 변경이 이미 등록되어, 변경 부분이 경합하는 경우가 있다. 프로그램 관리부(120)는, 파일 단위로 변경 상황을 관리하고 있으므로, 변경 부분의 경합을 검출할 수 있다.
예컨대, 프로그램 관리부(120)는, 파일의 경합을 검출한 경우에는, 그것을 유저에게 통지한다. 경합의 검출이 유저에게 통지된 경우, 유저는 다음의 3가지의 처리가 가능하다.
1번째는, 유저는, 경합을 무시하고 변경 부분을 등록한다. 2번째는, 유저는, 다른 유저의 변경을 유지하면서 자신의 변경이 반영 가능하면, 변경을 반영하여 등록한다. 3번째는, 유저는, 자신의 변경을 다른 버전으로서 등록한다.
유저는, 상기와 같은 경합을 막기 위해, 최초로 프로그램을 취득한 경우에, 프로그램을 락하여, 다른 유저가 취득할 수 없게 한다. 혹은, 유저는, 최초로 프로그램을 취득한 경우, 다른 유저의 권한이 프로그램에 대하여 읽기 전용이 되도록 하여, 다른 유저가 편집할 수 없게 한다.
이상과 같이, 본 실시의 형태와 관련되는 개발 환경 시스템(500)에 의하면, 개발 환경의 버전 관리와, 소프트웨어의 버전에 따른 개발 환경의 교체와, 동일 프로그램에 대한 복수 유저의 동시 개발을 실현하여, 대규모 프로그램의 개발 효율을 향상시킨다.
실시의 형태 2.
본 실시의 형태에서는, 주로, 실시의 형태 1과의 차이에 대하여 설명한다.
실시의 형태 1에서 설명한 구성부와 동일한 기능을 갖는 구성부에 대해서는, 동일한 부호를 붙이고, 그 설명을 생략하는 경우가 있다.
도 6은 본 실시의 형태와 관련되는 개발 환경 시스템(500a)의 블록 구성을 나타내는 도면이다.
본 실시의 형태에서는, 실시의 형태 1에 더하여, 액세스권 테이블(130), 액세스권 관리부(131)를 구비한다.
도 7은 본 실시의 형태와 관련되는 액세스권 테이블(130)의 구성을 나타내는 도면이다.
도 7에 나타내는 바와 같이, 액세스권 테이블(130)(액세스권 정보)은, 유저 정보 액세스권 테이블(1301), 프로그램 액세스권 테이블(1302)을 구비한다. 액세스권 테이블(130)(액세스권 정보)은, 액세스권 정보 기억부의 일례이다.
유저 정보 액세스권 테이블(1301)은, 주체의 유저 ID, 대상의 유저 ID, 액세스권이 대응지어져 저장되어 있다. 주체의 유저 ID는, 액세스하는 측의 유저의 유저 ID이다. 대상의 유저 ID는, 액세스되는 측의 유저의 유저 ID이다. 액세스권은, 읽기, 변경 등의 권한이다. 유저 정보 액세스권 테이블(1301)은, 유저 정보 테이블(113)에 대한 액세스 제어를 행할 때에 이용된다.
프로그램 액세스권 테이블(1302)은, 주체의 유저 ID, 대상의 프로그램 ID, 액세스권이 대응지어져 저장되어 있다. 주체의 유저 ID는, 액세스하는 측의 유저의 유저 ID이다. 대상의 프로그램 ID는, 액세스되는 측의 프로그램의 프로그램 ID이다. 액세스권은, 읽기, 변경 등의 권한이다. 프로그램 액세스권 테이블(1302)은, 프로그램에 대한 액세스 제어를 행할 때에 이용된다.
액세스권 관리부(131)는, 클라이언트 환경 관리부(201)로부터 액세스권의 변경 요구를 수신한다. 액세스권 관리부(131)는, 유저 정보 액세스권 테이블(1301)과 프로그램 액세스권 테이블(1302)에 근거하여, 액세스권의 변경 요구에 따른 액세스권의 변경을 실행한다.
유저 U001이 유저 U002로의 읽기 권한을 갖고 있는 경우, 유저 U001은, 유저 정보 테이블(113)에 의해 유저 U002가 존재하는 것을 알 수 있다. 한편, 유저 U004가 있다고 하더라도, 유저 U001이 유저 U004로의 읽기 권한을 갖고 있지 않은 경우, 유저 정보 테이블(113)에 의해서는 그 존재를 알 수 없다.
유저는, 유저 정보 테이블(113)에 다른 유저를 등록할 수 있고, 등록한 유저에 대해서는 변경 권한을 갖는다. 유저 U001이 유저 U002를 유저 정보 테이블(113)에 등록한 경우, 유저 U001은, 유저 U002에 대하여 변경 권한을 갖고, 유저 U002의 유저 정보 테이블(113)을 변경하는 것, 유저 U002를 삭제하는 것 등을 할 수 있다.
유저 U001이 프로그램 P001의 변경 권한을 갖고 있는 경우, 유저 U001은 프로그램 P001의 편집을 할 수 있다. 유저 U002가 프로그램 P001에 대하여 읽기 권한밖에 갖고 있지 않은 경우, 유저 U002는, 프로그램 P001을 열람할 수는 있지만 편집할 수는 없다. 유저가 프로그램을 작성하면, 그 유저는 작성한 프로그램에 대하여 변경 권한을 갖는다.
예컨대, 개발 환경 서버(100)가 클라이언트 단말(200)로부터 프로그램의 개발 요구를 수신한 경우에 대하여 설명한다. 액세스권 관리부(131)는, 액세스권 테이블(130)의 프로그램 액세스권 테이블(1302)에 근거하여, 개발 요구를 송신한 유저의 프로그램에 대한 액세스권을 참조한다. 액세스권이 변경인 경우는, 프로그램의 개발 처리를 속행하고, 프로그램 관리부(120)는 프로그램을 작업 영역(126)에 전개한다. 액세스권이 읽기인 경우는, 프로그램의 읽기 권한밖에 없는 것을 클라이언트 단말(200)에 통지한다. 혹은, 액세스권이 읽기인 경우, 프로그램 관리부(120)는 프로그램을 작업 영역(126)에 전개하고, 그 후 프로그램의 변경 요구를 수신한 경우에, 프로그램의 읽기 권한밖에 없는 것을 클라이언트 단말(200)에 통지한다.
이상과 같이, 액세스권을 변경하는 조작과, 액세스권의 조작에 대한 권한을 도입하면, 유저 정보나 프로그램에 대한 액세스권을 타인에게 부여하는 것이 가능하게 된다. 액세스권의 조작에 대한 권한에는, 읽기, 변경 등의 권한이 있다. 액세스권의 조작 권한도 유저 정보 액세스권 테이블(1301), 프로그램 액세스권 테이블(1302)에 도입하는 것이 가능하다.
이상의 구성에 의해, 유저에 대하여 프로그램 조작에 관한 적절한 권한을 부여하여, 필요한 정보를 개시할 수 있어, 개발 효율이 향상된다.
실시의 형태 3.
본 실시의 형태에서는, 주로, 실시의 형태 2와의 차이에 대하여 설명한다.
실시의 형태 1, 2에서 설명한 구성부와 동일한 기능을 갖는 구성부에 대해서는, 동일한 부호를 붙이고, 그 설명을 생략하는 경우가 있다.
도 8은 본 실시의 형태와 관련되는 개발 환경 시스템(500b)의 블록 구성을 나타내는 도면이다.
본 실시의 형태에서는, 실시의 형태 2에 더하여, 개발 환경 서버(100)는, 코드 단위 액세스권 테이블(132)(코드 단위 액세스권 정보)을 구비한다. 또한, 실시의 형태 2에 더하여, 클라이언트 단말(200)의 개발 환경 클라이언트부(202)는, 코드 단위 액세스 제어부(203)를 구비한다. 코드 단위 액세스권 테이블(132)은, 코드 단위 액세스권 기억부의 일례이다.
도 9는 본 실시의 형태와 관련되는 코드 단위 액세스권 테이블(132)의 구성을 나타내는 도면이다.
코드 단위 액세스권 테이블(132)은, 주체의 유저 ID, 대상의 프로그램 ID, 액세스하는 프로그램 부위, 코드 단위 액세스권이 대응지어져 저장되어 있다. 주체의 유저 ID는, 액세스하는 측의 유저의 유저 ID이다. 대상의 프로그램 ID는, 액세스되는 측의 프로그램의 프로그램 ID이다. 코드 단위 액세스권은, 읽기 불가, 변경, 추가 등의 권한이다. 프로그램 부위는, 프로그램 중의 상수, 코드의 범위 등이다.
코드 단위 액세스 제어부(203)는, 코드 단위 액세스권 테이블(132)에 근거하여, 유저의 프로그램 부위에 대한 코드 단위 액세스권에 따른 프로그램의 개발 처리의 인터페이스 제어를 실행한다.
코드 단위 액세스 제어부(203)는, 로그인한 유저의 코드 단위 액세스권을 검출한다. 코드 단위 액세스 제어부(203)는, 코드 단위 액세스권에 따라 에디터를 제어하고, 읽기 불가 권한이 있는 부위를 볼 수 없게 하거나, 변경 권한이 없는 부위를 편집 불가로 하는 등의 인터페이스 제어를 실행한다.
도 10은 본 실시의 형태와 관련되는 코드 단위 액세스 제어부(203)에 의한 래더 프로그램 개발에 있어서의 상수 변경의 예를 나타내는 도면이다. 도 11은 본 실시의 형태와 관련되는 코드 단위 액세스 제어부(203)에 의한 래더 프로그램 개발에 있어서의 코드 추가의 예를 나타내는 도면이다.
도 9의 코드 단위 액세스권 테이블(132)에 나타내는 바와 같이, 유저 U002는 프로그램 P001의 「상수 K10」에 대하여 변경 권한이 있다. 또한, 도 7의 프로그램 액세스권 테이블(1302)에 나타내는 바와 같이, 유저 U002는, 프로그램 P001에 대하여 읽기 권한밖에 갖고 있지 않다. 본 실시의 형태에서는, 유저 U002가 프로그램 P001에 대하여 읽기 권한밖에 갖고 있지 않더라도, 「상수 K10」의 값만은 화면상에서 변경하는 것이 가능하다.
도 10은 시퀀서의 제어를 행하는 프로그래밍 언어인 래더 프로그램에 있어서, 상수 K10을 변경하는 모습을 나타내고 있다. 도 10에서는, 유저 U002는, 상수 K10(루프 횟수)만을 변경할 수 있다.
도 9의 코드 단위 액세스권 테이블(132)에 나타내는 바와 같이, 유저 U003은 프로그램 P001에 대하여, 추가 권한을 갖고 있다. 또한, 도 7의 프로그램 액세스권 테이블(1302)에 나타내는 바와 같이, 유저 U003은, 프로그램 P001에 대하여 읽기 권한밖에 갖고 있지 않다. 이 경우, 유저 U003은 프로그램 P001의 기존 코드는 변경할 수 없지만, 신규로 코드를 추가할 수 있다.
도 11은 래더 프로그램에 있어서, 코드를 추가하는 모습을 나타내고 있다. 도 11과 같이, 유저 U003은, 점선 부분의 기존 코드는 변경할 수 없지만, 하단에 신규로 코드를 추가할 수는 있다. 단, 유저 U003은, 코드 단위 액세스권 테이블(132)에 있어서 읽기 불가인 코드를 참조한 코드를 추가할 수는 없다.
코드 단위 액세스권에 관하여, 읽기 불가, 변경, 추가의 권한에 대한 설명을 행했다. 코드 단위 액세스권에 관하여, 그 외에, 읽기, 변경 불가 등의 권한을 설정할 수 있도록 하더라도 좋다. 코드 단위 액세스권의 정의를 모순 없이 간결하게 기술할 수 있는 권한을 준비하고, 이와 같은 코드 단위 액세스권을 설정할 수 있다.
코드의 변경 패턴에 관하여, 상수명(K10)을 지정한 변경에 관하여 설명했다. 코드의 변경 패턴에 관하여, 그 외에, 상수 전반을 지정하는 변경 패턴, 정규 표현으로 지정하는 변경 패턴, 상수의 상한, 하한 등 설정 가능한 범위를 제한하는 변경 패턴이더라도 좋다.
이상과 같이, 본 실시의 형태와 관련되는 개발 환경 시스템(500b)에 의하면, 프로그램 로직의 변경은 허가하지 않지만, 상수의 변경에 의한 미조정은 허가하는 유연한 액세스 제어가 가능하다. 예컨대, 프로그램의 변경을 허가하고 싶지 않지만, 엔드 유저나 보수 요원에 대하여, 상수의 변경에 의한 조정만을 허가하는 것에 의해, 보수성이나 개발 효율을 향상시킨다.
실시의 형태 4.
본 실시의 형태에서는, 주로, 실시의 형태 3과의 차이에 대하여 설명한다.
실시의 형태 1~3에서 설명한 구성부와 동일한 기능을 갖는 구성부에 대해서는, 동일한 부호를 붙이고, 그 설명을 생략하는 경우가 있다.
도 12는 본 실시의 형태와 관련되는 개발 환경 시스템(500c)의 블록 구성을 나타내는 도면이다. 도 13은 본 실시의 형태와 관련되는 편집 이력 테이블(133)의 구성을 나타내는 도면이다.
도 12에 나타내는 바와 같이, 본 실시의 형태와 관련되는 개발 환경 시스템(500c)에서는, 실시의 형태 3의 구성에 더하여, 편집 이력 테이블(133)(편집 이력 정보)을 구비한다. 편집 이력 테이블(133)은, 편집 이력 정보 기억부의 일례이다.
도 13에 나타내는 바와 같이, 편집 이력 테이블(133)은, 날짜, 유저 ID, 개발 환경 ID, 프로그램 ID, 편집 개소로 구성된다. 날짜에는, 개발 환경 시스템(500c)을 조작한 날과 시간이 저장된다. 유저 ID에는, 조작한 유저의 유저 ID가 저장된다. 개발 환경 ID에는, 조작시에 사용하고 있던 개발 환경의 개발 환경 ID가 저장된다. 프로그램 ID에는, 조작시에 사용하고 있던 프로그램의 프로그램 ID가 저장된다. 편집 개소에는, 편집을 행한 프로그램의 코드의 위치가 기록된다.
코드 단위 액세스 제어부(203)는, 유저가 지정한 입도(granularity)(함수나 블록 단위)로 유저의 편집 개소를 검출하고, 편집 이력 테이블(133)에 기록한다. 코드 단위 액세스 제어부(203)는, 편집 이력 테이블(133)에 편집 개소를 기록할 때마다, 다른 유저가 동일한 프로그램의 동일한 편집 개소를 편집하고 있지 않은지를 체크한다. 코드 단위 액세스 제어부(203)는, 다른 유저가 동일한 프로그램의 동일한 편집 개소를 편집하고 있었다고 판단하면, 편집의 중지를 편집 중의 유저에게 통지한다.
편집 개소가 코드의 행 번호로 지정되는 방법에 대하여 설명했다. 편집 개소로서는, 그 외에, 패키지, 함수 등, 코드의 부위를 특정할 수 있는 다른 지정 방법도 적용할 수 있다.
이상과 같이, 본 실시의 형태와 관련되는 개발 환경 시스템(500c)에 의하면, 복수 유저에 의한 동시 개발의 효율을 향상시킨다.
실시의 형태 5.
본 실시의 형태에서는, 주로, 실시의 형태 4와의 차이에 대하여 설명한다.
실시의 형태 1~4에서 설명한 구성부와 동일한 기능을 갖는 구성부에 대해서는, 동일한 부호를 붙이고, 그 설명을 생략하는 경우가 있다.
도 14는 본 실시의 형태와 관련되는 개발 환경 시스템(500d)의 블록 구성을 나타내는 도면이다. 도 15는 본 실시의 형태와 관련되는 편집 락(lock) 테이블(134)의 구성을 나타내는 도면이다.
도 14에 나타내는 바와 같이, 본 실시의 형태와 관련되는 개발 환경 시스템(500d)에서는, 실시의 형태 4의 구성에 더하여, 편집 락 테이블(134)(편집 락 정보)을 구비한다. 편집 락 테이블(134)은, 편집 락 정보 기억부의 일례이다.
도 15에 나타내는 바와 같이, 편집 락 테이블(134)은, 프로그램 ID, 락 개소로 구성된다. 도 15에 나타내는 편집 락 테이블(134)은, 프로그램 P001의 10행째는, 락되어 있는 것을 나타낸다.
액세스권 관리부(131)는, 어느 유저가 프로그램에 있어서 락 개소로 지정된 코드를 편집하면, 편집 락 테이블(134)에 기록한다. 이것에 의해, 다른 유저에 의한 프로그램의 락 개소의 편집은, 락된다.
코드 단위 액세스 제어부(203)는, 유저에 의해 프로그램이 편집되면, 편집 락 정보 기억부에 의해 기억된 편집 락 정보에 근거하여, 해당 프로그램의 편집 개소가 락 개소로 되어 있는지 여부를 판정한다. 락되어 있지 않으면, 코드 단위 액세스 제어부(203)는, 해당 프로그램의 편집 개소를 편집 락 테이블(134)에 기록한다. 락되어 있는 경우는, 코드 단위 액세스 제어부(203)는, 해당 프로그램의 편집이 락되어 있는 것을 해당 유저에게 통지한다.
락 개소가 코드의 행 번호로 지정되는 방법을 설명했지만, 패키지나 함수 등, 코드의 부위를 특정할 수 있는 다른 지정 방법도 가능하다.
이상의 구성에 의해, 코드 레벨에서의 유연한 액세스 제어를 가능하게 하여, 보수성이나 개발 효율이 향상된다.
실시의 형태 6.
본 실시의 형태에서는, 주로, 실시의 형태 1과의 차이에 대하여 설명한다.
실시의 형태 1에서 설명한 구성부와 동일한 기능을 갖는 구성부에 대해서는, 동일한 부호를 붙이고, 그 설명을 생략하는 경우가 있다.
도 16은 본 실시의 형태와 관련되는 개발 환경 시스템(500e)의 블록 구성을 나타내는 도면이다. 도 17은 본 실시의 형태와 관련되는 조작 이력 테이블(135)의 구성을 나타내는 도면이다.
도 16에 나타내는 바와 같이, 본 실시의 형태와 관련되는 개발 환경 시스템(500e)에서는, 실시의 형태 1의 구성에 더하여, 조작 이력 테이블(135)(조작 이력 정보)을 구비한다. 조작 이력 테이블(135)은, 조작 이력 정보 기억부의 일례이다.
도 17에 나타내는 바와 같이, 조작 이력 테이블(135)은, 날짜, 유저 ID, 개발 환경 ID, 프로그램 ID, 제어 장치 ID, 조작으로 구성된다. 날짜에는, 유저가 제어 장치(단말측 기억 기기)에 대하여 조작한 조작 일시가 저장된다. 유저 ID에는, 조작한 유저의 유저 ID가 저장된다. 개발 환경 ID에는, 조작시에 사용하고 있던 개발 환경의 개발 환경 ID가 저장된다. 프로그램 ID에는, 조작의 대상인 프로그램의 프로그램 ID가 저장된다. 제어 장치 ID에는, 조작을 행한 대상의 제어 장치(300)의 제어 장치 ID(단말측 기억 기기 식별자)가 저장된다. 조작에는, 조작에 의해 실행된 처리의 내용이 저장된다.
제어 장치(300)로의 프로그램의 기록 처리가 행해진 경우는, 기록 처리가 실행된 경우의 일시, 유저 ID, 개발 환경 ID, 프로그램 ID, 제어 장치 ID, 조작의 내용인 기록 조작이 조작 이력 테이블(135)에 기록된다.
조작 이력 테이블(135)로의 기록 처리는, 네트워크(400)를 경유하여, 클라이언트 단말(200)로부터 개발 환경 서버(100)측에 기록된다. 이 때문에, 이력의 입도는 네트워크 지연을 고려하여 기록 처리를 하는 유저가 설정할 수 있도록 한다. 단, 제어 장치(300)로의 기록 처리 등과 같은 이력에 남겨야 할 처리는, 유저의 설정에 관계없이 반드시 기록하도록 하더라도 좋다.
조작 이력 테이블(135)은, 서버 환경 관리부(116)를 경유하여, 유저가 열람 가능하게 한다.
본 실시의 형태와 관련되는 개발 환경 시스템(500e)에 의하면, 개발 환경, 프로그램, 제어 장치 등의 트레이서빌리티를 높여, 보수성이나 개발 효율을 향상시킨다.
실시의 형태 7.
본 실시의 형태에서는, 주로, 실시의 형태 6과의 차이에 대하여 설명한다.
실시의 형태 6에서 설명한 구성부와 동일한 기능을 갖는 구성부에 대해서는, 동일한 부호를 붙이고, 그 설명을 생략하는 경우가 있다.
본 실시의 형태에서는, 유저가 프로그램의 개발을 시작할 때에, 클라이언트 단말(200)에 제어 장치(300)를 접속하는 것에 의해, 복원하고 싶은 시점의 프로그램의 개발 환경, 프로그램의 상태를 자동적으로 복원할 수 있는 구조에 대하여 설명한다.
도 18은 본 실시의 형태와 관련되는 개발 환경 시스템(500f)의 블록 구성을 나타내는 도면이다. 도 18에 나타내는 바와 같이, 본 실시의 형태와 관련되는 개발 환경 시스템(500f)에서는, 실시의 형태 6의 구성에 더하여, 클라이언트 단말(200)에 개발 환경 복원부(204)를 구비한다.
개발 환경 복원부(204)는, 제어 장치(300)가 클라이언트 단말(200)에 접속되면, 제어 장치(300)를 검출한다. 개발 환경 복원부(204)는, 제어 장치(300)를 검출하면, 개발 환경 서버(100)측의 서버 환경 관리부(116)를 호출한다. 개발 환경 복원부(204)는, 호출한 서버 환경 관리부(116)에 대하여, 제어 장치(300)에 기록된 프로그램의 정보를 포함하는 복원 요구를 송신한다.
서버 환경 관리부(116)는, 복원 요구를 수신하면, 복원 요구에 포함되는 프로그램의 정보에 근거하여, 조작 이력 테이블(135) 등을 검색한다. 서버 환경 관리부(116)는, 제어 장치(300)에 기록되었을 때의 개발 환경, 프로그램의 상태 등을 검출한다. 서버 환경 관리부(116)는, 검출한 개발 환경, 프로그램의 상태 등을, 클라이언트 단말(200)측에 복원한다. 기본적으로는 프로그램이 기록된 시점의 개발 환경 등을 복원하지만, 임의의 시점의 개발 환경 등을 복원할 수도 있다.
이상과 같이, 본 실시의 형태와 관련되는 개발 환경 시스템(500f)에 의하면, 클라이언트 단말(200)에 제어 장치(300)를 접속하는 것만으로, 프로그램의 개발시의 환경을 자동 복원할 수 있기 때문에, 보수성이나 개발 효율이 향상된다.
실시의 형태 8.
본 실시의 형태에서는, 주로, 실시의 형태 1~7과의 차이에 대하여 설명한다.
실시의 형태 1~7에서 설명한 구성부와 동일한 기능을 갖는 구성부에 대해서는, 동일한 부호를 붙이고, 그 설명을 생략하는 경우가 있다.
도 19는 본 실시의 형태와 관련되는 개발 환경 시스템(500g)의 블록 구성을 나타내는 도면이다. 개발 환경 시스템(500g)은, 실시의 형태 1~7의 구성을 조합한 구성이다.
본 실시의 형태에서는, 실시의 형태 1~7의 구성을 조합한 구성의 개발 환경 시스템(500g)을 나타냈지만, 이들 실시의 형태 중, 2개 이상을 조합하여 실시하더라도 상관없다. 혹은, 이들 실시의 형태 중, 1개를 부분적으로 실시하더라도 상관없다. 혹은, 이들 실시의 형태 중, 2개 이상을 부분적으로 조합하여 실시하더라도 상관없다. 또, 본 발명은, 이들 실시의 형태로 한정되는 것이 아니고, 필요에 따라서 여러 가지의 변경이 가능하다.
상기 실시의 형태 1~7에서 설명한 블록 구성에 대해서도, 이들 실시의 형태로 한정되는 것은 아니다. 예컨대, 「웹 서버부」와 「스테이트 제어부」는 1개의 기능 블록으로 하고, 「액세스권 관리부」, 「구성 정보 관리부」, 「유저 관리부」를 1개의 기능 블록으로 하더라도 좋다. 혹은, 상기 실시의 형태 1~7에서 설명한 기능 블록을, 다른 어떠한 조합으로 개발 환경 서버(100) 및 클라이언트 단말(200)을 구성하더라도 상관없다.
100 : 개발 환경 서버
111 : 유저 관리부
112 : 인증ㆍ인가부
113 : 유저 정보 테이블
114 : 구성 정보 테이블
115 : 구성 정보 관리부
116 : 서버 환경 관리부
117 : 스테이트 제어부
118 : 웹 서버부
119 : 작업 영역 관리부
120 : 프로그램 관리부
121 : 프로그램 리포지토리
122 : 개발 환경 관리부
123 : 개발 환경 리포지토리
124 : 개발 환경 서비스 제어부
125 : 개발 환경 서비스부
126 : 작업 영역
130 : 액세스권 테이블
131 : 액세스권 관리부
132 : 코드 단위 액세스권 테이블
133 : 편집 이력 테이블
134 : 편집 락 테이블
135 : 조작 이력 테이블
200 : 클라이언트 단말
201 : 클라이언트 환경 관리부
202 : 개발 환경 클라이언트부
203 : 코드 단위 액세스 제어부
204 : 개발 환경 복원부
300 : 제어 장치
400 : 네트워크
500 : 개발 환경 시스템
901 : 연산 장치
902 : 외부 기억 장치
903 : 주 기억 장치
904 : 통신 장치
905 : 입출력 장치
1141 : 구성 관리 테이블
1142 : 프로그램 정보 테이블
1143 : 개발 환경 정보 테이블
1144 : 제어 장치 정보 테이블
1301 : 유저 정보 액세스권 테이블
1302 : 프로그램 액세스권 테이블
111 : 유저 관리부
112 : 인증ㆍ인가부
113 : 유저 정보 테이블
114 : 구성 정보 테이블
115 : 구성 정보 관리부
116 : 서버 환경 관리부
117 : 스테이트 제어부
118 : 웹 서버부
119 : 작업 영역 관리부
120 : 프로그램 관리부
121 : 프로그램 리포지토리
122 : 개발 환경 관리부
123 : 개발 환경 리포지토리
124 : 개발 환경 서비스 제어부
125 : 개발 환경 서비스부
126 : 작업 영역
130 : 액세스권 테이블
131 : 액세스권 관리부
132 : 코드 단위 액세스권 테이블
133 : 편집 이력 테이블
134 : 편집 락 테이블
135 : 조작 이력 테이블
200 : 클라이언트 단말
201 : 클라이언트 환경 관리부
202 : 개발 환경 클라이언트부
203 : 코드 단위 액세스 제어부
204 : 개발 환경 복원부
300 : 제어 장치
400 : 네트워크
500 : 개발 환경 시스템
901 : 연산 장치
902 : 외부 기억 장치
903 : 주 기억 장치
904 : 통신 장치
905 : 입출력 장치
1141 : 구성 관리 테이블
1142 : 프로그램 정보 테이블
1143 : 개발 환경 정보 테이블
1144 : 제어 장치 정보 테이블
1301 : 유저 정보 액세스권 테이블
1302 : 프로그램 액세스권 테이블
Claims (13)
- 프로그램의 개발에 이용하는 작업 영역의 확보를 요구하는 확보 요구로서, 유저를 식별하는 유저 정보를 포함하는 확보 요구와, 상기 프로그램의 개발에 이용하는 개발 환경의 이용을 요구하는 이용 요구로서, 상기 개발 환경을 식별하는 개발 환경 식별자와 상기 유저를 식별하는 상기 유저 정보를 포함하는 이용 요구를 송신하는 단말측 송신부를 구비하는 단말 장치와,
상기 단말측 송신부로부터, 상기 확보 요구를 수신하고, 수신한 상기 확보 요구에 포함되는 상기 유저 정보에 대응하는 유저 작업 영역을 처리 장치에 의해 확보하는 확보부와, 상기 개발 환경과, 상기 개발 환경을 식별하는 상기 개발 환경 식별자를 대응지어서 기억 장치에 기억하는 개발 환경 기억부와, 상기 단말측 송신부로부터 상기 이용 요구를 수신하고, 수신한 상기 이용 요구에 포함되는 상기 개발 환경 식별자에 대응하는 상기 개발 환경을 상기 개발 환경 기억부로부터 처리 장치에 의해 추출하고, 추출한 상기 개발 환경과, 상기 이용 요구에 포함되는 상기 유저 정보에 대응하는 상기 유저 작업 영역을 처리 장치에 의해 이용 가능하게 하는 개발 환경 관리부와, 상기 유저에 의해 상기 프로그램이 편집될 때, 상기 유저 이외의 유저가 상기 유저가 편집하고자 하는 편집 개소를 편집하고 있는지 여부를 판정하기 위한 정보인 편집 이력 정보로서, 날짜와, 상기 유저를 식별하는 상기 유저 정보와, 상기 개발 환경을 식별하는 상기 개발 환경 식별자와, 상기 프로그램을 식별하는 프로그램 식별자와, 상기 날짜에 상기 개발 환경을 이용하여 편집된 상기 프로그램의 편집 개소가 대응지어진 편집 이력 정보를 기억 장치에 기억하는 편집 이력 정보 기억부를 구비하는 개발 환경 장치
를 구비하고,
상기 단말 장치는, 상기 유저에 의해 상기 프로그램의 상기 편집 개소가 편집되면, 상기 편집 이력 정보 기억부에 의해 기억된 상기 편집 이력 정보에 근거하여, 상기 유저 이외의 유저가 상기 프로그램의 상기 편집 개소를 편집하고 있는지 여부를 판정하고, 편집하고 있지 않다고 판정한 경우에, 상기 날짜와, 상기 유저 정보와, 상기 개발 환경 식별자와, 상기 프로그램 식별자와, 상기 편집 개소를 상기 편집 이력 정보에 기록하고, 편집하고 있다고 판정한 경우에, 상기 프로그램의 편집의 중지를 상기 유저에게 통지하는
것을 특징으로 하는 개발 환경 시스템.
- 제 1 항에 있어서,
상기 단말 장치는, 상기 개발 환경 관리부에 의해 이용 가능하게 된 상기 개발 환경과 상기 유저 작업 영역을 이용한 상기 프로그램의 개발을 요구하는 개발 요구를 상기 개발 환경 장치에 송신하는 단말측 개발부를 더 구비하는 것을 특징으로 하는 개발 환경 시스템.
- 제 2 항에 있어서,
상기 개발 환경 기억부는, 상기 개발 환경으로서, 프로그램을 개발하는 개발 프로그램과, 상기 개발 프로그램의 유저 인터페이스인 유저 인터페이스 프로그램을 기억하고,
상기 개발 환경 관리부는, 상기 개발 프로그램을 상기 개발 환경 장치에 인스톨함과 아울러, 상기 유저 인터페이스 프로그램을 상기 단말측 개발부에 송신하고,
상기 단말측 개발부는, 상기 개발 환경 관리부로부터 송신된 상기 유저 인터페이스 프로그램을 수신하고, 수신한 상기 유저 인터페이스 프로그램을 상기 단말 장치에 인스톨하고, 인스톨한 상기 유저 인터페이스 프로그램을 처리 장치에 의해 실행하는 것에 의해 상기 개발 요구를 송신하는
것을 특징으로 하는 개발 환경 시스템.
- 제 3 항에 있어서,
상기 개발 환경 장치는,
상기 프로그램과, 상기 프로그램을 식별하는 프로그램 식별자를 대응지어서 기억 장치에 기억하는 프로그램 기억부와,
상기 단말측 송신부로부터, 상기 프로그램의 개발을 요구하는 개발 요구로서, 상기 프로그램을 식별하는 상기 프로그램 식별자를 포함하는 개발 요구를 수신하고, 수신한 상기 개발 요구에 포함되는 상기 프로그램 식별자에 대응하는 상기 프로그램을 상기 프로그램 기억부로부터 추출하고, 추출한 상기 프로그램을 상기 유저 작업 영역에 저장하는 프로그램 관리부
를 더 구비하는
것을 특징으로 하는 개발 환경 시스템.
- 제 4 항에 있어서,
상기 개발 환경 장치는, 상기 유저 정보와, 상기 프로그램 식별자와, 상기 유저에 있어서의 상기 프로그램 식별자에 의해 식별되는 상기 프로그램에 대한 액세스권이 대응지어진 액세스권 정보를 기억 장치에 기억하는 액세스권 기억부를 더 구비하고,
상기 프로그램 관리부는, 상기 액세스권 기억부에 기억된 상기 액세스권 정보에 근거하여, 상기 유저의 상기 프로그램에 대한 상기 액세스권을 처리 장치에 의해 판정하고, 상기 유저가 상기 프로그램에 대하여 변경 권한이 있다고 판정한 경우에, 상기 프로그램을 상기 프로그램 기억부로부터 추출하고, 상기 유저 작업 영역에 저장하는
것을 특징으로 하는 개발 환경 시스템.
- 제 5 항에 있어서,
상기 개발 환경 장치는, 상기 유저 정보와, 상기 프로그램 식별자와, 상기 프로그램 식별자에 의해 식별되는 상기 프로그램의 프로그램 부위와, 상기 유저에 있어서의 상기 프로그램 부위에 대한 코드 단위 액세스권이 대응지어진 코드 단위 액세스권 정보를 기억 장치에 기억하는 코드 단위 액세스권 기억부를 더 구비하고,
상기 단말측 개발부는, 상기 코드 단위 액세스권 기억부에 기억된 상기 코드 단위 액세스권 정보에 근거하여, 상기 유저의 상기 프로그램 부위에 대한 상기 코드 단위 액세스권을 처리 장치에 의해 판정하고, 판정한 상기 코드 단위 액세스권에 따라 상기 프로그램의 개발 처리의 인터페이스 제어를 실행하는 코드 단위 액세스 제어부를 구비하는
것을 특징으로 하는 개발 환경 시스템.
- 제 6 항에 있어서,
상기 코드 단위 액세스 제어부는, 상기 유저에 의해 상기 프로그램의 상기 편집 개소가 편집되면, 상기 편집 이력 정보 기억부에 의해 기억된 상기 편집 이력 정보에 근거하여, 상기 유저 이외의 유저가 상기 프로그램의 상기 편집 개소를 편집하고 있는지 여부를 처리 장치에 의해 판정하고, 편집하고 있지 않다고 판정한 경우에, 상기 날짜와, 상기 유저 정보와, 상기 개발 환경 식별자와, 상기 프로그램 식별자와, 상기 편집 개소를 상기 편집 이력 정보에 기록하고, 편집하고 있다고 판정한 경우에, 상기 프로그램의 편집의 중지를 상기 유저에게 통지하는
것을 특징으로 하는 개발 환경 시스템.
- 제 7 항에 있어서,
상기 개발 환경 장치는, 상기 프로그램을 식별하는 상기 프로그램 식별자와, 상기 프로그램의 락 개소가 대응지어진 편집 락 정보를 기억 장치에 기억하는 편집 락 정보 기억부를 더 구비하고,
상기 코드 단위 액세스 제어부는, 상기 유저에 의해 상기 프로그램이 편집되면, 상기 편집 락 정보 기억부에 의해 기억된 상기 편집 락 정보에 근거하여, 상기 프로그램을 편집한 개소가 락되어 있는지 여부를 처리 장치에 의해 판정하고, 락되어 있지 않다고 판정한 경우에, 상기 프로그램 식별자와, 상기 프로그램을 편집한 개소를 상기 편집 락 정보에 기록하고, 락되어 있다고 판정한 경우에, 상기 프로그램을 편집한 개소는 락되어 있는 것을 상기 유저에게 통지하는
것을 특징으로 하는 개발 환경 시스템.
- 제 8 항에 있어서,
상기 단말 장치는, 상기 프로그램이 기록되는 단말측 기억 기기와 접속되고,
상기 개발 환경 장치는, 상기 유저가 상기 단말측 기억 기기에 대하여 조작한 조작 일시와, 상기 유저를 식별하는 상기 유저 정보와, 상기 개발 환경을 식별하는 상기 개발 환경 식별자와, 상기 프로그램을 식별하는 상기 프로그램 식별자와, 상기 조작 일시에 조작 대상이 된 상기 단말측 기억 기기를 식별하는 단말측 기억 기기 식별자와, 상기 조작의 내용이 대응지어진 조작 이력 정보를 기억 장치에 기억하는 조작 이력 정보 기억부를 더 구비하는
것을 특징으로 하는 개발 환경 시스템.
- 제 9 항에 있어서,
상기 단말 장치는, 상기 프로그램을 개발하고 있던 시점의 상기 개발 환경과 상기 프로그램의 상태의 복원을 요구하는 복원 요구로서, 상기 단말측 기억 기기에 기억된 상기 프로그램의 정보를 포함하는 복원 요구를 상기 개발 환경 장치에 송신하는 개발 환경 복원부를 더 구비하고,
상기 개발 환경 장치는, 또한, 상기 개발 환경 복원부로부터 상기 복원 요구를 수신하고, 수신한 상기 복원 요구에 포함되는 상기 프로그램의 정보에 근거하여, 상기 조작 이력 정보 기억부에 기억된 상기 조작 이력 정보를 검색하고, 상기 프로그램을 개발하고 있던 시점의 상기 개발 환경과 상기 프로그램의 상태를 복원하는
것을 특징으로 하는 개발 환경 시스템.
- 프로그램의 개발에 이용하는 작업 영역의 확보를 요구하는 확보 요구로서, 유저를 식별하는 유저 정보를 포함하는 확보 요구와, 상기 프로그램의 개발에 이용하는 개발 환경의 이용을 요구하는 이용 요구로서, 상기 개발 환경을 식별하는 개발 환경 식별자와 상기 유저를 식별하는 상기 유저 정보를 포함하는 이용 요구를 송신하는 단말 장치로부터, 상기 확보 요구를 수신하고, 수신한 상기 확보 요구에 포함되는 상기 유저 정보에 대응하는 유저 작업 영역을 확보하는 확보부와,
상기 개발 환경과, 상기 개발 환경을 식별하는 개발 환경 식별자를 대응지어서 기억 장치에 기억하는 개발 환경 기억부와,
상기 단말 장치로부터 상기 이용 요구를 수신하고, 수신한 상기 이용 요구에 포함되는 상기 개발 환경 식별자에 대응하는 상기 개발 환경을 상기 개발 환경 기억부로부터 추출하고, 추출한 상기 개발 환경과, 상기 이용 요구에 포함되는 상기 유저 정보에 대응하는 상기 유저 작업 영역을 이용 가능하게 하는 개발 환경 관리부와,
상기 유저에 의해 상기 프로그램이 편집될 때, 상기 유저 이외의 유저가 상기 유저가 편집하고자 하는 편집 개소를 편집하고 있는지 여부를 판정하기 위한 정보인 편집 이력 정보로서, 날짜와, 상기 유저를 식별하는 상기 유저 정보와, 상기 개발 환경을 식별하는 상기 개발 환경 식별자와, 상기 프로그램을 식별하는 프로그램 식별자와, 상기 날짜에 상기 개발 환경을 이용하여 편집된 상기 프로그램의 편집 개소가 대응지어진 편집 이력 정보를 기억 장치에 기억하는 편집 이력 정보 기억부를 구비하고,
상기 단말 장치는, 상기 유저에 의해 상기 프로그램의 상기 편집 개소가 편집되면, 상기 편집 이력 정보 기억부에 의해 기억된 상기 편집 이력 정보에 근거하여, 상기 유저 이외의 유저가 상기 프로그램의 상기 편집 개소를 편집하고 있는지 여부를 판정하고, 편집하고 있지 않다고 판정한 경우에, 상기 날짜와, 상기 유저 정보와, 상기 개발 환경 식별자와, 상기 프로그램 식별자와, 상기 편집 개소를 상기 편집 이력 정보에 기록하고, 편집하고 있다고 판정한 경우에, 상기 프로그램의 편집의 중지를 상기 유저에게 통지하는
것을 특징으로 하는 개발 환경 장치.
- 프로그램의 개발에 이용하는 작업 영역의 확보를 요구하는 확보 요구로서, 유저를 식별하는 유저 정보를 포함하는 확보 요구와, 상기 프로그램의 개발에 이용하는 개발 환경의 이용을 요구하는 이용 요구로서, 상기 개발 환경을 식별하는 개발 환경 식별자와 상기 유저를 식별하는 상기 유저 정보를 포함하는 이용 요구를 단말 장치로부터 송신하고,
상기 단말 장치로부터 상기 확보 요구를 수신하고, 수신한 상기 확보 요구에 포함되는 상기 유저 정보에 대응하는 유저 작업 영역을 확보하고,
상기 단말 장치로부터 상기 이용 요구를 수신하고, 수신한 상기 이용 요구에 포함되는 상기 개발 환경 식별자에 대응하는 상기 개발 환경을, 상기 개발 환경과 상기 개발 환경을 식별하는 개발 환경 식별자를 대응지어서 기억 장치에 기억하는 개발 환경 기억부로부터 추출하고, 추출한 상기 개발 환경과, 상기 이용 요구에 포함되는 상기 유저 정보에 대응하는 상기 유저 작업 영역을 이용 가능하게 하고,
상기 유저에 의해 상기 프로그램이 편집될 때, 상기 유저 이외의 유저가 상기 유저가 편집하고자 하는 편집 개소를 편집하고 있는지 여부를 판정하기 위한 정보인 편집 이력 정보로서, 날짜와, 상기 유저를 식별하는 상기 유저 정보와, 상기 개발 환경을 식별하는 상기 개발 환경 식별자와, 상기 프로그램을 식별하는 프로그램 식별자와, 상기 날짜에 상기 개발 환경을 이용하여 편집된 상기 프로그램의 편집 개소가 대응지어진 편집 이력 정보를 기억 장치에 기억하고,
상기 단말 장치는, 상기 유저에 의해 상기 프로그램의 상기 편집 개소가 편집되면, 상기 기억 장치에 기억된 상기 편집 이력 정보에 근거하여, 상기 유저 이외의 유저가 상기 프로그램의 상기 편집 개소를 편집하고 있는지 여부를 판정하고, 편집하고 있지 않다고 판정한 경우에, 상기 날짜와, 상기 유저 정보와, 상기 개발 환경 식별자와, 상기 프로그램 식별자와, 상기 편집 개소를 상기 편집 이력 정보에 기록하고, 편집하고 있다고 판정한 경우에, 상기 프로그램의 편집의 중지를 상기 유저에게 통지하는
것을 특징으로 하는 개발 환경 제공 방법.
- 프로그램의 개발에 이용하는 작업 영역의 확보를 요구하는 확보 요구로서, 유저를 식별하는 유저 정보를 포함하는 확보 요구와, 상기 프로그램의 개발에 이용하는 개발 환경의 이용을 요구하는 이용 요구로서, 상기 개발 환경을 식별하는 개발 환경 식별자와 상기 유저를 식별하는 상기 유저 정보를 포함하는 이용 요구를 송신하는 단말 장치로부터, 상기 확보 요구를 수신하고, 수신한 상기 확보 요구에 포함되는 상기 유저 정보에 대응하는 유저 작업 영역을 확보하는 확보 처리와,
상기 단말 장치로부터 상기 이용 요구를 수신하고, 수신한 상기 이용 요구에 포함되는 상기 개발 환경 식별자에 대응하는 상기 개발 환경을, 상기 개발 환경과 상기 개발 환경을 식별하는 상기 개발 환경 식별자를 대응지어서 기억 장치에 기억하는 개발 환경 기억부로부터 추출하고, 추출한 상기 개발 환경과, 상기 이용 요구에 포함되는 상기 유저 정보에 대응하는 상기 유저 작업 영역을 이용 가능하게 하는 개발 환경 처리와,
상기 유저에 의해 상기 프로그램이 편집될 때, 상기 유저 이외의 유저가 상기 유저가 편집하고자 하는 편집 개소를 편집하고 있는지 여부를 판정하기 위한 정보인 편집 이력 정보로서, 날짜와, 상기 유저를 식별하는 상기 유저 정보와, 상기 개발 환경을 식별하는 상기 개발 환경 식별자와, 상기 프로그램을 식별하는 프로그램 식별자와, 상기 날짜에 상기 개발 환경을 이용하여 편집된 상기 프로그램의 편집 개소가 대응지어진 편집 이력 정보를 기억 장치에 기억하는 편집 이력 정보 기억 처리
를 컴퓨터에 실행시키고,
상기 단말 장치는, 상기 유저에 의해 상기 프로그램의 상기 편집 개소가 편집되면, 상기 기억 장치에 기억된 상기 편집 이력 정보에 근거하여, 상기 유저 이외의 유저가 상기 프로그램의 상기 편집 개소를 편집하고 있는지 여부를 판정하고, 편집하고 있지 않다고 판정한 경우에, 상기 날짜와, 상기 유저 정보와, 상기 개발 환경 식별자와, 상기 프로그램 식별자와, 상기 편집 개소를 상기 편집 이력 정보에 기록하고, 편집하고 있다고 판정한 경우에, 상기 프로그램의 편집의 중지를 상기 유저에게 통지하는
것을 특징으로 하는 프로그램을 기록한 컴퓨터 판독 가능한 매체.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/066222 WO2014199464A1 (ja) | 2013-06-12 | 2013-06-12 | 開発環境システム、開発環境装置、開発環境提供方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160006764A KR20160006764A (ko) | 2016-01-19 |
KR101752082B1 true KR101752082B1 (ko) | 2017-07-11 |
Family
ID=52021796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157035065A KR101752082B1 (ko) | 2013-06-12 | 2013-06-12 | 개발 환경 시스템, 개발 환경 장치, 개발 환경 제공 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 매체 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9684505B2 (ko) |
JP (1) | JP5963957B2 (ko) |
KR (1) | KR101752082B1 (ko) |
CN (1) | CN105324750B (ko) |
DE (1) | DE112013007160T5 (ko) |
TW (1) | TWI521432B (ko) |
WO (1) | WO2014199464A1 (ko) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6520241B2 (ja) * | 2015-03-11 | 2019-05-29 | 富士電機株式会社 | 制御システム、その管理サーバ装置、支援装置 |
DE102016110939B3 (de) | 2016-06-15 | 2017-10-05 | Phoenix Contact Gmbh & Co. Kg | Datenorganisationsverfahren und Entwicklungsumgebungssystem |
JP6708083B2 (ja) * | 2016-09-30 | 2020-06-10 | 横河電機株式会社 | アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、アプリケーション開発環境提供プログラム、及び端末装置 |
US11023215B2 (en) | 2016-12-21 | 2021-06-01 | Aon Global Operations Se, Singapore Branch | Methods, systems, and portal for accelerating aspects of data analytics application development and deployment |
US10572226B2 (en) * | 2016-12-21 | 2020-02-25 | Aon Global Operations Ltd (Singapore Branch) | Methods, systems, and portal using software containers for accelerating aspects of data analytics application development and deployment |
JP7262916B2 (ja) * | 2017-01-24 | 2023-04-24 | キヤノン株式会社 | 情報処理装置、リモート支援システム、及びこれらの制御方法並びにプログラム |
TWI727084B (zh) * | 2017-08-21 | 2021-05-11 | 中華電信股份有限公司 | 微服務軟體開發基礎架構下自動化持續整合方法 |
CN109683898A (zh) * | 2017-09-01 | 2019-04-26 | 北京猿圈科技有限责任公司 | 一种基于云编译的编译方法及云编译系统 |
US11630666B2 (en) | 2018-02-13 | 2023-04-18 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
KR102148110B1 (ko) | 2018-02-13 | 2020-08-25 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 계산 장치 및 방법 |
US12073215B2 (en) | 2018-02-13 | 2024-08-27 | Shanghai Cambricon Information Technology Co., Ltd | Computing device with a conversion unit to convert data values between various sizes of fixed-point and floating-point data |
JP6867518B2 (ja) | 2018-08-28 | 2021-04-28 | カンブリコン テクノロジーズ コーポレイション リミティド | データ前処理方法、装置、コンピュータ機器及び記憶媒体 |
EP3859488B1 (en) | 2018-09-28 | 2024-10-09 | Shanghai Cambricon Information Technology Co., Ltd | Signal processing device, signal processing method and related product |
EP3629107A1 (de) * | 2018-09-28 | 2020-04-01 | Siemens Aktiengesellschaft | Verfahren und einrichtung zur wiederherstellung einer entwicklungsumgebung für eine industrielle anwendung |
CN109582291A (zh) * | 2018-10-16 | 2019-04-05 | 深圳壹账通智能科技有限公司 | 开发环境控制方法、装置、计算机设备及存储介质 |
JP7391503B2 (ja) * | 2018-11-20 | 2023-12-05 | 株式会社東芝 | 情報処理システムおよび情報処理方法 |
KR101996840B1 (ko) * | 2018-12-07 | 2019-07-05 | 아콘소프트 주식회사 | 마이크로서비스 스토어 운영시스템 |
CN111383638A (zh) | 2018-12-28 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 信号处理装置、信号处理方法及相关产品 |
SG10202000766YA (en) | 2019-04-18 | 2020-11-27 | Yokogawa Electric Corp | Methods, systems and computer programs for implementing industrial iot based collaborative platforms |
US20200334522A1 (en) | 2019-04-18 | 2020-10-22 | Cambricon Technologies Corporation Limited | Data processing method and related products |
CN111832737B (zh) | 2019-04-18 | 2024-01-09 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
US11544050B1 (en) * | 2019-07-18 | 2023-01-03 | Amazon Technologies, Inc. | Software patch automation |
TWI751706B (zh) * | 2020-09-16 | 2022-01-01 | 宏碁股份有限公司 | 自動產生開發解決方案的方法及裝置 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05113877A (ja) | 1991-10-22 | 1993-05-07 | Fujitsu Ltd | ソフトウエア開発装置および方法 |
JPH08171487A (ja) * | 1994-12-19 | 1996-07-02 | Fujitsu Ltd | ソフトウェア更新管理方式 |
JPH0954735A (ja) * | 1995-06-07 | 1997-02-25 | Fuji Xerox Co Ltd | 情報処理方法及び情報処理装置 |
JP3611178B2 (ja) | 1998-09-01 | 2005-01-19 | 日立ソフトウエアエンジニアリング株式会社 | プログラム開発管理支援装置 |
JP2001034461A (ja) | 1999-07-23 | 2001-02-09 | Toshiba Corp | ソフトウェア構成管理支援装置、その方法およびソフトウェア構成管理支援プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2002278759A (ja) | 2001-03-15 | 2002-09-27 | Toshiba Corp | 遠隔操作型ソフトウェア開発システム |
JP4804653B2 (ja) | 2001-06-25 | 2011-11-02 | 三菱電機株式会社 | 処理要求復旧システム |
CN1679034A (zh) * | 2002-04-08 | 2005-10-05 | 托普科德公司 | 用于对软件开发服务征求建议的系统以及方法 |
JP2004021608A (ja) | 2002-06-17 | 2004-01-22 | Nec Corp | 二重化サーバの障害検知方式及びその方法 |
US20040181662A1 (en) * | 2002-09-06 | 2004-09-16 | Shinichi Kanai | Information processing system, information processing apparatusand method, and program |
JP3918701B2 (ja) | 2002-09-26 | 2007-05-23 | 日本電気株式会社 | プログラム開発方式および開発センター装置 |
US7058660B2 (en) * | 2002-10-02 | 2006-06-06 | Bank One Corporation | System and method for network-based project management |
JP2004295270A (ja) * | 2003-02-03 | 2004-10-21 | Hitachi Ltd | 共用記憶システム |
US20050055583A1 (en) * | 2003-09-05 | 2005-03-10 | Matsushita Electric Industrial Co., Ltd. | Data management apparatus, data management method and program thereof |
US8341618B2 (en) * | 2004-05-19 | 2012-12-25 | Yoichiro Terasawa | Information processor, software updating system, software updating method, and its program for updating modules on a user computer |
KR100669604B1 (ko) | 2004-12-17 | 2007-01-15 | 엘지전자 주식회사 | 형상 관리 시스템의 소프트웨어 통합 관리 시스템 |
US7904875B2 (en) * | 2005-12-12 | 2011-03-08 | Microsoft Corporation | Configuring and allocating software product technical services |
US20080059943A1 (en) * | 2006-08-30 | 2008-03-06 | Vadym Krevs | Method and system for using a library cache in a distributed development environment |
US8453104B2 (en) | 2006-10-27 | 2013-05-28 | Microsoft Corporation | Thin client software development environment |
US8677353B2 (en) | 2007-01-11 | 2014-03-18 | Nec Corporation | Provisioning a standby virtual machine based on the prediction of a provisioning request being generated |
US9218166B2 (en) * | 2008-02-20 | 2015-12-22 | Embarcadero Technologies, Inc. | Development system with improved methodology for creation and reuse of software assets |
JP5064337B2 (ja) | 2008-09-17 | 2012-10-31 | 株式会社日立製作所 | ソフトウェア開発管理システム |
CN102196006B (zh) | 2010-03-17 | 2013-06-19 | 中国移动通信集团公司 | 一种为应用程序提供资源的开放系统 |
US8966450B2 (en) | 2010-06-01 | 2015-02-24 | Red Hat, Inc. | Facilitating the execution of web applications in the cloud |
US9251033B2 (en) | 2011-07-07 | 2016-02-02 | Vce Company, Llc | Automatic monitoring and just-in-time resource provisioning system |
JP5773787B2 (ja) * | 2011-07-21 | 2015-09-02 | キヤノン株式会社 | 情報処理装置およびその制御方法およびプログラム |
KR101186842B1 (ko) | 2011-09-19 | 2012-10-02 | 김혜령 | 원격 프로그램 개발 서버 프로그램이 기록된 기록매체, 원격 프로그램 개발 중개 시스템, 원격 프로그램 개발 서버 구축 방법 및 원격 프로그램 개발 중개 방법 |
TWM430665U (en) | 2011-12-08 | 2012-06-01 | Sung-Jen Hsiang | Cloud system for flexible applications |
CN102523308B (zh) | 2011-12-31 | 2015-01-14 | 北京新媒传信科技有限公司 | 一种应用开发方法和运行该方法所开发应用的平台系统 |
CN102427480B (zh) | 2011-12-31 | 2015-01-14 | 北京新媒传信科技有限公司 | 一种多应用服务平台系统中的应用访问方法 |
CA2872051A1 (en) * | 2012-05-01 | 2013-11-07 | Agora Mobile Inc. | System and method for providing an application development and distribution social platform |
US8776021B1 (en) * | 2012-06-07 | 2014-07-08 | Amazon Technologies, Inc. | Application experiment system |
US10289289B2 (en) * | 2013-12-04 | 2019-05-14 | Autodesk, Inc. | Techniques for authoring view points, view paths, and view surfaces for 3D models |
-
2013
- 2013-06-12 KR KR1020157035065A patent/KR101752082B1/ko active IP Right Grant
- 2013-06-12 JP JP2015522326A patent/JP5963957B2/ja not_active Expired - Fee Related
- 2013-06-12 DE DE112013007160.6T patent/DE112013007160T5/de not_active Ceased
- 2013-06-12 US US14/785,832 patent/US9684505B2/en not_active Expired - Fee Related
- 2013-06-12 CN CN201380077393.XA patent/CN105324750B/zh not_active Expired - Fee Related
- 2013-06-12 WO PCT/JP2013/066222 patent/WO2014199464A1/ja active Application Filing
- 2013-07-29 TW TW102127047A patent/TWI521432B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN105324750A (zh) | 2016-02-10 |
DE112013007160T5 (de) | 2016-03-03 |
US9684505B2 (en) | 2017-06-20 |
JP5963957B2 (ja) | 2016-08-03 |
JPWO2014199464A1 (ja) | 2017-02-23 |
TWI521432B (zh) | 2016-02-11 |
WO2014199464A1 (ja) | 2014-12-18 |
KR20160006764A (ko) | 2016-01-19 |
US20160070565A1 (en) | 2016-03-10 |
TW201447755A (zh) | 2014-12-16 |
CN105324750B (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101752082B1 (ko) | 개발 환경 시스템, 개발 환경 장치, 개발 환경 제공 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 매체 | |
US8909940B2 (en) | Extensible pre-boot authentication | |
US8667578B2 (en) | Web management authorization and delegation framework | |
JP7228751B2 (ja) | 権限管理のための方法および装置、コンピュータ機器ならびに記憶媒体 | |
JP2010237898A (ja) | ログイン処理装置、ログイン処理方法及びプログラム | |
US10402216B1 (en) | Live support integration in a virtual machine based development environment | |
US20070233686A1 (en) | Isolated access to named resources | |
CN108073823B (zh) | 数据处理方法、装置及系统 | |
WO2018119589A1 (zh) | 账户管理方法、装置及账户管理系统 | |
JP2011076377A (ja) | 端末装置及び端末装置におけるアクセス制御ポリシー取得方法 | |
CN110325992B (zh) | 对初始计算机操作系统设置选项的远程管理 | |
US20220413903A1 (en) | Framework for migrating applications across public and private clouds | |
US20190273609A1 (en) | Mutually authenticated adaptive management interfaces for interaction with sensitive infrastructure | |
WO2018175643A1 (en) | System and method for providing restricted access to production files in a code development environment | |
JP6477073B2 (ja) | ライセンス管理システム、プログラム及びライセンス管理方法 | |
US20210019381A1 (en) | License management system and non-transitory computer readable medium | |
KR101056423B1 (ko) | 로그인된 계정권한 제어를 이용한 프로그램 실행관리 방법 및 기록매체 | |
US8353013B2 (en) | Authorized application services via an XML message protocol | |
TWI690820B (zh) | 以嵌入式瀏覽器模組管理憑證之系統及方法 | |
JP5854070B2 (ja) | アクセス制御装置、端末装置、及びプログラム | |
US11907731B1 (en) | Configurable cloud development environments | |
JP7412835B1 (ja) | 演算処理装置、演算処理システム、演算処理方法、及び演算処理プログラム | |
US8666945B1 (en) | Method and apparatus for utilizing securable objects in a computer network | |
JP5707214B2 (ja) | ファイル管理システム及びファイル管理方法 | |
JP2011175562A (ja) | 端末使用制限管理システム、端末使用制限管理方法及び記録媒体 |
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 |