이전 항목: CA Application Performance Management for SOA 정보다음 항목: SOA 인프라의 일반적인 구성 요소


서비스 지향 아키텍처란?

SOA(서비스 지향 아키텍처)는 느슨하게 결합된 서비스를 통해 비즈니스 목표를 달성할 수 있도록 표준화된 통신 프로토콜을 사용하는 응용 프로그램 플랫폼입니다.

SOA를 사용하면 비즈니스의 민첩성과 유연성을 높이고, 고객 서비스와 효율성을 개선하며, 개발 비용을 절감할 수 있다는 장점이 있습니다. 그러나 복잡한 SOA 환경의 모니터링 및 관리는 기존의 클라이언트-서버 환경보다 훨씬 어려울 수 있습니다.

기존의 클라이언트-서버 환경에서는 클라이언트와 제한된 개수의 서버 사이에 직접 통신이 사용됩니다. 문제가 발생하면 개별 비즈니스 트랜잭션에 관련된 시스템이 몇 개뿐이므로 오류의 원인을 찾기가 대체로 쉽습니다. 트랜잭션에 직접 관련된 특정 시스템을 검사하여 문제의 원인을 격리할 수 있습니다.

그러나 웹 응용 프로그램 서버가 여러 클라이언트 서버 시스템 간에 응용 프로그램에 대한 액세스를 배포하는 중심 역할을 하는 경우에는 문제의 원인을 식별하기가 더 어렵습니다. 성능 저하, 오류 또는 작업 실패는 웹 서버가 연결된 인프라에 속한 사실상 모든 구성 요소 또는 컴퓨터로 인해 발생할 수 있습니다.

서비스 지향 아키텍처를 사용하면 응용 프로그램 성능과 가용성의 모니터링이 좀 더 복잡해집니다. SOA의 경우 느슨하게 연결된 서비스는 표준화된 통신을 사용하여 서로 다른 플랫폼에서 실행되는 응용 프로그램을 통합하고 확장합니다. 이러한 서비스는 비즈니스 논리를 기본 운영 체제나 플랫폼과 분리하므로 조직에서는 민첩성을 높이고 시장이나 제품의 변화에 보다 빠르게 대처할 수 있습니다. 각 서비스가 복잡한 또는 여러 단계로 이루어진 비즈니스 프로세스의 특정 부분을 처리하도록 설계할 수 있어 이기종 환경에서 종속성 체인을 만들 수 있습니다.

서비스 지향 아키텍처를 사용하면 조직에서 서비스를 다시 사용하거나, 수정하거나, 독립된 구성 요소로서 대체할 수 있으므로 응용 프로그램을 보다 빠르고 비용 효율적인 방법으로 개발 및 배포할 수 있습니다. 그러나 이와 같이 효율적인 모듈 방식 응용 프로그램 아키텍처도 응용 프로그램 관리 측면에서는 문제점을 가지고 있습니다.