2011-02-05 4 views
0

문제는 동일한 데이터를 여러 번 입력해야하는 조직의 기존 응용 프로그램에서 데이터 명명 변환이 응용 프로그램간에 일관성이 없습니다.많은 웹 서비스를 사용하는 디자인 웹 응용 프로그램

현재 기존 응용 프로그램에 이미 배포 된 WCF 및 asmx 웹 서비스가 많이 있습니다. 그러나 저는 그러한 서비스에 대한 통제력이 없으며 다른 나라의 주인이기도합니다. 기존 신청서에 대해 약간의 수정을 요청할 수 있습니다 (예 : 채석장 문자열을 사용하여 새 신청서에 연결).

반복적 인 데이터 입력 과정을 극복하기 위해서는 해결책을 찾아야합니다. 현재 내 마음에 웹 응용 프로그램을 만들고 필요한 모든 서비스에 대한 참조로 비즈니스 로직 계층을 유지하는 것이 무엇입니까? 은 새 응용 프로그램을 연결하기 위해 기존 응용 프로그램에 대한 일부 수정 작업을 요청해야하며 필요한 응용 프로그램을 연결하고 별도의 응용 프로그램간에 연결합니다.

다음과 같은 몇 가지 질문은 현재 하나 개의 서비스 하지 프로세스 나 프로세스를 롤백 할 수있는 방법 의 중간에 응답하는 경우,

  1. 이 작업이 필요한 많은 서비스가있을 수 있습니다하려면 직면하고있다? 모든 이후
  2. 이 서비스는 간단한 작업을 수행하는 데 시간이 더 걸릴 수 있습니다 호출하지만 한 응용 프로그램에 많은 서비스를 처리하는 동안 내가 어떻게 나는 성능을 향상시킬 수있는 응용 프로그램의 성능을 향상해야합니까?
+1

와우! 그러한 명확한 요구 사항. 그 외에 응용 프로그램을 디자인하는 데 필요한 또 다른 기능 !! – Mayank

+0

완전한 응답을 위해 여러 소스를 사용하고 있다면 비즈니스 로직을 인터페이스와 분리하지 않는 것처럼 들리 죠. 아키텍처를 기존의 3-tier 시스템으로 개조하거나 리팩토링/재개발이 옵션이 아니면 모든 실행을 수행하는 중간 계층 (준비 플랫폼)을 개발하는 것이 좋습니다. –

+1

그는 자신의 통제하에 있지 않은 서비스를 호출하려고하는 것처럼 들리는데, 예를 들어 그의 응용 프로그램은 사람들이 자신의 상태를 업데이트 할 수있게합니다. 그러면 페이스 북, 트위터, 내 [_____] 등을 업데이트합니다.따라서 서비스는 그의 것이 아니지만 그는 모두에게 전화하기를 원합니다. 정상을 유지하려면 신뢰할 수없는 것으로 들립니다. – Prescott

답변

3

아키텍처 및 통합 옵션에 따라 BizTalk와 같은 도구가 해당 시나리오에 적합 할 수 있습니다. http://www.microsoft.com/biztalk/en/us/default.aspx을 참조하십시오.

편집 :

  1. 로컬 데이터베이스에 결과를 저장하는 경우, 당신은 서비스 호출 중 하나가 실패하는 경우 데이터베이스 롤백을 할 수 있어야한다 : 귀하의 추가 질문에 대한 수정에 따라. 서비스 호출이 오랜 지속 시간에 걸쳐 단일 세션의 컨텍스트에서 발생할 수 없도록하는 경우 데이터 모델에 정렬 대기 영역을 만들 수 있습니다. 대기 영역은 다양한 서비스 호출의 모든 결과를 보유 할 수 있습니다. 모두 성공하면 보유 영역을 영구 저장소로 이전 할 수 있습니다. 모두 실패하면 보유 영역 데이터를 롤백 할 수 있습니다.

  2. 이 유형의 시나리오에서 사용자 응답 속도를 향상시키는 한 가지 방법은 비동기식으로 웹 서비스를 호출하는 것입니다. 모든 서비스 호출이 완료되지 않은 경우에도 사용자의 브라우저 페이지가 응답을 받기 때문에 페이지 재 설계가 필요할 수 있습니다. 하지만 서비스를 제어 할 권한이없는 사용자 응답 성을 향상시킬 수있는 유일한 방법 일 수 있습니다.

+0

좋은 점은 Shan입니다. 그러나 지금 Biztalk에 갈 수 없어 ASP.net에서 방법을 찾으십시오. – Damith

+0

귀하의 답변에 따라, 만약 내가 로그와 로컬 데이터베이스를 유지하면 트랜잭션을 다시 완료하는 데 도움이 될 수도 있고 또한 AJAX는 성능과 사용자 상호 작용을 개선하는 데 사용할 수있는 한 기술입니다. 안 그래? – Damith

+0

예, 로그가있는 로컬 데이터베이스 (방금 저장 영역이라고 함). 서비스 결과를 저장할 수 있습니다. 그것은 당신의 솔루션을 설계하는 튼튼한 방법 일 것입니다. 그 노력은 요구 사항에 따라 크게 달라질 수 있습니다. 즉, 서비스가 실패하면 5 분 또는 1 시간 내에 서비스에 전화를 시도 할 것입니까? AJAX는 확실히 사용자 응답 시간을 향상시킬 수있는 한 가지 방법입니다. 표준 ASPX 비동기 웹 페이지. 어느 쪽이든, 비동기 적으로 진행하는 것은인지 된 반응을 향상시키는 방법입니다. –

관련 문제