¿Cómo construir una buena capa de servicio en ASP.NET?


10

He revisado algunas preguntas, tecnologías para construir una buena capa de servicio, pero tengo algunas preguntas sobre esto con las que necesito ayuda.

Primero alguna información de lo que tengo para los requisitos. Actualmente tenemos una serie de aplicaciones web que se comunican entre sí de forma similar a una tela de araña (todas se comunican entre sí de manera confusa a través de servicios web y datos de bases de datos).

  • Queremos cambiar esto para que todas las aplicaciones pasen por una capa de servicio donde podamos trabajar más con caché y encapsular funcionalidades comunes y más.
  • Queremos que esta capa también tenga una API web para que los clientes de terceros puedan consumir información del servicio.

El problema que veo es que si creamos la capa de servicio con, digamos, la API web MVC4, no necesitamos comunicarnos entre la aplicación usando la webAPI, lo que significa que tenemos que construir URL y consumir JSON / Xml. Eso no suena demasiado efectivo. Supongo que un mejor método sería trabajar con entidades y WCF para comunicarse entre la aplicación, pero ¿podríamos perder la magia de la API web?

Entonces, la pregunta es si hay una manera de consumir una capa de servicio como API web (JSON / XML) y como una capa de servicio más back-end con entidades. Si nos vemos obligados a usar 2 capas de servicio diferentes, es posible que debamos duplicar algunas funciones y otras cosas malas.

Espero que la pregunta sea lo suficientemente clara y pregunte si necesita más información.


Buena pregunta. +1 por eso!
Kangkan

Respuestas:


1

Para un conjunto de aplicaciones que están alojadas en la intranet y posiblemente en una LAN, lo mejor puede ser una conexión TCP para servicios.

En ese sentido, sugeriré, crear una aplicación de servicio que exponga un conjunto de puntos finales e interfaces de servicio que puedan funcionar en TCP. Estos pueden ser consumidos por las aplicaciones locales o de confianza.

La aplicación de servicio debería tener otro conjunto de puntos finales e interfaces de servicio que están expuestos para consumir en la web (API web).

Por lo tanto, la aplicación de servicio se puede alojar utilizando WCF y los puntos finales / interfaces deben agregarse de acuerdo con la necesidad.


Entonces, ¿crear 1 conjunto de puntos finales para la comunicación interna y 1 conjunto para la API web? (Y sí, está en LAN con unos 20 servidores entintados incluyendo intranet, web externas y

Ok, lea un poco más sobre WCF (lo siento, soy un poco principiante en estas aguas), así que tengo los mismos servicios o la misma aplicación de servicio, pero luego uso diferentes puntos finales para ese servicio para que la aplicación de servicio pueda usarse a través de ambos TCP y HTTP, correkt? Tal vez una pregunta más difícil ... ¿alguien tiene alguna información sobre la API web MVC4 si se puede consumir a través de TCP?

Lo estás haciendo bien. En la API web MVC4, todavía no he leído nada. Es posible que deba leer al respecto.
Kangkan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.