서로 다른 SW 구성 요소들을 연결하고 통합하여 애플리케이션이 원활하게 작동하도록 돕는 SW
주요 기능
- 시스템 통합
- 다양한 시스템(데이터베이스, 애플리케이션 서버 등)을 연결하여 데이터를 공유하고 프로세스를 자동화
- 분산 처리
- 복잡한 작업을 여러 시스템에 분산하여 처리하고, 시스템의 부하를 분산
- 표준화된 인터페이
- 다양한 시스템 간의 통신을 위한 표준 인터페이스를 제공하여 시스템 간의 호환성을 높인다.
- 추상화
- 복잡한 하위 시스템의 기능을 간단하게 추상화하여 개발자가 핵심 비즈니스 로직에 집중할 수 있도록 지원
- 데이터 변환 및 포맷 관리
- 서로 다른 데이터 형식을 사용하는 시스템들 간의 데이터를 변환
- 로드 밸런싱
- 미들웨어는 시스템의 부하를 균등하게 분배하여 특정 서버에 과부하가 걸리지 않도록 관리
- 서비스 중개 및 디스커버리
- 서비스 검색 및 연결 기능을 제공하여 분산된 서비스들이 효율적으로 통합될 수 있도록 돕는다.
미들웨어의 종류
- 데이터베이스 미들웨어 (DB Middleware)
- ODBC, JDBC처럼 애플리케이션이 DB에 쉽게 접근할 수 있도록 해줌.
- 원격 프로시저 호출 미들웨어 (RPC Middleware)
- 서로 다른 시스템에 있는 함수를 마치 로컬 함수처럼 호출 가능하게 해줌.
- 메시징 미들웨어 (Message-Oriented Middleware, MOM)
- 메시지 큐(Kafka, RabbitMQ 등)를 통해 비동기 통신을 지원.
- 트랜잭션 처리 모니터 (TP Monitor)
- 여러 데이터베이스나 시스템에 걸친 트랜잭션을 안전하게 관리.
- 웹 미들웨어
- WAS(Web Application Server, 예: Tomcat, JBoss)
- 웹 요청 처리, 세션 관리, 로드 밸런싱 등을 담당.