2009-12-31 4 views
2

누군가 다른 문제를 처리하는 응용 프로그램에서 웹 서비스를 구현하는 모범 사례에 대해 좋은 설명서 나 피드백을 보내주십시오. 예를 들어, 보안, (AuthService), 고객 서비스 담당자 (CRUDService), BillingService 등의 데이터 입력을 처리하는 서비스를 만들거나이 모든 "서비스"를 하나로 캡슐화해야하는 다른 서비스를 만들어야합니다. 예 ApplicationService? 기본적으로 한 응용 프로그램 내에 여러 서비스 (파일)를 작성하는 것이 나쁜 설계인지 묻는 것입니다. 당신 중 일부는 당신의 경험이나 경험 한 것을 메모 할 수 있습니까? 또한 위에 나열된 서비스 중 3 개가 동일한 데이터베이스에 연결되지만 실제로는 완전히 다른 우려 사항에 부딪 히고 있다고 가정 해 보겠습니다. 하나는 CRUD와 같은 모든 트랜잭션을위한 것이고 다른 하나는 순수한보고 목적을위한 것입니다. 여기에 두 개의 서비스 (하나는 CRUDService이고 다른 하나는 ReportingService 용)를 작성해야합니까? 이 두 가지 서비스를 통해 서로 다른 두 개의 데이터베이스 연결을 만드는 것이 좋지 않습니까? 아니면 어떻게 다른 서비스와 동일한 데이터베이스 연결을 공유 할 수 있습니까?웹 서비스 아키텍처 - 다중 서비스 및 다중 데이터베이스 연결?

답변

1

공개적으로 사용할 수있는 서비스 중에서 모든 것을 하나의 서비스에 버리는 경향이 있다고 생각합니다. 공개적으로 사용할 수있는 API는 좋지 않을 수 있습니다. 개발자가 쉽게 사용할 수 있습니다. 그러나, 내가 작업하는 모든 프로젝트에 대해 논리적 그룹으로 분류하려고합니다. 이렇게하면 클라이언트가 필요하지 않은 기능을 상속받을 필요가 없습니다. 서비스 업데이트는 웹 서비스 프레임 워크의 특정 하위 집합에만 영향을 미치기 때문에 약간 더 쉬운 작업이 될 수 있습니다. 따라서 서비스 계약이 중단되어 고객이 더 이상 지원하지 않으면 시스템의 다른 부분은 사용할 수 있지만 특정 부분은 사용할 수 없습니다. 집계 된 서비스에서 계약을 파기 한 것처럼 모든 것이 실패합니다. 마지막으로, 장애 조치 지원과 같은 것을 구현해야하는 경우 더 많은 장애 조치 노드를 필요로하는 서비스를 선택할 수있는 유연성이 높아 지므로 리소스 할당을보다 잘 관리 할 수 ​​있습니다.