"미들웨어" 란?
미들웨어 (Middleware) 란, Middle (중간) 과 Software 의 합성어로,
쉽게 얘기하면 말 그대로 중간다리 역할의 소프트웨어입니다.
자세히 말하자면, "분산 컴퓨팅 환경"에서
서로 다른 기종간의 하드웨어나, 프로토콜, 통신 환경 등을 연결하여,
"운영체제" <ㅡ> "운영프로그램" , 또는 "서버" <ㅡ> "클라이언트"
사이에서 원만한 통신이 가능하도록 다양한 서비스를 제공하는 것. 을 말합니다.
"분산 컴퓨팅 환경 (DCE : Distributed Computing Environment) 이란,
말 그대로 하나의 컴퓨터에 모든 연산 (Compute) 을 맡기지 않고,
다수의 컴퓨터끼리 네트워크로 연결해
"매우 큰 작업을 효율적으로 나눠하기 위한 환경" 입니다.
같은 개념 : 분산 시스템, 분산 프로그래밍, 분산 알고리즘"
미들웨어의 특징
표준화된 인터페이스가 있고, 그것을 제공함으로써
시스템 간의 데이터 교환에 일관성을 보장하며,
위치 투명성을 제공합니다.
위치 투명성 (Location Transparency) 이란,
액세스할 실제 시스템의 위치를 몰라도,
시스템의 논리적 명칭만으로 접근이 가능한 것을 말합니다.
이는 시스템의 위치가 노출되면 보안의 위협이 있기 때문에,
시스템의 위치를 투명화 시키는 것이라고 생각하면 됩니다.
따라서, 사용자가 미들웨어의 내부환경을 확인하려면
별도의 응용 소프트웨어가 필요합니다.
- 미들웨어의 연결 방식에는 [ 1 : 1 || 1 : 다수 || 다수 : 다수 ]
등이 있습니다.
미들웨어의 종류
대표적으로 DB, RPC, MOM, TP-Moniter, ORB, WAS 등이 있습니다.
DB : DataBase
DB 란, 데이터베이스 벤더 (Vender : 행상인) 에서 제공하는,
클라이언트와 원격의 데이터베이스를 연결시켜주기 위한 미들웨어 입니다.
DB와 웹서버가 직접 연결되는 형태를 2-Tier 아키텍처 라고 합니다.
이는 보통 트래픽이 적을 경우에 사용됩니다.
RPC : Remote Procedure Call
RPC 는 원격 절차 호출 이라는 뜻인데,
절차보단 프로시저 자체를 메소드처럼 받아들이는 게 더 와닿는 것 같습니다.
응용프로그램의 프로시저를 사용해서,
원격 프로시저를 마치 로컬 프로시저 처럼 호출하는 방식의 미들웨어 입니다.
자바를 비유해서 생각하면, import 해서 쓰는 클래스와 메소드들과 비슷한 느낌인 것 같습니다.
MOM : Message Oriented Middleware Man Of the Match 아님
MOM 은 메시지 지향 미들웨어 라는 뜻이고,
뜻 그대로 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어 입니다.
비동기식이다 보니 온라인보다는 이기종 분산 데이터 시스템간의 데이터 동기화를 위해 많이 쓰입니다.
ㄴ 서로 다른 플랫폼에서 독립적으로 실행되는 소프트웨어 간의 상호 작용을 통해
하나의 통합된 시스템처럼 동작되도록 합니다.
TP-Monitor : Transaction Processing Monitor
Transaction 은 거래,처리,업무 등의 뜻이 있고,
Processing 은 처리, 저장, 가공의 뜻이 있으니,
거래 처리를 감시하는 미들웨어라고 보면 되겠습니다.
위 뜻대로 항상 감시 즉 모니터링을 하기 때문에,
항공기나 철도 예약 업무 등과 같이,
사용자가 많아도 빠른 응답속도를 유지해야하는 온라인 업무에서 주로 쓰입니다.
ORB : Object Request Broker
객체 요청 브로커. 브로커가 딱 미들웨어의 개념에 걸맞는 단어인데,
일용직 사무소 가면 앉아서 전화 받고 일자리 연결해주는 사람이 브로커입니다.
일감은 있고, 일할 사람도 있는데, 서로 찾아가질 못하니 브로커가 필요한 것과 같은 개념입니다.
단어에 Object 가 들어있듯이, 객체지향미들웨어 이고,
CORBA (Common Object Request Broker Architecture) 의 표준 스펙을 구현한 미들웨어 입니다.
WAS : Web Application Server
WAS 는 웹 서버와 데이터베이스 사이에서 실질적인 업무처리를 담당하는 미들웨어입니다.
WAS 는 동적인 업무, 웹 서버는 정적인 업무를 담당합니다.
웹 서버는 정적인 데이터 (html, js, css 등) 를 처리하고, 동적인 업무나 복잡한 연산이 필요한 일은
WAS 에게 떠넘기고, WAS 는 업무를 확인한 뒤 DB 에서 필요한 정보를 받아 업무를 수행하고,
다시 웹 서버에게 결과를 보내면 웹 서버는 사용자에게 결과만을 보여주게 됩니다.
예를 들어, id password 를 확인한다 치면,
웹 서버에는 사용자의 데이터가 없기 때문에 WAS 에게 사용자의 입력값을 보내면,
WAS 가 데이터베이스에서 자료를 비교해 맞는 값이 있는지 확인한 후 true | false 를 웹서버에 보내주는 식.
미들웨어 솔루션 식별 :
미들웨어 솔루션 식별이란, 개발 및 운영 환경에 사용될 미들웨어 솔루션을 확인하고 목록을 작성하는 것을 말합니다.
쉽게 말해, 내가 일하면서 쓸 거 어떤 제품인지, 성능 어떤지 등을 정리해서 리스트를 작성하는 것입니다.
식별이라고 명명된 이유는, 내가 쓰는 것이 옳은지 그른지 효율, 비효율을 따지고 식별하는 것을 위해 그렇다고 생각하면 됩니다.
소프트웨어 아키텍쳐에서 정의한 아키텍쳐 구성 정보와 프로젝트 진행 단계에서 구매중이거나 구매 예정인
소프트웨어 내역들을 확인하여 개발 및 운영환경에서 쓸 미들웨어 솔루션을 식별합니다.
ㄴ 식별한 미들웨어 솔루션들로 시스템, 구분, 솔루션명, 버전, 제조사 등의 정보를 정리한 목록을 작성합니다.
ㄴ 작성된 목록을 이해 관계자에게 전달하여 오류 및 누락을 확인하고 수정합니다.
작성 예시)
시스템 | 구분 | 솔루션명 | 버전 | 제조사 |
사용자 관리 시스템 | WAS | nginx | ver 4.1 | nginxsoft |
데이터 관리 시스템 | TP-Moniter | tuxedo | ver 2.0 | oracle |
결제 관리 시스템 | WAS | jeus | ver 3.0 | tmaxsoft |
콘텐츠 관리 시스템 | MOM | titan | ver 1.2 | h2o |
미들웨어 솔루션 명세서 작성 :
미들웨어 솔루션 명세서는 미들웨어 솔루션 목록의 솔루션별로 관련 정보들을 상세하게 기술하는 것입니다.
미들웨어 솔루션 목록은 목차 느낌이면, 미들웨어 솔루션 명세서는 그것이 뭔지 구체적인 내용을 적는다 생각하면 됩니다.
미들웨어 솔루션 명세서를 작성하는 일반적인 방식으론,
- 솔루션 목록에 나온 것과 여러가지를 검토합니다.
(명칭, 버젼, 그 외 사용 목적 등을 제품 안내서 및 설명 자료를 통해 검토)
- 제품에 대한 사용 환경과 특징 등을 마찬가지로 솔루션 설명 자료나, 관련 담당자를 통해 검토합니다.
- 솔루션이 지원하는 시스템 범위, 정상 서비스 제공을 위한 환경 구성,
제공 기능 등에 대한 제약 사항이 존재하는지 제품안내서 및 기술지원 담당자를 통해 검토합니다.
- 솔루션에 대한 상세정보 및 기능, 특징, 시스템 구성 환경 등에 대한 제약사항을 정리하여
솔루션 명세서를 작성합니다.
'정보처리기사 관련 개념 정리' 카테고리의 다른 글
관계대수와 관계해석에 대하여... (0) | 2024.04.26 |
---|---|
페이지 교체 알고리즘에 대하여... (0) | 2024.04.18 |
트리에 관하여...(개요, 용어, 종류, 이진 트리의 종류, 이진 탐색 트리, 트리 운행법, 수식 표기법) (2) | 2024.04.12 |
정렬에 관하여... (삽입, 선택, 버블, 셸, 퀵, 합병, 힙, 기수) (0) | 2024.03.29 |
디자인 패턴 (0) | 2024.03.15 |