본문 바로가기

카테고리 없음

정부업무관리시스템 포탈 SSO 연계 가이드입니다

1.    문서 개요

기관 포탈 시스템에서 정부업무관리시스템(이하 업무관리시스템) 메뉴 연결 방법 기관에서 업무관리시스템에서 제공하는 서비스를 이용하여 포틀릿을 구현한 포틀릿에서 해당 문서의 내용을 열람하기 위한 방법에 대하여 설명한다. 기관 포탈에서 업무관리시스템의 메뉴 내용 열람 서비스를 제공하기 위해서는 기본적으로 업무관리시스템의 SSO 규정을 따라야 하며, 이에 대한 표준 가이드는 정부업무관리시스템 SSO 연계 가이드.doc” 파일을 참고한다.

문서에서는 기본적인 SSO 연계에 대한 설명은 제외하고 메뉴 연결과 포틀릿에서 내용 열람을 연결하기 위한 방법에 대하여 설명한다.

 

2.    규정

업무관리시스템 메뉴 포틀릿 연계를 위해서 지켜져야 규정은 아래와 같다.

l  외부시스템은 업무관리시스템의 사용자 정보를 가지고 있어야 한다.

l  외부시스템에서 업무관리시스템으로의 INBOUND 지원한다.

l  암호화 관련 참조 라이브러리는 acube-ep.jar(업무관리시스템내에 포함되어 배포 예정) 사용하며, sutil.Encrypt.com_Encode() 메소드로 인증정보 ID관련 데이터를 암호화 하여 보내야 한다.

l  SSO 위한 인증 정보 형식은 SSO종류, 로그인 아이디, 로그인 패스워드 순이며 구분자는 (10진수기준 018)이다.  (아스키문자표참고)

  

l  SSO 관련 세부 규정은 정부업무관리시스템 SSO 연계 가이드.doc” 파일을 참조한다.

3.    제공 서비스

업무관리시스템에서 포탈 연계 기능으로 제공하는 업무관리시스템 메뉴 연결 내용 조회 연결에 대하여 설명한다.

 

3.1.    작성 메뉴 연결

l  문서관리카드 등록

-    문서관리카드를 작성할 있는 화면을 호출하기 위한 URL 제공한다.

l  메모보고 등록

-    메모보고를 작성할 있는 화면을 호출하기 위한 URL 제공한다.

3.2.    내용 열람 연결

l  기관에서 서비스 방식에 의해 포틀릿을 구현한 내용 조회가 필요한 경우 사용한다.

l  문서관리카드 내용 조회

-    업무관리시스템의 문서관리카드 목록 서비스를 통하여 구한 정보를 활용하여 문서관리카드의 내용을 조회할 있는 URL 제공한다.

-    단순 내용 열람만 지원하고 문서관리카드에 대한 처리 기능은 제공되지 않는다.

l  처리할 문서관리카드 내용 조회

-    업무관리시스템의 처리할 문서관리카드 목록 서비스를 통하여 구한 정보를 활용하여 문서관리카드의 내용을 조회할 있는 URL 제공한다.

-    문서관리카드의 내용 열람 문서관리카드 상태에 따른 처리 기능을 제공한다.

l  메모보고 내용 조회

-    업무관리시스템의 메모보고 목록 서비스를 통하여 구한 정보를 활용하여 메모보고의 내용을 조회할 있는 URL 제공한다.

-    단순 내용 열람만 지원하고 메모보고에 대한 처리 기능은 제공하지 않는다.

l  처리할 메모보고 내용 조회

-    업무관리시스템의 처리할 메모보고 목록 서비스를 통하여 구한 정보를 활용하여 메모보고의 내용을 조회할 있는 URL 제공한다.

-    메모보고의 내용 열람 메모보고 상태에 따른 처리 기능을 제공한다.

l  서비스를 통하여 문서관리카드 메모보고에 대한 정보를 구하는 방법은 정부업무관리시스템 표준연계 개발 가이드.doc” 파일을 참고한다.

3.3.    건수 유형별 목록 페이지 연결

l  기관에서 업무관리시스템 서비스를 이용하여 건수 포틀릿을 구현한 해당 건수를 클릭하여 처리할 목록으로 이동이 필요한 경우 사용한다.

l  업무관리시스템 SSO 연계 가이드의 서비스 그룹별 SSO 로그인 방식을 기반으로 기능을 제공한다. (업무관리시스템 SSO 연계 가이드 참조)

l  업무관리시스템의 SSO 연계 유형(VIEW_TYPE) 별로 페이지 연결 URL 제공한다.

l  처리할 페이지 연결

-    건수를 클릭했을 경우 문서관리카드, 메모보고, 지시사항의 처리할 일을 취합하여 제공하는 처리할 페이지로 이동할 있는 URL 제공한다.

-    문서 유형에 관계없이 항상 처리할 페이지를 보여주고자 사용할 있다.

 

l  처리할 문서 페이지 연결

-    문서관리카드의 건수를 클릭했을 경우 온라인보고의 처리할 문서 목록으로 이동할 있는 URL 제공한다.

 

l  처리할 메모 페이지 연결

-    메모보고 건수를 클릭했을 경우 온라인보고의 처리할 메모 목록으로 이동할 있는 URL 제공한다.

 

l  처리할 지시사항 페이지 연결

-    지시사항 건수를 클릭했을 경우 지시사항의 처리할 지시사항 목록으로 이동할 있는  URL 제공한다.

 

 

4.    서비스 사용 방법

4.1.    호출 URL 구조

l  URL 구조

        http://도메인/bms/service/BmsCommonController?cmd=SSO&L1=인증정보&DOC_TYPE=화면ID

                                                     &DOC_ID=문서ID&IS_POPUP=팝업옵션

 

l  도메인

-    해당 기관의 도메인 명으로 기관의 URL 지정한다.

 

l  CMD

-    cmd=SSO

-    cmd 명령의 종류로 ‘SSO’ 지정한다.

 

l  L1

-    L1에는 암호화된 인증정보를 지정한다.

-    L1 정보 규격

         L1 = 암호화(SSO로그인ID패스워드)

-    SSO 고정값이고, 구분자로 이어서 암호화한다. 암호화할 데이터를 구분자로 이어줄 마지막에도 구분자를 붙여주어야 한다.

-    로그인ID : 업무관리시스템의 사용자 로그인 ID

-    패스워드 : 업무관리시스템의 사용자 비밀번호 ( SSO 인증시에 사용자 비밀번호는 검사하지 않으므로 임의의 값을 지정해도 가능)

 

l  DOC_TYPE

-    DOC_TYPE 서비스할 메뉴 화면에 대한 ID 지정한다.

-    AD : 문서관리카드 작성 화면

-    VD : 문서관리카드 조회 화면

-    PD : 처리할 문서관리카드 조회 화면

-    AM : 메모보고 작성 화면

-    VM : 메모보고 조회 화면

-    PM : 처리할 메모보고 조회 화면

 

l  DOC_ID

-    조회할 문서관리카드 또는 메모보고의 ID 지정한다.

-    DOC_ID 규격

         DOC_ID=암호화(문서ID)

-    문서 ID 앞뒤로 구분자를 붙여주고 암호화한다.

-    DOC_ID 대한 정보는 서비스로 연계되는 정보의 문서ID 메모ID로부터 구한다.

 

l  CALL_TYPE

-    업무관리시스템 화면을 호출한 포탈 화면을 구별할 있는 값을 지정한다.

-    처리할 문서관리카드나 처리할 메모보고 조회 화면에서 처리를 수행한 포탈 화면을 갱신하기 위해 호출하는 포틀릿 리턴 페이지의 파라미터로 다시 전송된다.

-    포틀릿 리턴 페이지는 기관에서 개발해야 하는 페이지로 포털 시스템에 존재해야 하며,업무관리시스템에서 문서 처리 자동으로 호출되어 포털의 포틀릿 화면을 갱신하는 기능을 수행하도록 해야 한다.

-    업무관리시스템에서 문서 처리 호출할 포털의 포틀릿 리턴 페이지 URL [관리자>시스템환경설정>환경설정> 기관 개발 포틀릿 리턴 페이지 설정] 화면에서 설정한다.

-    업무관리시스템에 포털 리턴 페이지가 설정되어 있지 않을 경우에는 문서 처리 팝업 화면만을 닫는다.

 

포틀릿 리턴 페이지란?

²  업무관리시스템에서 제공하는 표준연계 웹서비스를 이용하여 업무관리시스템으로부터 처리할 문서관리카드나 처리할 메모보고 목록의 정보를 구해 직접 포털에서 포틀릿을 구현하고, 가이드의 업무관리시스템 내용 조회 인터페이스를 이용하여 업무관리시스템의 내용 조회 화면을 호출했을 경우 일반적인 조회의 경우는 문제가 없으나, 조회 화면에서 문서에 대한 처리를 수행하게 되면 처리 결과를 포털의 포틀릿 화면에 반영해야 한다. 그러나 업무관리시스템에서는 조회 화면을 호출한 포털 화면을 수가 없고 또한 기관의 포털 구성 구현 방법이 서로 다르므로 업무관리시스템에서 직접 포털 화면을 갱신할 있는 방법이 없다.

²  이를 해결하기 위해 포털에서 포틀릿을 갱신할 있는 페이지를 개발하여 URL 정보를 업무관리시스템에 등록하고 업무관리시스템에서는 문서 처리 등록되어 있는 포털 페이지를 자동으로 호출하여 포털의 포틀릿을 갱신할 있도록 한다. 페이지를 포틀릿 리턴 페이지라고 한다.

²  업무관리시스템에서는 문서 처리 포틀릿 리턴 페이지를 호출하여 포털의 포틀릿을 갱신할 있게 되었지만, 만약에 포털에 여러 개의 포틀릿을 구현하고 포틀릿에서 업무관리시스템의 조회 화면을 호출했을 경우에는 어느 포틀릿에서 업무관리시스템 조회 화면을 호출했는지를 포틀릿 리턴 페이지에 알려줘야만 해당하는 포틀릿을 갱신할 있게 된다. 이처럼 업무관리시스템 조회 화면을 호출한 포틀릿을 구별하기 위한 정보를 CALL_TYPE이라고 한다. CALL_TYPE 업무관리시스템 조회 화면 호출 시에 파라미터로 지정해야 하며, 업무관리시스템은 문서 처리 포틀릿 리턴 페이지를 호출 CALL_TYPE 파라미터를 자동으로 전달하여 포틀릿 리턴 페이지가 갱신할 포틀릿을 판단할 있도록 한다.

²  CALL_TYPE 특별한 경우를 제외하고는 일반 조회 화면 호출 시에는 사용하지 않고, 주로 처리할 문서관리카드, 처리할 메모보고를 열람할 경우에 사용한다.

²  포틀릿 리턴 페이지는 기관에서 개발해야 하며, 포털 시스템에 위치해야 한다.

²  포틀릿 리턴 페이지에 대한 URL 정보를 업무관리시스템의 [관리자>시스템환경설정>환경설정> 기관 개발 포틀릿 리턴 페이지 설정] 이용하여 업무관리시스템에 등록해야 한다.

 

l  IS_POPUP (팝업옵션)

-    윈도우 팝업 여부를 지정한다.

-    IS_POPUP = Y 또는 N (팝업 윈도우로 호출 Y 설정), Y 설정할 경우에는 반드시 window.open 함수를 사용하여 페이지를 호출해야 합니다.

-    내용조회나 작성의 경우 화면 특성상 자바스크립트의 window.open 함수를 사용하여 URL 호출하고 IS_POPUP ‘Y’ 지정한다.

 

4.2.    내용열람 페이지 호출 구조도

 

l  내용열람 페이지 호출 흐름도

 

 

 

1)     포탈에서는 업무관리시스템 URL 호출 방식에 따라 처리할 문서관리카드 조회 화면 URL 구성하여 문서관리카드 조회 화면을 호출한다. 처리할 문서관리카드나 메모보고 화면을 호출할 경우에는 호출한 포털 화면(포틀릿) 구별할 있는 값을 CALL_TYPE 파라미터로 지정하여 나중에 문서 처리 포털 화면(포틀릿) 갱신시에 사용할 있도록 한다.

    : http://업무관리/bms/service/BmsCommonController? cmd=SSO &L1=XXX

&DOC_TYPE=PD&DOC_ID=YYY&CALL_TYPE=PT_DOC&IS_POPUP=Y

 

2)     업무관리시스템 화면에서 문서를 처리한다.

 

3)    문서 처리 업무관리시스템은 환경설정의 [ 기관 개발 포틀릿 리턴 페이지 설정] 항목에 저장된 URL 자동으로 호출한다. URL 호출시에는 저장된 포틀릿 리턴 페이지 URL 포털로부터 받은 CALL_TYPE 파라미터를 그대로 붙여서 호출한다. 만약 포틀릿 리턴 페이지URL 지정되어 있지 않으면 문서 처리 화면을 바로 닫는다. 다음은 포틀릿 리턴 페이지 설정 값이 “http://포털/bmsreturn.jsp” 일 경우 호출 예이다.

    : http://포털/bmsreturn.jsp?CALL_TYPE=PT_DOC

 

4)     포털의 포틀릿 리턴 페이지 (bmsreturn.jsp ) 에서는 CALL­_TYPE 파라미터 값을 이용하여 포틀릿의 목록 화면을 갱신하여 업무관리시스템의 처리 결과가 포틀릿 화면에 반영되도록 한다. CALL_TYPE 파라미터는 1) 번에서 업무관리시스템 화면을 호출할 지정한 값으로 화면 갱신시에 어떤 포털 화면(포틀릿) 갱신할 지를 구별하기 위한 값이다.

 

4.3.    작성 내용열람 호출 URL 사용

l  예제에 사용하는

-      기관 URL 도메인=www.bms.go.kr 가정

-      암호화된 인증정보 (L1) = AAA 가정

-      암호화된 문서관리카드 ID=D123 으로 가정

-      암호화된 메모보고 ID=M123으로 가정

-      PT_DOC, PT_MEM 포털의 포틀릿 구분값으로 가정

 

l  문서관리카드 작성 화면 (DOC_TYPE=AD)

-      http://www.bms.go.kr/bms/service/BmsCommonController?cmd=SSO&L1=AAA&DOC_TYPE=AD&IS_POPUP=Y

 

l  문서관리카드 조회 화면 (DOC_TYPE=VD)

-      http://www.bms.go.kr/bms/service/BmsCommonController?cmd=SSO&L1=AAA&DOC_TYPE=VD&DOC_ID=D123&IS_POPUP=Y

 

l  처리할 문서관리카드 조회 화면 (DOC_TYPE=PD)

-      http://www.bms.go.kr/bms/service/BmsCommonController?cmd=SSO&L1=AAA&DOC_TYPE=PD&DOC_ID=D123&IS_POPUP=Y&CALL_TYPE=PT_DOC

 

l  메모보고 작성 화면 (DOC_TYPE=AM)

-      http://www.bms.go.kr/bms/service/BmsCommonController?cmd=SSO&L1=AAA&DOC_TYPE=AM&IS_POPUP=Y

 

l  메모보고 조회 화면 (DOC_TYPE=VM)

-      http://www.bms.go.kr/bms/service/BmsCommonController?cmd=SSO&L1=AAA&DOC_TYPE=VM&DOC_ID=M123&IS_POPUP=Y

 

l  처리할 메모보고 조회 화면 (DOC_TYPE=PM)

-      http://www.bms.go.kr/bms/service/BmsCommonController?cmd=SSO&L1=AAA&DOC_TYPE=PM&DOC_ID=M123&IS_POPUP=Y&CALL_TYPE=PT_MEM

 

4.4.    작성 내용열람 JSP 예제

로그인 아이디가 ‘test’ 이고 패스워드가 ‘pwd000’ 사용자가 SSO 통해 업무관리시스템으로 자동 로그인하고 필요한 화면을 호출하기 위한 JSP 예제는 다음과 같다. 예제에서 문서관리카드 ID 메모보고 ID 각각 “xxxxxxxxxx” “yyyyyyyyyy” 가정한다. 또한 포털의 처리할 메모 포틀릿 화면 CALL_TYPE PT_MEM, 처리할 문서관리카드 포틀릿 화면 CALL_TYPE PT_DOC 가정한다.

 

<%@page import="sutil.Encrypt"%>   // 암호화 모듈 선언

<%

         /****************************** 선언 및 초기화 시작 ******************************/ 

         String del = ""+(char)18+"";

String UserID = “test”;

String UserPWD = “pwd000”;

String DocID = “xxxxxxxxxx”;  // 임의로 가정한 문서관리카드 ID

String MemoID = “yyyyyyyyyy”; // 임의로 가정한 메모보고 ID

String URL = “http://도메인/bms/service/BmsCommonController?cmd=SSO&L1=”;

URL = URL + sutil.Encrypt.com_Encode( "SSO”+ del+ UserID + del + UserPWD + del );

         /****************************** 선언 및 초기화 끝   ******************************/    

%>

<script language='javascript'>

// 팝업 창 너비와 높이, 위치 변수 선언

var newWidth, newHeight, newLeft, newTop = 0;

// 윈도우 변수 선언

var win;

var URL = “<%=URL%>”;

var DocID = “<%=DocID%>”;

var MemoID = “<%=MemoID%>”;

 

// 메모보고 작성 창을 팝업으로 호출

function goAddMemo()

{

newWidth   = 805;

newHeight  = 650;

URL = URL +"&IS_POPUP=Y&DOC_TYPE=AM";

if (win != null)

win.close();

 

win = window.open(URL,"", "left=" + newLeft + ",top=" + newTop+",width=" + newWidth + ",height="

+ newHeight + ",scrollbars=yes,resizable=yes,status=yes");

}

 

// 문서관리카드 작성 창을 팝업으로 호출

function goAddDoc()

{

newWidth   = 800;

newHeight  = 660;

URL = URL +"&IS_POPUP=Y&DOC_TYPE=AD";

if (win != null) win.close();

win = window.open(URL,"", "left=" + newLeft + ",top=" + newTop + ",width=" + newWidth + ",height="

 + newHeight + ",scrollbars=yes,resizable=yes,status=yes");

}

 

// 메모보고 조회 창을 팝업으로 호출

function goViewMemo()

{

newWidth   = 810;

newHeight  = 650;

URL = URL  + "&IS_POPUP=Y&DOC_TYPE=VM&DOC_ID=<%=sutil.Encrypt.com_Encode(del + MemoID + del)%>";

if (win != null) win.close();

 

win = window.open(URL, '', 'left=' + newLeft + ',top=' + newTop + ',width=' + newWidth + ',height='

 + newHeight + ',scrollbars=yes,resizable=yes');

}

 

// 문서관리카드 조회 창을 팝업으로 호출

function goViewDoc()

{

newWidth   = 800;

newHeight  = 800;

URL = URL  + "&IS_POPUP=Y&DOC_TYPE=VD&DOC_ID=<%=sutil.Encrypt.com_Encode(d + DocID + d)%>";

if (win != null) win.close();

 

win = window.open(URL, '', 'left=' + newLeft + ',top=' + newTop + ',width=' + newWidth + ',height='

+ newHeight + ',scrollbars=yes,resizable=yes');

}

 

// 메모보고 처리 창을 팝업으로 호출

function goPerformMemo()

{

newWidth   = 810;

newHeight  = 650;

URL = URL  + "&IS_POPUP=Y&DOC_TYPE=PM&CALL_TYPE=PT_MEM&DOC_ID=<%=sutil.Encrypt.com_Encode(del + MemoID + del)%>";

if (win != null) win.close();

 

win = window.open(URL, '', 'left=' + newLeft + ',top=' + newTop + ',width=' + newWidth + ',height='

 + newHeight + ',scrollbars=yes,resizable=yes');

}

 

// 문서관리카드 처리 창을 팝업으로 호출

function goPerformDoc()

{

newWidth   = 800;

newHeight  = 800;

URL = URL  + "&IS_POPUP=Y&DOC_TYPE=PD&CALL_TYPE=PT_DOC&DOC_ID=<%=sutil.Encrypt.com_Encode(d + DocID + d)%>";

if (win != null) win.close();

 

win = window.open(URL, '', 'left=' + newLeft + ',top=' + newTop + ',width=' + newWidth + ',height='

+ newHeight + ',scrollbars=yes,resizable=yes');

}

 

4.5.    SSO 유형에 따른 건수 유형별 목록 페이지 연결 URL 사용

l  업무관리시스템 전체를 포털의 하단에 띄워서 연계한 경우 (VIEW_TYPE=GROUP)

-    업무관리시스템 SSO 연계와 동일하게 건수를 클릭했을 경우에도 업무관리시스템의 서비스그룹 메뉴를 포함하는 화면이 포털 화면 하단에 표시되도록 해야 한다.

 

-    건수 유형에 관계없이 항상 처리할 화면으로 이동하고자

http://도메인/bms/service/BmsCommonController?cmd=SSO&L1=인증정보&IS_POPUP=N&DOC_TYPE=BMSPAGE&VIEW_TYPE=GROUP&VIEW_PAGE=MGRP_ONLINE

 

-    문서관리카드 건수를 눌렀을 처리할 문서 화면으로 이동하고자

http://도메인/bms/service/BmsCommonController?cmd=SSO&L1=인증정보&IS_POPUP=N&DOC_TYPE=BMSPAGE&VIEW_TYPE=GROUP&VIEW_PAGE=MGRP_ONLINE&INITIAL_MENU=DCT_PROCREPORT

 

-    메모보고 건수를 눌렀을 처리할 메모 화면으로 이동하고자

http://도메인/bms/service/BmsCommonController?cmd=SSO&L1=인증정보&IS_POPUP=N&DOC_TYPE=BMSPAGE&VIEW_TYPE=GROUP&VIEW_PAGE=MGRP_ONLINE&INITIAL_MENU=MEM_TODO

 

-    지시사항 건수를 눌렀을 처리할 지시사항 화면으로 이동하고자

http://도메인/bms/service/BmsCommonController?cmd=SSO&L1=인증정보&IS_POPUP=N&DOC_TYPE=BMSPAGE&VIEW_TYPE=GROUP&VIEW_PAGE=MGRP_ORD&INITIAL_MENU=ORD_TODO

 

l  포털에 업무관리시스템 메뉴 구성 서비스별로 직접 연계한 경우 (VIEW_TYPE=SERVICE)

-    업무관리시스템 SSO 연계와 동일하게 건수를 클릭했을 경우에도 업무관리시스템 왼쪽 메뉴 화면이 포털 화면 하단에 표시되도록 해야 한다.

 

-    건수 유형에 관계없이 항상 처리할 화면으로 이동하고자

http://도메인/bms/service/BmsCommonController?cmd=SSO&L1=인증정보&IS_POPUP=N&DOC_TYPE=BMSPAGE&VIEW_TYPE=SERVICE&VIEW_PAGE=MGRP_ONLINE

 

-    문서관리카드 건수를 눌렀을 처리할 문서 화면으로 이동하고자

http://도메인/bms/service/BmsCommonController?cmd=SSO&L1=인증정보&IS_POPUP=N&DOC_TYPE=BMSPAGE&VIEW_TYPE=SERVICE&VIEW_PAGE=MGRP_ONLINE&INITIAL_MENU=DCT_PROCREPORT

 

-    메모보고 건수를 눌렀을 처리할 메모 화면으로 이동하고자

http://도메인/bms/service/BmsCommonController?cmd=SSO&L1=인증정보&IS_POPUP=N&DOC_TYPE=BMSPAGE&VIEW_TYPE=SERVICE&VIEW_PAGE=MGRP_ONLINE&INITIAL_MENU=MEM_TODO

 

-    지시사항 건수를 눌렀을 처리할 지시사항 화면으로 이동하고자

http://도메인/bms/service/BmsCommonController?cmd=SSO&L1=인증정보&IS_POPUP=N&DOC_TYPE=BMSPAGE&VIEW_TYPE=SERVICE&VIEW_PAGE=MGRP_ORD&INITIAL_MENU=ORD_TODO

 

 

- -