UCI 확장서비스 적용 가이드
 2011. 10
Agenda
목 차
1. UCI 확장서비스 모듈 개요
UCI 확장서비스 모듈 기능
시스템 요구 사항
2. UCI 확장서비스 설치 가이드
2-1 모듈 리스트
2-2 설치 방법
3. UCI 확장서비스 모듈 설정
4. UCI 확장서비스 개발 가이드
5. 개발 Sample 소스
2
1. UCI 확장서비스 모듈 개요
 UCI 확장서비스 모듈 기능
N2C / N2L / N2R / N2N 변환 서비스
N2C(URN to Characteristics) : 변환 서비스 결과로 메타데이터 제공
변환
N2L(URN to URL) : 변환 서비스 결과로 URL 제공
서비스
종류
N2R(URN to Resource) : 변환 서비스 결과로 Contents 제공
N2N(URN to URN) : 변환 서비스 결과로 UCI 식별자 제공
RA기관
총괄시스템
변환 서버
포탈 or 사용자
메타데이터
URL
Contents
UCI 식별자
메타데이터
URL
Contents
UCI 식별자
N2C
Module
N2L
Module
N2R
Module
N2N
Module
변환 서비스
서버
확장된 부가서비스인 N2C, N2L, N2R, N2N 서비스를 개발 제공
각 RA기관 별 변환서비스 서버에 확장된 서비스를 구축하기 위한 컨설팅 및 기술지원 제공
확장된 변환서비스를 이용하여 RA기관 비즈니스 모델에 활용을 기대
3
1. URL 체크 모듈 개요
 시스템 요구 사항
- JDK(Java Virtual Machine) ver1.4 이상
- Web Application Server – JDK 1.4이상을 지원하는 버전
(WebLogic, Jeus, Tomcat, 등)
- Oracle DataBase
4
2. UCI 확장서비스 설치 가이드
 UCI 확장서비스 모듈 리스트
UCI 확장서비스 배포 모듈(uci_uciext.zip)을 unzip하면 다음과 같은 구성으로 되어 있음.
UCI 확장서비스 적용가이드
UCI 확장서비스 메인 모듈
 uciext.jar를 제외한 나머지 jar파일들은 url 체크 모듈을 구동하기 위한 library 파일임
5
2. UCI 확장서비스 설치 가이드
 UCI 확장서비스 모듈 설치 방법
URL 체크 배포 모듈에서 jar파일을 WAS의 응용 Application 영역의 lib 디렉터리에 복사함.
예시) Tomcat V5.5를 기준으로 배치 위치 설명.
1. UCI RA용 Web Application 설치 위치 : - Tomcat5.5\webapps\UCIRA
2. URL 체크 모듈 복사 위치 : - Tomcat5.5\webapps\UCIRA\WEB-INF\lib
제외
제외
6
3. UCI 확장서비스 모듈 설정
UCI 확장서비스 모듈에 대한 설정은 RA시스템의 web.xml에 설정 내용을 추가하여 설정한다.
- web.xml을 설정한 후 WAS를 재 시작하거나, 응용프로그램의 redploy를 해야만 적용됨.
- 전체내용은 UCI 배포 모듈의 WEB-예시.xml 참조
7
3. UCI 확장서비스 모듈 설정
 web.xml 설정 내용
1. UCI 확장서비스용 Servlet Filter, Servlet 설정
-
UCI 확장 모듈은 Servlet Filter를 이용하여 확장된 URL을 검사하여 확장 서비스를 지원하도록 구성되어 있음.
-
Servlet Filter와 연동된 Servlet을 설정을 아래와 같이 설정함.
<filter>
<filter-class>org.uci.extension.UCIExtFilter</filter-class>
<filter-name>UCIExtFilter</filter-name>
</filter>
<filter-mapping>
<filter-name>UCIExtFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<display-name>UCI Extension Service</display-name>
<servlet-name>ExtResolver</servlet-name>
<servlet-class>org.uci.extension.UCIExtResolution</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ExtResolver</servlet-name>
<url-pattern>/extresolver/*</url-pattern>
</servlet-mapping>
8
3. UCI 확장서비스 모듈 설정 - 계속
 web.xml 설정 내용
2. UCI 확장서비스용 Parameter 설정
-
확장 서비스와 관련된 구현 클래스 및 변환 서비스, 확장서비스 수행용 서블릿 클래스에 대한 설정값
-
설정값에 대한 설정은 아래와 같이 설정함.
<context-param>
<param-name>UCIExtSvcClass</param-name>
<param-value>org.uci.extension.UCIExtSvcImpl</param-value>
</context-param>
<context-param>
<param-name>UCIExtResolver</param-name>
<param-value>/extresolver</param-value>
</context-param>
<context-param>
<param-name>UCIResolverURL</param-name>
<param-value>/resolver</param-value>
</context-param>
9
4. UCI 확장서비스 개발 가이드
UCI 확장서비스 모듈은 다음과 같은 방법으로 구동되어, @N2서비스를 수행함.
총괄
등록 서버
RA 서버
결과 XML
UCI Servlet Filter
Res Servlet
Ext Res Servlet
RA 기관 개발 대상
UCI 변환
UCI 확장변환 모듈
RA
응용메타
10
4. UCI 확장서비스 개발 가이드 - 계속
UCI 확장 모듈에서는 org.uci.extension.UCIExtSvc interface를 확장하여 작성하여 확장 서비스를 호출하도록 클래스
를 작성함.
UCIExtSvc Interface에서는 다음과 같은 메소드가 정의되어 있음.
1. String procN2C(String) - @N2C 서비스용 함수
- 변환서비스의 결과를 메타데이터로 제공
- 결과 데이터는 html문법을 사용하여 String형태로 return 함.
2. String procN2L(String) - @N2L 서비스용 함수
- 변환서비스의 결과를 URL로 제공
- 결과 데이터는 html문법을 사용하여 String형태로 return 함.
3. String procN2R(String) - @N2R 서비스용 함수
- 변환서비스의 결과를 리소스(File, 등)로 제공
- 결과 데이터는 html문법을 사용하여 String형태로 return 함.
4. String procN2N(String) - @N2N 서비스용 함수
- 변환서비스의 결과를 UCI 식별자로 제공
- 결과 데이터는 html문법을 사용하여 String형태로 return 함.
11
5. UCI 확장서비스 개발 Sample
package org.uci.extension;
public class UCIExtSvcImpl implements UCIExtSvc {
public String procN2C(String arg) {
String n2c_html = "";
StringBuffer sb = new StringBuffer();
sb.append("<html>\n");
sb.append("<head>\n");
sb.append("<title>N2C Service Test</title>\n");
sb.append("</head>\n");
sb.append("<body>");
sb.append("N2C Test" + arg + "\n");
sb.append("</body>\n");
sb.append("</html>");
n2c_html = sb.toString();
return n2c_html;
}
public String procN2L(String arg) {
String n2n_html = "";
StringBuffer sb = new StringBuffer();
sb.append("<html>\n");
sb.append("<head>\n");
sb.append("<title>N2N Service Test</title>\n");
sb.append("</head>\n");
sb.append("<body>\n");
sb.append("N2L Test" + arg + "\n");
sb.append("</body>\n");
sb.append("</html>");
n2l_html = sb.toString();
return n2l_html;
}
12
5. UCI 확장서비스 개발 Sample
public String procN2N(String arg) {
String n2n_html = "";
StringBuffer sb = new StringBuffer();
sb.append("<html>\n");
sb.append("<head>\n");
sb.append("<title>N2N Service Test</title>\n");
sb.append("</head>\n");
sb.append("<body>\n");
sb.append("N2N Test" + arg + "\n");
sb.append("</body>\n");
sb.append("</html>");
n2n_html = sb.toString();
return n2n_html;
}
public String procN2R(String arg) {
String n2r_html = "";
StringBuffer sb = new StringBuffer();
sb.append("<html>\n");
sb.append("<head>\n");
sb.append("<title>N2L Service Test</title>\n");
sb.append("<script language=\"javascript\">\n");
sb.append(" document.location=\"/resource.html\";\n");
sb.append("</script>\n");
sb.append("</head>\n");
sb.append("<body>\n");
sb.append("N2R Test" + arg + "\n");
sb.append("</body>\n");
sb.append("</html>");
n2r_html = sb.toString();
return n2r_html;
}
}
13
Descargar

슬라이드 1