소프트웨어/시스템 – 소프트웨어/시스템 간 그렇다면 미들웨어라고 생각하시면 됩니다.
즉, 시스템 간의 통신과 데이터 관리를 위한 매개 장치로 볼 수 있습니다.
미들웨어의 기능은 다음과 같습니다.
– 표준화된 인터페이스 제공
– 서로 다른 환경을 지원하며 서로 다른 시스템의 작업과 연계 가능
– 분산 시스템 작업 동시 처리
– 하중 분산 가능
통신방식에 따른 분류
︎ RPC(원격 프로시저 호출)
- 클라이언트가 원격 프로시저를 호출하는 시스템으로 동기식 또는 비동기식으로 지원하는 미들웨어
- 별도의 원격 제어 코딩 없이 기능이나 프로시저를 원격으로 실행할 수 있는 프로세스 간 통신 기술
- 호출 프로그램과 호출 대상 프로그램 간의 통신에서 두 개 이상의 트랜잭션을 묶어서 하나의 트랜잭션으로 처리하는 것은 어렵습니다.
- 대표적인 종류로는 Ecube Systems의 Entera, OSF의 ONC/RPC 등이 있습니다.
︎ MOM(메시지 지향 미들웨어)
- 다른 작업이 계속되도록 허용하면서 메모리에서 요청될 때 클라이언트 생성 메시지를 저장하는 비동기식 미들웨어입니다.
- 분산 응용 프로그램이 메시지를 송수신하고 서로 간에 데이터를 교환할 수 있도록 하는 미들웨어입니다.
- 저장 후 전달 대기열의 개념을 도입하여 비동기 데이터 전송(메시지)과 느슨하게 결합됩니다.
- 대표적인 종류로는 IBM MQ, MS MQ, Oracle의 Message Q, JPC의 JMS, Apache Active MQ, Rabbit MQ, Kafka 등이 있다.
︎ ORB(오브젝트 리퀘스트 브로커)
- 개체 지향 시스템이 개체와 서비스를 요청하고 보낼 수 있도록 하는 미들웨어입니다.
- CORBA 표준 규격을 객체지향 미들웨어로 구현한 미들웨어
- 대표적인 종류로는 Micro Focus의 Orbix와 OMG의 CORBA가 있다.
︎ DB 연결 미들웨어
- 애플리케이션과 데이터베이스 서버를 연결하는 미들웨어
- 과거에는 DB로 시스템을 구축하려면 보통 2계층 아키텍처(클라이언트-서버)가 필요했습니다.
- 데이터베이스 공급자가 제공하는 클라이언트에서 원격 데이터베이스에 연결하기 위한 미들웨어입니다.
- 대표적인 종류로는 마이크로소프트의 ODBC, 볼랜드의 IDAPI, AWS Glue 등이 있다.
역할 기능별 분류
︎ WAS(웹 애플리케이션 서버)
- 클라이언트/서버 환경이 아닌 웹 환경을 구현하기 위한 미들웨어(웹 애플리케이션을 지원하는 미들웨어)
- 클라이언트-서버의 2-tier 구조에서는 클라이언트가 비즈니스 로직을 처리하고 서버가 데이터를 처리하지만 대용량 환경에서는 일반적으로 클라이언트가 분리되어 WAS(Web 응용 프로그램 서버) 중간에
- 즉, WAS도 일종의 미들웨어입니다.
- 대표적인 유형으로는 Oracle의 WebLogic과 IBM의 WebSphere가 있습니다.
︎ TP 모니터(트랜잭션 처리 모니터)
- 분산 시스템에서 애플리케이션을 지원하는 미들웨어
- 대량의 데이터에 실시간으로 다수의 사용자가 접근하여 처리할 때 분산 트랜잭션을 처리하고 모니터링하는 미들웨어. 나. 분산된 이기종 시스템 환경에서 금융, 금융 및 예약 시스템
- 이기종간의 중간계층인 TM(Transaction Manager)을 추가하여 요청-응답 처리시 트랜잭션 관리
- 대표적인 유형으로는 BEA의 Tuxedo와 TMAX의 TP Monitor가 있다.
시스템 연동 솔루션
- 이기종 비표준 시스템(소프트웨어, 어플리케이션) 간의 데이터 통합, 시스템 통합, 서비스 통합을 위해 시스템을 연결하는 미들웨어.
- 기술 구조에 따라 MCA, EAI, ESB, MQ 등으로 분류
︎ MCA(다채널 통합)
- 다양한 외부/내부 채널(엔드포인트)의 효과적인 연결 및 통합을 지원하는 미들웨어입니다.
- 대표적인 종류로는 인젠트의 i-Gate, 디레아의 CruzChannel/CruzLink, 티맥스의 AnyLink 등이 있다.
︎ 엔터프라이즈 애플리케이션 통합(EAI)
- EAI(Enterprise Application Integration)는 전사적 애플리케이션 통합을 위한 미들웨어로, 주로 기업 내 이기종 시스템을 연결하는 허브 앤 스포크(hub and spoke) 방식입니다.
- 대표적인 유형으로는 Tibco, Eactive eLink 등이 있습니다.
︎ 엔터프라이즈 서비스 버스(ESB)
- ESB(Enterprise Service Bus)는 메시징 방식을 사용하여 서비스 간의 상호 운용성을 구현하는 서비스 중심 백본으로 SOA를 지원하는 미들웨어입니다.
- 대표적인 타입으로 지티원의 제이스타
시스템 환경 및 구조에 따라 필요한 미들웨어가 다를 수 있으나 현재 ESB 연동 솔루션, SOAP 등 복잡한 구조의 기술은 REST 아키텍처를 사용하여 HTTP 및 API를 통해 표준화된 웹 기술과 쉽게 통신할 수 있습니다.
즉, API 서버와 API 게이트웨이가 때때로 미들웨어를 대체합니다.