SOAP 클라이언트 개발 Guide 2013. 07
목차 1. Web Service 개요 2. Web Service Client 개발 1. Web Service 개념 2. SOAP & WSDL 3. Web Service 구축 시나리오 2. Web Service Client 개발 1. Web Service 개발 절차 2. 개발환경 구축 3. WSDL 획득 4. Web Service Proxy Code 생성 5. 실행 프로그램 작성 및 테스트 6. 운영환경 적용
UDDI 1.1 Web Service 개념 개요 1. Web Service 개요 Web Service 란? UDDI SOAP(Simple Object Access Protocol)이나 WSDL(Web Service Description Language), UDDI(Universal Description, Discovery, and Integration) 등의 표준 기술을 사용하여 네트워크에 연결된 다른 컴퓨터 간의 분산 컴퓨팅을 지원하는 소프트웨어 및 기술. 결과적으로는 논리적 응용 프로그램의 단위로 데이터와 서비스를 다른 응용 프로그램에게 제공하는 것을 의미하며, 응용 프로그램의 작성 시 하이퍼 텍스트 생성 언어(HTTP), 확장성 생성 언어(XML), 단순 객체 접근 프로토콜(SOAP)과 같은 표준화된 웹 프로토콜과 데이터 형식을 사용함으로써 운영 체계 등 특정 플랫폼과 상관없이 모든 컴퓨터간 원활한 데이터의 흐름을 보장해 준다. UDDI Connect via SOAP Describe via WSDL Service Consumer Provider Publish via UDDI Find Service via UDDI Web Service Architecture (XML기반) XML Schema (Data Description) WSDL (Service Description) SOAP (Protocol) UDDI (Directory) SOAP (Simple Object Access Protocol) HTTP/HTTPS 를 사용하여 XML 형태의 메시지 전달 프로토콜 WSDL (Web Service Description Language) 서비스 정의(메시지 형태, 프로토콜, 서비스 위치 정보 등) UDDI (Universal Description, Discovery & Integration) 사용 가능한 서비스와 WebService Provider의 디렉터리 역할 (필수 아님) 3
1.2 SOAP & WSDL요 1. Web Service 개요 SOAP 프로토콜과 WSDL 개념 SOAP 메시지 : Envelope/Header/Body로 구성된 주고받는 메시지 구조. Tool을 사용한 WSDL 보기 Service location 정보 더 많은 정보는 인터넷 검색을 통해 알아보자. ex) http://okm12.springnote.com/pages/3218742 4
① ② ④ ③ APP 또는 ABAP 프 WEB SOAP 로 프로그램 그 램 1.3. Web Service 구축 시나리오 웹 서비스를 사용한 인터페이스 유형을 정리하면 다음과 같습니다. 인터페이스 유형 패턴 방향 대기 시간 메시지 사이즈 동기식 SOAP to ABAP Proxy Legacy-> SAP 5분 5MB 이하 Legacy SOAP Adapter Central system ABAP Proxy SAP ① ② APP 또는 WEB 프로그램 1.Service Call SOAP 2.요청 메시지 매핑 ABAP 프 로 그 램 3.Proxy 호출 4.결과회신 추출및반영 6. 응답메시지 5.결과 메시지 매핑 ④ ③ Interface Table
2.1 Web Service 개발 절차 2. Web Service Client 개발 개발 절차 개발환경 구축 WSDL 획득 1. 개발 가이드 문서를 통해 필요한 개발 환경 구축. - JDK 1.4 이상, Ant, Axis설치 2. 개발 일정에 맞춰 WSDL(연계 인터페이스 정보)을 EAI 담당자에게 획득. 3. 웹서비스 클라이언트 개발 1)웹서비스 연계 Proxy 코드 생성 2)Proxy 호출 프로그램 작성 4.개발환경 연계 테스트 및 결과 확인 5.운영환경 적용 개발환경 구축 WSDL 획득 Proxy 생성 프로그램 작성 및 테스트 운영환경 적용 6
자바 설치 : 본 가이드 에서는 JDK 1.4 를 사용하였으며 버전은 시스템의 개발.운영환경에 맞게 설치하면 됨. 2.2. 개발 환경 구축 2. Web Service Client 개발 소프트웨어 설치 자바 설치 : 본 가이드 에서는 JDK 1.4 를 사용하였으며 버전은 시스템의 개발.운영환경에 맞게 설치하면 됨. Legacy System 개발 및 운영 환경과 맞춰 JDK를 설치한다. JAVA_HOME 시스템 환경 변수를 잡아 준다.
ANT 설치(컴파일 및 jar 자동 생성 이용) 2.2. 개발 환경 구축 2. Web Service Client 개발 소프트웨어 설치 ANT 설치(컴파일 및 jar 자동 생성 이용) 1) http://ant.apache.org/bindownload.cgi 에서 다음 파일을 다운로드 받아 원하는 디렉토리에 압축을 푼다.
2.2. 개발 환경 구축 2. Web Service Client 개발 2) 설치한 Ant의 path를 잡아 준다.(내컴퓨터->속성->고급->환경변수) Apache Axis Web Service Software 다운로드 설치 1) http://mirror.khlug.org/apache//ws/axis/1_4/ 에서 다음 파일을 다운로드 받아 원하는 디렉토리에 압축을 푼다.
2.2. 개발 환경 구축 2. Web Service Client 개발 2) 설치한 Axis 의 jar파일에 대해 classpath를 잡아 준다.(내컴퓨터->속성->고급->환경변수) 이때, Axis-1_4\lib 디렉토리의 모든 jar 파일에 대하여 CLASSPATH 설정(eclipse등의 개발 툴을 사용하여 컴파일 하는 경우는 굳이 안 해도 됨)
2.2. 개발 환경 구축 2. Web Service Client 개발 3)아래 mail.jar, activation.jar 파일을 우클릭 복사 하여 AXIS LIB(설치디렉토리\axis-1_4\lib)디렉토리에 붙여 넣고 위 2)번과 동일하게 CLASSPATH 등록
2.2. 개발 환경 구축 2. Web Service Client 개발 4) Axis 홈 디렉토리 path를 등록해 준다. (내컴퓨터->속성->고급->환경변수->시스템변수에서 새로 만들기) (여기까지 하면 기본적인 환경 셋팅 부분이 끝납니다. 이제 각 인터페이스의 개발 일정에 맞춰 다음 작업을 진행하면 됩니다.)
2.3. WSDL 획득 2. Web Service Client 개발 WSDL획득 인터페이스 별 WSDL 획득 레가시 담당자는 개발일정이 되면 EAI 담당자로부터 각 인터페이스에 맞는 WSDL을 제공 받아 개발 작업을 진행한다 본 매뉴얼에서는 아래의 Sample WSDL을 이용하여 Web Service Client 를 개발 및 테스트 해 보겠습니다. 메일로 배포한 WSDL을 원하는 디렉토리에 저장한다.
2.4. Web Service Proxy Code 생성 2. Web Service Client 개발 Axis wsdl2java 명령 수행 2) 아래의 배치스크립트를 우클릭 복사하여 AXIS_HOME 디렉토리에 넣는다. 이는 wsdl2java 명령을 수행의 편의를 위해 만든 것 이다. 이를 이용하기 위해서는 반드시 JAVA_HOME, AXIS_HOME 환경변수가 설정되어 있어야 한다.
2.4. Web Service Proxy Code 생성 2. Web Service Client 개발 3) 실행-> cmd창에서 다음과 같이 명령어를 입력한다. WSDL File이 저장된 경로를 포함하여 파일명 선언 Proxy Code가 저장될 디렉토리를 지정 %AXIS_HOME%\wsdl2java –q –B –WSDL-URI AxisUserGuide.wsdl –o target_directory 위와 같이 command를 실행했을 때 별다른 에러 없이 AXIS_HOME과 JAVA_HOME이 표시되고 끝나면 정상적으로 실행된 것이다.
2.4. Web Service Proxy Code 생성 2. Web Service Client 개발 4) 생성된 Web Service Client Proxy Code를 확인한다. Input Data Type Output Data Type Service location 정보를 가지고 있음. Service Location 정보 현재는 EAI 개발 서버로 설정되어 있지만 이 정보는 DEV/QAS/PRD 시스템에 따라 변경 된다. 따라서, EAI 서버 정보가 바뀔 때는(운영 적용시) EAI 담당자에게 문의하여 ServiceLocator Class로부터 HTTP_Port_address Service Location정보를 수정한다.
cmd창에서 ant 명령어 수행 후 컴파일 정보 확인 2.4. Web Service Proxy Code 생성 2. Web Service Client 개발 Proxy Code 컴파일 및 Jar 파일 생성 5) Ant 수행 - Build.xml 이 있는 디렉토리 에서 ‘ant’ 명령 수행. Proxy 생성 Target Directory 에서 build.xml 파일 생성 확인 cmd창에서 ant 명령어 수행 후 컴파일 정보 확인
wsdl 디렉토리에 jar파일이 생성된 것을 확인 한다. 2.4. Web Service Proxy Code 생성 2. Web Service Client 개발 Proxy Code 컴파일 및 Jar 파일 생성 5) Ant 수행 - 컴파일 정보와 jar파일 정보 확인. jar 파일은 개발 및 운영환경 classpath에 추가.(eclipse등의 개발 툴을 사용하여 컴파일 하는 경우는 굳이 안 해도 됨) wsdl 디렉토리에 jar파일이 생성된 것을 확인 한다.
2.5. 실행 프로그램 작성 및 테스트 2. Web Service Client 개발 소스코드 작성 및 실행 6)Jar 파일 library에 등록 - 일반적으로 eclipse등의 개발툴을 사용해서 프로그램 개발과 컴파일 작업을 한다고 가정했을 때, 툴에서 프로젝트에 앞에서 생성한 각종 jar파일을 library에 등록해 준다. - 개발 툴을 사용하지 않는 경우 각종 jar파일을 classpath에 등록해 준 후 command로 컴파일 해도 된다.(9p참조)
2.5. 실행 프로그램 작성 및 테스트 2. Web Service Client 개발 소스코드 작성 및 실행 7) 소스코드 작성 생성한 Web Service Client Proxy를 이용하여 서비스 호출 코드를 작성. 오른쪽 상단에 해당 샘플소스 첨부 함. Input Data Type Service location Output Data Type User/PW Service Call
2.5. 실행 프로그램 작성 및 테스트 2. Web Service Client 개발 Service 호출 결과 값 확인. 소스코드 작성 및 실행 8) 컴파일 및 프로그램 실행 작성한 프로그램을 통해 웹서비스를 호출하고 결과를 확인하면 WebServie 개발은 끝난다. Service 호출 결과 값 확인.
2.6. 운영 환경 적용 2. Web Service Client 개발 운영환경 적용 방법 필수 라이브러리 AXIS_HOME\lib\*.jar 추가 LIB : mail.jar, activation.jar 를 AXIS lib와 함께 둠(2.2 개발환경 구축 참조). Service Location 정보 수정 생성한 Web Service Client Proxy Code에서 ServiceLocator 파일 수정 DEV/QAS/PRD에 따라 Service URL이 변경 됨. 반드시 EAI 담당자를 통하여 Service 정보 확인. Web Service Client Proxy 각각 I/F 별로 jar 파일 생성. 생성한 Web Service Client Proxy jar 파일을 class path에 추가.
End of Document