웹스피어 편집하기
최신판 | 당신의 편집 | ||
2번째 줄: | 2번째 줄: | ||
[[파일:웹스피어 글자.png|썸네일|300픽셀|'''웹스피어'''(WebSphere) 로고와 글자]] | [[파일:웹스피어 글자.png|썸네일|300픽셀|'''웹스피어'''(WebSphere) 로고와 글자]] | ||
− | '''웹스피어'''<!--웹 스피어, 웹슈피어, 웹 슈피어, 웹쉬피어, 웹 쉬피어-->(WebSphere)는 미국 [[IBM]] 사가 판매하는 [[자바]] 기반의 [[웹 애플리케이션 서버]](WAS) 제품이다 | + | '''웹스피어'''<!--웹 스피어, 웹슈피어, 웹 슈피어, 웹쉬피어, 웹 쉬피어-->(WebSphere)는 미국 [[IBM]] 사가 판매하는 [[자바]] 기반의 [[웹 애플리케이션 서버]](WAS) 제품이다. |
== 개요 == | == 개요 == | ||
35번째 줄: | 35번째 줄: | ||
; 단점 | ; 단점 | ||
− | 플랫폼은 디맨드웨어에 의해 주최되기 때문에, 개발자들은 맞춤화 및 개발을 완전히 통제하지 못할 수 있다. 또한 업데이트 및 릴리스를 구현하는 데 시간이 걸릴 수 있는 승인 계층이 있다. 파트너 수 및 통합이 상대적으로 제한됐다.<ref | + | 플랫폼은 디맨드웨어에 의해 주최되기 때문에, 개발자들은 맞춤화 및 개발을 완전히 통제하지 못할 수 있다. 또한 업데이트 및 릴리스를 구현하는 데 시간이 걸릴 수 있는 승인 계층이 있다. 파트너 수 및 통합이 상대적으로 제한됐다.<ref>worldnightinfo.com, 〈[https://ibinvestment.tistory.com/4?category=297297 IBM Websphere V9]〉, 《티스토리》, 2018-08-10</ref> |
; 주요 오퍼링 | ; 주요 오퍼링 | ||
* '''애플리케이션 오퍼링 서버''' : 유연한 런타임 환경을 통해 애플리케이션을 구축하여 연결하고, 온프레미스 또는 퍼블릭, 프라이빗, 하이브리드 클라우드 등에 상관없이 전체 환경을 최적화할 수 있다. | * '''애플리케이션 오퍼링 서버''' : 유연한 런타임 환경을 통해 애플리케이션을 구축하여 연결하고, 온프레미스 또는 퍼블릭, 프라이빗, 하이브리드 클라우드 등에 상관없이 전체 환경을 최적화할 수 있다. | ||
49번째 줄: | 49번째 줄: | ||
* '''네이밍 및 디렉토리''' | * '''네이밍 및 디렉토리''' | ||
: 각 애플리케이션 서버는 네이밍 서비스를 제공하며 네이밍 서비스는 JNDI(자바 네이밍 & 디렉터리 인터페이스) 네임스페이스를 제공한다. 서비스는 애플리케이션 서버에 호스트 된 자원을 등록하는 데 사용된다. JNDI 구현은 코바(Common Object Request Broker Architecture) 이름 지정 서비스의 맨 위에 빌드된다. JNDI는 이름 지정에 대한 클라이언트 측 액세스를 제공하며 애플리케이션 개발자가 사용하는 프로그래밍 모델을 표시한다. 이름 지정 서비스는 서버 측 구현을 제공하며 네임스페이스가 실제로 저장되어 있다. JNDI는 본질적으로 이름 지정 서비스에 저장된 네임스페이스의 클라이언트 측 랩퍼를 제공하며 클라이언트 대신 이름 지정 서비스 서버와 상호작용한다. 애플리케이션 서버의 클라이언트는 애플리케이션에 관련된 오브젝트의 참조를 얻기 위해 지정 아키텍처를 사용하고 이러한 오브젝트의 대부분은 네임스페이스라는 계층 구조에 바인드 된다. 이름 바인딩 세트로 구성되며 각각은 특정 컨텍스트와 해당 이름으로 바인드 된 오브젝트와 관련된 이름 중 하나의 이름 바인딩 세트로 구성된다. 네임스페이스는 네임 서버를 통해 엑세스하고 조작할 수 있는데 이 제품은 추가 확장성을 위한 분산 네임스페이스, 여러 범위에서의 바인딩을 위한 일시적 및 지속적 파티션, 여러 서버에 걸친 연합 네임스페이스 구조, 서버 시작 시 시스템에 의해 바인드 된 바인딩을 정의하기 위해 구성된 바인딩, 코바 INS(Interoperable Naming Service) 오브젝트 URL 지원과 같은 네이밍 및 디렉터리 기능을 제공한다. 또, 제품 보안을 위해 연합 저장소 지원을 제공하는 가상 멤버 관리자를 추가하면 전보다 더 광범위하고 향상된 ID 관리 기능을 제공한다.<ref name="빠"></ref> | : 각 애플리케이션 서버는 네이밍 서비스를 제공하며 네이밍 서비스는 JNDI(자바 네이밍 & 디렉터리 인터페이스) 네임스페이스를 제공한다. 서비스는 애플리케이션 서버에 호스트 된 자원을 등록하는 데 사용된다. JNDI 구현은 코바(Common Object Request Broker Architecture) 이름 지정 서비스의 맨 위에 빌드된다. JNDI는 이름 지정에 대한 클라이언트 측 액세스를 제공하며 애플리케이션 개발자가 사용하는 프로그래밍 모델을 표시한다. 이름 지정 서비스는 서버 측 구현을 제공하며 네임스페이스가 실제로 저장되어 있다. JNDI는 본질적으로 이름 지정 서비스에 저장된 네임스페이스의 클라이언트 측 랩퍼를 제공하며 클라이언트 대신 이름 지정 서비스 서버와 상호작용한다. 애플리케이션 서버의 클라이언트는 애플리케이션에 관련된 오브젝트의 참조를 얻기 위해 지정 아키텍처를 사용하고 이러한 오브젝트의 대부분은 네임스페이스라는 계층 구조에 바인드 된다. 이름 바인딩 세트로 구성되며 각각은 특정 컨텍스트와 해당 이름으로 바인드 된 오브젝트와 관련된 이름 중 하나의 이름 바인딩 세트로 구성된다. 네임스페이스는 네임 서버를 통해 엑세스하고 조작할 수 있는데 이 제품은 추가 확장성을 위한 분산 네임스페이스, 여러 범위에서의 바인딩을 위한 일시적 및 지속적 파티션, 여러 서버에 걸친 연합 네임스페이스 구조, 서버 시작 시 시스템에 의해 바인드 된 바인딩을 정의하기 위해 구성된 바인딩, 코바 INS(Interoperable Naming Service) 오브젝트 URL 지원과 같은 네이밍 및 디렉터리 기능을 제공한다. 또, 제품 보안을 위해 연합 저장소 지원을 제공하는 가상 멤버 관리자를 추가하면 전보다 더 광범위하고 향상된 ID 관리 기능을 제공한다.<ref name="빠"></ref> | ||
− | |||
* '''객체 요구 매개자'''(Object Request Broker) | * '''객체 요구 매개자'''(Object Request Broker) | ||
: 객체 요구 매개자를 사용하여 클라이언트 애플리케이션과 서버 애플리케이션 간의 상호작용 및 제품 컴포넌트 간의 상호작용을 관리한다. 객체 요구 매개자에서 인터넷 객체 요구 매개자 간 프로토콜(IIOP)을 사용하면 클라이언트가 네트워크 분배 환경에서 서버로부터 요청을 작성하고 수신할 수 있다. 원격 오브젝트가 위치 투명성을 제공하면서 클라이언트로서 실행 중인 동일한 프로세스에 있는 것처럼, 클라이언트가 네트워크에서 오브젝트를 찾고 해당 조작을 호출할 수 있게 해주는 프레임워크를 제공한다.<ref name="빠"></ref> | : 객체 요구 매개자를 사용하여 클라이언트 애플리케이션과 서버 애플리케이션 간의 상호작용 및 제품 컴포넌트 간의 상호작용을 관리한다. 객체 요구 매개자에서 인터넷 객체 요구 매개자 간 프로토콜(IIOP)을 사용하면 클라이언트가 네트워크 분배 환경에서 서버로부터 요청을 작성하고 수신할 수 있다. 원격 오브젝트가 위치 투명성을 제공하면서 클라이언트로서 실행 중인 동일한 프로세스에 있는 것처럼, 클라이언트가 네트워크에서 오브젝트를 찾고 해당 조작을 호출할 수 있게 해주는 프레임워크를 제공한다.<ref name="빠"></ref> | ||
− | |||
* '''트랜잭션''' | * '''트랜잭션''' | ||
: 트랜잭션 서비스는 애플리케이션 서버의 일부이다. 고급 트랜잭션 성능을 제공하여 애플리케이션 개발자가 사용자 정의 코딩을 하지 않도록 도와준다. 또한 기존 소프트웨어 자산을 자바 플랫폼, 엔터프라이즈 에디션 환경과 통합시키는 것과 관련된 여러 가지 인증 확인에 대한 지원을 제공한다. 이러한 방법은 액티비티 세션을 포함한다. 서버에서 실행 중인 애플리케이션에서는 트랜잭션을 사용하여 자원에 대한 여러 업데이트를 작업 단위로 조정하여 모든 업데이트를 영구적 또는 영구적이지 않도록 만들 수 있다. 트랜잭션은 애플리케이션 또는 이 애플리케이션이 배치된 컨테이너에 의해 시작되고 종료된다. 애플리케이션 서버는 자원 관리자의 조정을 지원하고 기타 준수 트랜잭션 관리자를 사용하여 분배 글로벌 트랜잭션에 참가하는 트랜잭션 관리자이다. 서버는 분배 트랜잭션 지원이 필요하지 않은 경우 로컬 트랜잭션 지원을 통해 데이터베이스, 자바 메시지 서비스 기능 큐 및 자바 암호 구조 커넥터와 상호작용하도록 구성할 수 있다. 애플리케이션이 트랜잭션을 사용하는 방법은 애플리케이션에 유형에 따라 다른데 예를 들면 세션 빈은 트랜잭션 자체를 관리하건 컨테이너에 트랜잭션 관리를 위임할 수 있고, 엔티티 빈은 컨테이너 관리 트랜잭션을 사용하고, 서블릿과 같은 웹 컴포넌트는 빈 매니지드 트랜잭션(Bean-Managed Transation)을 사용하는 것이 있다.<ref name="빠"></ref> | : 트랜잭션 서비스는 애플리케이션 서버의 일부이다. 고급 트랜잭션 성능을 제공하여 애플리케이션 개발자가 사용자 정의 코딩을 하지 않도록 도와준다. 또한 기존 소프트웨어 자산을 자바 플랫폼, 엔터프라이즈 에디션 환경과 통합시키는 것과 관련된 여러 가지 인증 확인에 대한 지원을 제공한다. 이러한 방법은 액티비티 세션을 포함한다. 서버에서 실행 중인 애플리케이션에서는 트랜잭션을 사용하여 자원에 대한 여러 업데이트를 작업 단위로 조정하여 모든 업데이트를 영구적 또는 영구적이지 않도록 만들 수 있다. 트랜잭션은 애플리케이션 또는 이 애플리케이션이 배치된 컨테이너에 의해 시작되고 종료된다. 애플리케이션 서버는 자원 관리자의 조정을 지원하고 기타 준수 트랜잭션 관리자를 사용하여 분배 글로벌 트랜잭션에 참가하는 트랜잭션 관리자이다. 서버는 분배 트랜잭션 지원이 필요하지 않은 경우 로컬 트랜잭션 지원을 통해 데이터베이스, 자바 메시지 서비스 기능 큐 및 자바 암호 구조 커넥터와 상호작용하도록 구성할 수 있다. 애플리케이션이 트랜잭션을 사용하는 방법은 애플리케이션에 유형에 따라 다른데 예를 들면 세션 빈은 트랜잭션 자체를 관리하건 컨테이너에 트랜잭션 관리를 위임할 수 있고, 엔티티 빈은 컨테이너 관리 트랜잭션을 사용하고, 서블릿과 같은 웹 컴포넌트는 빈 매니지드 트랜잭션(Bean-Managed Transation)을 사용하는 것이 있다.<ref name="빠"></ref> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 활용 == | == 활용 == | ||
− | * | + | * 웹스피어 애플리케이션 서버 |
− | + | * IBM 워크로드 디플로이어 | |
− | * | + | * IBM 웹스피어 익스트림 스케일 |
− | * | + | * IBM HTTP 서버 |
− | * | + | * IBM 웹스피어 어댑터스 |
− | * | + | * IBM 웹스피어 비즈니스 이벤츠 |
− | * | + | * IBM 웹스피어 호스트 온디맨드(HOD) |
− | * | + | * IBM 웹스피어 메시지 브로커 |
− | * | + | * IBM 웹스피어 MQ (과거 명칭: MQSeries) |
− | * | + | * 웹스피어 포털 |
− | * | + | * IBM 웹스피어 포틀릿 팩토리 |
− | * | + | * IBM 웹스피어 프로세스 서버 <ref name="위키백과"></ref> |
− | * | ||
== 비교 == | == 비교 == | ||
;웹로직 | ;웹로직 | ||
− | [[웹로직]]은 Tengah 제품에서 출발한 제품으로 2008년 기준 존재하는 애플리케이션 서버 중에서 J2EE(자바 2 플랫폼, 엔터프라이즈 에디션)를 가장 잘 지원하는 제품이다. 일찍부터 J2EE의 기능에 해당하는 [[서블릿]], EJB(엔터프라이즈 자바빈스) 등을 지원해왔으며 최신 버전인 웹로직 4.5.1은 [[JSP]](자바 서버 페이지)도 지원한다. 웹로직 제품에 대한 트랜잭션 성능은 테스트 해보지 못했지만 BEA 사의 턱시도 제품을 보고 평가할 때 트랜잭션 처리에 있어서도 우수한 성능을 발휘한다. 그뿐만 아니라, 웹로직 제품의 클러스터 기법에 따라서 로드 밸런싱과 페일 오버 기능을 제공해준다. 클라이언트의 요청은 가장 로드가 적은 웹로직 서버에 의해서 처리되면 특정 트랜잭션의 처리 도중 장애가 발생하더라도 다른 웹로직 서버가 계속해서 트랜잭션을 처리할 수 있다. 이와 같은 트랜잭션 처리와 커스터링 기술 등의 특징으로 인해 쉽게 확장 가능한 시스템을 구축할 수 있기 때문에 기업 전산 환경에서 대규모의 시스템을 구축하는 데 적합하다. 웹로직은 다양한 운영체제에서 운영이 가능한데 특히 리눅스까지 지원하는 것은 주목할 점이다. 웹로직이 지원하는 운영체제는 윈도 NT, 썬 솔라리스, HP-UX, IBM AIX, 리눅스, OS/400, SGI IRIX이다. | + | [[웹로직]]은 Tengah 제품에서 출발한 제품으로 2008년 기준 존재하는 애플리케이션 서버 중에서 J2EE(자바 2 플랫폼, 엔터프라이즈 에디션)를 가장 잘 지원하는 제품이다. 일찍부터 J2EE의 기능에 해당하는 [[서블릿]], EJB(엔터프라이즈 자바빈스) 등을 지원해왔으며 최신 버전인 웹로직 4.5.1은 [[JSP]](자바 서버 페이지)도 지원한다. 웹로직 제품에 대한 트랜잭션 성능은 테스트 해보지 못했지만 BEA 사의 턱시도 제품을 보고 평가할 때 트랜잭션 처리에 있어서도 우수한 성능을 발휘한다. 그뿐만 아니라, 웹로직 제품의 클러스터 기법에 따라서 로드 밸런싱과 페일 오버 기능을 제공해준다. 클라이언트의 요청은 현재 가장 로드가 적은 웹로직 서버에 의해서 처리되면 특정 트랜잭션의 처리 도중 장애가 발생하더라도 다른 웹로직 서버가 계속해서 트랜잭션을 처리할 수 있다. 이와 같은 트랜잭션 처리와 커스터링 기술 등의 특징으로 인해 쉽게 확장 가능한 시스템을 구축할 수 있기 때문에 기업 전산 환경에서 대규모의 시스템을 구축하는 데 적합하다. 웹로직은 다양한 운영체제에서 운영이 가능한데 특히 리눅스까지 지원하는 것은 주목할 점이다. 웹로직이 지원하는 운영체제는 윈도 NT, 썬 솔라리스, HP-UX, IBM AIX, 리눅스, OS/400, SGI IRIX이다. |
웹로직 제품의 흠이라면 가격이 너무 비싸다는 것이다. 그리고, 운영 시스템을 구축하는 데는 크게 나무랄 데 없는 제품이지만 함께 이용할 수 있는 개발 도구가 없기 때문에 개발 생산성이 크게 떨어진다는 것이 문제이다. 그나마 개발도구로 이용할 수 있었던 것이 썬사의 JDK(자바 디벨롭먼트 킷)와 울트라에딧 등과 같은 에디터가 전무였다. 물론, BEA 사는 비주얼카페 등 다른 회사의 개발 도구를 추천했었는데 웹로직 제품과 밀접하게 통합되어 있지 않기 때문에 적합한 개발 도구라고 할 수 없었다. 그러나 BEA 사 역시 이러한 문제점을 알아차리고 시만텍사의 비주얼카페 사업 부문을 인수하였고, 개발 생산성의 측면은 앞으로 크게 향상될 것으로 기대되어 약점이 보완될 것이다.<ref name="비교"></ref> | 웹로직 제품의 흠이라면 가격이 너무 비싸다는 것이다. 그리고, 운영 시스템을 구축하는 데는 크게 나무랄 데 없는 제품이지만 함께 이용할 수 있는 개발 도구가 없기 때문에 개발 생산성이 크게 떨어진다는 것이 문제이다. 그나마 개발도구로 이용할 수 있었던 것이 썬사의 JDK(자바 디벨롭먼트 킷)와 울트라에딧 등과 같은 에디터가 전무였다. 물론, BEA 사는 비주얼카페 등 다른 회사의 개발 도구를 추천했었는데 웹로직 제품과 밀접하게 통합되어 있지 않기 때문에 적합한 개발 도구라고 할 수 없었다. 그러나 BEA 사 역시 이러한 문제점을 알아차리고 시만텍사의 비주얼카페 사업 부문을 인수하였고, 개발 생산성의 측면은 앞으로 크게 향상될 것으로 기대되어 약점이 보완될 것이다.<ref name="비교"></ref> | ||
− | ; 웹스피어와 웹로직 | + | ;'''웹스피어와 웹로직''' |
− | 자바개발도구 | + | '''자바개발도구 버전'''에서 웹스피어는 연말 차기 버전에 대한 정보가 공개되지 않아 출시 이전 단계에서 개발하기 어렵고, 웹로직에서는 자바2 엔터프라이즈 에디션 플랫폼을 지원한다. '''스윙 버전'''에서 웹스피어는 버전이 너무 낮고 차기 버전에 대한 정보가 공개되지 않아 출시 이전 단계에서 개발하기 어렵지만, 웹로직은 비주얼 카페가 스윙 버전을 지원한다. '''엔터프라이스 자바빈스 스펙 버전'''에서 웹스피어는 제대로 지원이 안 되지만 웹로직은 완벽히 지원한다. '''분산 컴포넌트 오브젝트 모델'''(DCOM)에 대해 웹로직만 지원한다. '''오픈 아키텍처'''는 웹스피어가 개발 툴에 종속적이지 않은 독립적인 개발 환경을 개발해야되지만 VAJ로만 개발이 가능하고, 웹로직은 개발 툴에 종속적이지 않아서 호환성이 높고 개발 툴로 비주얼 카페 외에 다른 제품으로도 개발이 가능하다. '''데이터베이스 접속력'''에 대해 웹스피어는 접속이 어렵고 웹로직은 모든 데이터베이스에 엑세스하는 능력이 뛰어나다. '''서버 컴포넌트 모델 구축 가능성'''에 대해서는 웹로직에서만 완벽 생성이 가능하다. '''웹서비스 기능'''은 웹스피어에서 웹서비스 기능을 다른제품에 맡기고 동작하므로 유저의 급격한 증가에 대해 성능이 떨어지고, 멀티스레드 기능이 내장된 웹 서버 기능을 포함해야 유저의 급격한 증가에 대한 성능을 대비할 수 있다. 웹로직은 멀티스레드 기능을 내장해있어서 웹서비스 기능까지 포함한다. 웹스피어는 '''와스간에 클러스터링 지원'''을 하지 않고, 웹로직은 지원한다. '''개발툴''' 부분에서 웹스피어는 개발툴 사용이 불편하고, 개발자들이 쉽게 익히거나 빠르게 개발하기 어렵다. 또한, 자바빈 라이브러리 소스 제공이 현저히 부족해 [[그래픽 유저 인터페이스]]를 화려하게 구현하기 힘들다. 반면 웹로직의 비주얼 카페는 사용 방법이 다른 개발 툴과 아주 유사해서 개발이 빠르고 용이하다.<ref name="비교">자근앙마, 〈[http://blog.naver.com/PostView.nhn?blogId=essbihan&logNo=100052720122&jumpingVid=&widgetTypeCall=true WebLogic과 WebSphere의 비교]〉, 《네이버 블로그》, 2008-07-14</ref> |
+ | |||
+ | == 문제점과 대안 == | ||
== 평가와 전망 == | == 평가와 전망 == | ||
102번째 줄: | 91번째 줄: | ||
* 자근앙마, 〈[http://blog.naver.com/PostView.nhn?blogId=essbihan&logNo=100052720122&jumpingVid=&widgetTypeCall=true WebLogic과 WebSphere의 비교]〉, 《네이버 블로그》, 2008-07-14 | * 자근앙마, 〈[http://blog.naver.com/PostView.nhn?blogId=essbihan&logNo=100052720122&jumpingVid=&widgetTypeCall=true WebLogic과 WebSphere의 비교]〉, 《네이버 블로그》, 2008-07-14 | ||
* WebSphere Application Server: 개요 및 빠른 시작 아이비엠 -https://www.ibm.com/support/knowledgecenter/ko/SSAW57_8.5.5/com.ibm.websphere.nd.multiplatform.doc/ae/welc6productov.html | * WebSphere Application Server: 개요 및 빠른 시작 아이비엠 -https://www.ibm.com/support/knowledgecenter/ko/SSAW57_8.5.5/com.ibm.websphere.nd.multiplatform.doc/ae/welc6productov.html | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 같이 보기 == | == 같이 보기 == | ||
136번째 줄: | 111번째 줄: | ||
* [[펄]] | * [[펄]] | ||
* [[코브라]] | * [[코브라]] | ||
− | |||
− | |||
− | |||
{{와스|검토 필요}} | {{와스|검토 필요}} |