140723 카이스트 강성원교수님 연구실 발표자료

Download Report

Transcript 140723 카이스트 강성원교수님 연구실 발표자료

Status Meeting
KAIST
Software Architecture Lab
2014년 07월 23일(수)
목차

연구과제 일정

연구과제 진행사항

•
전반기 연구실적 현황
•
[T2.2] RmCRC 플랫폼 상세 설계
•
[T6.2] 협업시스템 구축 및 시험
연구과제 예정사항
연구과제 일정
예정사항
진행 중

지연
2014년 진행일정
연구개발 목록
완료
추진일정(년/월)
2014년
연구개발 내용
1
2
3
4
5
6
7
8
9
10
11
12
8
9
10
11
12
[T2.1] RmCRC 플랫폼 기초 설계
[T2] RmCRC 플랫폼 설계
[T2.2] RmCRC 플랫폼 상세 설계
[T2.3] RmCRC 플랫폼 설계 분석 및 평가
연구개발 목록
추진일정(년/월)
2014년
연구개발 내용
1
[T6.1] 기존 협업시스템 분석 및 사전준비
[T6] 협업시스템 구축 및 관리
[T6.2] 협업시스템 구축 및 시험
[T6.3] 협업시스템 유지보수 및 관리
2
3
4
5
6
7
전반기 연구실적 현황 – 2014.07.23
정량실적 점검표

•
SCI 논문(ACK건)
목표 0건, 실적 2건
•
특허 출원/등록
목표 1건, 실적 1건(출원)
•
SW등록
목표 1건
•
석/박사 배출인력
목표 2건, 실적 1건(박사)
[T2.2] RmCRC 플랫폼 상세 설계 – SaaS
RmCRC 플랫폼이 SaaS 인 경우

•
행위자 : 사용자(User)
•
시나리오

서비스1 : POS 시스템(재고관리, 재고주문 …)

서비스2 : 실시간 범죄 감시 시스템

서비스3 : 실시간 메시지 처리 시스템

서비스4 : 이미지 처리 시스템

서비스N : …
[T2.2] RmCRC 플랫폼 상세 설계 – SaaS
Business
Application
User
(SaaS)
Mobile Cloud
Cross
Development
Platform
Packages
Real-Time mobile
Cloud Service
Platform
Lightweight
RT Stack
RT Hypervisor
Physical
Infrastructure
[T2.2] RmCRC 플랫폼 상세 설계 – SaaS
Business
Application
User
(SaaS)
…
…
Mobile Cloud
Cross
Development
Platform
Packages
Real-Time mobile
Cloud Service
Platform
Lightweight
RT Stack
RT Hypervisor
Physical
Infrastructure
[T2.2] RmCRC 플랫폼 상세 설계 – PaaS
RmCRC 플랫폼이 PaaS 인 경우

•
•
행위자

개발자(Developer)

서비스(Service)

…
…
시나리오

서비스 개발을 위한 환경 구축

서비스들을 실시간성을 보장한 효율적인 운용

…
…
[T2.2] RmCRC 플랫폼 상세 설계 – PaaS
Business
Application
Mobile Cloud
Cross
Development
Platform
1. Developer
(PaaS)
2. Service
(PaaS)
Packages
Real-Time mobile
Cloud Service
Platform
Lightweight
RT Stack
RT Hypervisor
Physical
Infrastructure
[T6] 협업시스템 구축 및 시험
현 진행상황

•
[T6.2] 협업시스템 구축 및 시험
•
연구실 내 서버에 각종 버전관리 시스템 설치 및 시험

git 기반의 시스템
•

GitLab(http://salab-intra.kaist.ac.kr:81)
svn 기반의 시스템
•
SCM-Manager(http://salab-intra.kaist.ac.kr:8084)
[T6.2] 협업시스템 구축 및 시험
GitLab

•
Ruby on rails 기반의 버전관리 시스템
•
GitHub를 원형으로 하여 개발된 설치형 시스템
•
GitLab CI(Continuous Integration)와 연동 가능

•
*CI: Continuous Integration, Commit이 발생할 때마다 자동으로 빌드
및 테스팅 수행
설치시 필요사항: Linux, Apache(or nginx), Ruby on rails
[T6.2] 협업시스템 구축 및 시험
GitLab

•
•
장점

UI가 심플하다.

접근성이 좋다.  GitHub, Bitbucket과 같은 비슷한 형태의
협업시스템이 많다.
단점

설치가 복잡하다.(최근에는 패키지 형태로 배포 중)

문서화를 위해, Wiki 문법을 새로 배워야 한다
[T6.2] 협업시스템 구축 및 시험
GitLab 화면 예제 – Login

•
관리자 메뉴, 환경설정을 통해 가입의 가능
여부 변경 가능
[T6.2] 협업시스템 구축 및 시험
GitLab 화면 예제 – Dashboard

•
자신이 참여중인 프로젝트에 대하여 최근 변동사항이 어느 것이
있는지 보여주는 화면
[T6.2] 협업시스템 구축 및 시험
GitLab 화면 예제 – Files 목록

•
Repository 내에 어떤 파일들이 있는지 보여줌
[T6.2] 협업시스템 구축 및 시험
GitLab 화면 예제 – Wiki 페이지 예제

•
문서 관리 가능

Wiki문법을 따로 공부해야 하는 불편함이 있을 수도 있음

프로그램 개요, 설치방법, 개발 팁 등을 기록할 수 있음
[T6.2] 협업시스템 구축 및 시험
SCM Manager

•
Apache Tomcat 기반의 버전 관리 시스템
•
SVN, Git등 다양한 버전관리 시스템 제공 중
•
요구사항

Linux, Apache Tomcat, Java 1.6이상, SVN, GIT
[T6.2] 협업시스템 구축 및 시험
SCM-Manager

•
•
장점

설치가 쉬운 편에 속함

각종 버전관리 도구들을 다 지원한다.

추가로 플러그인을 설치하면서 기능을 확장할 수 있다.
단점

기본적으로 문서화 기능이 제공되지는 않음

대중화 되어 있지는 않다.
[T6.2] 협업시스템 구축 및 시험
SCM Manager – Login

•
계정은 관리자를 통해 얻어야 함
[T6.2] 협업시스템 구축 및 시험
SCM Manager – Dashboard

•
앞서 GitLab에서의 모양과 유사
•
Plugin들을 따로 설치함으로써 SCM-Manager의 기능 확장 가능
[T6.2] 협업시스템 구축 및 시험
SCM Manager – Repository 보기

•
GitLab에서의 Repository보기와 비슷
[T6.2] 협업시스템 구축 및 시험

비교분석
GitLab
SCM Manager
언어
영어
영어
버전관리 시스템 호환여
부
Git
Git, SVN, HG
기반 시스템
OS: Linux
Language: Ruby on rails
Web Server: nginx
OS: Linux
Web Server: Apache Tomcat
문서 관리(Wiki)지원여부
O
X
확장성
X
O
종합의견
최근 오픈소스 프로젝트에서도 많이 쓰이는 도구
이므로, 사용을 권장
인지도가 높은 도구는 아닌 것 같으나, 각종 버전
관리 도구는 다 지원
확장성: 버전관리 시스템에 다른 기능을 추가할 수 있는지의 여부
[T6.2] 협업시스템 구축 및 시험
결론

•
GitLab을 모태로 한 도구들이 현업 및 오픈 소스 프로젝트에 많이
사용되고 있으므로, GitLab을 설치하기로 결정
SALab  센터에 요구사항

•
외부에서 원격접속(SSH)이 가능한 서버 1대
•
Debian Linux 설치
•
해당 서버의 IP, 관리자 권한
[T6.2] 협업시스템 구축 및 시험
향후 예정

•
2014. 08 : 협업시스템 운용 가이드라인 문서화
•
2014. 09 : 협업시스템 활성화 예정
감사합니다