Professional Documents
Culture Documents
Net
multiplataforma
(Proyecto Mono)
Plataformas Linux, Windows, Mac OS X…
http://www.fjceballos.es
Aplicaciones .Net multiplataforma.
© Fco. Javier Ceballos Sierra
© De la edición: RA-MA 2008
MARCAS COMERCIALES: Las marcas de los productos citados en el contenido de este libro
(sean o no marcas registradas) pertenecen a sus respectivos propietarios. RA-MA no está
asociada a ningún producto o fabricante mencioado en la obra, los datos y los ejemplos
utilizados son ficticios salvo que se indique lo contrario.
Según lo dispuesto en el Código Penal vigente ninguna parte de este libro puede ser
reproducida, grabada en sistema de almacenamiento o transmitida en forma alguna ni
por cualquier procedimiento, ya sea electrónico, mecánico, reprográfico, magnético o
cualquier otro, sin autorización previa y por escrito de RA-MA; su contenido está protegido
por la Ley vigente que establece penas de prisión y/o multas a quienes intencionadamente,
reprodujeren o plagiaren, en todo o en parte, una obra literaria, artística o científica.
Editado por:
RA-MA Editorial
C/ Jarama, 3A, Polígono industrial Igarsa
28860 PARACUELLOS DEL JARAMA, Madrid
Teléfono: 91 658 42 80
Telefax: 91 662 81 39
Correo electrónico: editorial@ra-ma.com
Internet: www.ra-ma.es y www.ra-ma.com
ISBN: 978-84-7897-880-9
Depósito Legal: M-xxxxx-xxxx
Autoedición: Fco. Javier Ceballos
Filmación e impresión: ?.
Impreso en España
Primera impresión: Julio 2008
CONTENIDO
PRÓLOGO.............................................................................................................. XI
OBJETIVOS
Este libro enseña cómo desarrollar aplicaciones .NET sobre una plataforma Li-
nux. Este conocimiento será expuesto en los siguientes capítulos, cada uno de los
cuales versará sobre uno de los temas especificados a continuación:
Todos estos temas serán estudiados practicando con el desarrollo de una apli-
cación .NET de tres capas utilizando Mono sobre Linux.
APLICACIÓN .NET
El ejemplo práctico que desarrollaremos será una aplicación distribuida multicapa
para Internet. Constará de tres capas: presentación, lógica de negocio y datos. La
2 APLICACIONES .NET MULTIPLATAFORMA
Formulario
de escritorio
Servicio Web XML
BD
fotos
Métodos para
Cliente Web acceder a los datos
Formulario
Web
Carpeta
fotos
Los formularios de escritorio (las ventanas que dan lugar a una interfaz gráfi-
ca) se utilizan para desarrollar aplicaciones en las que se espera que el cliente ma-
neje una parte significativa de la carga de trabajo de la aplicación.
Los formularios Web se utilizan para crear aplicaciones en las cuales la inter-
faz primaria de usuario es un navegador.
La base de datos se llamará fotos y contendrá una tabla album con las siguien-
tes columnas: foto, una cadena de caracteres de longitud máxima 30 para almace-
nar la ruta del fichero que contiene la imagen, nombre, una cadena de caracteres
de longitud máxima 30 para almacenar el título de la foto, autor, una cadena de
caracteres de longitud máxima 30 para guardar el nombre del creador de la foto y
descripción, una cadena de caracteres de longitud máxima 400 para almacenar un
breve texto que describa la foto.
Para poder pasar de una página a otra de una forma sencilla, añadiremos una
serie de enlaces en el margen superior de las tres páginas Web con un aspecto si-
milar a lo mostrado por la figura siguiente:
Para la creación del cliente de escritorio utilizaremos las clases del espacio de
nombres System.Windows.Forms. Análogamente al cliente Web, el cliente de es-
critorio mostrará una ventana principal que nos permitirá navegar por las distintas
fotos de la base de datos presentando, además de la imagen, los datos relativos a
cada una de ellas, y mostrará una barra de menús que dará acceso a las ventanas
para añadir una foto a la base de datos o eliminarla.
6 APLICACIONES .NET MULTIPLATAFORMA
CAPÍTULO 1: OBJETIVOS 7
Finalmente, para ejecutar las páginas y servicios Web sobre Mono utiliza-
remos el módulo mod_mono de Apache o el servidor de aplicaciones xsp.
Eche una ojeada al apéndice A para ver cómo se instala la plataforma Linux,
Mono, PostgreSQL, el servidor de aplicaciones, MonoDevelop y cómo conectar
PostgreSQL con MonoDevelop.
De esta forma, cada capítulo hará una introducción a la materia a la que hace
referencia y abordará la parte que le corresponde de la aplicación descrita. Esto es,
el capítulo Interfaces gráficas introducirá al lector en esta temática y, además de
los ejercicios propios del capítulo, desarrollará la interfaz gráfica del cliente de
escritorio, el capítulo Acceso a bases de datos abordará el tema de la administra-
ción de bases de datos PostgreSQL y expondrá la técnica a seguir para acceder a
una base de datos de este tipo, el capítulo Páginas Web hará una introducción al
desarrollo de formularios Web ASP.NET y desarrollará las páginas Web corres-
pondientes a la aplicación propuesta y, finalmente, el capítulo Servicios Web in-
troducirá al lector en el desarrollo de servicios Web XML, desarrollará el servicio
Web del sitio Web fotos, explicará cómo éste interactúa con la base de datos Post-
greSQL y expondrá cómo unir todas las partes desarrolladas de la aplicación para
que trabajen conjuntamente.
Requisitos
La aplicación podrá distribuirse en uno o más servidores. Por ejemplo:
8 APLICACIONES .NET MULTIPLATAFORMA
A partir del ejemplo anterior puede pensar en otras distribuciones, por ejem-
plo, que la base de datos se aloje en otro servidor.
AYUDA
La documentación sobre la biblioteca .NET y demás bibliotecas desarrolladas en
el proyecto Mono puede encontrarla en la siguiente dirección:
http://www.go-mono.com/docs/