¿Qué son los webservices?
Un Web Service es un componente de software que se publica en un servidor Web y que permite la comunicación distribuida entre sistemas o aplicaciones en diferentes máquinas que invocan métodos que estos devuelven un resultado en formato XML.
Este documento XML puede ser procesado por cualquier aplicación ó sistema operativo capaz de procesar XML.
En esta imágen se muestra el funcionamiento de un servicio web en donde el database podría ser un servicio web , que éste, devuelve un resultado en formato XML a los diferentes dispositivos que lo consumen.

Primeros pasos
Para comenzar a desarrollar el servicio web es necesario tener instalado el IDE Monodevelop, puedes checar esta guia de instalación monodevelop. También se requiere tener instalado el servidor de pruebas XSP2:
# aptitude install mono-xsp2
1.- Primero creamos una nueva solución ASP.NET Aplicación web, en Archivo->Nueva solución y le ponemos como nombre WebServiceMono:

2.- Ahora, del lado izquierdo en donde dice solución, aparecerá el nombre de nuestro proyecto “WebServiceMono“, damos click derecho y vamos en Añadir->Nuevo archivo… y seleccionamos ASP.NET Servicio web con codebehind y le ponemos como nombre “webservice”:
3.- Ahora crearemos un sencillo método dentro del archivo webservice.asmx, que sólamente sumará 2 números, el código completo del archivo webservice.asmx quedaría de la siguiente manera:
using System;
using System.Web;
using System.Web.Services;
namespace WebServiceMono
{
[WebService(Name = "myWebService",Description = "Mi primer webservice en mono",
Namespace = "http://www.antoniomtz.org")]
public class webservice : System.Web.Services.WebService
{
public webservice () {}
//Se crea un sencillo método para sumar 2 números.
[WebMethod]
public int sumar(int a, int b)
{
return a + b;
}
}
}

4.- Ahora agregaremos una liga en el archivo Default.aspx:
<form id="form1" runat="server">
<a href="webservice.asmx">WebService</a>
</form>

5.- Construiremos el proyecto tecleando F5 y si instalamos bien el servidor xsp, nos abrirá un navegador web y trabajará de manera local por el puerto 8080 (éste proyecto no se podrá ver al exterior aún), nos deberá aparecer una página en donde sólamente aparecerá una liga que dice WebService:

6.- Al dar click en la liga, nos aparecerá un tipo asistente para poder probar nuestros métodos que hayamos creado, del lado izquierdo aparecerá información sobre nuestro servicio web así como los métodos, damos click en el método sumar y luego en la parte de arriba test, nos pedirá los 2 parametros, le damos cualquier número y luego en el botón invoke, ésto tendrá como resultado un archivo XML con el resultado:
Conclusiones:
Esto fué un pequeño tutorial de cómo crear un servicio web desde la parte del software libre utilizando mono para ello.
Por ahora nuestro web service funcionará de manera local, para poder consumirlo desde el exterior es necesario instalar el módulo mono para apache y hacer las respectivas configuraciones, aquí les dejo una guia de instalación y configuración del módulo mono para apache, cuando lo tengan configurado, sólamente pasamos los archivos de nuestro proyecto al directorio virtual en apache y para consumirlo ahora será:
http://tudominio/dirvirtual/webservice.asmx
En el próximo post, crearemos una aplicación en dónde consumiremos el web service que acabamos de crear.
VideoTutorial de éste ejercicio



Respecto al post que son los webservices he realizado la practica y todo ha funcionado excelente. Molestando existe ya el post de como consumir el servicio web.
Atte: Manuel Paz
Aún no he hecho ese post, pero si lo hare más delante