T T A S t a n d a r d .kr



|T T A  S t a n d a r d |정보통신단체표준(국문표준) |

| |TTAx.xx-xx.xxxx        제정일: 2014년 xx월 xx일 |

| | |

| | |

| | |

| | |

| |기업 스마트워크에서 REST 기반의 지식협업을 위한 서비스 인터페이스 |

| | |

| |RESTful API for Knowledge Collaboration in Enterprise Smart Work |

| | |

| | |

| | |

| |[pic] |

|정보통신단체표준(국문표준) |

|TTAx.xx-xx.xxxx         제정일: 2014년 xx월 xx일 |

| |

| |

| |

| |

| |

| |

|기업 스마트워크에서 REST 기반의 지식협업을 위한 서비스 인터페이스 |

| |

|RESTful API for Knowledge Collaboration in Enterprise Smart Work |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

|[pic] |

|본 문서에 대한 저작권은 TTA에 있으며, TTA와 사전 협의 없이 이 문서의 전체 또는 일부를 상업적 목적으로 복제 또는 배포해서는 안 |

|됩니다. |

| |

|Copyrightⓒ Telecommunications Technology Association 2014. All Rights Reserved. |

서   문

1. 표준의 목적

국내 IT 융합 산업의 경쟁력을 높이기 위해서는 산업계 전반의 여러 응용 분야에서 서비스 개발의 효율성 제고가 필요하고, 이를 위한 방안으로 다양하고 융합서비스를 공통적으로 지원하는 새로운 플랫폼이 필요하다. 따라서 본 문서는 기업 스마트워크 환경에서 지식협업을 위한 REST (REpresentational State Transfer) 기반의 서비스 컴포넌트 기능을 기술한다. 또한 지식협업 응용 제공 시 필요한 기능을 도출하여 각각의 서비스 컴포넌트로 정의한다.

2. 주요 내용 요약

본 문서는 기업 스마트워크 환경에서 지식협업 응용 제공 시 필요한 주요 기능 요소를 REST 기반의 서비스 컴포넌트화하고 각 서비스 컴포넌트의 파라메터와 제공 기능에 대해 기술한다.

3. 표준 적용 산업 분야 및 산업에 미치는 영향

스마트워크 도입 시 필요한 공통 서비스 기능 및 특정 분야 서비스 기능을 제공하는 스마트워크 공통플랫폼으로 기업의 스마트워크 도입 시 활용될 수 있다.

4. 참조 표준(권고)

4.1. 국외 표준(권고)

- 해당사항 없음

4.2. 국내 표준

- 해당사항 없음

5. 참조 표준(권고)과의 비교

5.1. 참조 표준(권고)과의 관련성

- 해당사항 없음

5.2. 참조한 표준(권고)과 본 표준의 비교표

- 해당사항 없음

6. 지식재산권 관련사항

  본 표준의 '지식재산권 확약서‘ 제출 현황은 TTA 웹사이트에서 확인할 수 있다.

※본 표준을 이용하는 자는 이용함에 있어 지식재산권이 포함되어 있을 수 있으므로, 확인 후 이용한다.

※본 표준과 관련하여 접수된 확약서 이외에도 지식재산권이 존재할 수 있다.

7. 시험인증 관련사항

7.1. 시험인증 대상 여부

- 해당사항 없음

7.2. 시험표준 제정 현황

- 해당사항 없음

8. 표준의 이력 정보

8.1. 표준의 이력

|판수 |제정․개정일 |제정․개정내역 |

|제1판 |2014.xx.xx. |제정 |

| | |TTAx.xx-xx.xxxx |

8.2. 주요 개정 사항

- 해당사항 없음

Preface

1. Purpose of Standard

It is essential to enhance the efficiency of service development in many applications throughout the industry in order to increase the competitiveness of the domestic IT industry convergence and the new platform to commonly support a variety of converged services is required as an alternative to achieve it. Therefore, in this standard we describe service component features based on the REST (REpresentational State Transfer) for knowledge collaboration in the enterprise smart work environment. In addition, we define the functions required in providing knowledge sharing applications as each of the service components.

2. Summary of Contents

This standard defines the main functional elements in providing applications for knowledge collaboration in the smart work enterprise environment as the REST-based service components and describes the parameters and functions of each service component.

3. Applicable Fields of Industry and its Effect

This standard can be used as a reference to the smart work common platform providing the function of common services and specific field services when the company introduces smart work.

4. Reference Standards(Recommendations)

4.1. International Standards(Recommendations)

- None

4.2. Domestic Standards

- None

5. Relationship to Reference Standards(Recommendations)

5.1. Relationship of Reference Standards(Recommendations)

- None

5.2. Differences between Reference Standard(Recommendation) and this Standard

- None

6. Statement of Intellectual Property Rights

IPRs related to the present document may have been declared to TTA. The information pertaining to these IPRs, if any, is available on the TTA Website.

No guarantee can be given as to the existence of other IPRs not referenced on the TTA website.

And, please make sure to check before applying the standard.

7. Statement of Testing and Certification

7.1. Object of Testing and Certification

- None

7.2. Standards of Testing and Certification

- None

8. History of Standard

8.1. Change History

|Edition |Issued date |Outline |

|The 1st edition |2013.xx.xx |Established |

| | |TTAx.xx-xx.xxxx |

8.2. Revisions

- None

목   차

1. 개 요 1

2. 표준의 구성 및 범위 1

3. 참조 표준(권고) 1

4. 용어 정의 및 약어 1

4.1. 용어 정의 1

4.2. 약어 2

5. 서비스 컴포넌트 제공 구조 및 기능 목록 3

5.1. 서비스 컴포넌트 제공 구조 3

5.2. 서비스 컴포넌트 기능 목록 3

6. REST 기반의 서비스 컴포넌트 4

6.1. 디렉토리 서비스 컴포넌트 4

6.2. 그룹 및 디스커션 액티비티 서비스 컴포넌트 9

6.3. 게시판 서비스 컴포넌트 16

6.4. 팔로잉 서비스 컴포넌트 23

6.5. 쪽지 서비스 컴포넌트 25

관련문헌 29

Contents

1. Overview 1

2. Structure and Scope 1

3. Reference standards(recommendations) 1

4. Term definitions and Acronyms 1

4.1. Term definitions 1

4.2. Acronyms 2

5. The Structure and Function list of Service components 3

5.1. The Structure of Service component 3

5.2. The Function list of Service components 3

6. REST-based Service component 4

6.1. Directory service component 4

6.2. Group discussion service component 9

6.3. Bulletin board service component 16

6.4. Following service component 23

6.5. Memo service component 25

References 29

기업 스마트워크에서 REST 기반의 지식협업을 위한

서비스 인터페이스

(RESTful API for Knowledge Collaboration in Enterprise Smart Work)

1. 개 요

국내 IT 융합 산업의 경쟁력을 높이기 위해서는 산업계 전반의 여러 응용 분야에서 서비스 개발의 효율성 제고가 필요하고, 이를 위한 방안으로 다양하고 손쉽게 융합서비스를 제공하도록 공통적으로 지원하는 신규 플랫폼이 필요하다. 특히, 중소기업을 중심으로 국내산업의 균형적인 경쟁력 향상을 도모하기 위해서는 다양한 산업 분야에서 IT 기반의 융합 서비스 창출 및 고부가가치 서비스 제공을 위한 서비스 공통구조를 개발하여 확산 보급할 필요가 있다.

본 문서는 기업 스마트워크 환경에서 지식협업을 위한 REST (REpresentational State Transfer) 기반의 서비스 컴포넌트 기능을 기술한다. 또한 지식협업 응용 제공 시 필요한 기능을 도출하여 각각의 서비스 컴포넌트로 정의한다.

2. 표준의 구성 및 범위

본 문서는 기업 스마트워크 환경에서 지식협업 응용 제공 시 필요한 주요 기능 요소를 REST 기반의 서비스 컴포넌트화하고 각 서비스 컴포넌트의 파라메터와 제공 기능에 대해 기술한다. 이를 위하여 다음과 같은 내용을 포함한다.

- REST 기반의 디렉토리 서비스 컴포넌트

- REST 기반의 그룹 및 디스커션 액티비티 서비스 컴포넌트

- REST 기반의 게시판 서비스 컴포넌트

- REST 기반의 팔로잉 서비스 컴포넌트

- REST 기반의 쪽지 서비스 컴포넌트

3. 참조 표준(권고)

해당사항 없음

4. 용어 정의 및 약어

4.1. 용어 정의

4.1.1. 컴포넌트 서비스

재사용 가능한 서비스 단위로, 단일/복합/추상적인 형태로 인터넷을 통해 제공되고, SOAP (Simple Object Access Protocol) 또는 REST 방식으로 공개(exposing) 가능한 온라인 서비스. 본 문서에서 별도의 언급이나 수식어 없이 사용된 ‘서비스’는 컴포넌트 서비스를 의미

4.1.2. 응용 서비스

재사용 가능한 컴포넌트 서비스를 조립하여 원하는 비즈니스 기능을 수행하는 어플리케이션을 의미한다. 본 문서에서 응용서비스는 기존의 일체형 어플리케이션이 아닌 서비스 기반 어플리케이션임

4.1.3. 플랫폼 서비스

응용서비스를 쉽게 개발, 실행, 구축할 수 있도록 응용서비스 개발자 관점에서 통합된 플랫폼 형태의 서비스 형태로 제공한다는 의미로, 클라우드 환경에서는 일반적으로 PaaS (Platform as a Service)라고 알려져 있음

4.2. 약어

|API |Application Programming Interface |

|DB |Data Base |

|DM |Direct Message |

|JSON |JavaScript Object Notation |

|PaaS |Platform as a Service |

|REST |REpresentational State Transfer |

|SOAP |Simple Object Access Protocol |

|URL |Uniform Resource Locator |

5. 서비스 컴포넌트 제공 구조 및 기능 목록

본 장에서는 지식협업을 위한 REST 기반의 서비스 컴포넌트 제공 구조 및 기능 목록을 기술한다.

5.1. 서비스 컴포넌트 제공 구조

지식협업을 위한 REST 기반의 서비스 컴포넌트 제공 구조는 크게 서비스 컴포넌트가 탑재되는 웹서비스 모듈과 백엔드 서버로 나누어진다. 이를 위하여 아래 그림에서 구체적으로 도시를 하였다.

[pic]

5.2. 서비스 컴포넌트 기능 목록

아래 표는 REST 기반의 서비스 컴포넌트 주요 기능을 요약한 목록이다. 이는 디렉토리, 그룹 및 디스커션 액티비티, 게시판, 쪽지, 팔로잉 서비스 컴포넌트를 포함한다.

|기능 그룹 |서비스 컴포넌트 |설명 |

|RESTful 서비스 |디렉토리 |부서 및 직원의 관련 정보를 저장소로부터 검색/조회/추가/삭제/변경하는 서비스 기능 |

|컴포넌트 | | |

| |그룹 및 디스커션 액티비티 |그룹 정보 조회 및 디스커션 액티버티 내의 포스팅 및 댓글을 조회/게시/삭제/검색하는 서비스|

| | |기능 |

| |게시판 |게시판의 게시물 및 댓글에 대한 조회/검색/삭제/게시하는 서비스 기능 및 기타 게시판 관련 |

| | |기능 |

| |쪽지 |쪽지를 보내고 받는 기능 |

| |팔로잉 |팔로잉 관리 기능 |

6. REST 기반의 서비스 컴포넌트

6.1. 디렉토리 서비스 컴포넌트

아래 표는 디렉토리 서비스를 위해서 정의된 리소스이고, 그림은 이를 위한 하나의 예제로서 시퀀스 다이어그램이다.

|기능명 |Resource |HTTP method |

|Search Part Profiles |CRofDirectory/parts |GET |

|Search User Profiles |CRofDirectory/users |GET |

|Get Part Profile |CRofDirectory/parts/{partId} |GET |

|Get User Profile |CRofDirectory/users/{targetId} |GET |

|Get Contact List |CRofDirectory/contactList |GET |

|Add Contact |CRofDirectory/contactList |POST |

|Get Contact Info |CRofDirectory/contactList/{contactId} |GET |

|Modify Contact |CRofDirectory/contactList/{contactId} |PUT |

|Delete Contact |CRofDirectory/contactList/{contactId} |DELETE |

[pic]

1. HTTP 메소드로 해당 리소스를 요청한다.

2. 디렉토리 서비스 컴포넌트에서 사용자 확인 및 인증을 거친 후, 성공하면 디렉토리 서버에 리소스를 검색/생성/수정/삭제 요청을 한다.

3. 디렉토리 서버에서 해당 정보를 보낸다.

4. 요청한 응용에게 해당 결과를 전달한다.

6.1.1. Search part profiles

요청자의 신원 확인 후, 부서 검색. 키워드로 검색하며 검색 결과 부서 리스트를 리턴한다.

1) Request parameters

|name |description |

|userId |리소스 요청자 Id |

|passwd |userId의 비밀번호 |

|keyword |부서 검색 키워드 (부서명) |

1) Response

부서 리스트 : 부서 식별자, 부서 이름 등

6.1.2. Search user profiles

요청자의 신원 확인 후, 직원 검색 키워드로 검색하며 검색 결과 직원 리스트를 리턴한다.

1) Request parameters

|name |description |

|userId |리소스 요청자 Id |

|passwd |userId의 비밀번호 |

|keyword |직원 검색 키워드 (전화번호 또는 직원명) |

| |- 전화번호는 국번 뒷자리 번호에 대한 검색을 의미함 |

2) Response

직원리스트 : 직원 식별자, 직원 이름, 부서 이름 등

6.1.3. Get part profile

요청자의 신원 확인 후, 부서 식별자를 통한 기업 내의 부서 프로파일 정보를 조회한다.

1) Request parameters

|name |description |

|userId |리소스 요청자 Id |

|passwd |userId의 비밀번호 |

|partId |조회하고자 하는 부서 아이디 |

3) Response

부서 프로파일 : 관리자 식별자, 상위 부서 식별자, 부서 직원 식별자, 부서 직원 이름, 부서 이름, 부서 번호 등

6.1.4. Get user profile

요청자의 신원을 확인한 후, 요청 대상 직원의 프로파일에 대한 조회 권한이 있는 경우, 직원 식별자를 통한 기업 내의 직원 프로파일 정보를 리턴한다.

1) Request parameters

|name |description |

|userId |리소스 요청자 Id |

|passwd |userId의 비밀번호 |

|targetId |찾을 사람의 Id |

4) Response

targetId 프로파일 : 채팅 주소, 채팅 닉네임, 이메일 주소, 영어 퍼스트 네임, 영어 라스트 네임 (즉, 성 (Surname)), 이동전화 번호, 사무실 위치, 사무실 전화번호, 부서 식별자, 부서 이름, 포토 URL, 직위, 영어이름, 한글이름, 사번 등

6.1.5. Get contact list

요청자의 신원을 확인한 후, 요청자의 주소록 (Contact List)를 가져온다.

1) Request parameters

|name |description |

|userId |리소스 요청자 Id |

|passwd |userId의 비밀번호 |

5) Response

주소록 : 연락처 식별자, 연락처 이름 등

6.1.6. Add Contact

요청자의 신원을 확인한 후, 요청자의 주소록에 연락처를 추가한다.

1) Request parameters

|name |description |

|userId |리소스 요청자 Id |

|passwd |userId의 비밀번호 |

|name |contact 추가 대상 사람 이름 (optional) |

|company |추가 대상의 회사명 (optional) |

|position |추가 대상의 직위 (optional) |

|email |추가 대상 이메일 주소 (optional) |

|address |추가 대상 주소 (optional) |

|mobilePhone |추가 대상 휴대폰 번호 (optional) |

|officePhone |추가 대상 사무실 번호 (optional) |

6) Response

디렉토리 서버가 생성한 contactId 및 추가된 주소록 정보 : 연락처 이름, 회사이름, 연락처 식별자, 직위, 이메일 주소, 주소, 휴대폰 전화 번호, 사무실 전화 번호 등

6.1.7. Get contact info

요청자의 신원 확인 후, 특정 연락처 내용을 조회한다.

1) Request parameters

|name |description |

|userId |리소스 요청자 Id |

|passwd |userId의 비밀번호 |

|contactId |조회하고자 하는 contactId |

7) Response

contactId에 해당하는 contact 정보 : 연락처 이름, 회사이름, 직위, 이메일 주소, 주소, 휴대폰 전화 번호, 사무실 전화 번호 등

6.1.8. Modify contact

요청자의 신원을 확인한 후, 주소록에서 연락처를 수정한다.

1) Request parameters

|name |description |

|userId |리소스 요청자 Id |

|passwd |userId의 비밀번호 |

|contactId |수정하고자 하는 contactId |

|name |contact 수정 대상 사람 이름 (optional) |

|company |수정 대상의 회사명 (optional) |

|position |수정 대상의 직위 (optional) |

|email |수정 대상 이메일 주소 (optional) |

|address |수정 대상 주소 (optional) |

|mobilePhone |수정 대상 휴대폰 번호 (optional) |

|officePhone |수정 대상 사무실 번호 (optional) |

8) Response

수정된 주소록 정보 : 연락처 이름, 회사이름, 직위, 이메일 주소, 주소, 휴대폰 전화 번호, 사무실 전화 번호 등

6.1.9. Delete contact

요청자의 신원을 확인하고 주소록에서 해당 연락처를 삭제한다.

1) Request parameters

|name |description |

|userId |리소스 요청자 Id |

|passwd |userId의 비밀번호 |

|contactId |삭제하고자 하는 contactId |

9) Response

없음

6.2. 그룹 및 디스커션 액티비티 서비스 컴포넌트

아래 표는 그룹 및 디스커션 액티비티 서비스를 위해서 정의된 리소스이고, 그림은 이를 위한 하나의 예제로서 시퀀스 다이어그램이다.

|기능명 |Resource |HTTP method |

|Get Group List |CRofDiscussion/groups |GET |

|Get Group Info |CRofDiscussion/groups/{groupId} |GET |

|Get Activity List |CRofDiscussion/groups/{groupId}/activity |GET |

|Get Activity Info |CRofDiscussion/groups/{groupId}/activity/{activityId|GET |

| |} | |

|Get Activity Post |CRofDiscussion/groups/{groupId}/activity/{activityId|GET |

| |}/post | |

|Add Activity Post |CRofDiscussion/groups/{groupId}/activity/{activityId|POST |

| |}/post | |

|Get Post Reply |CRofDiscussion/groups/{groupId}/activity/{activityId|GET |

| |}/post/{postId}/reply | |

|Add Post Reply |CRofDiscussion/groups/{groupId}/activity/{activityId|POST |

| |}/post/{postId}/reply | |

|Delete Activity Post |CRofDiscussion/groups/{groupId}/activity/{activityId|DELETE |

| |}/post/{postId} | |

|Delete Post Reply |CRofDiscussion/groups/{groupId}/activity/{activityId|DELETE |

| |}/post/{postId}/reply/{replyId} | |

|Search Activity Post |CRofDiscussion/groups/{groupId}/activity/{activityId|GET |

| |}/post | |

|Get New Post |CRofDiscussion/groups/{groupId}/activity/newPost |GET |

[pic]

1. HTTP 메소드로 해당 리소스를 요청한다.

2. 디스커션 서비스 컴포넌트에서 사용자 확인 및 인증을 거친 후, 성공하면 소셜 네트워크 서버에 리소스를 조회/생성/삭제 요청을 한다. 단, 삭제인 경우, 본인이 생성한 리소스인 경우에만 허용하고 이외에는 허용하지 않는다.

3. 소셜 네트워크 서버에서 수행결과를 보낸다.

4. 요청한 응용에게 해당 결과를 전달한다.

6.2.1. Get group list

요청자의 신원을 확인한 후, 요청자가 속한 디스커션 그룹의 리스트를 서버로부터 가져온다.

1) Request parameters

|name |description |

|userID |리소스 요청자 ID |

|passwd |userID의 비밀번호 |

10) Response

userID가 속한 디스커션 그룹 리스트 (그룹 이름과 groupID)

6.2.2. Get group info

요청자의 신원 확인 후, 요청한 groupID가 요청자가 속한 그룹이면 디스커션 그룹의 정보, 즉, 그룹의 멤버 리스트를 리턴한다.

1) Request parameters

|name |description |

|userID |리소스 요청자 ID |

|passwd |userID의 비밀번호 |

|groupID |디스커션 그룹 아이디 |

11) Response

groupID에 해당하는 그룹의 정보(멤버 리스트, 그룹명, 설명 등)을 리턴

6.2.3. Get activity list

요청자의 신원 확인 후, 요청한 groupID가 요청자가 속한 그룹이면 디스커션 그룹의 애티비티 리스트를 서버로부터 조회하여 리턴한다.

1) Request parameters

|name |description |

|userID |리소스 요청자 ID |

|passwd |userID의 비밀번호 |

|groupID |디스커션 그룹 아이디 |

12) Response

groupID의 액티비티 리스트(액티비티 이름, activityID, 기간,open/close여부)를 리턴

6.2.4. Get activity info

요청자가 속한 디스커션 그룹 중의 액티비티 정보를 서버로부터 조회한다.

1) Request parameters

|name |description |

|userID |리소스 요청자 ID |

|passwd |userID의 비밀번호 |

|activityID |activity ID |

13) Response

activityID의 정보(목적, 내용, 참여자, 기간 등) 리턴

6.2.5. Get activity post

해당 activity에 포스팅된 의견게시글 들을 기준글부터 시간의 역순으로 가져온다. 개수를 지정할 수 있으며 게시글의 내용 및 댓글 수도 조회한다.

1) Request parameters

|name |description |

|userID |리소스 요청자 ID |

|passwd |userID의 비밀번호 |

|activity_id |activity ID |

|post_num |가져올 의견게시글 수 ( ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download