문제

나는 내 고객을 위해 SOA의 토대를 마련하는 임무를 받았습니다. 목표는 최종 클라이언트 독립적 인 방식으로 다양한 프로세스를 개설하고 방문 고객을위한 대표를위한 오프라인을 이용할 수 있도록하는 것입니다.

나는 J2EE (WebSphere)와 웹 서비스에 대한 광범위한 경험을 가지고 있지만 그러한 SOA를 구축하는 방법에 대한 조언에 감사드립니다.

함정은 어디에 있습니까? 보안은 어떻습니까? 서비스는 얼마나 세밀하게 과립해야합니까? 등.

튜토리얼 및 도서 권장 사항에 대한 링크도 유용합니다.

감사!

도움이 되었습니까?

해결책

함정

  • 버전화/거꾸로 호환성 : 클라이언트가 많이 있으면 계약을 변경하기가 정말 어려워집니다. URL에 버전을 소개하여 많은 사이트 버전을 API를 보았습니다.

세분성

  • 각 서비스는 합리적으로 자 급식이어야합니다 (사람들이 필요한 것을 얻기 전에 3 번의 전화를 할 것을 기대하지 마십시오).

플랫폼 독립성

  • API (WS, JSON, REST ...)에 액세스하는 방법을 여러 개 이상 제공하십시오.

다른 팁

사람들은 SOA가 실제로 의미하는 바에 동의 할 수 없습니다.

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

(컨센서스가 쓰여진 이후로 성장했을 수도 있지만)

나는 고객이 의미하는 바를 정확히 알아 내기 위해 고객을 퀴즈로 제안하는 것이 좋습니다. 그런 다음 그들에게 무언가를주세요 실제로 비즈니스 가치를 제공합니다, 그 노력과 일치 할 수있는 SOA 상자를 똑딱 거리는 동안.

저를 소아를 부르라고 부릅니다. 파울러의 애도는 여전히 옳은 것 같습니다.

더 일반적인 문제에 중점을 둘 것입니다. 고객에게는 협력 해야하는 2 개 이상의 응용 프로그램이 있습니다. 구식 통합 패턴을보십시오.

EIP image
(원천: Amazon.com)

이 IBM Redbook을 찾았습니다 (#sg246303) SOA의 기본 사항에 대한 좋은 소개입니다.

Alan이 말했듯이, 나는 그것을 읽기 시작할 것입니다 엔터프라이즈 통합 패턴 책. JMS와 같은 메시징 시스템을 사용하거나 다음과 같은 오픈 소스 프로젝트를 사용하는 방법에는 여러 가지가 있습니다. 아파치 낙타, 예를 들어 참조하십시오 패턴 카탈로그.

또한 Jax-Rs를 사용하여 좋은 편안한 서비스를 구축하는 방법을 이해하고 있습니다. 저지 SOAP/WS-* Deathstar에 빠지지 않고 모든 언어/플랫폼에서 웹에있는 사람에게 시스템에 대한 자원을 노출시키는 간단한 방법으로 :)

ESB (Enterprise Service Bus)를 받으십시오 : Mulesource는 좋은 선택입니다 (OpenSource, 성숙하지만 출혈 가장자리). 당신이 그것을 이해하면, 당신은 SOA를 이해할 것입니다.

목표는 최종 클라이언트 독립적 인 방식으로 다양한 프로세스를 개설하고 방문 고객을위한 대표를위한 오프라인을 이용할 수 있도록하는 것입니다.

그 후반부는 실제로 SOA 주제가 아니라 모바일 장치 문제에 대한 복제에 더 가깝습니다. 나는 유행어를 구현하고 당신이 진술하는 문제에 집중하는 것에서 멀리 떨어져있을 것입니다. 웹 서비스는 클라이언트 독립 방식으로 프로세스를 열 수있는 좋은 방법입니다.

지금까지 내가 찾은 최고의 책은입니다 SOA 나침반 또한 사용할 수 있습니다 아마존

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