웹서비스6 웹 서비스 보안 1. 웹 서비스 보안의 필요성 웹 서비스의 출현은 폐쇄 환경의 분산 컴퓨팅을 개방 환경으로 바꾸어 놓았다. 웹 서비스의 기능을 원하는 회사 또는 개인이 언제든지 공개적으로 이용할 수 있게 된다. SOAP은 HTTP 80 포트를 사용함으로써 방화벽 너머로도 원격 프로시저 호출 요청을 보낼 수 있다. 물론 이것은 장점인 동시에 단점이 될 수 있다. 이는 일반적으로 웹 서비스 시스템 뒤편에는 폐쇄 환경의 분산 컴퓨팅 기술이 있기 때문이다. 예를 들어, J2EE 플랫폼의 비즈니스 컴포넌트인 EJB가 실행되고 있을 수 있다. EJB가 가지고 있는 비즈니스 메소드를 웹 서비스 시스템의 원격 프로시저가 언제든지 실행할 수 있다면, 문제가 심각해진다. 단순한 정보를 반환하는 원격 프로시저라면 문제가 되지 않겠지만, 중.. 2023. 9. 14. 웹 서비스 공개 및 검색, UDDI 1. UDDI 소개 UDDI(Universal Description, Discovery, and Integration) 저장소는 각종 정보들을 생성, 저장, 검색할 수 있는 XML 기반의 자료 저장 장치를 말한다. * 클라이언트의 플랫폼과 구현 언어에 독립적이다. 정보 저장 및 검색을 위해 SOAP 메시지를 사용하고, SOAP 메시지 전송 프로토콜로서 HTTP를 사용하기 때문에 가능하다. * UDDI 저장소 간의 데이터 교환이 자유롭다. UDDI 저장소 개발 언어 및 실행 플랫폼과는 상관없이 데이터 교환 포맷으로 XML 문서를 사용하기 때문에 가능하다. 따라서 한 개의 UDDI 저장소에 정보를 저장하더라도 복제 관계에 따라 모든 저장소에 복제가 되어 웹 서비스 정보가 보다 많은 클라이언트에게 홍보될 수 .. 2023. 9. 13. 웹 서비스 명세화, WSDL 1. WSDL 소개 WSDL(Web Service Description Language)은 IBM, MS, 아리바에 의해 정의됐으며, 현재 WSDL 1.1 버전으로 W3C에 표준을 위해 제출된 상태이다. WSDL 스펙에서는 WSDL을 다음과 같이 정의한다. WSDL은 네트워크에 존재하는 원격 서비스를 절차 중심 혹은 문서 중심의 정보를 포함하는 메시지에서 작동하는 종점(endpoint)으로 기술하기 위한 XML 형식이다. 이와 같은 정의를 통해서 WSDL은 네트워크에서 메시지를 주고받는데 사용할 수 있는 서비스를 기술하기 위한 XML 형식의 언어라는 것을 알 수 있다. 웹 서비스에서 WSDL이라는 웹 서비스 기술 언어를 이용하면 웹 서비스를 이용하는 클라이언트 프로그램 개발자에게는 어떠한 이점이 있을까?.. 2023. 9. 12. 웹 서비스 클라이언트 개발 1. 웹 서비스 호출 모델 1.1 웹 서비스 클라이언트 JAX-RPC API를 이용해서 웹 서비스 서버 부분을 개발하고 웹 컨테이너에 설치를 마쳤으면, 이제부터는 이를 이용할 웹 서비스 클라이언트 부분의 개발에 대해서 살펴보자. JAX-RPC API를 사용한 웹 서비스 클라이언트 부분 개발은 다음과 같은 순서로 작성된다. 1. 스텁 파일을 생성한다. 단 동적 서비스 호출에서는 생략된다. 클라이언트 프로그램을 작성하기 위해 웹 서비스 스텁을 생성한다. 서비스의 구현을 remote 인터페이스를 구현한 자바 객체로 보기 때문에 이를 호출하는 스텁을 생성하는 것은 자바 프로그래밍 입장에서 보면 자연스러운 과정일 것이다. 2. 클라이언트 프로그램을 작성한다. 3. 클라이언트 프로그램을 컴파일한다. 4. 클라이언트.. 2023. 9. 11. SOAP API 1. JWSDP 1.1 JWSDP란? “Java Web Services Developer Pack”으로서 자바 개발자들이 XML 응용 프로그램과 웹 서비스 시스템 및 클라이언트를 쉽게 개발할 수 있도록 여러 가지 도구와 API를 제공하는 무료 통합 개발 툴킷이다. (http://java.sun.com) JWSDP는 ① XML 웹 서비스 개발 및 테스트, ② 웹 응용 프로그램 (서블릿, JSP 개발 및 테스트), 그리고 ③ XML 클라이언트 응용 프로그램 개발 및 테스트에 활용되는 것으로, 다음과 같은 API와 도구를 포함하고 있다. * Java API for XML Binding (JAXB) * Java API for XML Messaging (JAXM) * Soap with Attachments API.. 2023. 9. 8. 웹 서비스 개요 1. 웹 서비스의 탄생 컴포넌트 기반의 대표적인 분산 컴퓨팅 모델로서는 CORBA, DCOM, RMI 프로토콜이 있으며, 이런 분산 컴퓨팅 모델의 대부분은 RPC(Remote Procedure Call)를 시발점으로 하고 있다. 즉 아무리 방법론적이나 기술적으로 향상된 분산 컴퓨팅 모델이라고 해도 기본적인 구조와 메커니즘은 RPC에서 벗어나나지 않는다는 의미이다. 분산 컴퓨팅 컴퓨터 프로그램이나 데이터가 네트워크 상에, 즉 대개 두 대 이상의 컴퓨터에 걸쳐 있는 경우로서, 화면 구성 및 단순한 데이터의 입출력은 클라이언트에서 수행하고 비즈니스 로직 및 저장 기능은 여러 서버에서 수행하는 컴퓨팅 모델을 의미한다. 컴포넌트 하나의 객체 또는 여러 개의 객체로 구성된 재사용이 가능한 소프트웨어 단위를 의미하는.. 2023. 9. 2. 이전 1 다음