2011년 5월 31일 화요일

Middle Ware

개요
미들웨어는 기업에 설치된 다양한 하드웨어, 네트워크 프로토콜, 응용 프로그램, 근거리통신망 환경, PC 환경 운영체제의 차이를 메워주는 소프트웨어를 말한다. , 복잡한 이기종 환경에서 응용 프로그램과 운영환경 간에 원만한 통신을 이룰 있게 해주는 소프트웨어이다. 미들웨어는 분산 컴퓨팅 환경이 보급되면서부터 등장하였다. 인터넷의 보급과 중앙에 집중된 메인프레임(mainframe) 컴퓨팅 파워를 업무의 특성에 따라 다중의 호스트(host) 분리하고자 하는 다운사이징(downsizing) 기법, 기존에 구축된 독립적인 이기종의 시스템들을 하나의 네트워크로 연결하고자 하는 SI(system integration: 시스템통합) 기법이 등장하면서 기존의 집중식 컴퓨팅(centralized computing) 급격히 분산 컴퓨팅(distributed computing)으로 변하였다. 분산 컴퓨팅은 초고속정보통신망 통신망의 구축이 확산됨에 따라 중요성이 부각되고 있지만, 이를 실현하기 위해서는 서로 다른 운영체제와 서버 프로그램과의 호환성뿐만 아니라 이종의 통신 프로토콜을 사용하는 네트워크 간의 접속, 네트워크 자원에 대한 접근, 그리고 시스템을 연결해 단일한 사용자 환경으로 만들어 주는 것이 필수적이다. 이처럼 분산 컴퓨팅 환경을 구현하는데 발생하는 여러 문제점들을 해결하기 위해 등장한 소프트웨어가 미들웨어(middleware)이다. TCP/IP, 데이터베이스 액세스 미들웨어, DCOM(Distributed Component Object Model: 분산컴포넌트객체기술) , CORBA(Common Object Request Broker Architecture: 코바) 등의 분산기술이 이에 해당한다.

Middle Ware 정의
  • 단일 또는 분산시스템 환경에서 어플리케이션들을 연결하고 이들이 서로 데이터를 교환할 있도록 하는 소프트웨어
  • 분산 컴퓨팅 환경에서 서로 다른 기종간의 서버와 클라이언트들을 연결해주는 소프트웨어
  • 서로 다른 하드웨어, 운영체제, 네트워크, 데이터베이스 환경에서 데이터 변환 클라이언트 서버간 통신부분을 담당함으로써 하드웨어나 소프트웨어에 구애 받지 않고 네트워크상에서 수월하게 데이터를 주고 받을 있도록 .
  • 분산된 어플리케이션 환경을 하나의 로컬 어플리케이션 환경처럼 운용하게 함으로서 분산 어플리케이션을 수월하게 개발, 유지보수 있도록 해줌


Middle Ware 분류
1. 기능별 분류
구분내용비고
메시지 서비스
미들웨어
어플리케이션 사이의 통신 메시지 전달을 수행RPC, ORB, OLTP(OnLine Transaction Processing)
데이터 서비스
미들웨어
어플리케이션과 데이터 베이스 사이에서 데이터를 전달RDA(Remote Database Access), RFS(Remote File Server)
기반 서비스
미들웨어
분산환경에서 기반 서비스를 제공Directory 서비스, Time 서비스, Security 서비스


2. 메시지 처리 방식별 분류
구분내용비고
Synchronous 방식
미들웨어
클라이언트와 서버의 어플리케이션이 동시에 수행되어 데이터와 메시지를 주고 받을 있게 하는 미들웨어
  • Blocking 방식 : 클라이언트가 서버에게 메시지를 보낸 서버로부터 응답이 때까지 대기하는 방식
  • Non-Blocking 방식 : 응답이 때까지 대기하지 않고 계속해서 클라이언트가 수행되다가 서버에서 처리된 결과를 받을 있는 방식
메시지 패싱, RPC, ORB, OLTP, RDA
Asynchronous 방식
미들웨어
클라이언트에서 보낸 메시지는 메시지 큐에 저장되어 있다가 필요시, 또는 주기적으로 서버 어플리케이션이 기동되어 메시지를 처리할 있게 하는 방식메시지 큐잉(MQ)


3. 제공 유형별 분류
구분
내용
비고
범용
미들웨어
데이터베이스나 서버에 종속되지 않고 다양한 데이터베이스를 접속하거나 어플리케이션을 개발할 있도록 지원하는 미들웨어RPC : DCE RPC
OLTP : Tuxedo, Topend
RDA : EDA/SQL, SequeLink
전용
미들웨어
업체가 자사의 데이터베이스를 연결하기 위해 제공메세징 : MQ Series
ORB : DSOM, DOMF
RDA : SQL Net
특수목적
미들웨어
업체가 자사의 데이터베이스와 타사의 데이터베이스를 연결하기 위해 제공RDA : Oracle DB2 Gateway


Middle Ware 개념의 확장
1. 객체지향 프로토콜 지원 Middle Ware
최근 다양한 분산처리 환경에 따라 단순 통신 데이터 아니라 객체의 상태 속성 등을 제공하는 분산 객체 프로토콜 해당 프로토콜을 지원하는 제품 등을 포함 하여 Middle Ware 보는 것이 일반적인 시각임
- ORB(Object Request Broker)
- Application Network Service(보안, 성능 모니터링, 프린트 ) 사이에서 정보를 전달
- 서비스들과 상호운영 Application들을 위한 넓은 아키텍처 표준들의 핵심 부분
- 서로 다른 모든 컴포넌트가 서로 통신할 있도록 하기 위해서 일관된 객체지향 아키텍처가 필요함
- CORBA(Common Object Request Broker Architecture), OMG(Object Management Group), EJB(Enterprise Java Bean), COM+(Component Object Model)

2. Web Application Middle Ware(WAS)
- 기업의 일반적인 Application 운영 환경은 Web 멀티 티어의 트랜잭션 처리를 기본으로 하고 있으며 이에 프리젠테이션 계층( 서버) 데이터베이스 계층의 유기적 통신이 매우 중요함
- 데이터베이스 계층과 프리젠테이션 계층의 데이터 전달 부하분산 데이터베이스 연결뿐 아니라 서버와 연관된 기능 등을 종합하여 서비스 해주는 Package Software

Middle Ware 도입시 고려사항
- 통합 보안 서비스 제공 여부
- 하드웨어나 데이터베이스 업체들에 대한 독립성 극대화
- 표준을 준수하는 Middle Ware 선택
- 다른 업체의 Middle Ware 상호 운용이 가능
- 사용이 쉬워 많은 교육이 필요 없는 Middle Ware
- 운영 비용에 대한 고려
- 컴퓨팅 자원 요구 정도를 고려한 자원 소모 Middle Ware 선정
- 새로운 컴퓨팅 플랫폼 네트워크를 지원할 있음을 점검
- 디렉토리 서비스, X.509 인증 체계 지원 SSO등을 지원하여 물리적 위치에 상관없이 클라이언트나 서버에 대한 논리적 재배치가 가능해야 하는 지를 점검
- 동기식, 비동기식 고려
- 부하 분산기능 등이 적절한지 고려
- 자동 복구 Fail-Over 기능 등의 가용성 지원유무를 고려

댓글 없음:

댓글 쓰기

블록체인 개요 및 오픈소스 동향

블록체인(block chain) 블록체인은 공공 거래장부이며 가상 화폐로 거래할때 발생할때 발생할 수 있는 해킹을 막는 기술. 분산 데이터베이스의 한 형태로, 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가...