곰돌이 놀이터

[기본] EDI, EAI, B2Bi, SOA, ESB 란? 본문

기본 개발 지식

[기본] EDI, EAI, B2Bi, SOA, ESB 란?

달나라 곰돌이 2019. 7. 8. 14:32

 EDI(전자 문서 교환) 

 

전자 문서 교환(Electronic Data Interchange, EDI)은 독립된 조직 간에 정형화된 문서를 표준화된 자료표현 양식에 준하여 전자적 통신매체를 이용해 교환하는 방식이다. 예를들어, 기업간 거래에 관한 데이터와 문서를 표준화하여 컴퓨터 통신망으로 거래 당사자간 전송·수신하는 정보전달 시스템이되며, 주문서·납품서·청구서 등 무역에 필요한 각종 서류를 표준화된 양자간 서식 또는 공공서식을 통해 서로 합의된 전자신호로 바꾸어 컴퓨터 통신망을 이용하여 거래처에 전송한다.

 

 EDI(전자 문서 교환)의 이점

 

국내 기업간 거래는 물론 국제무역에서 각종 서류의 작성과 발송, 서류정리절차 등의 번거로운 사무처리가 없어져 처리시간의 단축, 비용의 절감 등으로 제품의 주문·생산·납품·유통의 모든 단계에서 생산성을 획기적으로 향상시킨다.

 

 EAI(기업 응용 프로그램 통합) 


기업 응용 프로그램 통합(Enterprise Application Integration, EAI)란 DW, ERP, CRM, SCM, B2B 등 기업에서 운영하는 서로 다른 Application 및 System을 통합하는 것을 말함, 업무의 효율성, 확장성 높임, 유지보수 및 비용 절감, 편의성 증대시키는 솔루션

 EAI(기업 응용 프로그램 통합) 구성요소 

 

데이터 브로커(Data Broker) : 서로 다른 애플리케이션은 각기 다른 형태로 데이터를 보관하고 있기 때문에 애플리케이션간 통합을 위해 데이터포맷과 데이터코드를 변환하는 것

메시징 통로 : 기능과 변환을 마친 데이터를 다른 애플리케이션으로 전송하는 것, 이는 허브&스포크 방식과 메시지 버스 방식 2가지가 있다. 이들의 역할은 데이터 변환, 룰 프로세싱, 트랜잭션 처리 등

어댑터(Adapter) : 각기 다른 애플리케이션과 메시징 통로 사이에서 데이터를 입출력하는 도구. 새로운 애플리케이션이 하나 도입되면 하나의 어댑터만 추가해주면 다른 어플리케이션들과의 통합을 할 수 있다

프로세스 통합 : 위의 3가지를 통해 일단 데이타 통합이 이뤄진다. 하지만 진정한 의미의 EAI는 데이터 통합에서 벗어나 프로세스까지 통합해야 함! 즉, 특정 애플리케이션에서 변환 과정을 거쳐 옮겨온 데이터를 다른 애플리케이션에서 자동적으로 작동시키는 워크플로우까지 통합되야 하는 것, 때문에 상용화된 EAI 솔루션들은 교환된 데이터를 실제 업무에 적용할 수 있도록 비즈니스 규칙(Rule)을 자동화한 소프트웨어 모듈을 포함하고 있다. 

 EAI(기업 응용 프로그램 통합) 도입 후 기대효과

기존 투자에 대한 보호 : 이미 안정화된 시스템과의 통합 유용하여 기존 투자 보호 
환경 변화에 빠른 시간내에 대응 가능 - 새로운 시스템 도입하여 개발 안정화까지 시간 지연을 감소, 빠른 환경 변화에 즉각 대응 가능. 기존 시스템 그대로 이용
시스템 선정시 제약적 감소 : EAI솔루션을 통해 개방적인 하부구조가 정의되면 새로운 시스템 도입시 선정 제약이 사라짐.  
시스템의 통합관리 가능 : 흩어진 시스템들이 하나로 통합관리되면 모두 하나의 인터페이스로 관리할 수 있게 됨. 일관성 증가, 유지보수에 비용 절감 

 

 B2Bi(기업간통합) 

 

단일 기업의 이기종 애플리케이션을 통합하는 것을 전사애플리케이션통합(Enterprise Application Integration, EAI)이라고 정의한다면, B2Bi는 대상 범위가 기업간(B2B)으로 확대된 것이 차이다. 즉 B2Bi는 기업과 기업, 기업과 e마켓플레이스, e마켓플레이스와 e마켓플레이스 등 기업간 전자상거래에서 발생하는 비즈니스 프로세스를 효과적으로 지원하기 위해 전산시스템과 문서포맷, 애플리케이션을 서로 통합·연동한다는 것이 기본 개념이다. 예를들면, 두 기업간에 경매나 역경매, 구매처리와 같은 업무가 이뤄지려면 두 회사가 서로 이해할 수 있는 공통의 포맷이 필요하다. 이렇게 기업의 수에 관계없이 업무를 매끈하게 연결해주는 것이 B2Bi의 개념이다.

 

 SOA(서비스 지향 아키텍처) 

 

서비스 지향 아키텍처(Software Oriented Architecture, SOA)란 대규모 컴퓨터 시스템을 구축할 때의 개념으로 업무상에 일 처리에 해당하는 소프트웨어 기능을 서비스로 판단하여 그 서비스를 네트워크상에 연동하여 시스템 전체를 구축해 나가는 방법론 이다. 

 

토마스 얼은 자신의 저서에서 SOA를 다음과 같이 정의한다.

 

공개, 기민성, 확장, 연합, 자립적 요소들로 구성된 조합가능한 아키텍처, 서비스 품질, 다양한 벤더, 상호 운영성, 서비스 발견 그리고 잠재적으로 재사용 가능한 서비스들이 웹서비스로 구현된다. 

비지니스 로직과 기술을 추상화하여, 이 도메인 간에 느슨한 결합을 유도한다. 

과거 플랫폼의 진화물로서, 전통적인 아키텍처의 특징들을 고스란히 가지고 있으며, 명확한 원칙을 가지고 SOE를 지원하며 서비스 지향을 촉진한다. 

엔터프라이즈 환경을 이상적으로는 표준화하지만, 치밀한 사전 계획에 의한 이전 필요성과 현재도 진화하고 있는 기술에 대한 지원만이 이러한 목적을 달성할 수 있다.

 

 ESB(엔터프라이즈 서비스 버스) 

 

SOA의 토대가 되는 엔터프라이즈 서비스 버스(Enterprise Service Bus, ESB)는 간단하게 표현하면 비즈니스 내에서 서비스, 애플리케이션, 자원을 연결하고 통합하는 미들웨어라 할 수 있으며, 이를 통해 분산된 서비스 컴포넌트를 쉽게 통합 연동할 수 있어 신뢰성 있는 메시지 통신이 가능하다. 

ESB에서 '버스'라는 용어를 사용하는 이유는 ESB가 물리적 컴퓨터 버스와 매우 유사한 기능을 제공하지만 훨씬 높은 추상화 수준을 제공하기 때문으로 ESB를 사용하는 주된 이점 중 하나는 접점의 수를 줄이는 것이다. 따라서 변경 사항을 훨씬 쉽게 적용 할 수 있다. ESB는 SOA가 실현되는 플랫폼으로 사용될 수 있는데, 이는 변환 / 라우팅 (플로우 관련)의 개념이 ESB에 의해 SOA로 가져올 수 있기 때문이다. 또한 ESB (SOA의 엔드 포인트)에 대한 추상화를 입증함으로써 ESB는 서비스 간의 느슨한 결합을 촉진한다.

 

 SOA(서비스 지향 아키텍처)와 ESB(언터프라이즈 서비스 버스)의 비교

 

SOA는 느슨하게 결합 된 서비스 기반 애플리케이션을 구현하기위한 아키텍처 모델이고, ESB는 개발자가 서비스를 개발하고 적절한 API를 통해 서비스간에 통신하는 데 도움이되는 인프라 스트럭처 소프트웨어이다. ESB는 SOA가 실현되는 플랫폼으로 사용될 수 있다. 하지만 ESB는 서비스가 흐르는 매체일 뿐이고 ESB는 SOA의 구현과 서비스 구성 및 배치를 위한 기능을 제공한다.

 

 참고 

 

전자신문

위키백과

ikis21

처음부터 시작하는 프로그래밍

'기본 개발 지식' 카테고리의 다른 글

[기본] GraphQL 이란?  (0) 2019.07.24
[기본] GW(그룹웨어) 란?  (0) 2019.07.24
[기본] SSO(Single Sign On) 연동  (0) 2019.03.26
[기본] WEB 과 WAS 차이  (12) 2018.08.23
[기본] 웹서비스 그리고 RESTful, SOAP 란?  (3) 2018.08.23
Comments