아키텍처 개요

IBM® UrbanCode Deploy 아키텍처는 서비스 티어 및 데이터 티어로 구성됩니다.

서비스 티어에는 웹 서버 프론트 엔드 및 핵심 서비스(워크플로우, 에이전트 관리, 배치, 인벤토리, 보안 등)를 제공하는 중앙 서버가 있습니다. 서비스는 비즈니스 로직의 한 부분을 호스팅하기 위한 자체 포함된 메커니즘으로 생각할 수 있습니다. 서비스는 클라이언트, 에이전트 또는 기타 서비스에 의해 이용될 수 있습니다. 배치는 서버에 의해 조정되고 네트워크 전반에 걸쳐 분배되는 에이전트에 의해 실행됩니다. 대부분의 클라이언트는 HTTP(S)를 통해 웹 서버와 통신하기 위해 브라우저를 사용합니다. 대부분의 서버-에이전트 통신은 (아래에서 설명하는) JMS를 사용하여 수행되나 필요에 따라 HTTP(S)가 사용되기도 합니다.

데이터 티어의 관계형 데이터베이스는 구성 및 런타임 데이터를 저장합니다. 데이터 티어의 파일 저장소인 CodeStation에는 로그 파일, 아티팩트 및 기타 비구조적인 데이터 오브젝트가 포함됩니다. 보고 도구는 관계형 데이터베이스에 직접 연결될 수 있습니다.

데이터 티어, 서비스 티어 및 클라이언트를
보여주는 일반적인 시스템의 다이어그램 클라이언트에 대한 정보를 보려면 이 영역을 클릭하십시오. 서비스 티어에 대한 정보를 보려면 이 영역을 클릭하십시오. 에이전트에 대한 정보를 보려면 이 영역을 클릭하십시오. 데이터 티어에 대한 정보를 보려면 이 영역을 클릭하십시오.

IBM UrbanCode Deploy는 서버-에이전트 통신(JMS 기반) 및 클라이언트-웹 서비스 통신에 Stateless 통신을 사용합니다. 여기서 사용되는 Stateless는 서버가 요청 사이에 세션 정보를 거의 보유하지 않으며 각 요청이 처리에 필요한 모든 정보를 포함하는 것을 의미합니다. 서버가 청취 소켓을 설정하고 에이전트, 릴레이 및 사용자(클라이언트)를 청취합니다. 보안을 추가하기 위해 에이전트가 포트에서 청취하지 않습니다. 에이전트가 새 상태로 전이할 준비가 되면 요청을 전송합니다.

서버-에이전트 통신은 컴포넌트 전송 또는 배치를 중심으로 하여 빌드됩니다. 컴포넌트는 비즈니스에 필요한 모든 컨텐츠(환경 정보, 구성 데이터, 소스, 정적 파일 또는 소프트웨어 프로젝트와 연관된 모든 사항)를 포함할 수 있습니다. JMS 연결은 지속적이고 요청-응답 프로토콜을 기반으로 하지 않으므로 IBM UrbanCode Deploy가 포트를 끊임없이 열고 닫지 않습니다. 이러한 지속적 연결로 인해 에이전트가 보안 및 확장성을 유지하는 동시에 서버가 언제든지 에이전트와 통신할 수 있습니다.

많은 IBM UrbanCode Deploy 서비스가 REST(REpresentational State Transfer) 유형입니다. REST 스타일의 서비스는 HTTP를 통해 자원을 전송하는 것에 집중하는 웹 서비스입니다. 자원은 데이터에서 비즈니스에 필요한 한 부분일 수 있습니다. 자원은 XML 또는 JSON(JavaScript Object Notation)과 같이 자체적으로 설명하는 형식으로 전송됩니다. XML 및 JSON 표시는 일반적으로 에이전트/클라이언트 요청 시 자원 상태를 모델링합니다. REST 스타일의 서비스는 서버가 일관성 있는 응답을 작성하는 데 필요한 모든 데이터가 요청에 포함되도록 함으로써 Stateless 상태를 얻습니다.


피드백