SOA란 무엇입니까? 서비스 지향 Archi강의원리

SOA(서비스 지향)이란 무엇입니까? Archi강의)?

서비스 지향 Archi강의 (SOA) 컴퓨터 소프트웨어 설계의 아키텍처 패턴으로, 애플리케이션 구성 요소가 통신 프로토콜을 통해 다른 구성 요소에 서비스를 제공하는데, 일반적으로 네트워크를 통해 이루어집니다. 서비스 지향 원칙은 제품, 공급업체 또는 기술과 무관합니다.

SOA를 사용하면 다양한 네트워크를 통해 소프트웨어 구성 요소가 서로 더 쉽게 작동할 수 있습니다.

SOA 아키텍처에 따라 구축된 웹 서비스는 웹 서비스를 보다 독립적으로 만드는 경향이 있습니다. 웹 서비스 자체는 서로 데이터를 교환할 수 있으며, 만들어진 기본 원칙 때문에 어떤 종류의 인간 상호 작용도 필요하지 않으며 코드 수정도 필요하지 않습니다. 이는 네트워크의 웹 서비스가 서로 원활하게 상호 작용할 수 있도록 보장합니다.

서비스 지향 Archi강의(SOA) 원리

아래에 언급된 9가지 유형의 SOA 설계 원칙이 있습니다.

1. 표준화된 서비스 계약

서비스는 서비스 설명을 준수합니다. 서비스에는 서비스의 내용을 설명하는 일종의 설명이 있어야 합니다. 이렇게 하면 클라이언트 애플리케이션이 서비스의 기능을 더 쉽게 이해할 수 있습니다.

2. 느슨한 결합

Less 서로에 대한 종속성. 이것은 웹 서비스와 웹 서비스를 호출하는 클라이언트 사이에 가능한 한 종속성이 적어야 한다는 것을 명시하는 웹 서비스의 주요 특징 중 하나입니다. 따라서 서비스 기능이 어느 시점에서든 변경되더라도 클라이언트 애플리케이션이 중단되거나 작동이 중단되어서는 안 됩니다.

3. 서비스 추상화

서비스는 자신이 캡슐화한 논리를 외부 세계로부터 숨깁니다. 서비스는 해당 기능을 실행하는 방법을 노출해서는 안 됩니다. 클라이언트 애플리케이션에 수행 방법이 아닌 수행 내용만 알려주어야 합니다.

4. 서비스 재사용성

재사용을 극대화하기 위해 로직을 서비스로 분할합니다. 모든 개발 회사에서 재사용성은 큰 주제입니다. 왜냐하면 동일한 코드를 필요로 하는 여러 애플리케이션에서 동일한 코드를 반복해서 작성하는 데 시간과 노력을 낭비하고 싶지 않기 때문입니다. 따라서 웹 서비스용 코드가 작성되면 다양한 애플리케이션 유형과 함께 작동할 수 있어야 합니다.

5. 서비스 자율성

서비스는 캡슐화하는 논리를 제어할 수 있어야 합니다. 서비스는 자신이 제공하는 기능에 대한 모든 것을 알고 있으므로 포함된 코드를 완벽하게 제어할 수도 있어야 합니다.

6. 서비스 무국적

이상적으로 서비스는 상태 비저장이어야 합니다. 이는 서비스가 한 주에서 다른 주로 정보를 전달하는 것을 보류해서는 안 된다는 것을 의미합니다. 이 작업은 클라이언트 응용 프로그램 중 하나에서 수행되어야 합니다. 예를 들어 쇼핑 사이트에서 이루어진 주문을 들 수 있습니다. 이제 특정 품목의 가격을 알려주는 웹 서비스를 가질 수 있습니다. 하지만 장바구니에 상품을 담고 결제 페이지로 이동하는 경우, 결제 페이지로 옮겨지는 상품 가격에 대한 책임을 웹 서비스가 져서는 안 됩니다. 대신 웹 애플리케이션에서 수행해야 합니다.

7. 서비스 검색 가능성

서비스는 검색될 수 있습니다(일반적으로 서비스 레지스트리에서). 우리는 웹 서비스에 대한 정보를 보유할 수 있는 레지스트리를 수행하는 UDDI의 개념에서 이를 이미 살펴보았습니다.

8. 서비스 구성성

서비스는 큰 문제를 작은 문제로 분해합니다. 애플리케이션의 모든 기능을 하나의 단일 서비스에 포함해서는 안 되며, 대신 서비스를 별도의 비즈니스 기능이 있는 모듈로 나누어야 합니다.

9. 서비스 상호 운용성

서비스는 다양한 가입자가 서비스를 이용할 수 있도록 하는 표준을 사용해야 합니다. 웹 서비스에서는 다음과 같은 표준을 사용합니다. XML HTTP를 통한 통신은 이 원칙을 준수하는지 확인하는 데 사용됩니다.