문제

서비스 지향 아키텍처(Service Oriented Architecture)는 요즘 점점 더 뜨거운 명언이 되고 있는 것 같지만, 사무실에 물어본 결과 서비스 지향 아키텍처에 대한 정의가 다양하다는 것을 알게 되었습니다.SOA를 어떻게 정의하시겠습니까?공식적인 정의는 무엇이라고 생각하시나요?

도움이 되었습니까?

해결책

마틴 파울러(Martin Fowler)가 말했듯이, 이는 사람마다 다른 의미를 갖습니다.주제에 대한 그의 기사는 꽤 훌륭하지만 정의는 아닙니다.

http://martinfowler.com/bliki/ServiceOrientedAmbiguity.html

구체적인 정의를 내리기 어려운 이유가 설명될 수 있습니다.

다른 팁

위키피디아:"SOA는 느슨하게 결합된 소프트웨어 서비스를 사용하여 비즈니스 프로세스와 소프트웨어 사용자의 요구 사항을 지원하는 소프트웨어 아키텍처입니다.SOA 환경의 네트워크 리소스는 기본 플랫폼 구현에 대한 지식 없이도 액세스할 수 있는 독립적인 서비스로 제공됩니다."

SOA는 그다지 새로운 것은 아니지만 몇 가지 놀라운 성과를 낼 수 있는 잠재력을 갖고 있습니다.하지만 조직은 이에 대비해야 합니다.비즈니스는 프로세스를 생각해야 하며 그게 큰 문제입니다.

나는 다음과 같이 갈 것이다:

일련의 무국적, 클라이언트의 비즈니스 비즈니스 운영을 정의하여 여러 응용 프로그램에서 활용되도록 만들어졌습니다.

SOA 설계에는 구성요소(예: 서비스) 구현(예: OS 또는 언어)에 관계없이 코드에서 사용할 수 있습니다.서비스의 단일 인스턴스는 여러 애플리케이션에서 사용될 수도 있지만, 예를 들어 DLL은 각 앱마다 복제되어야 하며 연결 ​​애플리케이션과 동일한 구현 기술이 필요합니다.

SOA 디자인의 서비스는 일반적으로 상호 운용 가능한 웹 서비스로 구현됩니다.

Ryan이 이전에 언급한 것처럼 공식적인 정의는 없습니다.그러나 나는 전체 서비스 지향에 대한 Thomas Erl의 견해가 매우 잘 구조화되어 있고 관련성이 있다고 생각합니다.그의 SOA 정의는 다음과 같습니다. SOA 용어집 ():

서비스 지향 아키텍처는 조직의 전반적인 IT 부담을 줄이면서 기업의 민첩성과 비용 효율성을 향상시키는 것을 목표로 하는 아키텍처 모델을 나타냅니다.

Thomas Erl은 IBM, Oracle, Microsoft를 포함한 SOA 벤더로부터 대부분의 승인을 받은 많은 SOA 타이틀의 저자입니다.좋은 점은 그의 책들 가능한 한 SOA 공급업체에 독립적이라는 것입니다.이는 서비스 지향 자체에 대해 더 많이 배우고 SOA를 지원하는 일부 공급업체의 미들웨어에 대해서는 덜 배운다는 의미입니다.

나는 이것에 대해 당신에게 파울러를 지적하는 모든 사람들의 의견에 동의합니다.기본적으로 다음과 같이 실행됩니다.서비스 지향 아키텍처는 좋은 것으로 평판을 얻었으므로 사람들이 좋은 것과 관련되기를 원하는 모든 것을 SOA라고 부릅니다.실제로는 많은 단점이 있으며 서비스 지향 교착 상태 또는 종속성 지향 아키텍처를 생성할 수 있습니다.

정의는 다음과 같습니다.서비스 지향 아키텍처는 애플리케이션이 네트워크를 통해 실행 중인 다른 애플리케이션이 제공하는 서비스에 연결하는 데 의존하는 시스템 통합 및 코드 재사용 접근 방식입니다.이는 예를 들어 소프트웨어 구성 요소가 라이브러리나 SDK 형태로 애플리케이션 간에 정적으로 공유되는 구성 요소 아키텍처와 다릅니다.

여기에 대한 설명은 "서비스 지향 아키텍처는 시스템 통합 애플리케이션이 의존하는 코드 재사용 접근 방식 네트워크를 통해 실행 중인 다른 애플리케이션이 제공하는 서비스에 연결."

이벤트 기반 메시징을 사용하여 두 개의 j2ee 애플리케이션이 통합된 시나리오가 있습니다.여기서 위의 문구는 시스템 통합 그리고 네트워크를 통해 실행 중인 다른 애플리케이션이 제공하는 서비스에 연결 잘 잡아.이것을 SOA라고 부를 수 있나요?

다음과 같은 원칙은 여기에서 좋을 것입니다.

그러나 다음은 적용되지 않습니다 1) 플랫폼 독립성 - 통합 된 응용 프로그램 중 어느 것도 다른 플랫폼에서 작동하도록 설계되지 않았습니다.2) 애플리케이션은 모든 Soa 개념으로 설계되지 않은 일반 j2ee 애플리케이션입니다.

나는 SOA를 정의하려고 시도했다. 내 블로그 게시물 중 하나.다음은 발췌입니다 ...

수년 동안 기능을 함수, 클래스 및 모듈로 분리하는 것이 표준 관행이었습니다.이러한 더 작고 고도로 전문화된 구성 요소는 모놀리식 코드 블록보다 공유 및 유지 관리가 더 쉽다는 생각이 항상 있었습니다.

기능적으로 SOA는 크게 다르지 않습니다.목표는 동일합니다. 재사용성과 손쉬운 유지 관리입니다.웹 서비스 SOA의 경우 가장 큰 차이점은 애플리케이션에 포함된 공유 라이브러리가 HTTP 호출로 대체된다는 것입니다.

다음은 귀하를 위한 정의입니다.

SOA - 소프트웨어 과잉 설계."dir /s > a.txt | ftp -s:upload.ftp"가 있는 한 쪽에서 다른 쪽으로 날아다니는 3D 그래픽 폴더가 있는 예쁜 웹 사이트에 아키텍처라고 불리는 무의미하고 과도하게 부풀려진 기능적 인터페이스 프레임워크를 포함합니다. 일을 했어요.

소프트웨어 구성 요소는 벽돌이 아니며 일반적인 기능 패턴으로 일반화될 수 없으며 아키텍처는 좋은 디자인이 아닌 모범 사례에서 기업에서 나타납니다.소프트웨어는 설계된 것이 아니라 엔지니어링된 것입니다.

스크럼 온!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top