‘미들웨어‘ 라는 용어는 아마 정보처리기사 자격증을 공부하면서 처음 들었던 것 같습니다. 당시에는 ‘소프트웨어도 아니고 하드웨어도 아닌 것이 뭐야?’ 하면서 봤던 기억이 있습니다.
정확한 정의를 말하려고 하니 ‘WAS 같은 것?’ 언뜻 말이 나오지 않네요.
이번 포스트에서는 미들웨어란 무엇인가 간단히 정리해보았습니다.
미들웨어란?
“미들웨어”라는 용어는 일반적으로 서로 다른 구성 요소나 시스템 간의 중개 계층 역할을 하는 소프트웨어를 의미합니다.
미들웨어 종류
‘시스템 간의 중개 계층 역할을 한다’의 예를 들면 프로그래밍 언어와 데이터베이스 관리 시스템(DBMS)의 중개 계층 역할을 하는 데이터베이스 커넥터가 있습니다.
데이터베이스 커넥터
데이터베이스 커넥터는 DMBS 시스템이 특정 프로그래밍 언어 및 프레임워크에 호환되도록 합니다. 그리고 이는 동적쿼리도 가능하게 해줍니다.
데이터베이스 커넥터는 JDBC, ODBC 등이 있습니다.
게임 엔진
게임 엔진은 비디오 게임의 생성, 개발 및 배포를 용이하게 하는 필수 도구, 라이브러리 및 기능을 제공하는 소프트웨어 프레임워크입니다.
게임 엔진은 오디오, 물리 시물레이션, 그래픽 렌더링, 네트워킹 등 여러 요소들의 중개역할을 한다는 맥락에서 미들웨어로 볼 수 있습니다.
WEB middleware
그 밖에 여러 미들웨어들이 있지만 그 중 하나가 WEB middleware 입니다.
WEB middleware는 웹 애플리케이션의 성능, 보안 및 기능을 향상시키기 위해 추가 기능을 제공하는 소프트웨어 구성 요소 또는 프레임워크를 의미합니다.
웹서버, 로드 밸런서 등이 WEB middleware에 속합니다.
여기까지 간단히 미들웨어에 대해서 정리하였습니다.
아래는 AWS에서 정리한 미들웨어 입니다. 해당 글에서 개발자는 미들웨어를 사용하여 애플리케이션 개발을 지원하고 디자인 프로세스를 단순화 할 수 있다고 합니다.
이렇게 하면 서로 다른 소프트웨어 구성 요소 사이를 연결하지 하는데 힘을 쏟지 않고 자유롭게 비즈니스 로직 및 기능에 중점을 둘 수 있다고 설명합니다.
해당 글을 참고해서 미들웨어 개념을 더 다지면 좋을 것 같습니다.