개요: 온라인 정원 소매상 웹 서비스 시나리오

이 시나리오 세트는 Plants by WebSphere®라는 온라인 소매상에서 영감을 얻었습니다. Plants by WebSphere 는 WebSphere Application Server 의 웹 서비스 지원을 사용하여 공급자와의 통신을 개선합니다. 추가 고급 시나리오는 애플리케이션 서버의 특정 개정판에서만 사용 가능한 웹 서비스 지원을 설명합니다. 제품 문서를 참조하여 개정판이 지원하는 것을 확인하십시오.

Plants by WebSphere 를 문서의 샘플 섹션에서 사용 가능한 샘플 응용프로그램으로 인식할 수 있습니다. 이들 시나리오는 느슨하게 관련됩니다. 이 시나리오에서는 가상의 온라인 소매상이 다양한 웹 서비스 기술을 활용하는 방법을 설명합니다. 이 중 일부는 현재 샘플로 설명할 수 없을 수도 있습니다.

웹 서비스는 미들웨어입니다. 웹 서비스를 사용하면 각 애플리케이션이 구현된 방법이나 위치와 상관없이 서로 연결할 수 있습니다. 예를 들어 웹 서비스는 소매상을 도매 공급자에게 연결할 수 있습니다. 미들웨어는 새로운 사항이 아닙니다. 웹 서비스에서 새로운 사항은 이 연결성이 공개 표준 및 웹 기술을 기반으로 한다는 점입니다. 웹 서비스는 인터넷과 유사한 요약 레벨에서 작동하며 임의 운영 체제, 하드웨어 플랫폼 또는 웹 실행 가능한 프로그래밍 언어와도 함께 작동할 수 있습니다.

Plants by WebSphere 상점에서는 묘목과 정원 소모품을 판매합니다. 고객이 상품을 주문할 때, 사이트는 인벤토리 데이터베이스에서 상품 가용성을 확인합니다. 이 시나리오는 인벤토리 시스템이 다양한 웹 서비스 기술을 사용하여 기능을 개선하고 단계별로 성장하는 방법을 보여줍니다.

  • 웹 서비스 전

    Plants by WebSphere 애플리케이션에는 이미 웹 서비스 기능이 있습니다. 온라인 정원 소매점이 웹 서비스 기술을 채택하기 전에 운영했을 수 있는 방법의 설명은 다음을 참조하십시오. 핵심 웹 서비스 컴포넌트가 소개됩니다. WebSphere Application Server의 특정 에디션에서 사용 가능한 컴포넌트를 판별하려면 각 에디션에 대한 문서를 참조하십시오.

  • 공급자에 대한 정적 조회

    이 시나리오에서 정원 소매점은 기존 웹 애플리케이션을 기본 도매 정원 공급자의 인벤토리 검사를 위한 웹 서비스로 전환합니다.

  • 공급자에 대한 동적 조회

    이 시나리오에서 정원 소매상은 몇몇 도매 공급자의 인벤토리 검색을 수행하기 위해 웹 서비스를 사용합니다.

  • 상호 공급자 조회

    이 시나리오에서 정원 소매상은 서비스를 필요로 하는 다른 사용자가 웹 서비스를 사용할 수 있도록 만듭니다.

현재, 이들 시나리오는 단계별 지시사항보다는 설명을 제공합니다. 웹 서비스 코딩에 대한 경험을 얻기 위해 샘플 애플리케이션을 참조하십시오. 여기에서는 Plants by WebSphere 샘플 응용프로그램 및 기타 응용프로그램을 빌드, 구성 및 실행하기 위한 자세한 지시사항을 제공합니다.

웹 서비스 전

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(웹 서비스 호출 프레임워크) 구성 요소는 Plants by WebSphere 애플리케이션이 주어진 상황에 맞는 최적의 전송 메커니즘을 동적으로 선택하는 데 도움이 될 수 있습니다.

  • Java Platform, Enterprise Edition (Java EE)

    Java Platform, Enterprise Edition 용 웹 서비스 (Java EE) 스펙 ( JSR-109라고도 함) 은 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(XML 기반 원격 프로시저 호출용 Java API)

    JSR-101로도 알려진 JAX-RPC는 Java 응용프로그램이 웹 서비스에 액세스하는 방법을 정의합니다.

애플리케이션 서버는 JAX-WS 및 JAX-RPC 프로그래밍 모델을 기반으로 하는 웹 서비스를 지원합니다. JAX-WS는 웹 서비스 애플리케이션 및 클라이언트를 개발하기 위한 어노테이션 기반의 표준 모델 지원을 통해 애플리케이션 개발을 간소화하는 새 프로그래밍 모델입니다. JAX-RPC 클라이언트 및 JAX-WS 클라이언트는 동일한 모듈에서 사용될 수 있으므로, 온라인 소매점은 아직 그의 JAX-RPC 애플리케이션을 사용할 수 있습니다. 애플리케이션 서버는 구성을 구성 및 재구성하기 쉽게 만들므로, 새 웹 서비스 프로파일을 균일하게 통합할 수 있습니다. JAX-WS 표준은 통합 가능하고 신뢰할 수 있는 웹 서비스 애플리케이션을 지원합니다. 온라인 소매상은 비동기적으로 메시지를 전송할 수 있으므로 파티 중 하나가 일시적으로 오프라인, 사용 중 또는 사용 불가능한 경우에도 메시지와 확실하게 통신할 수 있음을 의미합니다. 이러한 새 기술을 사용함으로써 온라인 소매상은 해당 통신이 신뢰성이 있으며 다른 벤더와 상호운영하는 동안 대상에 도달한다는 것을 확신할 수 있습니다.

JAX-WS 및 JAX-RPC 웹 서비스를 설명하는 추가 샘플은 문서의 샘플 절을 참조하십시오.

WebSphere 소프트웨어는 웹 서비스를 최대한 활용할 수 있도록 추가 스펙 및 표준을 제공합니다.

지원되는 표준 및 스펙의 전체 목록은 웹 서비스 스펙 및 API 문서를 참조하십시오.