A arquitetura de uma aplicação OpenSocial vai muito além do código. Deve ser levada em consideração o seu cliente (um brownser, por exemplo) e seu container (a rede social em questão). As redes sociais respondem diretamente ao seu aplicativo. Esse fluxo de informações esta representado na figura abaixo.
Isto significa que quando um cliente realiza requisições ao seu aplicativo, armazenado externamente, a rede social realizara essa chamada e irá "filtrar" as informações para depois entregar ao cliente.
Sua rede sócial pode ser hospedada em múltiplos servidores, ou armazenada inteiramente em seu container. Dependendo de como você implementa sua aplicação, será necessário também um processo de autenticação.
Existem atualmente 2 Arquiteturas para o desenvolvimento de Aplicações com a API OpenSocial, uma baseada no Cliente (API Javascript), e outra baseada no Servidor(API REST):
- API Cliente: Desenvolvimento utilizando a API OpenSocial Javascript, e foi a primeira API a ser lançada. É bem possível que se você estiver sendo guiado pelos exemplos do Google, para o orkut, você esteja utilizando a API Javascript. Ela basicamente funcionando realizando chamadas a rede social.
- API Rest: Recurso que foi adicionando ao OpenSocial em 2008, é uma API baseada em REST (Representation State Transfer). Esta API permite que você desenvolva aplicações que são executadas fora da Rede Social (seja um site, ou uma aplicação desktop), realizando diretamente ao container OpenSocial. Você pode criar a sua aplicação com a linguagem que você quiser, seja ela JAVA, PHP, Ruby, ou muitas outras. Basta realizar chamada e tratar os resultados.