이 Wikipedia entry은 꽤 분명하다고 생각합니까?
간단한 예를 들어 보겠습니다. 책을 체크 인 및 체크 아웃 할 수있는 도서관 응용 프로그램이 있다고 가정 해보십시오.
"전통적인"비 SOA 방식으로 n 계층 시스템에 접근하는 경우 MyService이라는 서비스가 있는데 여기에는 CheckOutBook
과 같은 메서드가 있습니다. 이것은 사라지고 내부적으로 서적 클래스와 사람 클래스를 가지며 수행 할 코드는 Book.IsAvailable = False
과 Person.NumberOfBooks
입니다.
괜찮 았지만 이제는 People과 함께 작업하려는 다른 응용 프로그램이 있다고 가정 해보십시오. 논리가 사용자가 수행하는 작업, 즉 라이브러리 트랜잭션과 밀접하게 결합되어 있기 때문에 위의 서비스를 사용할 수 없습니다. 대신 코드를 새로운 서비스 "BookShop"에 복사/붙여 넣기해야합니다.
SOA의 경우 서적 서비스 및 사람 서비스가 있습니다. Person 서비스는 최소한과 같이 최소한을하기에 충분히 간단하기 때문에 Library와 BookShop 모두 변경할 필요없이 사용할 수 있습니다. 그런 다음 필요한 서비스를 호출하여 필요한 업무를 수행합니다. 이는 다양한 서비스를 수정할 필요없이 재사용 할 수 있음을 의미합니다.
이것은 매우 단순하지만 잘하면 건축상의 차이점을 보여주고 갈 수 있습니까?
WCF는 SOA와 다양한 WS- * 사양을 구현했습니다. 이 서비스는 비즈니스 로직을 캡슐화하므로 비즈니스 계층과 선택적으로 DAL을 갖습니다. 이 서비스는 UI 또는 다른 서비스에 의해 소비 될 수 있습니다. – aquaraga
예, 서비스 A는 서비스 B를 사용할 수 있으며 반대의 경우도 가능합니다. 디자인은 매우 의심 스럽지만. – aquaraga
Wikipedia 항목은 꽤 분명하다고 생각합니까? http://en.wikipedia.org/wiki/Service-oriented_architecture – Belogix