서비스 컴포지터빌리티 원칙

Service composability principle

컴퓨팅에서 서비스 컴포지터빌리티는 서비스 지향 설계 패러다임 내에서 적용되는 설계 원칙이며, 서비스 구성 자체가 구성된 여러 솔루션에서 재사용할 수 있는 서비스 설계를 장려합니다.서비스를 재구성하는 기능은 서비스 구성의 크기 [1]및 복잡성과는 무관한 것이 이상적입니다.

이 원칙은 기존 [2]서비스를 재사용하여 새로운 솔루션을 구성하도록 촉진하기 때문에 SOA가 약속하는 민첩성에 직접적인 책임이 있습니다.

목적

독립적으로 존재하는 컴포넌트에서 소프트웨어를 개발하는 개념은 구성 개념을 장려합니다.이는 객체 지향의 기본 개념입니다.최종 제품은 솔루션이 아무리 복잡해도 여러 소프트웨어 솔루션의 일부가 될 수 있는 여러 개의 상호 연결된 개체로 구성됩니다.서비스 지향에서는 동일한 구성 개념이 계승되어 여러 서비스를 결합함으로써 비즈니스 프로세스가 자동화됩니다.그러나 서비스 지향적 측면에서는 SOA가 약속하는 민첩성을 제공하기 위해 여러 솔루션 내에서 구성 및 재구성할 수 있는 서비스 구축에 더욱 중점을 두고 있습니다.이 때문에, 복수의 솔루션에 효과적으로 집약할 수 있는 서비스를 개발하려면 , 몇개의 가이드 라인이 필요합니다.

서비스 컴포지터빌리티 원칙은 서비스 재사용을 최대한 장려하기 위해 컴포지터블 서비스를 설계하는 데 도움이 되는 설계 고려사항을 제공합니다.이 원칙에서 정한 지침은 추가 설계 변경 없이 서비스 구성에 참여할 수 있도록 서비스를 준비합니다.

어플

서비스 컴포지터빌리티 원칙의 적용은 서비스 구성에 다른 서비스(컨트롤러 서비스 등)를 제어하는 서비스 또는 구성 내의 다른 서비스에 기능을 제공하는 서비스(구성 등)로서 사용할 수 있도록 서비스를 설계할 것을 요구한다.n [2]멤버

서비스가 이 이중 기능을 제공하려면 서비스 계약이[3] 다양한 수준의 입력 및 출력 데이터를 기반으로 기능을 제공하도록 설계되어야 합니다.구성원으로 참여해야 하는 경우, 일반적으로 구성 컨트롤러로 참여해야 하는 상황에 비해 서비스에 대한 입력 매개변수가 더 세분화됩니다.자주 재사용되는 서비스는 여러 서비스 구성 내에서 구성될 때 최적의 성능을 제공할 수 있도록 가능한 한 스테이트리스(서비스 스테이트리스 원칙)여야 합니다.
이 원칙의 효과는 나머지 설계 원칙의 적용 정도에 따라 달라진다.표준화된 서비스 계약 원칙을 적용하면 다른 서비스와의 상호 운용성이 향상되고 런타임 데이터 모델 [4]변환을 수행할 필요가 없어짐으로써 구성 설계를 단순하게 유지할 수 있습니다.용역을 느슨하게 결합하는 원칙을 적용함으로써, 용역은 구성 내의 다른 용역과 어떠한 형태의 마이너스[5] 결합도 만들지 않을 것이라는 확신을 가지고 재합성될 수 있다.서비스 자율성 및 서비스 스테이트리스 원칙을 적용하면 서비스의 신뢰성과 가용성이 향상되어 여러 서비스 구성에서 보다 확실하게 재사용할 수 있습니다.

고려 사항.

서비스가 효율적인 서비스 컨트롤러와 서비스 멤버가 되려면 기반이 되는 기술 아키텍처가 확장성이 뛰어나고 서비스에 필요한 상태 비저장 상태를 지원할 수 있는 런타임 환경을 제공해야 합니다.마찬가지로 서비스 구성의 크기가 커짐에 따라 서비스의 런타임 상호작용과 관련된 컨텍스트 데이터의 저장 및 검색은 서비스 구성을 보다 효율적으로 하기 위해 이 컨텍스트 데이터를 관리하는 서비스가 아닌 런타임 환경에 위임되어야 할 수 있습니다.

점점 더 많은 서비스 구성이 구축됨에 따라 재사용률이 높은 서비스에 의존하게 되는 경향이 있습니다.이를 위해서는 서비스 구성 설계 시 세심한 분석이 필요하며 중요한 기능을 위해 대체 스탠바이 서비스를 고려해야 합니다.한편, 현재는 복수의 서비스 구성의 일부가 되고 있는 서비스를 진화시키는 것은 어려워질 수 있습니다.이는 하나의 [6]용역에 대해 여러 개의 동시 계약을 유지하는 것을 옹호하는 동시 계약 설계 패턴을 적용함으로써 해결할 수 있다.이렇게 하면 하위 호환성을 제공하면서 서비스를 발전시킬 수 있습니다.

서비스의 컴포넌트 가능성을 결정하는 요인에는 다음과 같은 [7]것이 있습니다.

  • 비즈니스 프로세스 내에서 다양한 수준의 기능을 제공할 수 있습니다.
  • 메시지 교환 패턴
  • 서비스가 트랜잭션 및 롤백/보정 기능을 지원하는지 여부.
  • 예외 처리 지원.
  • 서비스 기능 및 동작에 관한 메타데이터의 가용성.

레퍼런스

  1. ^ "Service Composition". Archived from the original on 2010-03-11. Retrieved 2010-03-04.
  2. ^ a b 마이클 폴린서비스 지향 원칙의 진화: 서비스 상태 비저장, 파트 7 [온라인]접속일 : 2010년 4월 21일
  3. ^ "Service Contract". Archived from the original on 2012-05-01. Retrieved 2010-03-04.
  4. ^ IBM Red Books Power Systems와 SOA Synergy[온라인]를 소개합니다.접속일 : 2010년 4월 21일
  5. ^ 결합형
  6. ^ "SOA Patterns". SOA Patterns.
  7. ^ 레디 등SOA로의 이행과 관련하여 레거시 자산 평가[온라인]페이지 58.접속일: 2010년 4월 21일