0

내 상황을 더 잘 이해하려면 내 previous question의 대답과 의견을 확인하십시오. AppEngine에서 Google DataStore를 사용하면 애플리케이션이 밀접하게 결합되어 이동성이 느슨합니다.클라우드 애플리케이션을 구축하고 이식성을 유지하는 방법은 무엇입니까?

저는 Android에서 작업 중이며 클라우드에있을 백엔드를 사용하게 될 것입니다. 클라우드 커뮤니케이션이 필요합니다. 어떻게 이식성을 유지하는 응용 프로그램을 만들 수 있습니까? 어떤 디자인 패턴, 아키텍처 패턴을 사용해야합니까?

브로커 패턴을 사용해야합니까? 나는 당혹 스럽다.

+1

Re : 이식성. DataStore API 코드 자체는 다른 유사한 NoSQL 데이터베이스로 쉽게 변환 될 수 있습니다. 그러나 실제 마이그레이션을 수행하려면 App Engine에서 모든 데이터를 가져와야합니다. 많은 데이터가 있으면 매우 어려울 수 있습니다. – Thilo

+0

Thilo, 알겠습니다.하지만 데이터를 RDBMS에 저장하고 AppEngine 끝점에서 DataStore를 처리해야합니다. 어떻게 극복합니까? – FireAndIce

+0

RPC를 사용해야합니까? – FireAndIce

답변

0

내 응용 프로그램의 이식성을 유지하기 위해 끝점에서 안정적인 웹 API를 제공하는 Restlet을 선택했습니다. Restlet은 서버와 클라이언트간에 통신하는 데 도움이됩니다.

또한 내 응용 프로그램이 특정 공급 업체에 종속되지 않습니다.

0

Google App Engine은 데이터 저장소에 대해 JPA 기반 인터페이스를 제공합니다. JPA API를 사용하여 코드를 작성하는 동안 다른 데이터 스토어로 쉽게 이식 할 수 있습니다 (예를 들어 Hibernate는 JPA도 구현합니다).

필자는 공급 업체 특정 코드가 공급 업체의 API 바로 위에있는 얇은 레이어를 통과하지 못하도록합니다. 그러면 다른 공급 업체로 이동해야 할 때 코드의 어느 부분에 영향을 주는지 정확히 알 수 있습니다.

0

정말 이식성 문제를 피하기 위해 google cloud sql 대신 사용하고 싶습니다. 만약 순수 jpa/jdo를 사용한다면 사소한 구조가 아니라면 데이터 저장소를 사용하십시오. 왜냐하면 그것들은 실제로 nosql을위한 것이 아니기 때문입니다. Google은 색인 등으로 구체화했습니다. 물론 SQL은 더 비싸고 크기 제한이 있습니다.

+0

나는 이식성과 타협 할 여유가 없다. 처음에는 비용 요인으로 인해 전용 서버를 갖출 계획을 세우고 있지만 상황이 해결되면 클라우드로 마이그레이션하려고합니다. – FireAndIce