1. 미들웨어(Middleware)의 개념 및종류
- 미들(Middle)과 SW의 합성어로, 운영체제와 해당 운영체제에서 실행되는 응용 프로그램 사이에서 운영체제가 제공하는 서비스외에 추가적인 서비스를 제공하는 SW.
- MW는 표준화된 인터페이스를 제공함으로서 시스템간 데이터 교환에 일관성을 보장
2. DB(DataBase)
- DB벤더에서 제공하는 클라이언트에서 원격의 DB와 연결하기 위한 미들웨어
- DB를 사용하여 시스템을 구축하는 경우 보통 2-Tier 아키텍처라고 부름.
ex) MS ODBC, 볼랜드 IDAPI, Oracle Glue 등
3. RPC(Remote Procedure Call)
- 원격 프로시저 호출, 응용 프로그램의 프로시저를 사용하여 원격으로 마치 로컬처럼 호출하는 방식의 미들웨어
ex) 이큐브시스템스 Entera, OSF의 ONC/RPC 등
4. MOM (Message Oriented Middleware)
- 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어
- 온라인 업무보다 분산 데이터 시스템의 데이터 동기를 위해 사용
ex) IBM의 MQ, Oracle Message Q, JCP의 JMS 등
5. TP-Monitor, (Transaction Processing Monitor)
- 항공기, 철도 등 예약 업무와 같이 온라인 트랜잭션 업무에서 트랜잭션을 처리 및 감시하는 미들웨어
- 사용자 수가 증가해도 빠른 응답 속도를 유지해야하는 업무에 주로 사용
ex) Oracle tuxedo, 티맥스소프트 Tmax 등
6. ORB(Object Request Broker) - 객체 요청 브로커
- 코바 표준 스펙을 구현한 객체 지향 미들뒈어
※ 코바(CORBA, Common Object Request Broker Architecture): 네트워크 분산 프로그램 객체를 생성-배포 및 관리하기 위한 규격을 뜻함
- 최근에는 TP-Monitor의 장점인 트랜잭션 처리와 모니터링 등을 추가로 구현
ex) MicroFocus Orbix, OMG CORBA 등
7. WAS(Web Application Server)
- 정적인 콘텐츠를 처리하는 웹 서버와 달리 사용자의 요구에 따라 변하는 동적 콘텐츠를 처리하기 위해 사용되는 미들웨어
- 클라이언트/서버 환경보다는 웹 환경을 구현하기 위한 미들웨어
- HTTP 세션 처리를 위한 웹 서버 기능뿐만 아니라 미션-크리티컬한 기업 업무까지 JAVA, EJB 컴포넌트 기반으로 구현 가능
ex) Oracle WebLogic, IBM WebSphere 등
※ 미션-크리티컬 : 업무를 수행하는데 있어 가장 중요한 요소를 의미
※ EJB(Enterprise JavaBean) : 클라이언트/서버 모델의 서버 부분에서 운영되는 자바 프로그램 컴포넌트들을 설정하기 위한 아키텍처로, 대규모의 분산 객체 환경을 쉽게 구현 할 수 있도록 도와줌
8. 미들웨어 솔루션 식별
- 개발 및 운영 환경에 맞춰 사용할 미들웨어 솔루션을 확인하고 목록을 작성하는 것
- SW 아키텍처에서 정의한 아키텍처 구성 정보와 프로젝트에서 구매가 진행 중이거나 구매 예정인 SW내역을 확인하여 개발 및 운영 환경에서 사용할 미들웨어 솔루션을 식별
- 식별한 미들웨어 솔루션들에 대해 시스템/구분/솔루션명/버전/제조사 등의 정보를 정리한 미들웨어 솔루션 목록을 작성
- 작성된 미들웨어 솔루션 목록은 이해관계자 등에게 전달하여 내용을 확인 및 수정
9. 미들웨어 솔루션 명세서 작성
- 명세서는 미들웨어 솔루션의 목록에서 각 솔루션 별 관련 정보를 상세하게 기술한 것
- 솔루션 제품명, 버전, 사용 목적 등 솔루션 제품 안내서 및 설명 자료를 통해 검토
- 미들웨어 솔루션 제품에 대한 사용 환경과 특징 등의 내용은 담당자를 통해 검토
- 솔루션이 지원하는 시스템 범위와 정상적인 서비스 제공을 위한 환경 구성, 제공 기능 등에 대한 제약사항이 존재하는지 제품 안내서 및 기술 지원 담당자를 통해 검토
- 미들웨어 솔루션에 대한 상세 정보 및 제공 기능, 특징, 시스템 구성 환경 등에 대한 제약사항을 정리하여 솔루션에 대한 명세서 작성
'정보처리기사' 카테고리의 다른 글
★ 013 데이터 입출력 구현[데이터저장소/데이터베이스/DBMS] (0) | 2020.06.01 |
---|---|
★ 012 데이터 입출력 구현[자료구조] (0) | 2020.06.01 |
★ 010 애플리케이션 설계[모듈] (0) | 2020.05.31 |
★ 009 애플리케이션 설계[객체지향(Object-Oriented)] (0) | 2020.05.30 |
★ 008 애플리케이션 설계[아키텍처 패턴] (0) | 2020.05.30 |