24.2. SEI 생성


24.2.1. 개요

서비스 엔드포인트 인터페이스 (SEI)는 서비스 구현과 해당 서비스에 대한 요청을 하는 소비자 간에 공유되는 Java 코드의 일부입니다. SEI는 서비스에서 구현한 메서드를 정의하고 서비스 노출 방법에 대한 세부 정보를 엔드포인트로 제공합니다. WSDL 계약을 시작할 때 코드 생성기에 의해 SEI가 생성됩니다. 그러나 Java에서 시작할 때는 개발자가 SEI를 생성할 책임이 있습니다. SEI를 만드는 데는 두 가지 기본 패턴이 있습니다.

  • 녹색 필드 개발 - 이 패턴에서 기존 Java 코드 또는 WSDL 없이 새 서비스를 개발하고 있습니다. 먼저 SEI를 만드는 것이 가장 좋습니다. 그런 다음 SEI를 사용하는 서비스 공급자 및 소비자를 구현하는 모든 개발자에게 SEI를 배포할 수 있습니다.

    참고

    녹색 필드 서비스 개발을 수행하는 권장 방법은 서비스 및 해당 인터페이스를 정의하는 WSDL 계약을 생성하여 시작하는 것입니다. 26장. 시작 지점 WSDL 계약을 참조하십시오.

  • 서비스 활성화 - 이 패턴에서 일반적으로 Java 클래스로 구현되는 기존 기능 세트가 있으며 서비스 활성화를 원합니다. 즉, 다음 두 가지 작업을 수행해야 합니다.

    1. 서비스의 일부로 노출될 작업 포함하는 SEI를 생성합니다.
    2. SEI를 구현하도록 기존 Java 클래스를 수정합니다.

      참고

      Java 클래스에 Cryostat-WS 주석을 추가할 수는 있지만 권장되지는 않습니다.

24.2.2. 인터페이스 작성

SEI는 표준 Java 인터페이스입니다. 클래스가 구현하는 메서드 집합을 정의합니다. 또한 구현 클래스에 액세스할 수 있는 여러 멤버 필드와 상수를 정의할 수도 있습니다.

SEI의 경우 정의된 메서드는 서비스에 의해 노출되는 작업에 매핑되도록 설계되었습니다. SEI는 wsdl:portType 요소에 해당합니다. SEI에 의해 정의된 방법은 wsdl:portType 요소의 wsdl:operation 요소에 해당합니다.

참고

Cryostat-WS는 서비스의 일부로 노출되지 않는 메서드를 지정할 수 있는 주석을 정의합니다. 그러나 이러한 방법을 SEI에서 벗어나는 것이 가장 좋습니다.

예 24.1. “간단한 SEI” 주식 업데이트 서비스에 대한 간단한 SEI를 보여줍니다.

예 24.1. 간단한 SEI

package com.fusesource.demo;

public interface quoteReporter
{
  public Quote getQuote(String ticker);
}

24.2.3. 인터페이스 구현

SEI는 표준 Java 인터페이스이므로 이를 구현하는 클래스는 표준 Java 클래스입니다. Java 클래스로 시작하는 경우 인터페이스를 구현하도록 수정해야 합니다. SEI로 시작하는 경우 구현 클래스는 SEI를 구현합니다.

예 24.2. “간단한 구현 클래스” 예 24.1. “간단한 SEI” 에서 인터페이스를 구현하기 위한 클래스를 표시합니다.

예 24.2. 간단한 구현 클래스

package com.fusesource.demo;

import java.util.*;

public class stockQuoteReporter implements quoteReporter
{
  ...
public Quote getQuote(String ticker)
  {
    Quote retVal = new Quote();
    retVal.setID(ticker);
    retVal.setVal(Board.check(ticker));[1]
    Date retDate = new Date();
    retVal.setTime(retDate.toString());
    return(retVal);
  }
}


[1] Board is an assumed class whose implementation is left to the reader.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.