본문 바로가기

CS BASIC/정보시스템 일반

[CS BASIC] 미들웨어(Middle Ware) 솔루션

미들웨어 솔루션이란?

  • 컴퓨터 제작 회사가 사용자의 특정한 요구대로 만들어 제공하는 프로그램으로, 운영 체제와 응용 소프트웨어의 중간에서 조정과 중개의 역할을 수행하는 소프트웨어

 

미들웨어 (Middleware)의 특징

  • 서로 다른 기종 간의 하드웨어나 프로토콜, 통신환경 등을 연결하여 응용프로그램과 운영환경 간에 원만한 통신이 이루어질 수 있게 서비스를 제공하는 소프트웨어
  • 분산 시스템에서 다양한 부분을 관리하고 통신하며 데이터를 교환하게 해주는 소프트웨어로 볼 수 있다.
  • 위치 투명성(Location Transparency)을 제공한다.
  • 분산 시스템의 여러 컴포넌트가 요구하는 재사용가능한 서비스의 구현을 제공한다.
  • 애플리케이션과 사용자 사이, 프로그램과 환경 간의 분산서비스를 제공한다.
  • 표준화된 인터페이스를 통하여 시스템 간의 데이터 교환에 있어 일관성을 제공한다.
  • 운영체제와 애플리케이션 사이에어 중간 매개 역할을 하는 다목적 소프트웨어이다.
  • 클라이언트와 서버 간의 통신을 담당하는 시스템 소프트웨어이다.
  • 애플리케이션 운영체제가 제공하는 서비스를 추가 및 확장하여 제공하는 컴퓨터 소프트웨어이다.
  • 표준화된 인터페이스를 제공하여 다양한 환경을 지원하기 때문에 체계가 다른 업무와 상호 연동이 가능하다.
  • 분산된 업무를 동시에 처리할 수 있기 때문에 자료의 일관성이 유지되어 부하의 분산이 가능하다.

 

미들웨어 솔루션의 유형

① 데이터베이스 | Database

  • DB 제작 사에저 제공하는 클라이언트와 데이터베이스를 연결하기 위한 미들웨어이며 DB 사용 시스템 구축은 보통 2-Tier 아키텍처이다.

ex) Oracle의 GLue, Boland의 IDAPI, MS의 ODBC 등

 

 

② TP-Monitor | Transaction Processing Monitor

  • 비즈니스 요구사항을 해결하기 위하여 여러 소프트웨어 간 혼합된 환경의 온라인 업무에서 세션, 시스템, 데이터베이스 사이의 트랜잭션을 감시하는 미들웨어이다.
  • 분산 환경에서 분산 트랜잭션을 처리하며, 사용자 수가 증가해도 빠른 응답 속도를 보장해야 할 경우 사용한다.
  • 통신 미들웨어 기능 외에 트랜잭션 협력 서비스, 안정적인 메시지 큐잉 시스템, 일의 흐름 관리와 개발의 통합적인 서비스들을 제공한다.
  • 트랜잭션이 온전하게 처리되고 있는지, 오류가 발생하면 적절한 조치를 취하는지에 대해 여러 개의 로컬, 원격 터미널 간의 데이터 전송을 감시하는 통제 프로그램이다.
  • 각종 프로토콜에서 동작하는 세션과 시스템과 데이터베이스 사이의 최소 처리 단위인 트랜잭션을 감시하여 일관성있게 보관 유지하는 역할을 하는 트랜잭션 관리 미들웨어.
  • 시장분석 기관인 가트너(Gartner)에서는 TPM으로 표시하고 있고, 또 다른 시장분석 기관인 IDC에서는 ASSP의 일부로 분류.

 

ex) Oracle의 Tuxedo, Tmax의 Tmax

 

 

③ ORB | Object Request Broker

  • 객체지향 미들웨어로 코바(CORBA) 표준 스펙을 구현한 미들웨어이다.
  • 로컬 및 원격지에 있는 객체들 사이에 통신을 담당하는 핵심 기술이다.
  • 인터페이스는 인터페이스 정의 언어인 IDL을 사용한다.
  • 하나의 객체와 다른 객체 사이의 인터페이스를 정의하게 된다.
  • 최근에는 TP-Monitor의 장점인 트랜잭션 처리와 모니터링 등을 추갈 ㅗ구현 가능하다.
  • ex) Micro Focus의 Orbix, OMG의 CORBA

 

④ RPC | Remote Procedure Call

  • 분산 처리 시스템을 구현하기 위해 응용프로그램의 프로시저를 사용하여 원격 프로시저를 로컬 프로시저처럼 호출하는 방식이다.

ex) OSF의 ONC/RPC, 이큐브 시스템의 Entera

 

 

⑤ MOM | Message Oriented Middleware

  • 메시지를 기반으로 비동기식 메시지 전달을 보장 방식으 ㅣ미들웨어로 이기종으 ㅣ분산 데이터베이스 시스템에서 데이터 동기화에 주로 사용한다.

ex) Oracle의 Message Q, JCP의 JMBS, MS의 MSMQ

 

 

⑥ WAS | Web Application Server

  • 일반 웹서버와 구별되며, 주로 DB 서버와 같이 *동적 서버 콘텐츠를 수행하는 데 사용된다.
  • 동적인 웹사이트, 웹 어플리케이션, 웹 서비스의 개발을 지원하기 위하여 설계된 미들웨어 소프트웨어이다.
  • 서버 단에서 애플리케이 션을 동작할 수 있도록 지원한다.
  • 데이터 접근, 세션 관리, 트랜잭션 관리 등을 위한 라이브러리를 제공한다.
  • HTTP를 통한 사용자 컴퓨너타 장치에 어플리케이션을 수행해주는 미들웨어이다.
  • 선정 시 가용성 , 성능, 기술지원 구축비용을 고려해야 한다.

 

ex) RedHat의 JBoss, Tmax의 JEUS, Orcale의 Weblogic, IBM의 Websphere, GlasFish, Jetty, Resin, Apache Tomcat 등

 

*정적 컨텐츠 vs 동적 컨텐츠?

1) 정적 컨텐츠

  • 실시간으로 변경할 필요가 없는 데이터 (변화X)
  • 어떤 접속자에게든 동일한 모습을 반환하는 경우
  • 웹서버의 디스크에 저장을 해두고 요청이 있으면 웹서버에서 클라이언트에게 반환해준다.

 

2) 동적컨텐츠

  • 자주 변경되는 데이터
  • 접속자의 요청에 따라 다른 형태의 데이터를 반환해야한다.
  • WAS에서 동적으로 생성하여 웹서버에게 결과를 반환해줌.
  • ex) 은행의 잔고, 인터넷 장바구니 등

 

⑦ TP-모니터 미들웨어

  • 온라인 트랜잭션 업무(은행 계정, 항공기/버스 예약 업무 등)에서 트랜잭션을 처리-감시하는 미들웨어이다. 사용자 수가 증가하여도 빠른 응답 속도를 유지해야하는 OLTP 성의 업무에 적합하다.

ex) BEA TUXEDO, BEA TOPEND, IBM TxSerise 대만 CS Talk 등

 

 

⑧ 객체 트랜잭션 모니터 | OTM

  • 전통적인 TP-Monitor의 기능과 ORBs에 의해 제공되는 객체 기반 프로그램의 인터페이스를 제공한다.
  • 유연성 있는 통합적인 시스템 환경을 제공하는 새로운 형태의 미들웨어이다.