개요: 온라인 정원 소매상 웹 서비스 시나리오
이 시나리오는 Plants by WebSphere®라는 온라인 소매상에서 영감을 얻은 것입니다. Plants by WebSphere는 공급자와의 의사소통을 개선하기 위해 WebSphere Application Server에서 웹 서비스 지원을 사용합니다. 보다 고급 시나리오에서는 특정 애플리케이션 서버 에디션에서만 사용 가능한 웹 서비스 지원에 대해 설명합니다. 사용하는 에디션에서 지원되는 것을 확인하려면 제품 문서를 참조하십시오.
Plants by WebSphere를 Information Center의 샘플 섹션에서 사용 가능한 샘플 애플리케이션으로 인식할 수 있습니다. 이러한 시나리오는 다소 연관되어 있습니다. 이 시나리오에서는 가상의 온라인 소매상이 다양한 웹 서비스 기술을 활용하는 방법을 설명합니다. 이 중 일부는 현재 샘플로 설명하지 못할 수도 있습니다.
웹 서비스는 미들웨어입니다. 웹 서비스를 사용하면 각 애플리케이션이 구현된 방법이나 위치와 상관없이 서로 연결할 수 있습니다. 예를 들어, 웹 서비스는 소매상을 도매 공급자에게 연결할 수 있습니다. 미들웨어는 새로운 사항이 아닙니다. 웹 서비스에서 새로운 사항은 이 연결성이 공개 표준 및 웹 기술을 기반으로 한다는 점입니다. 웹 서비스는 인터넷과 유사한 요약 레벨에서 작동하며 웹 사용 가능 운영 체제, 하드웨어 플랫폼 또는 프로그래밍 언어와 함께 작동할 수 있습니다.
Plants by WebSphere 상점에서는 묘목 및 정원 소모품을 판매합니다. 고객이 상품을 주문하면 사이트는 인벤토리 데이터베이스에 상품이 있는지 확인합니다. 이 시나리오는 인벤토리 시스템이 다양한 웹 서비스 기술을 사용하여 기능을 개선하고 단계별로 성장하는 방법을 보여줍니다.
- 웹 서비스 전
Plants by WebSphere 애플리케이션에는 이미 웹 서비스 기능이 있습니다. 온라인 정원 소매상이 웹 서비스 기술을 채택하기 이전의 운영 방법에 대한 설명은 다음을 참조하십시오. 핵심 웹 서비스 컴포넌트가 소개되어 있습니다. WebSphere Application Server의 특정 에디션을 사용할 수 있는 컴포넌트를 판별하려면 각 에디션 문서를 참조하십시오.
- 공급자에 대한
정적 조회
이 시나리오에서 정원 소매상은 기존 웹 애플리케이션을 웹 서비스로 전환하여 주 도매 정원 공급자의 인벤토리를 검사합니다.
- 공급자에 대한
동적 조회
이 시나리오에서 정원 소매상은 몇몇 도매 공급자의 인벤토리 검색을 수행하기 위해 웹 서비스를 사용합니다.
- 공급자 교차
조회
이 시나리오에서 정원 소매상은 서비스를 필요로 하는 다른 사용자가 웹 서비스를 사용할 수 있도록 만듭니다.
웹 서비스 전
Plants by WebSphere 상점에서 웹 서비스를 사용하지 않는다고 가정하십시오. 정원 소매상은 고객이 쇼핑하고 상품을 주문할 수 있는 인상적인 인터넷 상점을 구축했습니다. 고객 주문을 수행할 수 있는지 여부를 판별하기 위해 웹 애플리케이션은 엔터프라이즈 Bean에 의존하여 Plants by WebSphere 인벤토리 데이터베이스를 조회합니다. 품목이 재고에 있으면 사이트는 고객에게 주문을 확인합니다.
고객이 주문한 품목이 재고에 없으면 사이트는 고객에게 품목이 품절되었음을 알려주고 이 품목을 백오더에 놓도록 권장합니다. 나중에 고객이 Plants by WebSphere 사이트를 나간 후에, 사이트 관리자 또는 인벤토리 관리자는 공급자에게 전화하거나 팩스를 보내 더 많은 인벤토리를 확보할 수 있습니다.

웹 서비스 도입
웹 서비스를 사용하면 Plants by WebSphere는 품절된 품목을 창고 또는 고객에게 직접 배송할 수 있는 자동 기능을 제공할 수 있습니다. 공급자에게 빨리 연락이 닿으면, Plants by WebSphere는 고객에게 품목이 품절되었다고 알려줄 필요가 없습니다. Plants by WebSphere는 자체 보유 인벤토리를 줄일 수 있으며 또한 이렇게 하는 것이 이상적인 비즈니스 발전 방향일 것입니다.
웹 서비스는 다음과 같은 코어 기술에 빌드됩니다.
- XML
XML(Extensible Markup Language)은 데이터 독립성의 문제점을 해결합니다. 데이터를 설명하고 해당 데이터와 애플리케이션이나 프로그래밍 언어 간에 맵핑하는 데 XML을 사용합니다.
애플리케이션이 상품 가격 및 가용성과 같은 정보를 교환하도록 하려면, Plants by WebSphere와 해당 공급자는 데이터를 양 당사자가 모두 동의한 XML 태그 세트에 놓습니다.
- WSDL(Web Services Description Language)
기본 애플리케이션의 설명을 작성하기 위해 이 XML 기반 언어를 사용합니다. 이 WSDL(Web Services Description Language) 문서에는 애플리케이션의 설명이 포함되어 있으며, 이 설명은 기본 애플리케이션과 다른 웹 사용 가능 애플리케이션 간에서 인터페이스로 작용하여 애플리케이션을 웹 서비스로 전환하는 설명입니다.
Plants by WebSphere에는 공급자 인벤토리를 조회할 수 있는 애플리케이션이 있습니다. 인터넷을 통해 공급자와의 통신을 가능하게 하기 위해 회사는 애플리케이션을 웹 서비스로 전환합니다.
- SOAP
SOAP는 웹의 코어 통신 프로토콜이며, 대부분의 웹 서비스는 이 프로토콜을 사용하여 서로 대화합니다.
SOAP는 웹 서비스 요청의 XML 형식입니다. SOAP 스펙에 따르면 SOAP는 집중화되지 않은 분배 환경에서 정보 교환을 위한 경량 프로토콜입니다. 이것은 메시지의 내용을 설명하는 프레임워크를 정의하는 엔벨로프(envelope), 애플리케이션 정의 데이터 유형의 인스턴스를 표현하기 위한 인코딩 규칙 세트 및 원격 프로시저 호출 및 응답을 표현하기 위한 규칙의 세 개의 파트로 구성된 XML 기반 프로토콜입니다. SOAP는 다양한 프로토콜과 조합하여 사용할 수도 있습니다. 그러나 이 문서에 정의된 바인딩만이 HTTP 및 HTTP 확장자와의 조합에서 SOAP를 사용하는 방법을 설명합니다.
이는 Plants by WebSphere 인트라넷의 외부에 있기 때문에 공급자와 통신하기 위해 HTTP를 통해 SOAP를 사용합니다. 회사 인트라넷에서 운영 중인 웹 서비스는 로컬 Java™ 바인딩과 같은 다른 전송을 사용할 수 있습니다. 이 절에서 나중에 설명된 WSIF(Web Services Invocation Framework) 컴포넌트는 Plants by WebSphere 애플리케이션이 주어진 상황에서 최적의 전송 메커니즘을 동적으로 선택할 수 있도록 도와 줍니다.
- Java EE(Java Platform,
Enterprise Edition)용 웹 서비스)
JSR-109로도 알려진 Java EE(Java Platform, Enterprise Edition)용 웹 서비스 스펙은 Java EE 애플리케이션이 웹 서비스를 작성하고 액세스하는 방법을 정의합니다.
기존 애플리케이션에 웹 서비스 인터페이스를 구현하는 방법과 애플리케이션 서버 내에서 웹 서비스를 배치하는 방법에 대해 학습하려면 웹 서비스 애플리케이션 구현에 대해 읽어보십시오.
- JAX-WS(Java API for XML Web Services)
JAX-WS 프로그래밍 모델은 웹 서비스 애플리케이션 및 클라이언트를 개발하기 위해 어노테이션 기반의 표준 모델 지원을 통해 애플리케이션 개발을 단순화합니다. JAX-WS 프로그래밍 모델은 JAX-RPC 1.1 프로그래밍 모델에 대한 상속자입니다.
애플리케이션 서버는 JAX-WS 및 JAX-RPC 프로그래밍 모델을 모두 지원합니다.
- JAXB(Java Architecture for XML Binding)
JAXB는 웹 서비스 애플리케이션 개발 시 Java 클래스 및 XML 스키마를 맵핑하기 쉬운 방법을 제공하는 Java 기술입니다. JAXB는 XML 프로그래밍의 확장 지식을 요구하지 않고 플랫폼 중립 XML 데이터를 활용하여 Java 애플리케이션에 XML 스키마를 바인드합니다.
- JAX-RPC(Java API for XML-based Remote Procedure Call)
JSR-101로도 알려진 JAX-RPC는 Java 애플리케이션이 웹 서비스에 액세스하는 방법을 정의합니다.
애플리케이션 서버는 JAX-WS 및 JAX-RPC 프로그래밍 모델에 기반한 웹 서비스를 지원합니다. JAX-WS는 웹 서비스 애플리케이션 및 클라이언트를 개발하기 위해 어노테이션 기반의 표준 모델 지원을 통해 애플리케이션 개발을 단순화하는 새 프로그래밍 모델입니다. JAX-RPC 클라이언트 및 JAX-WS 클라이언트는 동일한 모듈에서 사용할 수 있으므로, 온라인 소매상은 여전히 JAX-RPC 애플리케이션을 사용할 수 있습니다. 애플리케이션 서버는 쉽게 구성하고 구성을 재사용하므로 새 웹 서비스 프로파일을 완벽하게 통합할 수 있습니다. JAX-WS 표준은 상호 운용 가능하고 신뢰할 수 있는 웹 서비스 애플리케이션을 지원합니다. 온라인 소매상은 비동기적으로 메시지를 전송할 수 있으므로 파티 중 하나가 일시적으로 오프라인, 사용 중 또는 사용 불가능한 경우에도 메시지와 확실하게 통신할 수 있습니다. 이러한 새 기술을 사용함으로써 온라인 소매상은 해당 통신이 신뢰성이 있다는 것을 확신할 수 있으며 다른 벤더와 상호운영하는 동안 대상에 도달합니다.
JAX-WS 및 JAX-RPC 웹 서비스에 대해 설명하는 추가 샘플은 Information Center의 샘플 절을 참조하십시오.
WebSphere 소프트웨어는 웹 서비스를 최대한 활용할 수 있도록 추가 스펙 및 표준을 제공합니다.
지원되는 표준 및 스펙의 전체 목록은 웹 서비스 스펙과 API 문서를 참조하십시오.