2010-01-05 4 views
1

웹 앱을 개발 중입니다. 이것은 웹 사이트 라기보다는 LOB (line-of-business) 응용 프로그램입니다. ASP.NET MVC, SQL Server 2008을 사용하고 있으며 LLBLGen을 구입했습니다. 제 3 자에게 API를 제공해야합니다. 예를 들어 이것이 의료용 앱인 경우 제 3자가 CRUD 환자를 찾고 복잡한 보고서를 검색하고 특정 워크 플로를 수행해야 할 수 있습니다.ASP.NET MVC 및 제 3 자 API 제공

우주 비행사에게 가지 않고 MVC로 수행하는 가장 좋은 방법은 무엇입니까? 노선. 전체 "웹 서비스"유형 레이어가 필요합니까? 아니면 MVC에서 컨트롤러를 다시 사용할 수 있습니까? MVC를 통해 이러한 종류의 API를 노출시키는 것이 이치에 맞습니까? 최적으로, 최소한의 코드 반복을 포함하는 솔루션이 필요합니다. MVC와 함께 REST를 할 때 어떤 것들을 발견했지만, 그 중 일부는 모호하고 이해가되는지 확신 할 수 없습니다. 합리적인 API가 필요하지만 REST 종교 또는 그와 유사한 모든 교리를 따를 필요는 없습니다. 난 단지 HTML 프론트 엔드를 사이트에 제공하는 것 외에 어떤 종류의 API가 필요하다. REST, SOAP, 뭐든간에.

또한 URL을 처리하기위한 몇 가지 옵션은 무엇입니까? 앱의 모든 것이 site/products/product-id와 같은 것으로 매핑되는 것은 아닙니다. 그 중 일부는 복잡한 워크 플로 참여 등을 포함합니다.

답변

0

웹 사이트와 웹 서비스가있는 경우 데이터 액세스와 엔티티 레이어를 MVC에서 분리하는 것이 좋습니다.

그런 식으로 웹 서비스는 웹 사이트에서 할 수있는 것과 동일한 작업을 수행 할 수 있습니다. 나는 그들이 상호 작용하는 서비스 계층을 가질 것이다. 그런 다음 호출이 데이터베이스로 이동하여 객체를 반환하면 웹 서비스 나 웹 사이트 모두이 계층과 상호 작용할 수 없어야합니다.

이 개념을 Separation of Concerns이라고도합니다.

웹 서비스에서 MVC 컨트롤러를 다시 사용할 수 없습니다. 너무 유사하여 구분할 수없는 경우 동일한 솔루션에 속하기보다는 웹 서비스를 클라이언트로 작성하는 것이 좋습니다.

관련 문제