2010-02-27 2 views
2

프레젠테이션, 비즈니스, 데이터 액세스와 같은 레이어가있는 n- 티어 앱의 일반적인 특성을 고려하십시오. 이게 정상적으로 은 서비스 지향 아키텍처 (SOA)를 만들기 위해을 재구성 한 것입니까?서비스 계층 아키텍처 (SOA)에 N 계층 응용 프로그램을 다시 빌드 하시겠습니까?

이 연습에서 경험 한 프로그래머의 고수준 개요를 모색 중입니다.

한 정도까지는 하나의 수직 스택이 아니라 개념적으로 평면화되었습니다. 또는 각각의 미니 n-tier 스택을 캡슐화하는 일련의 수평 모듈로 사용할 수 있습니다. 메시징을 위해 더 많은 프로토콜을 사용합니다.

+0

SOA는 충분히 냉담하지 않았습니다. – Woot4Moo

+0

Woot4Moo가 암시하는 바는 ** SaaS ** (라이센스 모델)와 ** SOA ** (소프트웨어 아키텍처의 일종)가 혼동 스럽다는 것입니다. – molf

+0

@molf 실제로 내 친구,하지만 나는 또한 사람들이 SaaS를 SOA 대체품으로 사용한다고 들었다. – Woot4Moo

답변

4

SOA하고 있습니다 n 계층 다소 다른 개념. n-tier는 일반적으로 독립형 응용 프로그램을 작성하는 응용 프로그램 아키텍처 (다른 응용 프로그램에 대해 정의 된 인터페이스가있을 수 있음)에 관한 것입니다.

SOA는이 단계에서 한 걸음 뒤로 물러나고 중복을 줄이기 위해 엔터프라이즈 전반에 걸쳐 필요한 비즈니스 서비스 범위와 제공해야 할 위치를 살펴 봅니다. 이것들은 기존의 n-tier 응용 프로그램의 요소를 기반으로하거나 재사용 할 수 있습니다. 예를 들어 주문을 생성 할 수있는 기존 애플리케이션 (예 : 영업 팀에 의한 인트라넷 클라이언트 기반 애플리케이션, 웹 사이트에서의 온라인 애플리케이션 등)이있을 수 있습니다. 그러면 해당 시점에서 데이터를 동기화하거나 집계해야합니다. 대신 여러 가지 프런트 엔드 응용 프로그램에서 재사용 할 수있는 '장소 주문'서비스를 만들 수 있습니다.

이러한 초기 서비스는 재사용 가능한 인터페이스를 제공하기 위해 비즈니스 서비스에 래핑 된 기존 응용 프로그램 내의 기능을 기반으로 존재할 수 있습니다.

다음과 같이 다양한 서비스를 서로 다른 방식 (오케스트레이션)으로 연결하여 복합 서비스를 제공 할 수 있습니다. place_order 다음에는 재고 수준이 일정 수준 이하인 경우 창고를 보충하기위한 공급 업체 회사 서비스에 대한 선택적 호출이 이어지고 청구서 작성을 위해 청구 서비스를 추가로 호출합니다.

+0

좋은 설명. 개념은 상호 배타적이지 않기 때문에 연결하는 서비스를 가질 수 있습니다. –

+0

좋은 지적 : SOA를 형성하기 위해 기존의 n 계층 응용 프로그램을 다시 통합하는 방법과 같은 원래의 질문에 더 잘 답변 할 수있는 개정판을 검토하고 있습니다. 따라서 이러한 주석을 추가하고 통합 할 것입니다. –

1

제 생각에는 SOA 접근법은 시스템이 서로 이야기 할 수있게하는 것입니다 (계층간에 데이터를 전송하는 것과 반대 됨). 기존 레이어의 일부만으로 구성되고 기존 서비스에 의존하는 앱을 개발할 수있는 대안을 제공합니다.

SOA의 S는 비즈니스 서비스 (비즈니스 수준의 서비스)가 아니라 웹 서비스 (기술 수준의 서비스)를 의미한다고 생각합니다.

그런 점에서 나는 앱이 SOA로 '재구성'된 것이라고 생각하지 않는다. 그런 일이 일어날 것이라고 확신하지만, 더 높은 수준에서 추진되어야합니다. 내 생각에 혜택을 평가하고 비즈니스 사례를 수행 한 후에야 그것을 할 수 있습니다.

어떤 종류의 개요가 있습니까? 또는 다른 것?

높은 수준의 개요 : 데이터 및 제공 (또는 제공 할) 서비스를 이해하는 누군가가 그들을 개척하는 방법을 알아낼 수 - 간단하게하기 위해 이동 : http://www.objectwatch.com/whitepapers/ITComplexityWhitePaper.pdf