소개
실시간 통합 정보에 대한 요구가 높아지면서 회사에서 자사의 서로 다른 기존 시스템을 통합하는 방법에 대한 필요성 또한 증가하고 있습니다. 이러한 통합 프로세스를 EAI(Enterprise Application
Integration)라고 합니다.
EAI의 개념
EAI는 독립적으로 개발되어 호환되지 않는 기술을 사용하며 관리 또한 독립적으로 이루어지는 여러 소프트웨어 응용프로그램을 통합하는 프로세스입니다.
근본적으로, EAI는 엔터프라이즈 내 다른 응용프로그램과 데이터 소스에서 데이터 및 비즈니스 프로세스를 공유하고 교환하는 프로세스입니다.
EAI 유형
EAI는 회사 규모 및 해당 업종, 통합 및/또는 프로젝트 복잡도와 예산 등 여러 요인에 따라 다른 레벨로 수행될 수 있습니다.
네 가지 기본 통합 레벨은 다음과 같습니다.
데이터 레벨
데이터 레벨 EAI는 하나의 데이터베이스에서 데이터를 추출하여 다른 데이터베이스에서 갱신하는 데이터베이스 중심 접근 방식입니다. 추출된 데이터는 때때로 대상 데이터베이스로 입력되기 전에 예를 들어, 특정 비즈니스
규칙을 적용하기 위해 변환될 수 있습니다.
데이터 레벨 통합은 일반적으로 ETL(Extract, Transform, Load) 도구를 통해 수행됩니다. 이 도구는 다양한 데이터 소스의 데이터를 추출, 변환, 정리하여 공통 엔터프라이즈 데이터 저장소(데이터
웨어하우스), 또는 다양한 비즈니스 요구를 충족시키도록 조정된 데이터 저장소(데이터 마트)에 로드할 수 있습니다.
이 접근 방식의 주요 이점은 저비용 저위험 프로파일입니다. 즉, 기존 응용프로그램 코드를 수정하지 않으므로 새 응용프로그램 버전의 개발, 테스트 및 배치와 관련된 비용이 발생하지 않습니다. 반면에 이 접근 방식의
주요 단점은 데이터베이스와 테이블이 많이 생성되고, 데이터베이스
디자이너가 이동되는 데이터 및 연관 비즈니스 규칙을 이해해야 합니다.
응용프로그램 인터페이스 레벨
이 EAI 통합 레벨은 사용자 정의 또는 패키지 응용프로그램에서 제공하는 인터페이스를 이용하여 비즈니스 프로세스와 단순 정보에 액세스합니다. 일반적으로 이러한 유형의 통합은 다음과 같은 3단계 프로세스로
수행됩니다.
-
제공된 응용프로그램 인터페이스를 통해 하나의 응용프로그램에서 정보를 추출합니다.
-
대상 응용프로그램이 이해할 수 있는 형식으로 데이터를 변환합니다.
-
대상 응용프로그램으로 정보를 전송합니다.
이러한 유형의 통합을 구현하기 위해 가장 일반적으로 사용되는 접근 방식은 "메시지 브로커"입니다. 이 접근 방식은 버스 또는 허브 프레임워크를 통해 정보 플로우를 표준화하고 제어합니다.
그러나 웹 서비스가 대중화되면서 레거시 응용프로그램과 패키지 응용프로그램에서 웹 서비스를 사용하여 비즈니스 기능을 나타내고 있습니다. 이러한 비즈니스 기능을 재사용가능한 웹 서비스로 사용할 수 있게 됨으로써 서비스 지향 아키텍처(SOA)를 "메시지 브로커"의 대안으로 사용하는 경우가 늘어나고 있습니다.
이 접근 방식의 주요 이점은 응용프로그램 인터페이스를 응용프로그램이 제공하므로 다른 응용프로그램 간의 인터페이스가 비교적 쉽다는 것입니다. 이 접근 방식의 부정적인 측면은 메시지 브로커 기술과 관련된 비용입니다.
과거에는 일반적으로 이러한 인터페이스가 응용프로그램에 종속적이어서, 개발자가 각 인터페이스의 특정 기능과 특성을 학습해야 했습니다. 그러나 XML이 대중화되고 많은 응용프로그램 인터페이스의 표준 언어로 채택됨에
따라 이러한 문제점은 사라지고 있습니다.
메소드 레벨
메소드 레벨 통합은 응용프로그램 인터페이스 레벨과 유사하지만 세분성이 더 낮습니다. 이 접근 방식의 아이디어는 응용프로그램 인터페이스 레벨에서와 같이 비즈니스 기능을 공유하지 않고, 해당 비즈니스 기능을 작성하는
데 사용된 여러 메소드를 직접 공유하는 것입니다. 따라서 동일한 메소드를 구현해야 하는 다른 모든 엔터프라이즈 응용프로그램은 해당 메소드를 다시 작성하지 않고 사용할 수 있습니다.
이 통합 레벨은 여러 기술(Java RMI, Corba, DCOM 등)로 수행될 수 있지만 이 접근 방식을 구현하는 데 있어 새로운 동향은 메소드 공유 방법으로 웹 서비스를 사용하는 것입니다.
이 접근 방식의 메소드 공유 및 비즈니스 로직 재사용 기능은 EAI에 매우 효과적인 기능입니다. 반면에 낮은 레벨에서의 공유를 허용하도록 기존 응용프로그램을 수정해야 하므로 너무 많은 부분이 공개된다는 단점이
있습니다.
사용자 인터페이스 레벨
사용자 인터페이스 레벨 EAI는 보통 "개편(refacing)"이라고도 하며 일반적으로 브라우저 기반의 표준화된 인터페이스로 레거시 시스템의 기존 텍스트 기반 인터페이스와 PC의 그래픽 인터페이스를 바꿉니다.
이 통합 유형에 대한 새로운 솔루션인 엔터프라이즈 비즈니스 포털은 여러 응용프로그램 프리젠테이션을 사용자 정의할 수 있는 하나의 브라우저 기반 인터페이스로 연합합니다.
이 통합 유형은 기존 응용프로그램 코드를 수정하지 않으므로 다른 접근 방식에 비해 비용이 저렴한 반면 같은 이유로 유연성이 떨어집니다.
EAI 및 미들웨어
EAI의 경우, 미들웨어 기술은 정보를 이동하고 응용프로그램 간에 비즈니스 프로세스를 공유하는 메커니즘으로만 사용됩니다. 미들웨어는 소스 시스템과 대상 시스템 간 통신 메커니즘의 복잡도를 숨깁니다. 이러한 경우
미들웨어가 두 시스템 간 정보 전달을 처리하므로 개발자는 각 시스템의 응용프로그램 인터페이스(API) 처리에 집중할 수 있습니다. 또한 다른 플랫폼에서 실행되는 다른 응용프로그램이 동일한 미들웨어 API를 사용할
수 있습니다.
미들웨어는 EAI의 기본 기술로서, 모든 통합 레벨에서 사용할 수 있습니다(사용자 인터페이스 레벨에서도 비즈니스 포털을 미들웨어의 한 유형으로 간주할
수 있음). 그러나 가장 일반적인 미들웨어 기술 사용 예는 응용프로그램 인터페이스 레벨의 메시지 브로커입니다.
EAI 및 XML
XML(eXtensible Markup Language) 표준은 이동 가능하고 구조화된 데이터를 정의하기 위한 W3C(World Wide Web Consortium)의 텍스트 기반 마크업 언어 스펙입니다. XML은
단순하고 널리 사용되는 교환 형식이므로 EAI 메시지 형식 및 프로토콜로 이상적입니다.
XML은 모든 통합 레벨(일반적으로 사용자 인터페이스 레벨 제외)에서 사용할 수 있습니다. 즉, 데이터 레벨에서는 공통 데이터 교환 형식으로, 응용프로그램 인터페이스 레벨에서는 메시지 브로커 내부의 메시징 형식
및/또는 프로토콜로, 서비스 지향 아키텍처(SOA)에서는 웹 서비스에 대한 지원으로 사용할 수 있습니다. 웹 서비스 또한 XML을 사용하여 빌드되므로 메소드 레벨 통합을
수행할 수 있습니다.
추가 참조 자료 및 참조서
-
David Linthicum, Next Generation Application Integration: From Simple Information to Web Services, Addison-Wesley,
2003.
-
Gregor Hope and Bobby Woolf, Enterprise Integration Patterns, Addison-Wesley, 2003.
|