Estou projetando um banco de dados para um aplicativo, que será acessado por diferentes linguagens de programação front-end, como php, asp.net, aplicativos android e aplicativos iphone.
Estou confuso, é bom acessar diferentes linguagens de programação diretamente para um banco de dados? e aprendi em algum lugar, tenho que criar uma camada intermediária entre banco de dados (Backend) e linguagens de programação (Frontend).
- Essa camada do meio está indicando um procedimento armazenado?
- Se não for um procedimento armazenado, o que é necessário para criar essa camada intermediária?
- Se minha lógica geral estiver errada, por favor, sugira-me qualquer outro método para resolver essa dúvida.
- Existe algo relacionado à camada intermediária que eu preciso me concentrar ao projetar?
Desde já, obrigado.
Se você estivesse falando apenas sobre acessar o banco de dados via PHP e ASP.net, um procedimento armazenado poderia servir como uma camada intermediária comum. Depois de adicionar os aplicativos Android e iPhone à equação, você terá que projetar outra camada intermediária. A razão para isso é que a maioria dos dispositivos móveis não possui drivers de banco de dados disponíveis para eles.
No seu caso, você deve construir sua camada intermediária em asp.net ou PHP como um serviço da web. A maioria está projetando esses serviços da Web como uma API REST . Você precisará pensar nas informações de que seus aplicativos móveis precisam e criar terminais de API para essas coisas (usuários, postagens, etc.). Também recomendo fazer com que seu site/aplicativo ASP.net e PHP usem a mesma API que seus aplicativos móveis.
Ao configurar uma API como essa, você pode reduzir o trabalho necessário para seus aplicativos. Seu aplicativo móvel não sabe que, para obter as 10 postagens mais recentes, ele precisa consultar
SELECT * FROM posts order by create_date desc limit 10
. Basta fazer um pedido ahttp://myapi/posts/latest
.Existem vários posts no Stack Overflow e Programmers.SE sobre como configurar APIs de Web Service, recomendo revisá-los.