viernes, septiembre 08, 2006

Web Services .NET en Linux


Una de las tecnologías emergentes dentro de la computación son los llamados Web Services, los cuales son Servicios que se proveen a través de internet. Algunos incluso han dicho que la nueva filosofía de programación será orientada a Servicios.... bueno.... yo no sé si eso será tan así (pregunten al grupo Gartner para eso, jajajaja), pero de todas maneras es bueno saberlo.
.NET es una tecnología que fué introducida por Microsoft para dar respuesta a esta y a otros muchos tipos de aplicaciones. Inicialmente sólo funcionaba en máquinas de Microsoft, sin embargo (y menos mal), fueron liberados el CLR (Common Lenguaje Runtime) y el compilador de C# lo que ayudó que otros sistemas operativos, como mi querido Linux, pudieran utilizar estas tecnologías.
A continuación les presentaré cómo se puede colocar un pequeño Web Service en Ubuntu Linux utilizando la tecnología .NET

Se ocuparán las siguientes herramientas:

  1. Mono: Plataforma que provee el software necesario para desarrollar y ejecutar aplicaciones .NET en programas clientes y servidores en Linux, Solaris, MacOSX, Windows y Unix. Paquetes necesarios:
    mono
    mono-jit
    mono-assemblies-base
    mono-mcs
  2. Servidor de páginas XSP: Un servidor http muy liviano escrito en .NET. Paquetes necesarios:
    mono-xsp (NO mono-xsp2, porque levantaremos un WebService en ASP.NET 1.0 y no en 2.0)

Para instalar todos estos paquetes basta seleccionarlos en el gestor de paquetes Synaptic (Ubuntu) o Adept (Kubuntu).
Luego se debe crear un directorio en dónde se guardara nuestro WebService. En este caso se escogerá /var/www/web. En el editor de texto preferido se agregará el siguiente código en /etc/xsp/debian.webapp:

<apps>
<web-application>
<name>web</name>
<vpath>/web</vpath>
<path>/var/www/web</path>
</web-application>
</apps>

Ahora hay que levantar el servidor xsp. Debemos ir a la carpeta /var/www/web y colocar xsp. Si en este punto ustedes colocan en su navegador web http://localhost:8080/web/ encontrarán que aparece el ERROR 404 (u otro error). No se preocupen, ese es un buen indicio, ya que significa que está corriendo nuestro servidor, pero que no encuentra la aplicación (eso es obvio ya que todavía no se ha puesto ninguna aplicación).
Lo siguiente que debemos hacer es crear la página asmx, la cual contendrá nuestro WebService. Esta página se dejará en el directorio /var/www/web. El archivo creado se llama Sumador.asmx

<%@ WebService Language=”C#” Class=”Sumador” %>

Las propiedades definen el lenguaje en que está escrito el WebService y el nombre de la clase principal respectivamente.
Ahora hay que crear la clase Sumador.cs. Esta clase no importa en dónde se dónde se cree y se compile, sin embargo, por convención lo haremos en el mismo directorio /var/www/web.
El nuevo Sumador.cs se deberá ver de la siguiente manera:

using System;
using System.IO;
using System.Web.Services;

[WebService(Namespace="http://localhost:8080",Description="Un WebService Simple")]
public class Sumador : System.Web.Services.WebService
{
[WebMethod(Description="Hace la Suma")]
public int Add(int primer_numero, int segundo_numero)
{
return primer_numero + segundo_numero;
}
}

Luego este programa se compila:

mcs –t:library –r:System.Web.Services –out:Sumador.dll Sumador.cs

La salida de esta compilación es Sumador.dll. Este archivo se debe dejar en el directorio /var/www/web/bin
Una vez hecho esto, se abre el navegador en http://localhost:8080/Sumador.asmx. Entonces se visualizará este WebService.

Al final se tendrá que ver algo parecido a esto:

1 Comments:

At 5:48 p. m., Blogger Alex Jimenez said...

necesito preguntar muchas dudas que tengo e seguido los pasos pero no me jala el localhost/sumador.asmx

 

Publicar un comentario

<< Home