Como criar uma boa camada de serviço no ASP.NET?


10

Examinei algumas perguntas, tecnologias para criar uma boa camada de serviço, mas tenho algumas perguntas sobre isso com as quais preciso de ajuda.

Primeiro, algumas informações do que tenho para os requisitos. Atualmente, temos um número de aplicativos da Web que se comunicam de maneira semelhante a uma teia de aranha (todos conversando de maneira confusa por meio de serviços da Web e dados do banco de dados).

  • Queremos mudar isso para que todos os aplicativos passem por uma camada de serviço onde possamos trabalhar mais com o cache e encapsular funcionalidades comuns e muito mais.
  • Queremos que essa camada também tenha uma API da Web para que clientes de terceiros possam consumir informações do serviço.

O problema que vejo é que, se construirmos a camada de serviço com a MVC4 Web API, não precisaremos nos comunicar entre o aplicativo usando a webAPI, o que significa que precisamos construir URLs e consumir JSON / Xml. Isso não parece muito eficaz. Presumo que um método melhor seria trabalhar com entidades e WCF para se comunicar entre o aplicativo, mas podemos perder a mágica da API da Web?

Portanto, a questão é se existe uma maneira de consumir uma camada de serviço como uma API da Web (JSON / XML) e como uma camada de serviço de back-end com entidades. Se formos forçados a usar duas camadas de serviço diferentes, talvez tenhamos que duplicar algumas funcionalidades e outras coisas ruins.

Espero que a pergunta seja clara o suficiente e pergunte se você precisa de mais informações.


Boa pergunta. +1 para isso!
Kangkan

Respostas:


1

Para um conjunto de aplicativos hospedados na intranet e possivelmente em uma LAN, o melhor pode ser uma conexão TCP para serviços.

Nesse sentido, sugerirei a criação de um aplicativo de serviço que exponha um conjunto de terminais e interfaces de serviço que possam funcionar no TCP. Estes podem ser consumidos pelos aplicativos cultivados em casa ou confiáveis.

O aplicativo de serviço deve ter outro conjunto de terminais e interfaces de serviço expostos ao consumo pela Web (API da Web).

Portanto, o aplicativo de serviço pode ser hospedado usando o WCF e os pontos de extremidade / interfaces devem ser adicionados de acordo com a necessidade.


Então, criando um conjunto de terminais para a comunicação interna e um conjunto para a API da Web? (E sim a sua on LAN com cerca de 20 servidores inkluding intranet, externalwebs e tal)

Ok, leia um pouco mais sobre o WCF (desculpe, eu sou um pouco iniciante nessas águas), por isso tenho os mesmos serviços ou o mesmo aplicativo de serviço, mas use pontos de extremidade diferentes para esse serviço, para que o aplicativo possa ser usado via TCP e HTTP, correkt? Talvez uma pergunta mais difícil .. alguém tem alguma informação sobre a API da web MVC4, se puder ser consumida via TCP?

Você está acertando. Na API da Web do MVC4, ainda não li nada. Você pode precisar ler sobre isso.
Kangkan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.