Ver Mensaje Individual
  #5 (permalink)  
Antiguo 31/03/2015, 07:27
Avatar de Malenko
Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Uso de web services

Lo ideal es usar un webservice para abstraer y separar responsabilidades. De esta manera tu ofreces un "contrato" (vía WSDL) que la web consume para realizar las operaciones. El día que cambie el como se realizan dichas operaciones no afectará a la web ya que el contrato es el mismo. De la misma manera, el día que cambies el diseño tampoco se verá afectada la funcionalidad ya que lo que tu obtienes (vía llamada al contrato) seguirá siendo igual. Es la metodología ideal para separar lógica de negocio de la parte de presentación.

Como trabajar de esta forma introduce una pequeña penalización tanto por ancho de banda (el XML que se envía en las llamadas al webservice) como de lag al realizar las operaciones por tener una capa intermedia, lo ideal siempre que sea posible, es hacer uso de un servicio WCF con un NetTcpBinding. De esta manera reduces muchísimo los datos que se transmiten entre capas y aumentas la eficiencia de tu arquitectura.

Y para finalizar, el tema de las conexiones a la BBDD. No hay ningún inconveniente en usar varias conexiones a diferentes BBDD en un mismo proyecto, de hecho es bastante habitual. Pero has de seguir una serie de buenas prácticas como usar usuarios que tengan los mínimos privilegios posibles y que tengan acceso solo a las tablas que requieren. Nada de usar "root" o "sa".

P.D.: Se me olvidaba! Entiendo que tienes dudas sobre la seguridad del webservice por si lo llaman desde fuera. Recuerda que si pones el Wcf en un host diferente del IIS, puedes filtrar las IPs que tienen acceso a él para que solo sea la IP del servidor web que aloja a la página web consumidora y que incluso puedes establecer filtrado por el encabezado de la petición.
__________________
Aviso: No se resuelven dudas por MP!