미들웨어 솔루션이란?
- 컴퓨터 제작 회사가 사용자의 특정한 요구대로 만들어 제공하는 프로그램으로, 운영 체제와 응용 소프트웨어의 중간에서 조정과 중개의 역할을 수행하는 소프트웨어
미들웨어 (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에 의해 제공되는 객체 기반 프로그램의 인터페이스를 제공한다.
- 유연성 있는 통합적인 시스템 환경을 제공하는 새로운 형태의 미들웨어이다.
'CS BASIC > 정보시스템 일반' 카테고리의 다른 글
[CS BASIC] 데이터와 다양한 데이터 객체들(DAO, DTO, VO) (1) | 2023.12.06 |
---|---|
[CS BASIC] 기업 응용 프로그램 통합(EAI, Enterprise Architecture Integration) (0) | 2023.12.04 |
[CS BASIC] 시스템 인터페이스와 인터페이스 대상 식별 (0) | 2023.08.03 |
[CS BASIC] 디자인 패턴과 GoF(Gang of Four) (0) | 2023.08.01 |
[CS BASIC] 소프트웨어 아키텍처 디자인 패턴(Software Architecture Design Pattern) (0) | 2023.07.30 |