Sun Java System Application Server 9.1 관리 설명서

14장 웹 서비스 관리

이 장에서는 Application Server에서의 웹 서비스 관리에 대해 설명합니다. 관리 콘솔과 asadmin 도구를 사용하여 웹 서비스를 배포, 테스트 및 관리할 수 있습니다. 복잡한 웹 서비스를 빠르게 시각적으로 표시하고, 이해하며, 모니터하고, 관리할 수 있습니다. Java EE 응용 프로그램과 응용 프로그램 구성 요소(예: EJB)를 보는 것처럼 도메인에 배포된 모든 웹 서비스를 볼 수 있습니다.

또한 다음과 같은 작업을 할 수 있습니다.

이 장은 다음 내용으로 구성되어 있습니다.

웹 서비스 개요

웹 서비스는 HTTP와 같은 인터넷 프로토콜을 통해 전송되는 SOAP(Simple Object Access Protocol) 등의 XM 기반 프로토콜을 사용하여 클라이언트가 액세스하는 응용 프로그램입니다. 클라이언트는 웹 서비스 정의 언어(WSDL) 파일과 같은 XML 아티팩트를 사용하여 정의된 웹 서비스 응용 프로그램에 인터페이스와 바인딩을 통해 액세스합니다.

XML(eXtensible Markup Language)은 W3C(World Wide Web Consortium)에서 개발한 표준으로 웹 서비스의 토대를 이루는 기반 중 하나입니다. XML을 통해 웹 서비스와 클라이언트가 공통의 언어로 서로 통신할 수 있습니다. XML은 단순하고 유연한 텍스트 기반 마크업 언어입니다. XML 데이터는 꺾쇠 괄호로 둘러쌓인 태그를 사용하여 표시됩니다. 태그에는 표시하는 데이터의 의미가 포함됩니다. 이러한 마크업을 통해 여러 시스템이 상호 간에 손쉽게 데이터를 교환할 수 있습니다.

DTD(Document Type Definition) 또는 XSD(XML Schema Definition)는 XML 문서의 구조를 설명합니다. 해당 XML 문서에 사용할 수 있는 태그에 대한 정보, 이러한 태그의 순서와 같은 정보가 들어 있습니다.

XSLT(eXtensible Stylesheet Language Transformation)는 XML 문서를 다른 형식으로 변환하는 데 사용됩니다.

웹 서비스 표준

SOAP(Simple Object Access Protocol)는 웹 서비스에 대한 공통 메시징 형식을 제공합니다. 서로 인식되지 않은 객체가 SOAP를 통해 메시지를 교환할 수 있습니다. SOAP는 XML 기반 데이터 인코딩 형식과 HTTP를 사용하여 메시지를 전송합니다. SOAP는 프로그래밍 언어 및 작동 플랫폼 모두에 독립적이며 종점에서 특정 기술이 필요하지 않습니다.

UDDI(Universal Description, Discovery, and Integration)는 웹 서비스를 등록, 등록 해제 및 조회하는 표준 방법을 제공합니다. 전화번호부와 비슷한 UDDI 레지스트리를 통해 공급자는 자신의 서비스를 등록하고 요청자는 서비스를 찾을 수 있습니다. 요청자가 서비스를 찾은 뒤에는 요청자와 공급자 사이에서 레지스트리가 더 이상 아무런 역할을 하지 않습니다.

WSDL(Web Services Description Language)은 웹 서비스의 세부 정보를 지정하는 표준 방법을 정의합니다. 웹 서비스 인터페이스와 바인딩의 세부 정보, 그리고 기타 배포 세부 정보를 지정할 수 있는 범용 XML 스키마입니다. 이렇게 서비스 세부 정보를 지정하는 표준 방법이 있기 때문에 클라이언트에서 사용 가능한 웹 서비스에 대해 미리 알 필요가 없습니다.

ebXML(Electronic Business using eXtensible Markup Language)은 기업에서 인터넷을 통해 비즈니스를 수행할 수 있도록 해주는 사양의 집합입니다. OASIS(Organization for the Advancement of Structured Information Standards)에서 ebXML 사양을 관리합니다.

Java EE 웹 서비스 표준

JAXP(Java APIs for XML processing)는 XML 문서의 구문 분석 또는 처리를 위한, 공급업체에 중립적인 Lightweight API 집합입니다. JAXP를 통해 웹 서비스를 모든 호환 XML 구문 분석기에 "연결"할 수 있습니다. 외부 구문 분석기가 "연결"되지 않은 경우 JAXP는 자체 XML 구문 분석기 구현을 사용합니다.

JAX-RPC(Java API for XML-based remote procedure calls)는 클라이언트-서버 원격 프로시저 호출에 XML 기반 프로토콜을 사용합니다. JAX-RPC를 통해 SOAP를 기반으로 하는 상호 운영과 이식이 가능한 웹 서비스를 구현할 수 있습니다. 개발자는 JAX-RPC 프로그래밍 모델을 사용하여 해당하는 WSDL 설명과 함께 SOAP 기반 웹 서비스 종점과 클라이언트를 개발합니다. JAX-RPC 기반 웹 서비스는 Java 기반이 아닌 클라이언트와 상호 작용할 수 있습니다. 마찬가지로 JAX-RPC 기반 클라이언트는 Java 기반이 아닌 웹 서비스 구현과 상호 작용할 수 있습니다.

비즈니스 레지스트리 액세스를 위한 Java API인 JAXR(Java API for XML registries)은 UDDI 및 기타 레지스트리 사양(예: ebXML)을 지원하는 유연한 구조를 갖고 있습니다. 독립 실행형 Java 응용 프로그램이거나 J2EE 구성 요소일 수 있는 JAXR 클라이언트는 JAXR 공급자가 제공하는 JAXR API 구현을 사용하여 비즈니스 레지스트리에 액세스합니다. JAXR 공급자는 두 부분으로 구성됩니다. 하나는 레지스트리 관련 API 구현을 제공하는 레지스트리별 JAXR 공급자이고, 다른 하나는 이러한 API 기능을 구현하지만 레지스트리 유형에 독립적인 JAXR 플러그 가능 공급자입니다. 플러그 가능 공급자는 클라이언트에게 레지스트리별 공급자의 세부 정보를 숨깁니다.

SAAJ(SOAP with Attachments API for Java)는 개발자가 SOAP 1.1 사양과 SOAP with Attachments note를 준수하는 메시지를 생성하고 사용할 수 있게 해줍니다. SAAJ는 첨부가 있는 SOAP 메시지를 처리하기 위한 추상화를 제공합니다. 고급 개발자는 SAAJ를 사용하여 응용 프로그램이 SOAP 메시지와 직접 동작하도록 할 수 있습니다. 첨부는 완전한 XML 문서, XML 단편 또는 MIME 유형일 수 있습니다. 또한 SAAJ를 사용하여 다른 MIME 유형에 대한 지원을 활성화할 수도 있습니다. JAX-RPC와 같은 JAX 기술의 경우 내부에서 SAAJ를 사용하여 SOAP 복잡성을 숨깁니다. SAAJ를 통해 다음이 가능합니다.

웹 서비스 배포 및 테스트

Application Server에서는 웹 서비스를 쉽게 배포하고 테스트할 수 있습니다.

웹 서비스 배포

엔터프라이즈 응용 프로그램과 마찬가지로 엔터프라이즈 아카이브(EAR)에서 웹 서비스를 배포합니다.

POJO(plain old Java Object)를 사용하여 구현된 웹 서비스의 경우 자동 배포 기능을 사용하여 자동 배포 디렉토리로 끌어 놓는 방식으로 POJO 웹 서비스를 배포합니다. 그러면 적절한 웹 XML 파일이 자동으로 생성되고 웹 서비스가 배포됩니다.

배포된 웹 서비스 목록은 관리 콘솔의 Application Server > 웹 서비스 | 일반 아래에서 볼 수 있습니다.

배포된 웹 서비스 보기

관리 콘솔에서 웹 서비스를 테스트하려면 응용 프로그램 > 웹 서비스 > web-service-name | 일반을 선택합니다. 관리 콘솔에 다음과 같은 웹 서비스의 속성이 표시됩니다.

웹 서비스 테스트

관리 콘솔에서는 웹 서비스를 테스트하고 문제를 진단할 수 있습니다. 일반 테스트 서블릿으로 배포된 웹 서비스에 ping을 실행할 수 있습니다. 각 메소드 호출에 대해 SOAP 메시지가 표시됩니다.

관리 콘솔에서 웹 서비스를 테스트하려면 응용 프로그램 > 웹 서비스 > web-service-name | 일반을 선택하고 테스트 버튼을 누릅니다.

웹 서비스 보안

SOAP 메시지 계층 보안에 대한 지원은 WS-Security의 SAML 토큰 프로필을 기반으로 합니다. 웹 서비스에 대한 변조 방지 감사도 제공됩니다.

웹 서비스 레지스트리 사용


주 –

Application Server에는 내부 레지스트리가 없습니다. 웹 서비스를 내부 레지스트리에 게시하려면 Application Server에 레지스트리를 다운로드하고 설치해야 합니다. 웹 서비스를 외부 레지스트리에 게시하려면 외부 레지스트리 주소를 지정합니다.


레지스트리 추가

관리 콘솔을 사용하여 Application Server > 웹 서비스 | 레지스트리에서 웹 서비스 레지스트리를 추가하거나 제거합니다. 이 페이지에서 RAP(Registry Access Point)를 만듭니다. 레지스트리를 추가할 때는 다음 매개 변수를 지정합니다.

레지스트리 JNDI 이름은 다음 단계를 수행하여 만들 수 있습니다.

레지스트리에 웹 서비스 게시

관리 콘솔에서 웹 서비스를 게시하려면 응용 프로그램 > 웹 서비스 > web-service-name | 게시를 선택합니다.

웹 서비스 게시 화면에서 웹 서비스를 게시할 하나 이상의 레지스트리를 선택하고 게시를 누릅니다. 사용 가능한 모든 레지스트리에 게시하려면 모두 추가 버튼을 누릅니다.

레지스트리에서 해당 웹 서비스를 표시할 범주를 입력합니다. 쉼표를 사용하여 각 범주를 구분합니다. 사용 중인 레지스트리에 범주가 정의됩니다. 웹 서비스에 대한 설명을 입력합니다. UDDI 레지스트리에 게시하는 경우에는 조직 이름을 입력합니다.

로드 밸런서를 사용하는 경우에는 로드 밸런서 호스트 이름, 포트 번호 및 SSL 포트 번호를 입력합니다. 인터넷을 통해 WSDL을 찾을 수 있는 외부 레지스트리에 웹 서비스를 게시하는 경우 WSDL에 지정된 호스트 이름 및 포트 이름이 이러한 옵션에 의해 로드 밸런서의 호스트 이름 및 포트 이름으로 바뀝니다.

웹 서비스를 게시 해제하려면 웹 서비스 게시 화면에서 웹 서비스 게시를 해제할 레지스트리를 선택하고 게시 해제를 누릅니다.

XSLT 필터로 메시지 변환

웹 서비스 종점에 XSLT 변환 규칙을 적용할 수 있습니다. 이를 통해 웹 서비스 요청과 응답을 세밀하게 제어할 수 있습니다. 여러 XSLT 규칙을 웹 서비스 종점 메소드에 적용하고 변환을 적용할 순서를 구성할 수 있습니다. 모든 XSLT 파일은 중앙 저장소의 generated/xml/appOrModule 디렉토리에 저장됩니다. 이러한 변환 규칙은 원격 서버 인스턴스에 동기화됩니다.

SOAP 요청이나 응답에 변환 규칙을 적용할 수 있습니다.

관리 콘솔을 사용하여 웹 서비스에 적용할 변환 규칙을 추가하려면 응용 프로그램 > 웹 서비스 > web-service-name | 변환을 선택합니다. 추가를 누릅니다.

해당 웹 서비스 종점에 사용할 수 있는 변환 규칙 목록이 표시됩니다.

변환 규칙이 포함된 XSLT 파일의 위치로 이동합니다. 생성된 모든 XSLT 파일은 generated/xml/application or module name/ 디렉토리에 저장됩니다.

웹 서비스 종점에 여러 변환 규칙을 추가하면 변환 규칙은 추가된 순서로 적용됩니다.

변환 규칙을 활성화하려면 변환 규칙 페이지에서 규칙에 해당하는 확인란을 선택한 다음 활성화를 누릅니다. 규칙을 비활성화하려면 비활성화를 누릅니다.

변환 규칙을 제거하려면 변환 규칙 페이지에서 규칙에 해당하는 확인란을 선택한 다음 제거를 누릅니다. 이렇게 하면 목록에서 변환 규칙이 제거됩니다. 이 변환 규칙은 웹 서비스 종점에 적용된 경우 자동으로 비활성화됩니다. 그러나 XSLT 파일은 파일 경로 위치에 그대로 유지됩니다. 다른 웹 서비스 종점이 이 XSLT 파일을 사용할 수 있습니다.

웹 서비스 모니터링

관리 콘솔에서 웹 서비스의 작동 상태를 추적하고 그래픽으로 표시할 수 있으며 웹 서비스에서 송수신된 메시지를 표시할 수 있습니다.

웹 서비스에 대한 모니터링을 활성화하려면 관리 콘솔에서 응용 프로그램 > 웹 서비스 > web-service-name | 모니터 | 구성을 선택합니다.

모니터링 구성 페이지에서 모니터링 수준을 다음과 같이 설정합니다.

메시지 내역에 대한 값을 입력합니다. 기본값은 25입니다. 재설정 버튼을 누르면 모든 통계가 삭제되고 실행 중인 평균이 다시 시작됩니다.

웹 서비스 통계 보기

Application Server9.1에서는 웹 서비스의 작동 통계를 추적하고 그래픽으로 표시하는 기능이 제공됩니다.

응용 프로그램 > 웹 서비스 > web-service-name | 모니터 | 통계에서 모니터링 통계를 봅니다. 사용할 수 있는 통계는 다음과 같습니다.

웹 서비스 메시지 모니터링

웹 서비스 종점에 대한 메시지(기본값 25)를 보기 위한 웹 서비스를 구성할 수도 있습니다. 이러한 메시지는 원격 서버 인스턴스의 메모리에 저장됩니다. SOAP 요청, 응답 및 HTTP 헤더 정보의 세부 사항이 표시됩니다.

응용 프로그램 > 웹 서비스 > web-service-name | 모니터 | 메시지에서 웹 서비스 메시지를 모니터합니다.

활성화할 경우 웹 서비스 종점에 대한 마지막 몇 개의(기본값 25) 메시지를 볼 수 있습니다. SOAP 요청 및 응답의 세부 정보, HTTP 헤더 정보를 비롯한 이러한 메시지는 원격 서버 인스턴스의 메모리에 유지됩니다.

웹 서비스에 대해 수신된 메시지 목록을 표시합니다. 표시되는 메시지 수는 모니터링 구성에 따라 다릅니다.

필터를 선택하여 성공 메시지 또는 실패 메시지만 표시할 수도 있습니다.