본문 바로가기
제조실행시스템(MES)

3.1 인터페이스(미들웨어/ 웹API/ SOAP/ REST)

by 네이든 루니 2023. 4. 7.
반응형

제조 SI에서도 MES와 설비, 혹은 레가시 시스템(Legacy, 기존의 시스템)끼리의 연동은 많이 발생하고, 공공 SI에서도 '연계'라는 이름으로 타 기관이나 시스템과의 연동은 큰 비중을 차지합니다.

manufacturing-execution-system
제조실행시스템

3.1.4 이기종시스템 간 연계를 위한 미들웨어

미들웨어란 말 그대로 '중간 단계에 위치하여 서비스를 해주는 소프트웨어적으로 운영되는 프로세스'를 말합니다. 클라이언트/ 서버의 2-Tier 환경에서 업무 로직이 클라이언트에 위치하게 되어 'Fat' 클라이언트가 되고 서버에 가해지는 부하도 증가되어 대용량 환경에서는 적합하지 않게 되었습니다.
 
이에 대한 해결책으로 비즈니스 로직을 클라이언트에서 분리하고 클라이언트 수가 증가하더라도 서버에 미치는 영향을 최소화하고자 중간에 미들웨어를 두었습니다. 현재 프로젝트 현장에서 많이 사용되는 EAI/ ESB, WAS(Web Application Server)도 웹 환경에서 운영되는 대표적인 미들웨어입니다.


 

미들웨어를 배관(plumbing)에 비유한 4가지 이유

 

눈에 보이지 않는다

집안의 배관 설비는 보이지 않고 배관을 통하여 흘러나오는 물만 보이듯이 논리적 뷰의 상단에 애플리케이션이 위치하고 하단에 데이터베이스 및 운영체제와 같은 소프트웨어가 있게 됩니다. 중간 부분의 미들웨어를 통하여 전달되는 웹 사이트와 정보 흐름만이 눈으로 확인할 수 있는 결과입니다.
 

표준 업무방식을 제공한다

자체 배관 설비를 처음부터 개발할 수도 있지만 구입하는 것이 훨씬 간편합니다. 표준에 따라 개발된 애플리케이션 서버, 데이터베이스 연결 드라이버, 인증 처리기, 메시징 시스템을 개발할 필요 없이 사용하기만 하면 됩니다. 이들 미들웨어의 구성요소들은 라이브러리 형식으로 제공되는데 프로그램이 잘 정의된 API를 통해 호출하는 것으로 간편하게 사용할 수 있게 됩니다. 
 

복잡한 시스템의 구성요소를 연결해 준다

주방, 난방, 욕실, 세탁기, 수도 등이 견고하고 안정적인 배관 설비로 인해 사용하는 데 걱정할 필요가 없듯이 미들웨어는 복잡한 웹 기반 애플리케이션을 통해 정보를 계속적으로 이동시키고 있습니다.
 

재구성 없이 연결할 수 있게 해 준다

새로운 온수 히터를 설치할 때 다른 것들을 업그레이드할 필요가 없듯이 다른 시기, 다른 조직에 의해 개발되고 다른 프로토콜을 통해 통신하는 엔터프라이즈 애플리케이션을 통합하기 위해 하나의 언어를 사용하도록 애플리케이션을 재작성할 필요가 없습니다.

 

미들웨어의 종류

 

TP-Monitor

이질적인 분산환경에서 트랜잭션을 처리하고 각종 처리절차를 관리하는 기능을 제공

  • Tmax, Tuxedo, TopEnd, Encina, CICS 등

 

Web Application Server

웹상에서 트랜잭션 처리, 이기종 간 상호통신 기능(J2EE)

  • JEUS, WebLogic, WebSphere 등

 

Messaging Oriented Middleware

메시지 큐라고 불리는 전달 중계소에 넣어 처리하고 큐에 의한 메시지 관리 기능 제공(비동기적)

  • MS MSMQ, ActiveMQ(JMS), IBM WebSphere M(WMQ), TIB/ RV

 

Database Access System

분산환경에서 복수개의 데이터베이스 서버들을 일괄된 방법으로 이용할 수 있도록 하는 환경들을 제공해 주는 서비스

  • ODBC, IBI EDA/ SQL, RDA 등

 

RPC System

네트워크상의 다른 컴퓨터에 있는 프로그램을 실행(동기적)

  • Entera 등

 

Object Request Broker

클라이언트 객체가 ORB라는 소프트웨어 버스를 이용하여 원격지 서버의 메소드를 호출하는 기능 제공

  • Orbix, Visibroker 등

많은 트랜잭션과 안정성이 절대적으로 요구되는 제조현장시스템에는 메시지 기반 미들웨어가 많이 사용되며, 특히 JMS(ActiveMQ), Highway 101, Tib/ RV가 많이 쓰이고 있습니다.
 
미들웨이는 분산 응용프로그램을 서로 연결하기 때문에 '배관'으로도 불리며 기본적으로 통신 및 데이터 관리를 수행합니다. 일반적으로 웹서비스, SOAP, REST와 같은 메시징 프레임워크를 사용해 서로 다른 응용프로그램이 통신할 수 있도록 메시지 서비스를 제공하는데, 사용 중인 서비스와 통신해야 할 정보 형식에 따라 선택됩니다. 여기에는 보안 인증, 트랜잭션 관리, 메시지 큐, 응용 프로그램 서버, 웹서버 및 디렉토리가 포함될 수 있습니다.
 
API 경제학으로도 불리는 웹 API는 HTTP/HTTPS 프로토콜을 기반으로 하며 느슨하게 연결된 컴포넌트들을 조합해 애플리케이션을 구성하거나 제어한다는 관점에서 아키텍처(SOA)인 웹서비스/ ESB 기술과 유사합니다.
 
SOA가 폐쇄적인 네트워크 안에서 사내 시스템들을 연계하고 제한된 사용자가 이용하는 시스템인데 비해 웹 API는 사내의 데이터를 사외의 SoE(System of Engagement)에 제공함으로써 새로운 비즈니스 창출을 목표로 합니다. 웹 API의 통신 방법도 과거에는 SOAP를 이용했으나 요즘은 거의 대부분이 REST방식으로 전환되는 추세입니다.
 
SOAP는 주로 복잡한 비즈니스 로직을 웹 서비스 형태로 제공하는 SOA를 구성할 때 사용하는 기술로 메시지는 XML 형식으로 만듭니다. 이에 비해 REST는 표준이라기보다는 일종의 사상이나 접근방식으로 URI를 호출할 때 HTTP 메소드를 기반으로 CRUD 조작을 하는 것처럼 비교적 간단한 제어를 할 때 사용하며, 실행 결과를 JASON 형식으로 출력하는 것이 일반적입니다. 최근 웹이나 클라우드 분야에서 사실상 표준으로 사용되며 웹 API를 REST API로도 부릅니다.

반응형

댓글