2013-04-10 4 views
0

새로운 앱 (App 2)을 만들고 있는데, 괜찮은 사용자 기반을 가진 기존 앱 (App 1)이 이미 있습니다.두 웹 앱간에 데이터 공유

앱이이 같은 사용자 기반을 대상으로, 사용자는 어떻게 앱을 통해 사용자 데이터 (멀티 엔티티를) 공유 할 수있는 앱 중 하나 또는 둘 모두를 사용할 수 있습니까?

옵션 1 - 내가 2 개의 다른 장소에서 유효성 검사 규칙을 작성 끝날 것 같은 공유 데이터베이스는 나쁜 생각처럼 들린다.

옵션 2 - 중앙 서비스 및 데이터 스토어는 애플 리케이션 잘 작동 하나의 대부분을 작성하고 코드베이스가 꽤 크다 재 의미합니다.

옵션 3 - App 1 데이터 저장소를 중앙 데이터 저장소로 간주하고 API로 공개합니다. App 2는이 기능을 사용하여 데이터를 읽고 쓸 수 있습니다. 이것은 다른 문제를 초래 앱 2에서 데이터를 캐싱하여 나는이 문제를 해결할 수

  • 앱이 앱 1 문제를 의미 앱 하나에 지금 의존에 영향을 미치는 앱 2 - 난 여전히 몇이 솔루션에 대한 질문이 있습니다.
  • App 1에서 변경된 데이터는 요구 사항 중 하나 인 App 2에 즉시 반영되지 않습니다. 난 항상 API를 사용하여 응용 프로그램 (1 개) 데이터 저장소에 데이터를 기록 앱 1 앱 2
  • 앱이 사이에 술집/하위 모델에 의해이 문제를 해결하고 난 앱이 다시 데이터를 푸시 할 수 있지만 다음의 일관되지는 오히려 결국 일치한다.
  • App 2는 자체 데이터 저장소에 데이터를 쓰고 비동기 적으로 App 1에 푸시됩니다. 이로 인해 데이터 충돌 문제가 발생합니다.

어떻게 모두 내 애플 리케이션에 거대한 복잡성을 도입하지 않고이 문제를 처리 할 수 ​​있습니다.

답변

1

여기 내 두 센트입니다.

가장 쉬운 방법은 동일한 데이터베이스를 공유하는 것이고 데이터베이스를 공유 할 수 있다고 언급했기 때문에 App1의 도메인 규칙이 여전히 App2에 적용된다는 것을 의미하므로 몇 가지 차이점이 있어도 더 좋습니다 모든 것을 쓰는 것보다 그 변화를 쓰는 것.

잘 이해했다면 적절한 서비스 레이어가 없으므로 IMO의 큰 문제가 있습니다. 기존의 서비스 레이어에 영향을주지 않으면 서 DAL을 실제로 변경할 수 있기 때문입니다.

내가 더 가야하기 전에 실제로는 현재 아키텍처를 조금 더 알아야합니다. 그렇지 않으면 잘못된 가정이 생깁니다.

  • 당신은 예컨대 : ASP.Net MVC를 웹 응용 프로그램 프레임 워크의 어떤 종류를 사용하고
  • 당신이 서비스/API 레이어 어떤 도메인 및 DAL 레이어 정보를 가지고 있나요?

UPDATE

그래서 앱을 기존하는 앱 1에서 REST API를 추출하고 공유 할 수있는 새로운 PHP 솔루션 (사이트)에 배치 할 경우 어떻게 PHP에 내장되어 App 1 및 App 2를 서비스 API로 사용 하시겠습니까? 나는 이것이 당신이 할 수있는 가장 쉬운 방법이라고 믿습니다.

+0

1. 두 앱 모두 PHP로 작성되었습니다. . 2. App 1을위한 편안한 API를 가지고 있습니다. App 2에서 직접 사용하면 App 2의 성능에 대해 걱정이됩니다. – abhinavlal

+0

App 2를 API 2로 사용한다는 의미는 아닙니다. App 1에서 REST API를 추출 하시겠습니까? – Marco

0

나는 귀하의 상황에 대한 모든 세부 사항을 말할 수는 없지만 사용자를 처리하는 새로운 서비스를 가지고있는 솔루션으로 이동하는 경향이 있으며 두 앱 모두이를 사용하게됩니다.

그건 그렇고, 빅뱅으로 움직일 필요는 없습니다. app1의 사용자 데이터 위에 적절한 API를 추가하여 시작할 수 있습니다. app2가이를 사용하게하십시오. 그런 다음 app1에 추상화 레이어를 추가하여 App1의 내부 API 인 App1과 비슷하게 보이게 한 다음 새 데이터가 될 새 데이터베이스로 데이터를 이동하십시오.

관련 문제