미들웨어
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
- 1. 개요
- 2. 역사
- 3. 종류
- 3.1. 원격 프로시저 호출 (RPC)
- 3.2. 메시지 지향 미들웨어 (MOM)
- 3.3. 객체 요청 브로커 (ORB)
- 3.4. DB 접속 미들웨어
- 3.5. 트랜잭션 처리 (TP) 모니터
- 3.6. 웹 애플리케이션 서버 (WAS)
- 3.7. 엔터프라이즈 서비스 버스 (ESB)
- 3.8. 메시지 통신 기반 미들웨어
- 3.9. 통합 운영 관리 미들웨어
- 3.10. 고가용성 클러스터 미들웨어
- 3.11. 데이터베이스 관리 시스템 (DBMS)
- 3.12. 웹 서버
- 3.13. 애플리케이션 서버
- 3.14. 데이터 연계, EAI, BPM 미들웨어
- 3.15. 임베디드 시스템용 미들웨어
- 3.16. 웹 프레임워크 미들웨어
- 4. 이점
- 5. 활용
- 참조
1. 개요
미들웨어는 운영체제와 응용 프로그램 사이에서 데이터 통신 및 관리를 가능하게 하는 소프트웨어로, 분산 시스템 환경에서 사용이 일반화되었다. 1960년대 후반 데이터베이스 관리 시스템과 트랜잭션 모니터의 등장과 1990년대 다운사이징에 따른 분산 시스템 보급과 함께 발전해왔다. 미들웨어는 원격 프로시저 호출, 메시지 지향 미들웨어, 객체 요청 브로커, DB 접속 미들웨어, TP 모니터, 웹 애플리케이션 서버, 엔터프라이즈 서비스 버스 등 다양한 종류가 있으며, 표준화된 인터페이스를 제공하여 다양한 환경을 지원하고, 분산된 업무의 동시 처리 및 자료 일관성 유지를 가능하게 한다. 또한, 안드로이드 운영체제, 게임 엔진, 시뮬레이션 기술, 무선 센서 네트워크 등 다양한 분야에서 활용된다.
애플리케이션 프로그램이 네트워크상의 다른 서버나 데이터베이스와 통신하는 등, 번거로운 절차를 필요로 할 때가 있다. 이러한 통신 절차와 관리를 종류별로 묶어 하나의 기능 관리 패키지 소프트웨어로 만든 것이 '''미들웨어'''이다.
미들웨어는 그 종류가 다양하며, 목적과 기능에 따라 여러 범주로 나눌 수 있다.
2. 역사
기업 시스템이나 사회 인프라 시스템 등의 엔터프라이즈 영역 시스템 구축에서는 분산된 소프트웨어와 애플리케이션 소프트웨어 간의 데이터 통신 등을 담당한다. 미들웨어로는 각 관리 분야의 전용 소프트웨어가 사용되는 경우가 많다.
커스터마이즈 폭도 넓으며, 각 시스템 특성에 맞는 최적화 설정이 필요하다.
최근 시스템 구축에서는 운영 체제와 이 미들웨어를 시스템 플랫폼(또는 시스템 기반)으로 하나의 관리 단위로 정의하고, 전용 엔지니어/IT 컨설턴트에게 설계 구축을 의뢰하는 경우가 많다.
2. 1. 초기 (1960년대 후반 ~ 1980년대)
1960년대 후반에는 IMS 등의 데이터베이스 관리 시스템과 트랜잭션 모니터가 등장하였다. 이들은 주로 메인프레임과 미니컴퓨터를 중심으로 발전했으며, 특히 중요한 기간 업무의 성능 및 신뢰성 확보 등을 위해 사용되었다.
2. 2. 분산 시스템 시대 (1990년대 ~ 현재)
1990년대에 다운사이징의 흐름에 따라 분산 시스템 중심의 시스템이 보급되면서 미들웨어의 사용도 일반화되었다. 특히 UNIX나 Windows 등의 OS는 표준으로는 매우 단순한 파일 시스템이나 관리 권한 설정만 가지고 있었고, 표준화의 흐름도 있어 미들웨어를 병용한 시스템 구축이 보급되었다.
2. 3. 한국에서의 발전
1990년대에 다운사이징의 흐름에 따라 분산 시스템을 중심으로 한 시스템이 보급되면서 미들웨어의 사용도 일반화되었다. 특히 UNIX나 Windows 등의 OS는 표준으로는 매우 단순한 파일 시스템이나 관리 권한 설정만 가지고 있었고, 표준화의 흐름도 있어 미들웨어를 병용한 시스템 구축이 보급되었다.
3. 종류
Hurwitz 분류법
기타 분류법
ObjectWeb은 미들웨어를 "네트워크의 분산 컴퓨팅 시스템 양쪽에서 운영 체제와 응용 프로그램 사이에 있는 소프트웨어 계층"으로 정의한다.[5]
최근 참고 문헌에 따른 분류[11]
그 외 미들웨어
3. 1. 원격 프로시저 호출 (RPC)
Hurwitz의 분류법에서, 원격 프로시저 호출(Remote Procedure Call, RPC)은 클라이언트가 원격에서 동작하는 프로시저를 호출하는 시스템이다. RPC는 동기 또는 비동기 방식을 지원한다.[11]
다른 분류법에서, 프로시저는 원격 및 로컬 아키텍처로, 호출 연산과 같은 비동기 시스템 통신의 소프트웨어 응답을 연결, 전달 및 검색하는 역할을 한다.[11]
3. 2. 메시지 지향 미들웨어 (MOM)
클라이언트가 생성한 메시지를 저장소에 요청할 때 저장하면서, 다른 업무를 지속할 수 있도록 하는 비동기식 미들웨어이다.[4] 메시지 지향 미들웨어(MOM)는 동기/비동기 통신을 지원하는 메시지 큐 및 메시지 전달 아키텍처를 제공한다.[11]
메시지 통신 기반 미들웨어는 서버 간 및 컴퓨터 클러스터 노드 간 통신에 사용되며, 애플리케이션 측에서는 그 절차의 복잡성이나 제어가 보이지 않도록 래핑하기 위한 공통 기능을 제공한다. 여기에는 MPI, CORBA, RPC 등이 있다.[11]
3. 3. 객체 요청 브로커 (ORB)
객체 지향 시스템에서 객체 및 서비스를 요청하고 전송할 수 있도록 지원하는 미들웨어다.[6] 객체 지향 프로그래밍 설계 원리를 통합하여, 소프트웨어 구성 요소는 분산 객체 요청을 통해 객체 참조, 예외 및 속성 상속을 포함한다.[11] CORBA 등이 여기에 해당한다.
3. 4. DB 접속 미들웨어
애플리케이션과 데이터베이스 서버를 연결해주는 미들웨어다.[4] ODBC, JDBC, 트랜잭션 처리 모니터 등이 데이터베이스 중심 미들웨어의 예시다.[8]
3. 5. 트랜잭션 처리 (TP) 모니터
TP 모니터(Transaction Processing Monitor)는 분산 시스템 환경에서 애플리케이션을 지원하는 미들웨어의 한 종류이다. 주로 C/S 시스템에서 사용되며, 다음과 같은 기능을 제공한다.[11]
대표적인 TP 모니터로는 OpenTP1, Tuxedo, J2EE에 포함된 JTA 등이 있다.
3. 6. 웹 애플리케이션 서버 (WAS)
웹 애플리케이션을 지원하는 미들웨어이다. 대표적인 웹 애플리케이션 서버로는 WebSphere Application Server, WebLogic, JBoss, Interstage Application Server 등이 있다.
3. 7. 엔터프라이즈 서비스 버스 (ESB)
메시지 기반으로 느슨한 결합 형태의 표준 인터페이스 통신을 지원하는 미들웨어로, 기업 내외부의 모든 시스템 환경을 연동하는 미들웨어이다.[6]
3. 8. 메시지 통신 기반 미들웨어
서버 간 및 컴퓨터 클러스터 노드 간 통신에 사용되며, 애플리케이션 측에서는 그 절차의 복잡성이나 제어가 보이지 않도록 래핑하기 위한 공통 기능을 제공한다.[11]3. 9. 통합 운영 관리 미들웨어
시스템 내 서버 및 네트워크의 감시, 배치 처리의 스케줄링, 자원 배포 등을 통합하여 수행할 수 있는 기능을 제공한다. 관련 미들웨어로는 A-AUTO, JP1, HP OpenView, Tivoli, Systemwalker 등이 있다.[1]
3. 10. 고가용성 클러스터 미들웨어
클러스터에 참여하고 있는 노드의 관리 및 서비스 애플리케이션과 미들웨어 서비스를 감시하며, 장애 또는 이상 정지가 발생한 경우, 다른 노드로 자동적으로 전환하여 서비스의 지속을 도모하는 공통 기능을 제공한다.[1]3. 11. 데이터베이스 관리 시스템 (DBMS)
데이터베이스 액세스 서비스는 종종 미들웨어로 특징지어진다. 그중 일부는 언어별 구현이며 이기종 기능 및 기타 관련 통신 기능을 지원한다.[7] 데이터베이스 중심 미들웨어의 예로는 ODBC, JDBC 및 트랜잭션 처리 모니터가 있다.[8]
데이터베이스 관리 시스템은 시스템의 고유 데이터 및 관리 정보 등을 총괄적으로 관리하고, 검색 서비스를 제공한다.
애플리케이션 프로그램이 동작할 때, 네트워크상의 다른 서버나 데이터베이스와의 통신 등, 보편적이고 번거로운 절차를 필요로 하는 경우가 있는데, 이러한 통신의 절차와 관리를 종류별로 묶어 하나의 기능 관리 패키지 소프트웨어로 묶은 것이 '''미들웨어'''이다.
데이터베이스 관리 시스템의 종류는 다음과 같다.3. 12. 웹 서버
클라이언트는 HTTP 요청을 해석하고, HTML 콘텐츠를 응답하거나 다른 서버 사이드 스크립트를 호출한다. 대표적인 웹 서버에는 Apache HTTP Server, Internet Information Server 등이 있다.
3. 13. 애플리케이션 서버
애플리케이션 서버는 애플리케이션이 동작하는 서비스를 관리하고 제공한다.[4]
대표적인 애플리케이션 서버는 다음과 같다.3. 14. 데이터 연계, EAI, BPM 미들웨어
데이터 연계, EAI, BPM 미들웨어에는 다음이 있다.3. 15. 임베디드 시스템용 미들웨어
서비스 가용성 포럼을 통해 표준화된 미들웨어는[9] 통신, 국방 및 항공 우주 산업 내의 복잡한 임베디드 시스템에서 일반적으로 사용된다.[10]
임베디스 시스템용 미들웨어는 다음과 같다:
3. 16. 웹 프레임워크 미들웨어
웹 프레임워크가 HTTP 요청을 받아 개별 처리(MVC 프레임워크라면 Controller)에 도달하기 전에 공통 처리를 실현하고 싶은 경우가 있다. 이를 실현하는 구조 중 다음 2가지 점을 갖는 것을 미들웨어라고 부른다.
비슷한 개념으로 필터라고 명명되는 경우가 많은 개념이 있지만, 필터의 경우 개별 처리에 도달하기까지밖에 고려되지 않는 경우가 많다.
이 호칭은 적어도 Django 1.0[18] 시점에서 존재했으며, Laravel 5.0[19], ASP.NET Core 1.0[20]에서도 채택되었다.
또한, 최근에는 Slack의 bolt-js[21] 내 등, 단순히 층상 중간 처리 기구를 미들웨어라고 명명하는 경우도 적지 않다.
GoF 디자인 패턴에서의 데코레이터(Decorator) 패턴 또는 프록시(Proxy) 패턴과 같은 단순한 구조도 미들웨어라고 불리는 경우가 있으며, 유행어가 되어가고 있다.
4. 이점
미들웨어는 표준화된 인터페이스를 제공하여 체계가 다른 업무와의 상호 연동을 가능하게 한다. 또한, 분산된 업무를 동시에 처리하여 자료의 일관성을 유지하고 부하를 분산시킬 수 있다.
장점 |
---|
표준화된 인터페이스 제공 |
다양한 환경 지원 및 체계가 다른 업무와 상호 연동 가능 |
분산된 업무 동시 처리로 자료 일관성 유지 |
부하 분산 가능 |
5. 활용
애플리케이션 프로그램이 동작할 때, 네트워크상의 다른 서버나 데이터베이스와의 통신 등, 보편적이고 번거로운 절차를 필요로 하는 경우가 있다. 이러한 통신의 절차와 관리를 종류별로 묶어 하나의 기능 관리 패키지 소프트웨어로 묶은 것이 '''미들웨어'''이다.
기업 시스템이나 사회 인프라 시스템 등의 엔터프라이즈 영역의 시스템 구축에서는 분산된 소프트웨어와 애플리케이션 소프트웨어 간의 데이터 통신 등을 담당한다. 미들웨어로는 각 관리 분야의 전용 소프트웨어가 사용되는 경우가 많다.
커스터마이즈의 폭도 넓으며, 각 시스템 특성에 맞는 최적화 설정이 필요하다.
최근 시스템 구축에서는 운영 체제와 이 미들웨어를 시스템 플랫폼 (또는 시스템 기반이라고 부름)으로 하나의 관리 단위로 정의하고, 전용 엔지니어/IT 컨설턴트에게 설계 구축을 의뢰하는 경우가 많다.
참조
[1]
웹사이트
Middleware conference
https://middleware-c[...]
2023-12-16
[2]
웹사이트
What is Middleware?
http://www.middlewar[...]
Defining Technology
2013-08-11
[3]
웹사이트
Origin of the term ''middleware''
http://ironick.typep[...]
2005-07-30
[4]
서적
Introduction to Middleware: Web Services, Object Components, and Cloud Computing
https://books.google[...]
CRC Press
[5]
웹사이트
What's middleware?
http://middleware.ob[...]
ObjectWeb.org
2005-05-06
[6]
서적
Event Processing for Business: Organizing the Real-Time Enterprise
https://books.google[...]
John Wiley & Sons
[7]
서적
Open Client/Server Computing and Middleware
https://books.google[...]
Academic Press
[8]
서적
Data Center Fundamentals
https://books.google[...]
Cisco Press
[9]
웹사이트
Service Availability Interface Specification
http://devel.opensaf[...]
Service Availability Forum
2018-07-26
[10]
서적
Service Availability: Principles and Practice
John Wiley & Sons
[11]
간행물
Middleware 101: What to know now and for the future
2022-03-15
[12]
서적
Android in Practice
Manning Publications
[13]
서적
Introduction to the Game Industry
Pearson Prentice Hall
[14]
서적
Cooperative Environments for Distributed Systems Engineering: The Distributed Systems Environment Report
Springer
[15]
뉴스
Middleware challenges and approaches for wireless sensor networks
http://dsonline.comp[...]
IEEE Distributed Systems Online
2006
[16]
웹사이트
QNX Software Joins Internet ITS Consortium of Japan
http://www.qnx.com/n[...]
QNX
2018-07-26
[17]
서적
RFID Essentials
https://books.google[...]
O'Reilly Media
[18]
문서
https://djangoprojec[...]
[19]
문서
https://readouble.co[...]
[20]
문서
https://docs.microso[...]
[21]
문서
https://github.com/s[...]
[22]
웹인용
What is Middleware?
http://www.middlewar[...]
Defining Technology
2013-08-11
관련 사건 타임라인
( 최근 20개의 뉴스만 표기 됩니다. )
티맥스소프트, 성능·안정성 높인 ‘프로프레임 6.0’ 3분기 출시 – 바이라인네트워크
티맥스소프트, 신임 연구본부장에 박기은 전 KB국민은행 부행장 영임 – 바이라인네트워크
티맥스소프트 “글로벌 Top 10 소프트웨어 기업 되겠다” – 바이라인네트워크
티맥스소프트, ‘재팬 IT 위크 2025' 참가 – 바이라인네트워크
티맥스소프트-티맥스티베로, 임직원 대상 ‘하모니데이’ 개최 – 바이라인네트워크
티맥스소프트-티맥스티베로, 분당 금곡동으로 본사 이전 – 바이라인네트워크
티맥스소프트, 일본 홈페이지 개편 – 바이라인네트워크
티맥스소프트, ‘하이퍼프레임 매니저’ 오픈소스 통합관리 강화 – 바이라인네트워크
티맥스소프트, 케이뱅크에 오픈소스 프레임워크 ‘하이퍼프레임’ 구축 – 바이라인네트워크
티맥스 박대연 회장 “슈퍼앱 완성, 100조원 매출 가능” – 바이라인네트워크
티맥스소프트, 클라우드 네이티브 SaaS ‘TSP’로 중소·중견기업 공략 – 바이라인네트워크
티맥스소프트 클라우드 네이티브 SaaS ‘TSP’ 체험 프로모션 – 바이라인네트워크
티맥스소프트, ‘대한민국 SW기업 경쟁력 대상’서 과기정통부 장관상 – 바이라인네트워크
티맥스소프트, AK플라자에 ‘하이퍼프레임’ 제공...“상용 수준 오픈소스 기술지원” – 바이라인네트워크
한컴, 전자문서 기업 ‘클립소프트’ 인수 – 바이라인네트워크
티맥스소프트, 홈페이지 개편 “저전력·고효율 ARM 서버 적용” – 바이라인네트워크
클라우드 인재 확보 나선 티맥스소프트, ‘T-커넥터’ 공개채용 – 바이라인네트워크
티맥스소프트, ‘소프트웨이브 2023’ 참가…클라우드 미래 방향 제시 – 바이라인네트워크
신한은행이 클라우드 구축에서 배운 것 “이론에 기대지 말라” – 바이라인네트워크
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com