盡人事待天命

미디어협동조합 국민TV

'Job Story/Web_Service'에 해당되는 글 3건

  1. 2008.02.20 글로벌서비스플랫폼 이용업체 2차 모집 -신규 웹 서비스분야-
  2. 2008.02.19 WebService 구현 해보기
  3. 2008.02.06 XML Web service 란? (1)
Posted by 톰켓 Trackback 0 Comment 0
현재 앞으로 구상중인 OpenAPI 서비스를 구상하며 어떤방식으로 서비스를 구현할지 고심중입니다. 구성가능한 방법이 여러가지가 있겠지만 대충 아래중 선택하려 합니다.

1. 단순 REST 기반의 서비스
2. WebService 기반의 서비스
3. WebService 기반의 REST 서비스

이중 3번의 경우 SUN에서 Jersey라는 프로젝트가 진행중에 있습니다. 관심있으신 분은 한번 보시기 바랍니다. 일단은 3가지중 2가지가 웹서비스 관련된 것이라 웹서비스에 대해 간단히 알아보려 합니다. 일단 전문적인 지식은 뒤로 하고 샘플을 한번 보도록 하겠습니다.

SUN에서 제공하는 WebService 라이브러리로 Metro 라는 것이 있습니다. 해당 라이브러리를 이용하여 제공되는 샘플을 구성해보도록 하겠습니다.

먼저 해당 라이브러리를 다운받습니다. 다운로드

적당한 곳에 다운을 받고 java -jar metro-installer.jar 를 입력하거나 윈도우 상에서라면 metro-install.jar 파일을 더블클릭 하는 것으로 실행이 가능합니다. 실행되면 라이센스관련 동의를 구하는 GUI 창이 뜨고 동의하면 압축을 풉니다.

그럼 현재 jar 파일 있는 곳을 기준으로 jax-ws-latest-wsit 라는 폴더가 생깁니다. 해당 폴더를 적당한 곳으로 이동시키거나 아니면 현재 위치에서 작업하셔도 됩니다. 그리고 이 라이브러리를 설치하는 방법은 다음과 같습니다.

필요사항 : jdk 1.5 이상, tomcat 5.x 이상, ant 1.6.2 이상, glassfish v2.41a 이상

GlassFish를 이용하는 방법
1. 서버정지 : asadmin stop-domain domain1
2. 설치 : ant -Das.home= -f <jax-ws-latest-wsit unpack folder>/wsit-on-glassfish.xml install
3. 서버시작 : asadmin start-domain domain1

Tomcat을 이용하는 방법
1. 톰캣 서버정지 : unix/linux 와 윈도우등 환경에 맞게 정지 시킵니다.
2. 설치 : ant -Dtomcat.home=<tomcat install directory> -f <jax-ws-latest-wsit unpack folder>/wsit-on-tomcat.xml install
3. 톰캣 서버시작

서버에 맞게 ant를 작동하면 build후 jar 파일을 각각 위치에 자동으로 위치시킵니다. 일단 이것으로 웹서비스와 관련된 라이브러리의 설치는 끝나고 샘플을 설치해보도록 하겠습니다.

기본 샘플 페이지는 https://metro.dev.java.net/getting-started/basic.html 이곳으로 가시면 됩니다. 가시면 두가지 샘플 소스를 다운 받습니다.

From-Java Exaple과 From-WSDL Example 두가지를 다운 받은후 적당한 곳에 압축을 해제합니다.

해당 샘플은 서버들이 8080포트를 기준으로 작성되어 있기 때문에 다른 포트를 이용하는 경우 아래 파일들의 listen 포트를 변경해주셔야 합니다.

  1. wsit-jaxws-fromjava/src/fromjava/server/AddWebservice.java
  2. wsit-jaxws-fromjava/etc/custom-schema.xml
  3. wsit-jaxws-fromjava/etc/custom-client.xml
  4. wsit-jaxws-fromjava/etc/build.properties
  5. wsit-jaxws-fromwsdl/etc/custom-client.xml
  6. wsit-jaxws-fromwsdl/etc/build.properties
그리고 해당 샘플들을 설치하기 전에 GlassFish Home(AS_HOME)과 Tomcat Home(CATALINA_HOME)이 제대로 잡혀있는지 확인합니다.

먼저 From-Java의 압축을 해제한 곳의 root로 가서 빌드합니다.

GlassFish의 경우 아래와 같이 명령어를 입력하고
ant server
Tomcat의 경우 아래와 같이 명령어를 입력하면 빌드 됩니다.
ant -Duse.tomcat=true server
From-WSDL 예제 역시 압축 해제한곳의 root 로 가서 아래와 같이 입력합니다.

GlassFish의 경우 아래와 같이 명령어를 입력하고
ant server
Tomcat의 경우 아래와 같이 명령어를 입력하면 빌드 됩니다.
ant -Duse.tomcat=true server
이렇게 하면 해당 서버의 Document root에 war 파일이 두개가 생성되며, 이를 Deploy 합니다. 일반적으로 auto-deploy 옵션이 설정 되어 있지만 그렇지 않을 경우 아래와 같이 수동으로 deploy 합니다.

GlassFish의 경우 아래와 같이 명령어를 입력하고
ant deploy
Tomcat의 경우 아래와 같이 명령어를 입력하면 deploy 됩니다.
ant -Duse.tomcat=true deploy
해당 소스가 잘 deploy 되었는지 확인합니다.

From-Java Example :
http://localhost:8080/wsit-jaxws-fromjava/addnumbers?wsdl
From-WSDL Example :
http://localhost:8080/wsit-jaxws-fromwsdl/addnumbers?wsdl

XML 문서로 결과가 나오면 제대로 설정이 된것입니다.
이제 클라이언트 클래스를 빌드 합니다.

각각 From-Java, From-WSDL 디렉토리 root로 가서 아래와 같이 빌드 합니다.

GlassFish의 경우 아래와 같이 명령어를 입력하고
ant client
Tomcat의 경우 아래와 같이 명령어를 입력하면 deploy 됩니다.
ant -Duse.tomcat=true client
실행은 아래와 같습니다.

GlassFish의 경우 아래와 같이 명령어를 입력하고
ant run
Tomcat의 경우 아래와 같이 명령어를 입력하면 deploy 됩니다.
ant -Duse.tomcat=true run
아래와 같은 결과가 나오면 제대로 설정이 된것입니다.
[java] May 4, 2006 2:45:50 PM [com.sun.xml.ws.policy.jaxws.PolicyWSDLParserExten
       sion]  addClientConfigToMap
[java] WARNING: Optional client configuration file URL is missing. No client con
       figuration is processed.
[java] Invoking addNumbers(10, 20)
[java] The result of adding 10 and 20 is 30.

[java] Invoking addNumbers(-10, 20)
[java] Caught AddNumbersFault_Exception: Numbers: -10, 20
이상으로 간단하게 Metro를 이용하여 웹서비스를 구현하는 샘플을 테스트 해보았습니다.

웹서비스에 얽힌 기술이 많아 이를 이해하려면 좀 시간이 필요할 듯 합니다.

나중에 시간 나는 대로 웹서비스에 대해서도 다뤄보도록 하겠습니다. ㅡㅡ;;
Posted by 톰켓 Trackback 0 Comment 0

XML Web services는 인터넷상에서 분산된 컴퓨팅으로 이동하는 데 기본이 되는 빌딩 블록입니다. 열린 표준과 통신 중심, 작업자 및 응용 프로그램간의 공동 작업으로 응용 프로그램을 통합하는 데 XML Web services가 플랫폼이 되는 환경을 만들었습니다. 응용 프로그램은 위치나 구현 방법과 상관없이 함께 작동하는 다양한 소스의 여러 XML Web services를 사용하여 구성됩니다.
XML Web Service를 만드는 회사가 많은 만큼 XML Web Service의 정의도 다양하겠지만 모든 정의에는 다음과 같은 공통점이 있습니다.

+ XML Web Services는 표준 웹 프로토콜을 통해 웹 사용자들에게 유용한 기능을 표시합니다. 대부분의 경우 SOAP 프로토콜이 사용됩니다.


+ XML Web services는 사용자와 대화할 수 있는 클라이언트 응용 프로그램을 만들 수 있는 인터페이스를 세부적으로 설명하는 방법을 제공합니다. 일반적으로 이 설명은 Web Services 설명 언어(WSDL) 문서라고 하는 XML 문서에 제공됩니다.


+ XML Web services는 잠재적인 사용자가 XML Web services를 쉽게 찾을 수 있도록 등록됩니다. XML Web services는 UDDI(Universal Discovery Description and Integration)에 등록됩니다.

XML Web services 아키텍처의 주요 장점 중 하나는 별도의 플랫폼에 별도의 언어로 작성된 프로그램들이 표준 기반으로 서로 통신할 수 있다는 점입니다. 이 점에 대해 산업 분야에 종사했던 사람들은 DEC 이전과 CORBA에서도 같은 내용이 있었기 때문에 차이점이 없을 것 같다는 의문이 생길 수 있습니다.

첫 번째 차이점은 SOAP이 이전의 접근 방법보다 훨씬 간단하여 표준 규격의 SOAP 구현을 입력하는 작업이 더욱 용이하다는 것입니다. SOAP 구현은 규모가 큰 소프트웨어 회사에서 찾을 수 있지만 개인 개발자가 작성하고 유지 관리하는 구현도 많이 찾을 수 있습니다. 이전에 비해 XML Web services가 갖는

또 다른 큰 장점은 표준 웹 프로토콜인 XML, HTTP 및 TCP/IP와 작동한다는 것입니다. 수 많은 회사들이 웹 인프라와 이를 유지 관리하는 지식과 경험이 있는 직원들을 갖추었기 때문에 XML Web services에 대한 항목에 소모되는 비용이 이전 기술에 비해 현저히 감소됩니다.

지금까지 WSDL 파일에 설명되고 UDDI에 등록된 XML Web service를 SOAP을 통해 웹에 나타나는 소프트웨어 서비스로 정의했습니다. 그 다음 논리적인 질문은 XML Web services로 무엇을 할 수 있는가 하는 것입니다. 처음에 XML Web services는 주식 시세, 일기 예보, 스포츠 등 응용 프로그램에 쉽게 통합될 수 있습니다. 기존 응용 프로그램을 XML Web services로 나타내면 XML Web services를 빌딩 블록으로 사용하는 더욱 강력한 새 응용 프로그램을 작성할 수 있습니다.

예를 들어, 여러 공급업체의 가격 정보를 자동으로 얻을 수 있고 공급업체를 선택할 수 있으며 주문한 다음 제품이 도착할 때까지 배달 과정을 확인할 수 있습니다. 공급업체 응용 프로그램은 웹 상에 서비스를 표시한 다음 XML Web services를 사용하여 고객의 신용 확인, 요금 부과 및 배달 회사에 배달을 의뢰할 수도 있습니다.

앞으로 몇몇 중요한 XML 웹 서비스를 사용하면 웹을 사용하는 응용 프로그램을 지원하여 오늘날에는 실행하지 못하는 사항들을 실행할 수 있게 될 것입니다. 예를 들어, 치과 의사나 정비사가 XML Web service를 사용하여 일정을 관리하는 경우 고객이 온라인으로 시간 약속을 예약하거나, 고객이 원할 경우 치과 의사나 정비사가 직접 고객과 청소 및 정기 점검 약속을 할 수 있습니다. 조금만 생각해 보면, 웹을 프로그래밍 할수 있는 능력이 있기만 하면 작성할 수 있는 응용 프로그램이 많이 있습니다.


출처:http://cafe.naver.com/nyloper.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=510
자료 감사합니다.

Posted by 톰켓 Trackback 0 Comment 1


티스토리 툴바