AnyLink 소개

본 장에서는 AnyLink에 대한 개념적 이해를 목적으로 하며 구성 개요 및 주요 특징에 대해서 설명한다.

1. 개요

엔터프라이즈 환경에서 시스템 상호 간에 연계 필요성이 높아지고 표준화되지 않은 Peer-to-Peer 방식으로 구축함으로써 점점 복잡해지는 인터페이스를 통합적이고 표준화된 방식으로 관리하기 위해 인터페이스 시스템을 구축하게 된다.

다음은 대표적인 인터페이스 시스템이다.

  • 엔터프라이즈 애플리케이션 연계 시스템(EAI, Enterprise Application Integration)

  • 엔터프라이즈 서비스 버스 시스템(ESB, Enterprise Service Bus)

  • 멀티채널 인터페이스 시스템(MCI, Multi-Channel Interface)

  • 대외채널 시스템(FEP, Front End Processor)

인터페이스 시스템은 공통기능과 유사한 특성을 갖고 있지만 소프트웨어 시장에서는 이들이 기반으로 하는 솔루션들이 연계 영역별 특성에 맞게 특화되어 제작되고 공급되어 왔다. 시스템이 다양화되고 복잡해지면서 연계 특성에 따라 다른 벤더의 솔루션 기반으로 개별적인 개발/운영 방식을 구축한 시스템에서 통합이나 표준화 문제가 발생하게 되었다.

AnyLink는 이러한 문제점을 해결하기 위해 엔터프라이즈 시스템의 인터페이스들을 단일 아키텍처로 가상화하고, 대내외에서 발생하는 다양한 대용량 데이터를 신속하게 처리하고 전달하는 채널 인터페이스 백본으로 설계되었다.

또한 다양한 인터페이스 시스템을 연계 특성에 맞게 구성할 수 있도록 플랫폼으로 제공하며, 모든 시스템들이 통합적으로 개발되고 운영될 수 있도록 통합 개발/운영 환경을 제공한다. 대규모 비즈니스 환경에서 신속한 인터페이스 통합 및 확장, 채널의 다변화를 안정적으로 수용할 수 있는 클라우드 인프라를 기반으로 하는 클라우드 플랫폼으로 제공된다.

2. 구성

AnyLink는 스튜디오(Studio), 리모트 에이전트(Remote Agent), 런타임 엔진(RTE), WebAdmin, 데이터 통합 서버(DIS)로 구성된다.

figure 1 1
AnyLink 구성도
  • 스튜디오(Studio)

    통합개발환경(IDE)으로 거래와 관련 자원들을 정의할 수 있는 Eclipse 기반의 툴로 거래, 메시지, 메시지 맵핑, 파싱룰, 플로우, 아웃바운드 룰, 유저 클래스(User Class)를 정의할 수 있는 환경을 제공한다. Studio를 통해 정의된 자원들을 DIS에 저장한 후 RTE에 배포하게 되며, DIS에 저장된 자원을 다운로드 받아 개발을 진행할 수 있다.

  • 리모트 에이전트(Remote Agent)

    원격지에서의 거래 송수신 처리를 하기 위해서는 원격지 서버의 리모트 에이전트를 통해 처리할 수 있다. 리모트 에이전트는 어댑터 엔드포인트 역할을 대신하여 인바운드/아웃바운드 메시지를 송수신하며 허브의 엔드포인트와 TCP Tunneling으로 메시지를 전달하거나 전달받는다.

  • 런타임 엔진(RTE, Runtime Engine)

    런타임 엔진은 리소스 매니저, 어댑터, 딜리버리 채널, 플로우 엔진으로 구성되어 있다.

    구분 설명

    리소스 매니저

    런타임 환경의 공통 자원을 관리하며 클래스 로더, 스레드 풀, 거래 및 설정을 관리한다.

    어댑터

    메시지 송수신, 파싱, 마샬(Maschal)/언마샬(Unmaschal) 및 서비스를 호출한다.

    딜리버리 채널

    호출된 서비스의 위치를 찾아서 플로우, 아웃바운드 룰, 멀티바인딩를 실행하고 메시지를 전달하는 역할을 한다.

    플로우 엔진

    스튜디오에서 정의된 플로우 흐름과 조건에 따라 액티비티(Activity), 이벤트(Event), 게이트웨이(Gateway)를 순차 혹은 병렬로 실행한다.

  • WebAdmin

    WebAdmin은 운영관리 툴로 시스템 구성관리, 운영설정, 모니터링, 사용자/권한관리를 한다.

    구분 설명

    시스템 구성관리

    여러 개의 업무시스템을 정의와 관리를 허용하며, 업무시스템은 싱글 서버 클러스터나 싱글 서버로 구성될 수 있다.

    원격 망에서의 연계를 위한 리모트 에이전트(Remote Agent)도 업무시스템에 추가될 수 있다. 각 업무 시스템마다 어댑터를 정의하고 스튜디오에서 정의한 거래를 맵핑하여 거래 요청 메시지가 왔을 때 거래를 식별하고 처리되도록 한다.

    운영설정

    RTE 설정, 거래제한, SLA 설정, 로깅설정, 잡/스케줄러 설정관리를 한다.

    모니터링

    실시간 성능 모니터링과 일별 통계를 지원하며 사용자관리와 자원에 대한 권한관리를 제공한다.

  • 데이터 통합 서버(DIS, Data Integration Server)

    데이터 통합 서버로 스튜디오에서 정의된 자원과 Admin에서 정의된 구성 및 설정 정보를 Repository에 저장하고 관리해 준다. 자원과 설정 정보는 RTE에 필요한 형태로 가공한 후 배포되며, 모니터링을 위해 RTE 성능 정보를 실시간으로 쿼리하거나 DB에 저장된 트랜잭션 정보의 통계를 계산한다. DIS는 JEUS DAS(Domain Administration Server)를 통해 JEUS 도메인 구성정보, 데이터소스 등의 정보를 쿼리하여 AnyLink 구성을 용이하게 한다.