Sun JavaTM Enterprise System(Java ES)은 네트워크 또는 인터넷 환경에 분산된 엔터프라이즈급 응용 프로그램들을 지원하는 데 필요한 서비스를 제공하는 소프트웨어 구성 요소 집합입니다. 이러한 응용 프로그램을 분산형 엔터프라이즈 응용 프로그램이라고 합니다. 이 설명서는 Java ES의 소프트웨어 구성 요소 및 제공되는 관련 서비스에 초점을 맞추고 있습니다.
이 장에서는 Java ES 및 이 시스템의 사용과 관련된 작업을 소개합니다. 이 장의 내용은 다음과 같습니다.
오늘날의 비즈니스 요구 사항에는 네트워크 또는 인터넷 환경에 분산되고 높은 수준의 성능, 가용성, 보안, 확장성 및 서비스 가능성을 보유한 소프트웨어 솔루션이 필요합니다.
Java ES는 일반적으로 다음과 같은 특성을 가지고 있는 분산된 엔터프라이즈 응용 프로그램을 지원하는 데 필요한 인프라 서비스를 제공합니다.
분산.이 응용 프로그램은 지리적으로 멀리 떨어진 지역이 포함되는 네트워크 환경을 통해 배포된 상호 작용 소프트웨어 구성 요소로 구성됩니다. 환경의 다양한 컴퓨터에서 실행되는 분산된 구성 요소는 함께 작용하여 최종 사용자와 다른 비즈니스 응용 프로그램에 특정 비즈니스 기능을 제공합니다.
엔터프라이즈급 기능.이 응용 프로그램의 범위와 규모는 작업 환경 또는 인터넷 서비스 공급자의 요구를 충족시킵니다. 이 응용 프로그램은 일반적으로 기업 전체에 걸쳐 있으며 많은 부서, 작업 및 프로세스를 단일 소프트웨어 시스템으로 통합합니다. 이 응용 프로그램은 성능, 가용성, 보안, 확장성 및 서비스 가능성과 관련하여 높은 서비스 품질 요구 사항을 충족해야 합니다.
분산된 엔터프라이즈 응용 프로그램에는 분산된 구성 요소가 상호 통신, 작업 조정, 보안 액세스 구현 등을 수행할 수 있도록 하는 기본 인프라 서비스가 필요합니다. 이러한 인프라 서비스는 컴퓨터와 네트워크 링크로 구성되는 하드웨어 환경의 지원을 받습니다. 이러한 하드웨어 환경에는 SPARC® 및 x86(Intel 및 AMD) 하드웨어 구조가 포함됩니다.
전체 계층 스키마는 다음 그림에 나와 있습니다. 대개 Java ES는 그림과 같은 분산된 인프라 서비스 계층을 제공합니다.
Java ES에서 제공되는 서비스는 다음과 같습니다.
포털 서비스.이 서비스를 통해 직원, 컴퓨터 재택 근무자, 지식 노동자, 비즈니스 파트너, 공급업체 및 고객들이 기업 네트워크의 내부 및 외부에 있는 기업 자원에 액세스할 수 있습니다. 이 서비스에서는 언제 어디서나 액세스할 수 있는 기능을 사용자 커뮤니티에 제공하는데, 여기에는 개인화된 통합, 집계, 보안, 모바일 액세스 및 검색 서비스가 포함됩니다.
통신 및 공동 작업 서비스.이 서비스는 다양한 사용자 커뮤니티 간에 정보를 안전하게 상호 교환할 수 있도록 합니다. 사용자의 비즈니스 환경 컨텍스트에서 인스턴트 메시징 및 회의와 같은 실시간 공동 작업 메시징과 달력 일정 등이 특수한 기능의 일부입니다.
이 설명서에서는 Java ES 구성 요소에 속하며 Java ES 배포 구조에서 사용되는 Sun Java Communications Suite 구성 요소를 참조합니다. 따라서 통신 및 공동 작업 구성 요소는 Java ES에 포함되지 않습니다.
네트워크 아이디 및 보안 서비스.이 서비스는 모든 커뮤니티, 응용 프로그램 및 서비스에서 적절한 액세스 제어 정책이 전역적으로 시행되게 함으로써 주요 회사 정보 자산에 대한 보안과 보호 기능을 개선합니다. 이러한 서비스는 아이디 프로필, 액세스 권한, 응용 프로그램 정보 및 네트워크 자원 정보를 저장하고 관리하기 위한 저장소에서 사용됩니다.
웹 컨테이너 및 응용 프로그램 서비스.이 서비스를 통해 분산된 구성 요소들은 런타임에 서로 통신하고 광범위한 서버, 클라이언트 및 장치를 위한 응용 프로그램의 개발, 배포 및 관리를 지원할 수 있습니다. 이 서비스는 J2EE 기술을 기반으로 합니다.
또한 Java ES는 가용성, 확장성, 서비스 가능성 및 기타 응용 프로그램 또는 시스템 품질을 향상시키는 서비스를 제공합니다. Java ES에서 제공되는 서비스 품질 기능 중 일부는 다음과 같습니다.
하나 이상의 Java ES 서비스를 배포할 수 있으며, 해당 서비스마다 여러 Java ES 구성 요소가 포함될 수 있습니다.
Java ES는 별개의 소프트웨어 제품과 구성 요소를 하나의 소프트웨어 시스템으로 통합한 것입니다. 이러한 통합은 다음과 같은 시스템 수준의 여러 기능을 통해 가능합니다.
모든 Java ES 구성 요소에는 공통 모니터링 프레임워크가 있습니다.
이 설명서의 후속 장에서 이 기능들을 설명합니다. 이 절에서는 Java ES로 통합된 구성 요소들을 소개하는 데 초점을 맞추고 있습니다. 이러한 시스템 구성 요소는 다음 그림과 같이 세 가지 주요 범주로 분류될 수 있습니다.
서비스를 제공하는 구성 요소는 다음과 같습니다.
시스템 서비스 구성 요소.분산된 엔터프라이즈 응용 프로그램을 지원하는 주요 Java ES 인프라 서비스를 제공합니다.
서비스 품질 구성 요소.시스템 서비스 구성 요소 및 분산된 응용 프로그램 구성 요소의 가용성, 보안, 확장성, 서비스 가능성 및 기타 품질들을 향상시킵니다.
공유 구성 요소.많은 시스템 서비스 구성 요소 및 서비스 품질 구성 요소들이 실행되는 환경을 제공합니다.
Java ES 구성 요소에 대한 목록은 부록 A, Java ES 구성 요소를 참조하십시오.
여러 Java ES 구성 요소는 분산된 소프트웨어 솔루션을 지원하는 주요 서비스를 제공합니다. 이 시스템 서비스에는 포털 서비스, 아이디 및 보안 서비스, 웹 컨테이너 서비스, J2EE 응용 프로그램 서비스, 지속성 서비스가 포함됩니다.
다음 표에서는 이러한 분산된 서비스를 제공하는 시스템 서비스 구성 요소 및 제공되는 해당 서비스가 알파벳 순으로 간략하게 설명됩니다. 각 시스템 서비스 구성 요소는 많은 클라이언트를 지원할 수 있는 다중 스레드 서버 프로세스입니다. 각 구성 요소에 대한 자세한 내용은 시스템 서비스 구성 요소를 참조하십시오.
표 1–1 Java ES 시스템 서비스 구성 요소
표 1–1에 표시된 시스템 서비스 구성 요소 외에도 Java ES에는 시스템 서비스 구성 요소에서 제공하는 서비스 품질을 향상시키기 위해 사용한 여러 구성 요소가 포함됩니다. 서비스 품질 구성 요소로는 사용자 정의 개발 응용 프로그램 서비스도 향상시킬 수 있습니다. 서비스 품질 구성 요소는 다음 범주로 분류됩니다.
가용성 구성 요소
액세스 구성 요소
모니터링 구성 요소
가용성 구성 요소는 시스템 서비스 구성 요소 및 사용자 정의 응용 프로그램 서비스에 대한 연속성 있는 가동 시간을 제공합니다. 다음 표에서는 Java ES에 포함된 가용성 구성 요소 및 해당 구성 요소에서 제공하는 서비스를 보여줍니다. 각 구성 요소에 대한 자세한 내용은 가용성 구성 요소를 참조하십시오.
표 1–2 Java ES 가용성 구성 요소
액세스 구성 요소는 시스템 서비스에 대한 프런트엔드 액세스를 제공하며 종종 엔터프라이즈 방화벽 외부의 인터넷 위치에서 안전한 액세스를 제공합니다. 이러한 액세스 이외에 대부분 라우팅 및 캐싱 기능을 제공합니다. 다음 표에서는 Java ES에 포함된 액세스 구성 요소 및 해당 구성 요소에서 제공하는 서비스를 보여줍니다. 각 구성 요소에 대한 자세한 내용은 액세스 구성 요소를 참조하십시오.
표 1–3 Java ES 액세스 구성 요소
구성 요소 |
제공되는 액세스 서비스 |
---|---|
내부 포털을 포함한 Portal Server 컨텐트와 서비스에 대해 회사 방화벽 외부에서의 보안 인터넷 액세스를 제공합니다. |
|
보내고 받는 인터넷 요청 모두에 대해 웹 컨텐트의 캐싱, 필터링 및 배포를 제공합니다. |
Java ES에는 실시간 시스템 상태와 사용자 정의 가능한 모니터링 작업을 제공하는 새로운 모니터링 기능이 포함되어 있습니다. 이러한 모니터링은 Sun Java System Monitoring Framework 공유 구성 요소로 지원되는 Sun Java System Monitoring Console 제품 구성 요소에서 구현됩니다. 자세한 내용은 모니터링 구성 요소를 참조하십시오.
Java ES에는 많은 시스템 서비스 구성 요소 및 서비스 품질 구성 요소에서 사용하는 여러 로컬 설치 공유 라이브러리가 포함되어 있습니다. Java ES 공유 구성 요소는 동일한 호스트 컴퓨터에서 실행되는 Java ES 제품 구성 요소에 대한 로컬 서비스를 제공합니다.
상이한 운영 체제에서 이식성을 제공하기 위해 공유 구성 요소를 사용할 수도 있습니다. Java ES 공유 구성 요소의 예로Java 2 Platform, Standard Edition(J2SE), Netscape Portable Runtime(NSPR), Network Security Services(NSS), Java Security Services for Java(JSS) 등이 있습니다. 전체 목록은 공유 구성 요소를 참조하십시오.
공유 구성 요소는 설치된 시스템 서비스 및 서비스 품질 구성 요소에 맞게 Java ES 설치 프로그램에서 자동으로 설치합니다.
Java ES는 단일, 엔드 투 엔드 인프라 소프트웨어 배포와 핵심 비즈니스 요구 사항을 목표로 하는 개별 제품군 배포로 모두 사용할 수 있습니다. Java ES에는 Java ES 구성 요소가 모두 포함되지만 Sun Java System 제품군에는 특정 비즈니스 요구 사항을 충족시키기 위해 이러한 구성 요소 중에서 선택한 하위 집합이 포함됩니다. Java ES 설치 프로그램과 제거 프로그램은 모든 제품군 배포에 포함되지만 제품군의 구성 요소만 처리하도록 축소됩니다. 또한 모든 공유 구성 요소는 제품군 배포에 모두 포함됩니다.
다음 표에서는 각 제품군 목차 및 각 제품군으로 충족될 비즈니스 요구 사항을 보여줍니다.
표 1–4 Sun Java 제품군 구성 요소
Java ES 소프트웨어 기반 비즈니스 솔루션을 만들 때는 많은 표준 작업이 관련됩니다.이러한 작업의 범위 및 난이도는 Java ES를 도입한 시점과 만들고 배포할 솔루션의 특성에 따라 다릅니다.
이 절에서는 일반적으로 Java ES 작업과 관련된 두 가지 요소, 즉 Java ES 솔루션 라이프 사이클과 다양한 도입 시나리오에 대해 설명합니다.
Java ES 소프트웨어 기반 비즈니스 솔루션을 만드는 데 관련된 작업은 다음 그림과 같이 몇 가지 단계로 분류할 수 있습니다. 여기서는 일반적으로 작업을 수행하는 Java ES 사용자의 범주도 보여줍니다.
앞 그림에 표시된 라이프 사이클 단계는 다음과 같은 일반적인 그룹으로 분류할 수 있습니다.
배포 전. 이 단계에서는 비즈니스 요구 사항이 배포 시나리오 즉, 논리적 구조 및 서비스 품질 요구 사항 집합으로 변환됩니다. 배포 시나리오는 배포 구조를 설계하기 위한 사양으로 사용됩니다.
배포.이 단계에서 배포 시나리오는 배포 구조로 변환됩니다. 이 구조는 프로젝트 승인 및 예산 편성을 위한 기초로 사용할 수 있습니다. 이 배포 구조는 소프트웨어를 작업 환경에 배포(빌드 테스트 및 롤아웃)하는 데 필요한 세부 정보를 제공하는 구현 사양의 기초이기도 합니다.
배포 후.운영 단계에서 배포된 솔루션은 프로덕션 조건에서 실행되고 모니터링되어 성능에 최적화됩니다. 배포된 솔루션도 필요한 새 기능을 포함하도록 업그레이드됩니다.
그림 1–3에 표시된 각 라이프 사이클 단계에 대한 작업은 4 장, Java ES 솔루션 라이프 사이클에서 자세히 설명됩니다.
그림 1–3에서는 일반적으로 라이프 사이클 단계에 대한 작업을 수행하는 Java ES 사용자를 보여줍니다. 다음 표에서는 각 사용자 범주의 기술 및 배경 지식을 설명합니다.
표 1–5 라이프 사이클 작업에 대한 Java ES 사용자 범주
사용자 |
기술 및 배경 지식 |
단계 |
---|---|---|
시스템 분석가 |
심도 있는 기술 지식이 아닌 일반적인 지식 습득 기업의 전략적 방향 이해 비즈니스 프로세스, 목적 및 요구 사항 파악 |
비즈니스 분석 기술 요구 사항 논리적 설계 |
높은 기술적 지식 습득 배포 구조에 대한 폭넓은 지식 습득 최신 기술 숙지 비즈니스 요구 사항 및 제약 조건 이해 |
기술 요구 사항 논리적 설계 배포 설계 |
|
현장 엔지니어 시스템 관리자 시스템 관리자 |
높은 기술적 지식 습득 정보 기술 환경 숙지 분산된 소프트웨어 솔루션 구현 경험 네트워크 구조, 프로토콜, 장치 및 보안 이해 스크립트 및 프로그래밍 언어 이해 |
배포 설계 배포 구현 |
위임된 관리자 지원 엔지니어 |
전문 기술 또는 제품 지식 보유 하드웨어, 플랫폼, 디렉토리 및 데이터베이스 숙지 소프트웨어 모니터링, 문제 해결 및 업그레이드 기능 숙달 운영 체제 플랫폼에 대한 시스템 관리 이해 |
작업 |
Java ES 도입에 이르는 비즈니스 요구 사항은 매우 다양합니다. 그러나 거의 모든 Java ES 배포에 대한 높은 수준의 목표는 다음 도입 시나리오 가운데 하나에 해당합니다.
새 시스템.기존 소프트웨어 시스템이 없이 시작할 경우 새로운 비즈니스 솔루션을 지원하기 위해 Java ES 소프트웨어를 배포합니다.
기능 향상.기존의 정보 기술(IT) 인프라로 시작할 경우 해당 시스템의 한 부분, 많은 부분 또는 모든 부분을 Java ES 소프트웨어로 교체합니다. 일반적으로 시스템이나 하위 시스템이 너무 복잡하거나 제한적이거나 유지 관리 비용이 너무 비싸기 때문에 시스템을 교체합니다. 예를 들어 더 나은 보안, 고가용성, 확장성 및 융통성, 더 적은 복잡도, 추가 기능(예: 단일 사인 온) 또는 IT 자원의 효율적인 사용이 필요할 수 있습니다.
기능 확장.기존 IT 인프라로 시작할 경우 현재 시스템의 일부가 아닌 Java ES 소프트웨어를 배포합니다. 일반적으로 새로운 비즈니스 요구 사항을 충족시킬 필요가 있기 때문에 소프트웨어 시스템을 확장합니다. Java ES 포털을 통한 기존 서비스의 개인화된 수집 또는 기존 서비스에 대한 Java 인증 및 권한 부여와 같은 새로운 기능이 필요할 수 있습니다.
업그레이드.이전 버전의 Java ES 또는 Java ES 이전에 출시된 Sun 제품으로 구성된 IT 인프라로 시작할 경우 최신 버전의 Java ES 구성 요소로 업그레이드합니다.
모든 도입 시나리오에는 각각의 고려 사항과 과제가 있습니다. 그러나 도입 시나리오에 따라 그림 1–3의 라이프 사이클 단계에서 처리해야 할 문제와 투자해야 할 자원이 다를 수 있습니다.
도입 시나리오에 다양하게 적용되는 고려 사항은 다음과 같습니다.
마이그레이션. 기존 인프라를 새로운 소프트웨어로 기능 향상 또는 업그레이드하려면 종종 데이터를 기존 시스템에서 새로운 시스템으로 마이그레이션해야 합니다. 구성 정보, 사용자 정보 또는 응용 프로그램 정보 등이 이러한 데이터에 해당할 수 있습니다. 새로운 프로그래밍 인터페이스로 인해 비즈니스 또는 프리젠테이션 논리를 마이그레이션해야할 수도 있습니다.
통합. 기존 시스템에 새로운 소프트웨어를 추가하거나 또는 소프트웨어 하위 시스템을 교체하려면 새로운 소프트웨어 구성 요소를 나머지 하위 시스템에 통합해야 합니다. 새로운 인터페이스 계층 개발, J2EE 커넥터 또는 자원 어댑터 사용, 기존 구성 요소 재구성 및 데이터 변환 스키마 구현 등이 통합에 포함될 수 있습니다.
교육. 거의 모든 인프라 변경은 IT 절차 및 기술 세트의 변경을 의미합니다. Java ES 기술을 지원하려면 IT 부서에 새로운 기술을 확보하거나 이전 기술을 이전하기 위한 적절한 시간이 필요합니다.
하드웨어. 기존 시스템이나 하위 시스템을 교체하거나 기능을 향상시킬 경우 비즈니스 제약 조건으로 인해 기존 하드웨어를 재사용해야 할 수도 있습니다. 도입 시나리오에 따라 하드웨어 자원이 중요한 요소가 될 수도 있습니다.
다음 표에는 각각의 Java ES 도입 시나리오에 적용되는 고려 사항의 기본적인 특성이 요약되어 있습니다.
표 1–6 Java ES 도입 시나리오 고려 사항
이 절에서는 이 장에서 사용된 주요 기술 용어에 대해 Java ES 환경에서 사용되는 방식에 중점을 두어 설명합니다.
실행하는 소프트웨어 시스템과 달성하려는 목표를 규정하는 Java ES 소프트웨어 배포에 대한 총체적 설명입니다. 새 시스템, 교체, 확장 및 업그레이드의 네 가지 기본 Java ES 도입 시나리오가 있습니다.
분산 응용 프로그램이 구성되는 소프트웨어 논리 단위입니다. 구성 요소는 Java ES에 포함된 시스템 구성 요소 중 하나이거나 사용자 정의 개발된 응용 프로그램 구성 요소 중 하나일 수 있습니다. 응용 프로그램 구성 요소는 대개 분산 구성 요소 모델(CORBA 또는 J2EETM 플랫폼 등)을 따르며 특정 컴퓨팅 기능을 수행합니다. 구성 요소는 단독 또는 공동으로 비즈니스 서비스를 제공하며 웹 서비스로 캡슐화될 수 있습니다.
네트워크 환경 또는 인터넷 환경 전반에 적용되는 논리(분산 측면) 및 작업 환경이나 서비스 공급자의 요구 사항을 충족시키는 범위와 규모(엔터프라이즈 측면)를 갖춘 응용 프로그램입니다.
인터넷 브라우저 또는 모바일 장치 GUI와 같은 그래픽 사용자 인터페이스를 통해 분산 응용 프로그램을 사용하는 사람입니다. 응용 프로그램에서 지원하는 동시 최종 사용자 수는 응용 프로그램의 배포 구조를 결정하는 중요한 요소입니다.
하나 이상의 클라이언트에 대해 수행되는 소프트웨어 기능입니다. 이 기능은 메모리 관리와 같이 매우 낮은 수준이거나 신용 검사 비즈니스 서비스와 같이 높은 수준의 기능일 수 있습니다. 높은 수준의 서비스는 개별 서비스의 집합으로 구성될 수 있습니다. 서비스는 로컬 클라이언트가 사용 가능한 로컬일 수도 있고 원격 클라이언트가 사용 가능한 분산일 수도 있습니다.
주요 Java ES 인프라 서비스를 제공하는 Java ES 시스템 서비스 구성 요소 및 이러한 시스템 서비스를 향상시키는 Java ES 서비스 품질 구성 요소입니다. 제품 구성 요소는 Java ES 설치 프로그램에서 선택할 수 있습니다.
Java ES에 포함된 여러 유형의 시스템 구성 요소 중 하나입니다. 이 구성 요소는 시스템 서비스 구성 요소 및 분산된 응용 프로그램 구성 요소의 가용성, 보안, 확장성, 서비스 가능성 및 기타 품질을 향상시킵니다.
Java ES에 포함된 여러 유형의 시스템 구성 요소 중 하나입니다. 다른 시스템 구성 요소에 로컬 서비스를 제공하는 공유 구성 요소이며, 대개의 경우 라이브러리에 해당합니다.
Java ES에 포함된 소프트웨어 패키지 또는 패키지 집합이며, Java ES 설치 프로그램으로 설치됩니다. 여러 종류의 시스템 구성 요소가 있으며, 이러한 요소 중 하나로 Java ES 인프라 서비스를 제공하는 제품 구성 요소 및 다른 시스템 구성 요소에 로컬 서비스를 제공하는 공유 구성 요소가 있습니다.
Java ES에서 제공되는 고유 기능을 정의하는 하나 이상의 분산 서비스입니다. 시스템 서비스는 일반적으로 다양한 서비스 품질 구성 요소, 공유 구성 요소 또는 두 구성 요소 중 일부를 지원해야 합니다.
Java ES에 포함된 여러 유형의 시스템 구성 요소 중 하나입니다. 시스템 서비스 구성 요소는 포털 서비스, 아이디 및 보안 서비스, 웹 및 응용 프로그램 서비스 및 가용성 서비스와 같은 주요 Java ES인프라 서비스를 제공합니다.