2012-08-22 2 views
0

모든 숙련 된 프로그래머. 다음과 같은 조언이 필요합니다. 여러 API를 병합하는 모범 사례

것은 무엇 다음과 같은 문제에 대한 가장 좋은 방법이 될 것입니다

우리는 객체의 2-3 API를

그들 각각을 (XML을, JSON은 SOAP이 프로토콜은 이제 중요하지 않습니다) (아파트)가 몇 가지 키포인트

있다

A) 지오 그라픽 - 각각의 API는 각 API가 어떤 집 같은 객체 속성 설명의 다른 방법을 가지고 있습니다 ...

b)는 같은 도시와 장소에 대한 자신의 이름과 ID가 자신의 지오 데이터베이스를 가지고 있다 (수영장, 휠체어 친화적 인 등)

그래서 우리는

가 구조적으로 문제 해결 이러한 유형의 올바른 방법이 될 것입니다 무엇 ..., 그 데이터를 가져 로컬로 병합하고 검색하는 것입니다 필요 ...

매우 가까운 예는 10-20 개의 다른 시스템에서 데이터를 검색하는 호텔 검색 엔진입니다. ...

그래서 우리는 비슷한 물건이 필요하지만 완전히 다른 유형의 물건이 필요합니다. 메모, 댓글 및 답변을 보내 주시면 감사하겠습니다. 참여해 주셔서 고맙습니다.

+0

간단히 말하면 데이터의 출처를 추상화해야하며 병합이 매우 간단 해집니다. – alexy13

답변

1

이것은 매우 일반적인 질문이므로 슬프게도 대답은 꽤 일반적인 것입니다. 내가 지금이 문제에 접근하는 것입니다 :

  • 는 다양한 API 각각 wrappers 만들기를, 이것은 쉽게 그들과 상호 작용을하고, 그들이 내부적으로 호출되는 방식을 표준화한다.

  • 모든 결과를 uniform format (가능한 경우)으로 변환합니다. 검색 할 수 있으며, 정렬되고, 작동되는 필드가 될 수 있습니다.

이 정보를 데이터베이스에 저장하면 쉽게 쿼리 할 수있는 방식으로 구조를 만드는 것이 중요합니다.

예. description이라는 필드에 집을 정의하는 전체 JSON 문자열을 저장하는 것은 바람직하지 않습니다. 따라서 집의 각 속성에 대해 생성 된 필드는 swimming pool (BOOLEAN yes/no)입니다.

  • 수영장 : YES
  • 번호 : 침실 : 세

등 당신은 요점을 파악하는 대신 같은 기록이 있습니다 attribute-nameattribute-value 같은 key-value 필드가 없습니다. 내 경험에 비추어 볼 때, 포함 된 API 값을 성형 할 수있는 통일 된 데이터 모델을 보유 할 수 있다면 더 쉽게 비교하고 비교할 수 있습니다.

+0

감사합니다 @ 레이더 니스 ..그래서 기본적으로 다음과 같습니다 1) 표준화 된 로컬 데이터베이스 모델 만들기 2) 표준화 된 로컬 DB에 대한 모든 API의 가져 오기 메커니즘 개발 3) 로컬 검색 개발 ... –

+0

네가가는 길일 것입니다. 주요 도전 과제는 다음과 같습니다. 데이터베이스 모델과 래퍼 메커니즘 표준을 만들기 위해. 일단 그렇게하면, 나머지 (질의/정렬/가장 일치) 등이 더 쉬워집니다. 모든 최고! – raidenace

관련 문제