1 / 13

2011. 10

UCI RA 기관 URL 체크 적용 가이드. 2011. 10. Agenda. 목 차. 1. URL 체크 모듈 개요 URL 체크 모듈 기능 시스템 요구 사항 2. URL 체크 설치 가이드 2-1 모듈 리스트 2-2 설치 방법 3. URL 체크 모듈 설정 4. URL 체크 개발 가이드 5. 개발 Sample 소스. 1. URL 체크 모듈 개요. URL 체크 모듈 기능. RA 기관. 데몬 서비스. 1. URL 체크 Client. 변환 서비스 서버.

Download Presentation

2011. 10

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UCI RA기관 URL 체크 적용 가이드 2011. 10

  2. Agenda 목 차 1. URL 체크 모듈 개요 URL 체크 모듈 기능 시스템 요구 사항 2. URL체크 설치 가이드 2-1 모듈 리스트 2-2 설치 방법 3. URL 체크 모듈 설정 4. URL 체크 개발 가이드 5. 개발 Sample 소스

  3. 1. URL 체크 모듈 개요 • URL 체크 모듈 기능 RA기관 데몬 서비스 1 URL 체크Client 변환 서비스 서버 2 URL 추출 모듈 3 결과.xml 총괄시스템 응용메타DB 4 URL체크 결과 송신 URL 체크결과 전송 관제 서버 • URL 체크 구성 • 총괄시스템에서 제공되는 URL체크용 데몬 서비스를 RA기관의 시스템에 구성. • 데몬 서비스에서 URL체크를 수행하기 위한 응용메타 URL 정보 수집-RA기관 위탁사업자가 수행. • 추출된 URL을 이용하여 URL을 검사한 후 결과 파일 생성. • 생성된 결과 파일( 예)result.xml파일 )을 총괄 시스템의 관제 서버에 전송

  4. 1. URL 체크 모듈 개요 • 시스템 요구 사항 • JDK(Java Virtual Machine) ver1.4 이상 • Web Application Server – JDK 1.4이상을 지원하는 버전 • (WebLogic, Jeus, Tomcat, 등) • - Oracle DataBase

  5. 2. URL 체크 설치 가이드 • URL 체크 리스트 URL 체크 배포 모듈(uci_urlchker.zip)을 unzip하면 다음과 같은 구성으로 되어 있음. URL 체크 적용가이드 URL 체크 메인 모듈 • urlchker.jar를 제외한 나머지 jar파일들은 url 체크 모듈을 구동하기 위한 library 파일임

  6. 2. URL 체크 설치 가이드 • URL 체크 설치 방법 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 제외 제외

  7. 3. URL 체크 모듈 설정 URL 체크 모듈에 대한 설정은 RA시스템의 web.xml에 설정 내용을 추가하여 설정한다. - web.xml을 설정한 후 WAS를 재 시작하거나, 응용프로그램의 redploy를 해야만 적용됨. - 전체내용은 UCI 배포 모듈의 WEB-예시.xml 참조

  8. 3. URL 체크 모듈 설정 • web.xml 설정 내용 • 1. Quartz Servlet 설정 • URL 체크 모듈은 WAS에 탑재되어 데몬 형태로 정해진 일자에 구동하기 위해서 quartz 라이브러리를 이용함. • quartz 모듈을 구동하기 위해서 아래와 같이 web.xml에 추가함. <servlet> <display-name>Quartz Initializer Servlet</display-name> <servlet-name>QuartzInitializer</servlet-name> <servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet> <display-name>Quartz Servlet</display-name> <servlet-name>QuartzServlet</servlet-name> <servlet-class>org.uci.urlchecker.URLChkServlet</servlet-class> < …  다음 페이지 참조 ( Daemon 설정) > <load-on-startup>2</load-on-startup> </servlet> • 위의 내용에서 <load-on-startup> 항목은 servlet class의 기동 순서 이므로 가급적 quartz관련 servlet의 순위를 1로 설정함.

  9. 3. URL 체크 모듈 설정 • web.xml 설정 – Daemon설정 <init-param> <param-name>urlcollect.class</param-name> <param-value>org.uci.urlchecker.URLChkSvcImpl</param-value> </init-param> <init-param> <param-name>cronExpr</param-name> <!-- param-value>0/10 * * * * ?</param-value --> <param-value>0 0 23 * * ?</param-value> </init-param> <init-param> <param-name>orgcd</param-name> <param-value>G001</param-value> </init-param> <init-param> <param-name>sendurl</param-name> <param-value>http://name.uci.or.kr/URLCheckResult</param-value> </init-param> <init-param> <param-name>userid</param-name> <param-value>G001</param-value> </init-param> <init-param> <param-name>userpw</param-name> <param-value>G001</param-value> </init-param> <init-param> <param-name>xmldir</param-name> <param-value>D:/test/xml/</param-value> </init-param> • URL 수집 클래스 • - RA기관의 응용메타 정보에서 URL을 추출하기 위한 Class 에 대한 정보 • (각 RA기관별로 개발하는 프로그램에 대한 정보 임) • URL 체크 수행시간 설정 • - URL Check 프로그램의 구동 시간에 대한 정보임. • 등록 방법은 Unix crontab 설정과 같음. • 등록관리기관 Prefix 정보 • - 해당 RA기관에 부여된 Prefix정보를 기입함. • URL Check결과 전송 URL • - 총괄 운영서버의 URL Check수신 정보( 예제에 나와 있는 정보와 동일하게 설정하면 됨) • 사용자 ID • - 등록 관리 기관을 신청할 때 기입했던 사용자 ID • 사용자 PW • - 등록 관리 기관을 신청할 때 기입했던 사용자 패스워드 • URLCheck결과 저장소 • - URL Check한 결과를 RA기관 서버에 저장하기 위한 위치 정보 1 2 3 4 5 6 7

  10. 4. URL 체크 개발 가이드 URL 체크 모듈은 다음과 같은 방법으로 구동되어, RA 기관의 URL을 검증한다. Daemon Servlet Cron 정보0 0 19 * * ? RA 기관 개발 대상 URL 수집 Class 구동 RA 응용메타 URL 검사 모듈- 결과는 xml로 저장 결과 XML URL 결과 전송 총괄 등록 서버

  11. 4. URL 체크 개발 가이드 - 계속 URL 체크 모듈에서 해당 UCI 코드에 관련된 URL정보는 각 RA기관별로 응용메타DB에 가지고 있어서, 기관별로 개발이 필요함. 총괄 기관에서는 URL Check 모듈을 배포하면서, 각 RA기관의 다양한 응용 메타 사항에 대한 표준적인 적용 방법을 위하여 Interface 방식을 통하여 RA기관에서 개발한 모듈(Class)를 호출하도록 제작하여 배포함. * 참조 사항. 1. RA 기관에서 개발할 URL 정보 수집용 Class는 org.uci.urlchecker.URLChkSvc를 확장하여 작성한다. 예시) public class URLChkSvcImpl implements URLChkSvc { 2. URLChkSvc Interface 클래스에서는 두 가지 Method가선언되어 있다. public String getUrlCollect(); - 총괄모듈에서 테스트 용도의 method – RA구현 소스에서는 선언만 하면 됨. public List listUrlCollect(); - 실제 RA기관에서 구현해야 하는 부분임. 3. 해당 클래스를 작성한 이후 compile한 후 class파일은 RA기관용 WEB Application의 WEB-INF/classes 디렉터리에 복사해야 함. ( WAS서버에 따라 재 시작해야 반영될 수 있음) 4. 해당 RA 기관에 따라 대상 URL이 많은 경우, 다음의 예제와 같이 수행할 필요는 없음. - xml파일 또는 별도의 view등을 이용하여 분산하여 처리할 수 있음.

  12. 5. URL 체크 개발 Sample package org.uci.urlchecker; import java.util.ArrayList; import java.util.List; public class URLChkSvcImpl implements URLChkSvc { public String getUrlCollect() { return ""; } public List listUrlCollect() { ArrayList urllist = new ArrayList(); String query = "SELECT … FROM .."; DataSource ds = null; Connection conn = null; Statement stmt = null; ResultSet rs = null; String uci_cd = “”; String ucl_url = “”; try { InitialContext ic = new InitialContext(); ds = (DataSource) ic.lookup("java:comp/env/jdbc/myoracle"); conn = ds.getConnection(); stmt = conn.createStatement(); rs = stmt.executeQuery(query); while(rs.next()) {

  13. 5. URL 체크 개발 Sample while(rs.next()) { uci_cd = rs.getString("UCI_CD"); uci_url = rs.getString("UCI_URL"); URLChkData urldata = new URLChkData(uci_cd, uci_url, 0); urllist.add(urldata); } rs.close(); stmt.close(); conn.close(); } catch (NamingException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return urllist; } }

More Related