SOA(서비스 지향 아키텍처)는 게시되고 검색 가능한 인터페이스를 통해 응용 프로그램이나 다른 서비스에 서비스를 제공하는 소프트웨어를 설계하는 접근 방식입니다. 각 서비스는 느슨하게 결합된(일반적으로 비동기식) 메시지 종속 통신 모델에 의해 비즈니스 기능의 개별 청크를 제공합니다.
다른 복잡한 구조를 포함하여 고품질 소프트웨어 솔루션을 설계하려면 잘 알려진 설계 방법, 구조 설계 및 스타일을 지원하는 초기 아키텍처 결정이 필요합니다. 이러한 패턴은 확장성, 안정성 및 보안과 같은 일반적인 서비스 문제를 해결합니다.
다음과 같은 서비스 지향 아키텍처의 몇 가지 측면이 있습니다 -
아키텍처 및 구현 모델 − IT 전문가가 웹 서비스를 사용하여 애플리케이션을 제공하기 위해 이동함에 따라 일반적으로 아키텍처 모델(SOA)과 실행 모델(웹 서비스)에 대한 최신 정보를 동시에 표시해야 하는 위치에 있습니다.
이것은 애플리케이션 구조 및 동작의 플랫폼 독립적 모델을 해당 모델링된 동작을 구현하는 데 사용되는 방법 및 플랫폼과 혼합하는 것을 신중하게 방지하는 모델 기반 아키텍처 방법의 활용을 고려합니다.
시스템 설계자는 서비스 도메인의 문제를 모델링하기 위해 UML(Unified Modeling Language)에 대한 도메인별 언어 또는 프로필을 사용합니다. 아키텍트가 이 모델에서 플랫폼 및 언어 문제를 유지해야 하는 원칙은 구현과 관련된 보안 문제를 방지하는 데에도 필요합니다.
보안 문제 재검토 − RosettaNet B2B 표준 제품군을 개발한 팀은 대화로만 나눌 수 있는 것과 같은 고민을 하고 이를 해결하기 시작했습니다. 개념은 RosettaNet 팀이 데이터 및 처리 요구 사항을 수집하는 주요 이해 관계자에게 단순화된 옵션 그룹을 제시하는 것이었습니다.
이 비즈니스 아키텍트들은 보안 문제의 기술적 요소에 정통하지 않았지만 보안 수단 없이 보낼 수 있는 데이터와 안전한 방법으로 전달되어야 하는 정보를 대조할 수 있었습니다.
보안 문제의 일반화 − 일반적인 소프트웨어 보안 문제에 대한 텍스트가 있고 특정 보안 실행 및 기술에 대한 텍스트가 더 있습니다. 그러나 보안 연결 기술 실행을 주도하는 기본 의도를 해결할 수 있습니다. 특히, 이해하기 쉽고 특정 기술 실행을 식별하기 위해 액세스할 수 있는 일련의 설명적 기본 의도를 정의할 수 있습니다.
실행의 관점에서 다음과 같은 두 가지 주요 권한 부여 접근 방식이 있습니다. -
-
개별 당사자의 승인 − 각 당사자는 기능에 대한 명시적 액세스 권한 그룹을 할당받을 수 있습니다.
-
역할을 통한 승인 − 각 응용 프로그램에 대해 여러 역할을 생성할 수 있으며 개별 당사자 대신 위에서 정의한 대로 액세스 권한을 해당 역할에 할당합니다. 각 당사자가 인증되면 해당 당사자에게 제공된 자격 증명에는 당사자의 역할이 포함되며, 이는 당사자가 특정 기능에 액세스할 권한이 있는지 여부를 식별합니다.