분산된 엔터프라이즈 응용 프로그램의 상호 작용 소프트웨어 구성 요소에는 분산된 구성 요소가 상호 통신, 작업 조정, 보안 액세스 구현 등을 수행할 수 있도록 하는 기본 인프라 서비스 집합이 필요합니다. 이 절에서는 해당 인프라 서비스 제공 시에 여러 Java ES 구성 요소에서 수행하는 핵심 역할을 설명합니다.
분산된 소프트웨어 시스템 설계 시, 해당 시스템이 사용자 정의 개발 구성 요소로 구성되거나 즉시 실행 가능한 Java ES 구성 요소로 구성되는지 여부와 상관없이 여러 인프라 서비스를 통합해야 합니다. 이 서비스는 여러 수준에서 작동합니다.
그림 2–2에서는 솔루션 구조의 인프라 서비스 종속성 차원을 설명합니다. 이 그림에 표시된 차원은 그림 1–1의 인프라 서비스 계층이 확장된 것을 보여줍니다.
그림 2–2의 서비스 계층 및 해당 계층 간의 종속성은 솔루션 논리적 구조의 중요한 차원을 구성합니다. 이 인프라 서비스는 Java ES 시스템 서비스 구성 요소( 시스템 서비스 구성 요소 참조)의 역할을 이해하기 위한 개념적 기초를 제공합니다.
일반적으로 그림 2–2에 표시된 서비스는 낮은 수준의 플랫폼 서비스, 높은 수준의 응용 프로그램 서비스 및 다른 두 그룹 사이에 있어서 그렇게 이름이 지정된 미들웨어 서비스 그룹 등 크게 세 가지 그룹으로 분류됩니다.
다음 단락에서는 서로 다른 인프라 서비스 수준을 설명하며 해당되는 Java 프로그래밍 언어 아티팩트를 참조합니다. 서비스 수준은 그림 2–2에 표시된 것처럼 가장 낮은 수준에서 가장 높은 수준까지 설명합니다.
운영 체제 플랫폼.컴퓨터에서 실행되는 프로세스에 대한 기본 지원을 제공합니다. 운영 체제(SolarisTM Operating System, Linux 또는 Microsoft Windows 등)는 Java 가상 머신(JVMTM 시스템)을 지원하는 데 필요한 메모리, 스레드 및 기타 자원뿐만 아니라 물리적 장치를 관리합니다.
네트워크 전송. 다른 컴퓨터에서 실행되는 분산된 응용 프로그램 구성 요소 간의 통신을 위한 기본 네트워킹 지원을 제공합니다. 이러한 서비스에는 TCP 및 HTTP와 같은 프로토콜에 대한 지원이 포함됩니다. 다른 보다 높은 수준의 통신 프로토콜(메시징 수준 참조)은 이러한 기본 전송 서비스에 종속됩니다.
지속성. 정적 데이터(예: 사용자, 디렉토리 또는 구성 정보)와 동적 응용 프로그램 데이터(자주 업데이트되는 정보)의 액세스 및 저장에 대한 지원을 제공합니다.
메시징. 응용 프로그램 구성 요소 간의 동기 통신과 비동기 통신 모두에 대한 지원을 제공합니다. 동기 메시징은 메시지를 실시간으로 전송 및 수신하며 J2EE 구성 요소 간의 원격 메소드 호출(RMI) 및 웹 서비스와의 SOAP 상호 작용을 포함합니다. 비동기 메시징은 사용자가 바로 받을 준비가 되었는지에 관계 없이 메시지를 보내는 통신입니다. 비동기 메시징 사양(예: JMS(Java Message Service)및 ebXML)은 안정성을 보장하며 다른 메시징 의미를 지원합니다.
런타임. J2EE 또는 CORBA 모델과 같은 분산된 구성 요소 모델에 필요한 지원을 제공합니다. 런타임 서비스에는 밀접하게 연결된 분산 구성 요소에 필요한 원격 메소드 호출 외에도 구성 요소 상태(라이프 사이클)관리, 스레드 풀 관리, 동기화(mutex 잠금), 지속성 서비스, 분산 트랜잭션 모니터링, 분산 예외 처리 등이 포함됩니다 . J2EE 환경의 경우 이 런타임 서비스는 응용 프로그램 서버 또는 웹 서버의 EJBTM, 웹 및 Message-Driven Bean 컨테이너에서 제공됩니다.
보안 및 정책. 응용 프로그램 자원에 대한 보안 액세스를 지원합니다. 이 서비스에는단일 사인 온(SSO) 기능뿐만 아니라 분산된 자원에 대한 그룹 또는 역할 기반 액세스를 제어하는 정책에 대한 지원이 포함됩니다. 단일 사인 온(SSO)을 사용하면 분산 시스템의 한 서비스에서 사용자 인증을 시스템의 다른 서비스(J2EE 구성 요소, 비즈니스 서비스 및 웹 서비스)에 자동으로 적용할 수 있습니다.
사용자 공동 작업.엔터프라이즈 및 인터넷 환경에서 사용자 간의 직접 통신 및 공동 작업을 지원하는 데 핵심 역할을 하는 서비스를 제공합니다. 따라서 이서비스는 일반적으로 전자 메일 서버 또는 Calendar Server 서버와 같은 독립 실행형 서버에서 제공하는 응용 프로그램 수준 비즈니스 서비스입니다
통합. 기존 비즈니스 서비스를 통합하는 서비스를 제공합니다. 포털에서처럼 서비스 액세스를 위한 공통 인터페이스를 제공하거나 작업 워크플로 내에서 조정하는 처리 엔진을 통해 통합함으로써 기존 비즈니스 서비스를 통합하는 서비스를 제공합니다. 통합은 다른 기업 간의 B2B(기업-기업) 상호 작용으로 수행될 수도 있습니다.
그림 2–2의 서비스 수준은 가장 낮은 수준의 운영 체제 시스템 서비스에서 가장 높은 수준의 응용 프로그램 및 통합 서비스에 이르기까지 다양한 인프라 서비스 간의 일반적인 종속성을 반영합니다. 각 서비스는 일반적으로 아래에 있는 서비스에 종속되고 위에 있는 서비스를 지원합니다.
그러나 그림 2–2에서는 인프라 서비스의 엄격한 계층화를 표시하지 않습니다. 높은 수준의 서비스는 중간 수준에 의존하지 않고 낮은 수준의 서비스와 바로 상호 작용할 수 있습니다. 예를 들어 일부 런타임 서비스는 사이에 있는 다른 서비스 수준 없이도 플랫폼 서비스에 바로 종속될 수 있습니다. 모니터링 또는 관리 서비스와 같은 다른 서비스 수준도 이 개념적인 그림에 포함될 수 있습니다.
Java ES 구성 요소는 그림 2–2에 표시된 분산된 인프라 서비스 수준을 구현합니다. 다른 수준 내에서 Java ES 시스템 서비스 구성 요소의 위치는 그림 2–3에 표시되어 있습니다.
그림 2–3에 표시된 운영 체제 플랫폼은 공식적으로 Java Enterprise System의 일부는 아니지만, Java ES 구성 요소가 지원되는 운영 체제 플랫폼을 표시하기 위해 포함됩니다.
일반적으로 그림 2–3에 표시된 각 Java ES 시스템 서비스 구성 요소는 인프라에서 해당 구성 요소 하위의 구성 요소에 좌우되며 해당 구성 요소 상위의 구성 요소를 지원합니다. 이러한 종속성 및 지원 관계는 논리 구조 설계의 핵심 요소입니다.
그림 2–3에 표시된 것처럼 표 2–1에서는 Java ES 시스템 서비스 구성 요소 사이의 특정한 관계를 보여줍니다.
표 2–1 Java ES 시스템 서비스 구성 요소 사이의 관계
구성 요소 |
종속 대상 |
지원 대상 |
---|---|---|
Portal Server |
Application Server 또는 Web Server Access Manager Directory Server 해당 채널을 사용하도록 구성한 경우: Calendar Server Messaging Server Instant Messaging | |
Messaging Server |
Directory Server Access Manager(단일 사인 온용) |
Calendar Server(전자 메일 알림용) Portal Server(메시징 채널용) |
Instant Messaging |
Directory Server Access Manager(단일 사인 온(SSO)용) |
Portal Server(인스턴트 메시징 채널용) |
Calendar Server |
Directory Server Messaging Server(전자 메일 알림 서비스용) Access Manager(단일 사인 온(SSO)용) |
Portal Server(캘린더 채널용) |
Access Manager |
Application Server 또는 Web Server Directory Server |
Portal Server 단일 사인 온(SSO)을 위해 구성하는 경우: Calendar Server Messaging Server Instant Messaging |
Application Server |
Message Queue Directory Server(관리 대상 객체용) |
Portal Server Access Manager |
Message Queue |
Directory Server(관리 대상 객체용) |
Application Server |
Web Server |
Access Manager(액세스 제어용) |
Portal Server Access Manager |
Directory Server |
없음 |
Portal Server Calendar Server Messaging Server Instant Messaging Access Manager |
Service Registry |
없음 |
Applcation Server 기반 구성 요소 |