Cuando desarrollas una aplicación en la mayoría de los casos es necesario que para su correcto funcionamiento deba obtener su información desde una fuente en específico, puedes hacerlo desde una fuente RSS con un archivo XML o un archivo JSON, pero si tu necesidad va mas allá y debes consumir tu información desde una base de datos, tus opciones se limitan a una sola posibilidad, consumir un servicio web.
Los servicios web no son nada mas que intermediarios entre la aplicación Silverlight y la base de datos, dado que Silverlight se ejecuta en el “lado cliente” no le es posible estar en contacto con la base de datos, la cual se encuentra en el “lado servidor”, dado que el servicio web se encuentra alojado en el servidor, puede acceder a la base de datos, solicitar la información y enviarla a nuestra aplicación, si lo vemos en un diagrama, el resultado si lo quieres ver de la forma mas básica es algo como esto.
Bien, ya habiendo explicado de esta forma el funcionamiento, puedo comenzar a entrar en materia, hay dos tecnologías principales para poder crear un servicio web bajo el entorno Microsoft, y lo encierro en ese campo para descartar otras plataformas, como Java y PHP que son muy recurridas para esta funcionalidad también (y que Silverlight puede consumir sin problema).
Las dos tecnologías que te menciono son los servicios web ASP y WCF, ambos tienen características particulares que los hacen únicos, vamos viendo cuales pueden ser.
Servicios ASP.NET
Son los primeros que aparecieron, en la actualidad no fueron incluidos como parte del Framework 4.0 de .NET para dar paso a sus sucesores (WCF), pero aún puedes incluirlos dentro de una solución como parte de esta (a mí no me late hacerlo, siempre he optado por tener el servicio web en una solución y la aplicación en otra, al menos en entornos productivos). La razón por la que debas utilizarlos obedece sencillamente a que el servidor donde vas a publicar tu servicio web aún no cuenta con el Framework 4.0 pues de lo contrario la mejor recomendación será usar un servicio WCF.
Servicios WCF
Son la nueva herramienta para intercambio de información, abismalmente mas equipados con herramientas y funcionalidades, tantas que son considerados como aplicaciones, es decir, aplicaciones orientadas a servicios, fueron creados efectivamente para reemplazar a los servicios ASP.NET y dotarlos de mejor funcionalidad, enseguida veremos cuales son.
Para comenzar a hacer pruebas lo primero que debes hacer es crear una base de datos, nada del otro mundo, simplemente crea una tabla que contenga los siguientes datos.
Recuerda que el campo ID debe tener la propiedad de Identidad. Ya que tengas la tabla completa, ahora llénala con unos cuantos registros.
Esta tabla será la misma que utilizaremos en ambos servicios, así que ya podemos dejar de lado a SQL, y comenzar con la creación de los servicios. Así que tu escoges hacia donde ir ahora.
Parte 2.- Crear y publicar un servicio web ASP.NET
Parte 3.- Crear y publicar un servicio WCF
Parte 4.- Consumir mis servicios web en una aplicación Silverlight