2016-07-27 4 views
0

웹 API 인터페이스가있는 Windows 서비스가 있습니다. 이 서비스를 사용하여 한 시스템에서 다른 시스템으로 데이터를 업로드합니다.다른 웹 api에서 웹 API 호출

내 문제는 데이터를 업로드해야하는 다른 시스템이 웹 API 서비스이고 다른 웹 API 호출을 만들기 위해 웹 API 호출을 만드는 것이 좋은지 잘 모르겠습니다. 내부. 아마도 Windows 서비스를 사용하지 않고 해당 웹 API 시스템에 직접 데이터를 업로드 할 수 있습니다.

업로드 할 데이터가있는 프로그램이 데이터를 업로드 할 위치를 알 필요가 없기 때문에이 Windows 서비스가 존재합니다. Windows 서비스에서 웹 API를 저장 프로 시저로 변경하여 구성별로 데이터를 업로드 할 수 있습니다. 나는 decouple 시스템을 만들려고 노력하고있다. 주 : 저장 프로시 저는 웹 API 시스템에서 사용 된 데이터베이스와 다른 데이터베이스에 데이터를 업로드합니다.

그러나 Windows 서비스에 API 인터페이스가있는 다른 시스템과 동일한 API 인터페이스가 있으면 디커플링 시스템을 만들 수 있습니다. 그리고 내 프로그램을 업로드하려면 Windows 서비스에서 웹 API 시스템으로 URL을 변경합니다.

이 디자인에 대해 어떻게 생각하십니까? 내가 직접 호출 할 수있을 때 웹 API에서 웹 API를 호출하는 것이 좋은 생각입니까? 당신은 크로스 도메인
을 방지하기 위해 필요 - -
당신은 몇 가지 인터페이스를 어댑티브 필요하지만을 변경하지 않으 :

답변

0

이 디자인에 대해 어떻게 생각하십니까? 내가 직접 호출 할 수있을 때 웹 API에서 웹 API를 호출하는 것이 좋은 생각입니까?

서비스 프록시 또는 게이트웨이 또는 외관이라고합니다. 원래 이름이 무엇인지 주장하고 있지만 누가 그것을 사용했는지는 확실하지 않습니다. 사실, 프록시 뒤에서 대상 서비스를 숨기는 것은 매우 일반적입니다. 필요한 경우 나중에 추가 기능을 추가 할 수 있습니다. 예를 들어 재시도 논리, 캐싱,로드 밸런싱, 새로운 서비스 호출, 사용자 정의 오류 처리 또는 기존 기술자에게 영향을주지 않는 신기술을 도입 할 수 있습니다. 기본적으로 이것은 서비스의 버전 관리를 유지하는 적절한 방법입니다. /api/v1/upload을 노출하고 추가 입력란 A ~ Z가있는 /api/v2/upload을 입력하기로 결정한 경우 v1v2 뒤에 숨기고 A-Z 대신 기본값을 전송할 수 있습니다. 나는 그것이 좋은 디자인이라고 말하는 것이 아니지만, 당신이 그것을 보았다고 확신합니다. 동기화 API 뒤에 숨어있는 비동기 API를 숨기는 또 다른 예가 있습니다.

0

은 보통 때 사용되는 그것은, 목적에 따라 웹 API에서 WEP API를 호출한다 원래
- 당신은 귀하의 경우에는 원래 API

을하기 전에 좀 더 작업을하고 싶습니다, 그것을 할 괜찮습니다.