GAE: Como mapear projetos orientados a objetos para o armazenamento de dados Appengine com eficiência

amos supor que eu tenha o seguinte modelo de objeto comigo (você pode alterá-lo da maneira que quiser, meu interesse é apenas mapear com eficiência),

public class Product{
    private String someAttribute;
    //...
}

// A Seller who has a lot of products to sell, More than one Seller can sell the same Product
public class Seller{
    private List<Product> products;
    //...
}

public class Offer{
    // who is offering
    private Seller seller;
    // multiple products can make an offer
    private List<Product> products;
    // pricing related
    private Price price;
    //...
}

Eu quero escrever um aplicativo da web que execute, leia / escreva / pesquise nesses objetos e considere que o ponto de entrada pode ser qualquer um dele

A seguir estão minhas consultas, -

Qual é o padrão de design que devo usar? Eu acho que algum tipo de padrão de adaptador?

Enquanto armazena objetos do Vendedor, também devo armazenar as referências dos objetos do Produto? ou apenas as chaves? O que quero dizer é que devo converter a classe Seller em seguinte,

public class Seller {private Lista productKeys; }

Se eu quiser escrever um aplicativo escalável e sustentável, acho que deve haver uma maneira agradável de projetar meu aplicativo na arquitetura em camadas. Existe algum exemplo para esse ou para algum padrão já usado? por exemplo. Algum tipo de JSP -> Serviço -> DAO -> dataStore? Exemplos seriam muito apreciados.

Passei pelo AppEngineSDK para java também, mas não encontrei um exemplo para o mesmo. ajuda em respostas ou sugestões é realmente apreciad

questionAnswers(4)

yourAnswerToTheQuestion