Sie sind auf Seite 1von 21

Tabla de Contenido Borrador del Proyecto Final

• Introducción
• Objetivos
o Objetivos Generales
o Objetivos Específicos

• Marco Teórico
o Tecnologías .Net
o Paradigmas de Programación en Tecnologías .Net
o Plataforma .Net en Linux (Mono)
o Productividad en el ambiente .Net
o IDEs utilizadas en el ambiente .Net
 Visual Studio Express/Standard/Professional
 SharpDevelop
 Mono Develop (Linux)
 Cuadro Comparativo (Ventajas/Desventajas)
o Silverlight
o Windows Communication Foundation

• Proyecto
o Componentes internos del software
 Servicios
• Manejador de Multimedios (Upload, Stream etc)
• Autenticación (login, sesión)
• Registro de Sucesos (logging)
• Administración (usuarios, registro, modificación,
eliminación)
• Administración de Denuncias
• Administración de Estadísticas
o Componentes externos del software
 Log4Net
 Upload Tool para Silverlight
 Npgsql (Proveedor de datos .net para PostgreSQL, si se usa)
o Arquitectura de una aplicación en .Net
 Herramientas CASE para .Net (estereotipos)
• Visio
• Architect
• Power Designer
• Genexus
o Extensibilidad en .Net
o Manejador de base de datos para .Net
 Manejador de base de datos sugerido
• Microsoft SQLServer
• PostgreSQL (Utilizando librería Npgsql)
• MySQL
 Manejador de base de datos no sugerido
• Archivo
 Herramientas ORM (Object Relational Mapping)
• NHibernate
• LINQ
o Licenciamiento y Costos
 Mano de Obra
• Personal
• Herramientas

• Conclusiones.
• Bibliografía
Tecnologías .NET
.NET representa todo un rango de tecnologías y conceptos que conforman una plataforma en la cual usted
puede desarrollar aplicaciones. Es más que una simple cosa; es una colección de software y conceptos que
trabajan en conjunto para permitir la generación de soluciones de negocios.

.NET es una capa bajo sus programas que ofrece un conjunto de servicios y funciones básicas. Esta capa
contiene aplicaciones y sistemas operativos llamados servidores .NET; un conjunto de objetos fundamentales
como .NET Framework, y un conjunto de servicios que reconoce todos los lenguajes .NET, conocido como
Common Language Runtime (CLR).

Aplicación del usuario

.NET Framework

Servidores .NET
Windows, BizTalk, Exchange, SQL, Application Center
Dispositivos .NET

Componentes de hardware

El CLR es el responsable de ejecutar su código y ofrece varias innovaciones para los desarrolladores de
aplicaciones .NET. La modificación más importante es que permite que todos estos lenguajes puedan
compilarse en el Lenguaje intermedio de Microsoft (MSIL). El CLR después convertirá este código en código
nativo cuando se ejecute por primera vez y el resultado será que obtendrá el rendimiento del código totalmente
compilado, no código que se interprete en tiempo de ejecución.

Clases importantes en el .NET Framework

Al generar sus aplicaciones en .NET, utilizará muchas clases del .NET Framework. Algunas más útiles son:

• Console: Permite la lectura y escritura en la línea de comandos o consola.


• Environment: Permite la lectura y escritura a variables del entorno del sistema.
• Random: Permite la generación de números aleatorios.
• Math: Incluye diversos cálculos matemáticos.
• Collections: Ofrece diversas clases para distintas estrategias para almacenar colecciones de elementos.

.NET Framework

El .NET Framework ofrece dos cosas primordiales: el entorno del motor de ejecución básico y un conjunto de
clases fundamentales. El entorno del motor de ejecución es similar al sistema operativo en el sentido de que
ofrece una capa entre su programa y las complejidades del resto del sistema, con lo que provee de servicios a
su aplicación y simplifica el acceso a la funcionalidad de las capas inferiores.

Tiene una diversidad de componentes y servicios que se combinan para generar un potente entorno de
desarrollo. Incluye una gran cantidad de clases que le permite escribir aplicaciones basadas en Windows y para
Web, acceder a la red, generar imágenes, y otras cosas más.

Las clases fundamentales ofrecen una gran cantidad de funcionalidad, que envuelven y abstraen en tecnologías
como los protocolos de Internet, acceso al sistema de archivos, manejo de XML, ect.

El .NET Framework es muy similar al sistema operativo, y ofrece su propio conjunto de APIs para que los
programadores aprovechen sus capacidades con facilidad.

Para que un lenguaje de programación aproveche el entorno del motor de ejecución y otra funcionalidad del
.NET Framework, el compilador debe producir código que se apegue a cierta norma. Microsoft ofrece esta
norma, la Especificación de Lenguajes Comunes o Common Language Specification (CLS), como una forma
para crear cualquier compilador propio de .NET.

Microsoft ha generado compiladores de Visual Basic, Visual C++ y C# que se apegan al .NET Framework, pero
ha puesto a disponibilidad del público la CLS para que otras empresas o personas puedan generar
compiladores para otros lenguajes. Como resultado, además de los lenguajes provistos por Microsoft, hay otros
como COBOL, APL, Smalltalk, ect., que están generados con la misma base.

Servidores .NET

Una meta primordial del concepto de .NET es reducir la generación de sistemas distribuidos, donde el trabajo se
realiza en diversos lugares. Principalmente, estos tipos de sistemas hacen su trabajo en el servidor (o backend).
Microsoft ofrece un conjunto de productos de software que juntos se conocen como Servidores
Empresariales .NET (.NET Enterprise Servers). Están diseñados para dar el soporte y las características
necesarias para un sistema distribuido.

Entre los productos se encuentran:

• El sistema operativo servidor Microsoft Windows .NET (Server, Advanced Server y Datacenter Server).
• Software de clustering y balanceo de carga, como Microsoft Application Center y Microsoft Cluster
Server.
• Un servidor de bases de datos, Microsoft SQL Server.
• Un sistema de correo electrónico, colaboración y almacenamiento libre de información, Microsoft
Exchange Server.
• Un motor para la transformación de datos basado en XML llamado Microsoft BizTalk Server.
• Un servidor para acceder a sistemas heredados, como las AS/400, llamado Host Integration Server.
• Y otras cosas más…

En conjunto, estos servidores proporcionan los servicios básicos para sus aplicaciones .NET, y además son la
base de sus sistemas.

Servicios .NET

Los Servicios Web XML son una funcionalidad basada en una tendencia constante en Internet. Tales servicios
permiten que una empresa u organización provea funcionalidad que esté contenida en el entorno del programa
que dicha empresa realice. Como ejemplo podríamos mencionar un servicio para el pago de facturas, donde
una empresa tenga servidores y aplicaciones en su propia organización que pueda controlar los pagos. La
empresa provee tal servicio a otras personas mediante un Servicio Web XML. Esto no es lo mismo que ofrecer
un sitio Web; es una interfaz que otras aplicaciones o sitios Web pueden acceder mediante código.

Windows Communication Foundation


Con la introducción del la versión 3.0 del .Net framework Microsoft añadió un nuevo API para encargarse de
toda la comunicación por servicios. Este API se llama Windows Communication Foundation. Según la
definción de Microsoft Windows Communication Foundation provee un modelo unificado de programación para
implementar rápidamente aplicaciones orientadas a servicios que se comunican a través de la Web y entre
empresas. El WCF, como se le conoce por sus siglas, en sí no es una tecnología nueva sino que es la
unificación de tecnologías existentes dentro de un modelo común. Las características principales de WCF son:
• Unificación de tecnologías existents para comunicación del framework de .Net

• Interoperabilidad con aplicaciones desarrolladas en otros ambientes


• Soporte explícito para arquitectura orientada a servicios.
Como un ejemplo práctico podemos citar una aplicación para reservar habitaciones de un hotel. Esta aplicación
expone métodos para que tanto un call center como páginas tales como Xpedia puedan hacer reseravaciones
de manera remota, al igual que soportar que interaccion con un sin número de agencias de viajes que desean
utilizar sus propias aplicaciones para realizar reservaciones como cancelaciones.
- Call center: la opción propicia para comunicarse con el call center sería .Net Remoting ya que el
sistema utilizado por el call center también esta desarrollado en .Net Framework.
- Páginas como Xpedia utilizan comunicación por REST, por lo que también se tendría que desarrollar la
comunicación que soportara este protocolo.
- Algunas agencias de viajes no tienen conexión todo el tiempo por lo que necesitarían un protocolo que
soporte Queue de los mensajes como el Queue Messaging.
- Otras agencias de viajes utilizan paginas jsp y para comunicarse necesitan servicios web tipo ASMX.

Como se puede apreciar antes de la introducción de WCF cumplir con requisitos como este requeriría
programar y exponer cada una de las tecnologías antes señaladas; sin embargo, con WCF no es necesario.
Basta con definir una sóla especificación del servicio que se quiere exponer y configurarle los endpoints que
puede soportar. Podriamos definir los endpoints como el tipo de comunicación que puede soportar el servicio
en WCF junto con las operaciones que soporta el servicio.
Silverlight
Silverlight es un framework para desarrollar aplicaciones gráficas. Originalmente fue concebido como un plugin
para stream video; posteriormente se le añade mas funcionalidad para interactuar.
Uno de las principales ventajas de Silverlight es la portabilidad. Microsoft tomo una idea similar al plugin de flash
y Silverlight se distribuye como un plugin para los exploradores más populares. Esto quiere decir que no es
necesario tener instalado el framework de .Net para poder correr una aplicación Silverlight sólo el framework
correspondiente al browser utilizado. Otras ventajas son:
- Se desarrolla con un framework conocido lo que provee una fácil etapa de aprendizaje para
programadores de C# o VB.Net.
- Soporta gráfica por vectores y “retained mode” para optimización del proceso de rendering.
- Soporta animaciones en 2D y 3D
- El modelo de programación con Silverlight se presta para una clara distinción entre el diseño gráfico y la
funcionaliad de la aplicación que se quiera desarrollar.
- Soporta la comunicación por medio de WCF.
- Es fácil desarrollar aplicaciones visualmente llamativas.

Silverlight utiliza un subset de las clases presentes en el framework de .Net; por lo cual tiene algunas
limitaciones. Por ejemplo, no es posible accede directamente System.Data;

La primera versión de silverlight solamente soportaba el uso de javascript. Afortunadamente las siguientes
versiones de Silverlight incluyeron soporte para utilizar los lenguajes del framework de .Net.

Dispositivos .NET

En el mundo actual hay una gran gama de sistemas que puede usar para acceder a Internet, a la rede de su
empresa o a su información personal. Pueden ser las PCs mismas, terminales de Internet basadas en TV,
clientes ligeros, o asistentes digitales personales (PDAs). Todos ellos son medios por los que un usuario
accede a una aplicación .NET. Esta tendencia hacia diversos dispositivos lo fuerza a usted, como programador,
a dejar de asumir un solo tipo de cliente, generalmente una PC, y tomar en cuenta que un cliente podría
conectarse por varios dispositivos distintos. Éstos pueden clasificarse como Dispositivos .NET, que son una
combinación de características de hardware y software diseñadas para funcionar con servicios y aplicaciones
basados en .NET. En la actualidad, entre los dispositivos .NET disponibles se encuentran equipos que ejecutan
Windows y otros que ejecutan Windows CE. (Hay un .NET compact Framework para esta plataforma, lo que le
permite utilizar las características de .NET.) El crecimiento de esta área, será aún mayor.

Arquitectura de una aplicación en .NET


Los tres elementos de cualquier aplicación

La diferencia entre todas las posibles arquitecturas gira en torno a la forma en que se distribuyen las tres capas
distintas de un sistema de cómputo:

• Presentación: Esta capa representa a la interfaz de usuario y la interacción con otros sistemas; es el
rostro del sistema que permite comunicarse al exterior. Las ventanas o páginas web, por decirlo de
alguna manera, encapsulan lógica de navegación y control de eventos de la interfase.

• Lógica funcional o de negocios: Todo el código que no está involucrado de manera específica en la
generación de la interfaz de usuario de otros aspectos de la capa de presentación. Esta capa
representa el núcleo de la aplicación, el código que realiza el trabajo del sistema. Éstos podrían ser un
modelo de objetos, xml, datasets, estructuras de datos, ect.

• Datos: La base de datos (u otro origen de datos como XML) y el código que la accede conforman la
capa de datos.
Estas tres capas son la representación lógica de un sistema completo, pero tal sistema podría tener una
diversidad de formas: un solo exe, componentes distribuidos en distintos servidores o un sitio Web. Sin importar
la aplicación específica, es útil describir a todos los sistemas en los términos de estas tres capas.

¿Cuántas capas?

Una de las formas comunes de arquitecturas de aplicación que se han descrito, está relacionada con la
cantidad de equipos distintos que ejecutan porciones del sistema. La arquitectura más simple se ha descrito
como un sistema de una sola capa, donde todo el programa (presentación, lógica funcional y datos) está en un
solo equipo. Ésta es la arquitectura utilizada por la mayoría de las aplicaciones de los consumidores, como
Microsoft Office, y por muchas aplicaciones de negocios diseñadas para que solo cierta cantidad de usuarios
las utilicen a la vez. Sólo la cantidad de equipos que realicen cierto tipo de procesamiento es importante. Un
programa cuyo archivos de datos se colocan en un servidor de archivos, de todas formas se considera como
una aplicación de una sola capa, puesto que todo el trabajo se realiza en un equipo, y el servidor de archivos
simplemente ofrece un lugar en la red para almacenar datos.

Por otro lado, cuando el programa utiliza un servidor de base de datos (como SQL Server u Oracle), se
considera como de dos capas, pues el servidor realiza cierto procesamiento a aplicaciones de negocios.
Permite que muchos usuarios trabajen con el mismo conjunto de datos y al mismo tiempo ofrece mejor
rendimiento que un sistema basado en archivos, como Microsoft Access.

Por último, la forma reciente de arquitecturas de aplicaciones se conoce como de tres capas o de n-capas, y
describe a los sistemas en los que el código se ejecuta en tres o más secciones distintas. La división lógica de
tal sistema consta de tres capas, pero la disposición física puede ser mayor a tres grupos distintos. Por lo
general, esto significa que se utiliza cierto tipo de código del cliente – como un sitio Web interactivo o una
aplicación de Windows, que ejecuta código que se encuentra en otro servidor o grupo de servidores para llevar
a cabo la lógica funcional – y una base de datos de apoyo. Esta arquitectura cada vez cobra mayor popularidad
dado que permite una gran flexibilidad para manejar a muchos usuarios y por ello satisface plenamente los
requerimientos de las aplicaciones basadas en Internet. Hay distintas formas técnicas de generar aplicaciones
de tres capas, pero el método recomendado por Microsoft antes de que .NET apareciera se llamaba Windows
DNA.
Plataforma .NET en Linux (Mono)

La plataforma .NET fue creado inicialmente para el sistema operativo Windows de Microsoft por Microsoft. En
el mundo de software libre al ver el potencial que tenía esta plataforma, surgió el Proyecto Mono (Mono Project).

El Proyecto Mono tiene como objetivo hacer que os desarrolladores sean más productivo y felices. Patrocinado
por Novel, el proyecto de código abierto Mono, tiene una comunidad activa y entusiasta que contribuye al
proyecto y esto logra que se posicione en un lugar como líder en opción para desarrollar aplicaciones en Linux.
Con el patrocinio de Novell, se pudo desarrollar la versión UNIX de la plataforma de desarrollo de .NET de
Microsoft. Esto permite a los desarrolladores crear aplicaciones que sobre Linux y que sea multiplataforma. Y
éste proyecto implementa varias tecnologías desarrolladas por Microsoft y que ya han sido presentadas al
ECMA para su estandarización.

El Proyecto Mono también ha generado muchísimo interés en el desarrollo de componentes basados en C#,
librerías y otras plataformas (frameworks). Los más importantes, algunas de las cuales fueron desarrolladas por
el equipo Mono son:

• Gtk#: Enlaces para la herramienta popular para GUI Gtk+ para sistemas Linux y Windows.
• #ZipLib: Una librería para manipular varios tipos de archivos compresos.
• Tao Framework: Enalces para OpenGL.
• Mono.Directory.LDAP / Novel.Directory.LDAP: Accesso LDAP para aplicaciones .NET.
• Mono.Data: Soporte para PostgreSQL, MySQL, Firebird, Sybase ASE, IBM DB2, SQLite, Microsoft SQL
Server, Oracle, and ODBC.
• Mono.Cairo: Enlaces para el motor de “rendering” Cairo.
• Mono.Posix / Mono.UNIX: Enlaces para construir aplicaciones POSIX utilizando C#.
• Mono.Remoting.Channels.Unix: Remoting basado en sockets the Unix.
• Mono.Security: Plataforma mejorada de seguridad y encriptación.
• Mono.Math: Generación de números tipo Prime y BigInteger.
• Mono.Http: Soporte para crear servidores HTTP y manejadores comunes de HTTP integrados y
personalizados para las aplicaciones.
• Mono.XML: Soporte extendido para XML.
• Managed.Windows.Forms (aka Systems.Windows.Forms): Una implementación completa y
multiplataforma del System.Drawing basado en la implementación de Winforms.
• Remoting.CORBA: Una implementación de CORBA para Mono.
• Ginzu: Una implementación encima de Remoting para “ICE stack”.

Estas son algunas de las librerías que fueron desarrolladas por el mismo equipo del Proyecto Mono.
IDEs utilizadas en el ambiente .Net

Visual Studio Express/Standard/Professional


Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) para sistemas
operativos Windows. Soporta varios lenguajes de programación tales como Visual C++, Visual C#, Visual J#,
ASP.NET y Visual Basic .NET, aunque actualmente se han desarrollado las extensiones necesarias para
muchos otros.

Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, así como servicios web
en cualquier entorno que soporte la plataforma .NET (a partir de la versión net 2002). Así se pueden crear
aplicaciones que se intercomuniquen entre estaciones de trabajo, páginas web y dispositivos móviles.
SharpDevelop (http://www.sharpdevelop.com/OpenSource/SD/Default.aspx)
SharpDevelop es un entorno de desarrollo integrado gratis para proyectos C# y VB.NET sobre la plataforma
Microsoft .NET. Es una aplicación de código libre (open-source), lo cual significa que se puede descargar el
código fuente y modificarlo para ajustarlo al uso de uno.
Eclipse con Emonic plugin (http://emonic.sourceforge.net/)
Emonic significa “Eclipse Mono Integration”. Es un plug-in para el IDE Eclipse que permite el desarrollo de
aplicaciones en C# con Mono o Microsoft .Net.

Este plug-in permite la utilización del famoso ambiente de desarrollo Eclipse, que normalmente se utiliza para
Java y entre otros lenguajes, desarrollar aplicaciones en la plataforma .Net. Las implementaciones .Net
soportadas son Mono 1.0, Mono 2.0, Microsoft .Net 1.0 y Microsoft .Net 2.0.
MonoDevelop (Windows/Linux) (http://monodevelop.com/)
MonoDevelop es un entorno de desarrollo integrado de GNOME, gratis. Fue diseñado principalmente para C# y
otros lenguajes .NET. MonoDevelop permite a los desarrolladores crear aplicaciones de escritorio y
aplicaciones web ASP.NET de forma rápida en Linux (principalmente). Esta también permite a los
desarrolladores portar el código de aplicaciones .NET creados en Visual Studio a Linux y mantener un sólo
código base para todas las plataformas de forma sencilla.
Cuadro Comparativo (Ventajas/Desventajas)

Visual Studio SharpDevelop Emonic MonoDevelop


Debugger Integrado    
Finalización de    
código (IntelliSense)
Diseñador Visual    
Refactor    
ASP.NET    
Compilador Interno    
Versión de 1.0, 2.0, 3.0, 3.5 2.0, 3.0, 3.5 1.0, 2.0, 3.0 2.0, 3.0
Plataforma
Facilidad de uso    
Silverlight    
WCF   
WPF    
Herramientas CASE para .Net (Estereotipos)
Estereotipos

Estereotipo Nombre del Descripción Ejemplo


Estereotipo
<<server Página del Estereotipo de
page>> servidor páginas para
representar la
clase de una
página del
servidor

<<client Página del Estereotipo de


page>> cliente páginas para
representar la
clase de una
página del
cliente

<<builds>> Construir Estereotipo para


representar que
una página del
servidor
construye una
página de
cliente.
<<redirects>> Redireccionar Estereotipo para
representar una
redirección de
una página a
otra.

<<links>> Enlaces Estereotipo para


representar
enlaces que
tiene una
página.
<<form>> Formulario Estereotipo para
representar los
formularios en
una página
cliente.

<<submit>> Enviar Estereotipo para


representar la
acción de envío
de datos de un
formulario para
su
procesamiento.

<<frameset>> Marco Estereotipo para


representar el
marco de una
página cliente.

<<target>> Objetivo Estereotipo para


representar la
referencia a una
página u otro
frame.
Manejador de base de datos para .Net

Historia de SQL como lenguaje de mandatos para el manejo de sistemas de administración


de base datos.

La historia de SQL empieza en 1974 con la definición, por parte de Donald Chamberlin y de
otras personas que trabajaban en los laboratorios de investigación de IBM, de un lenguaje
para la especificación de las características de las bases de datos que adoptaban el modelo
relacional. Este lenguaje se llamaba SEQUEL (Structured English Query Language) y se
implementó en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las
experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisión del
lenguaje (SEQUEL/2), que a partir de ese momento cambió de nombre por motivos legales,
convirtiéndose en SQL. El prototipo (System R), basado en este lenguaje, se adoptó y utilizó
internamente en IBM y lo adoptaron algunos de sus clientes elegidos. Gracias al éxito de
este sistema, que no estaba todavía comercializado, también otras compañías empezaron a
desarrollar sus productos relacionales basados en SQL. A partir de 1981, IBM comenzó a
entregar sus productos relacionales y en 1983 empezó a vender DB2. En el curso de los
años ochenta, numerosas compañías (por ejemplo Oracle y Sybase, sólo por citar algunos)
comercializaron productos basados en SQL, que se convierte en el estándar industrial de
hecho por lo que respecta a las bases de datos relacionales.

En 1986, el ANSI adoptó SQL (sustancialmente adoptó el dialecto SQL de IBM) como
estándar para los lenguajes relacionales y en 1987 se transfomó en estándar ISO. Esta
versión del estándar va con el nombre de SQL/86. En los años siguientes, éste ha sufrido
diversas revisiones que han conducido primero a la versión SQL/89 y, posteriormente, a la
actual SQL/92.
El hecho de tener un estándar definido por un lenguaje para bases de datos relacionales
abre potencialmente el camino a la intercomunicabilidad entre todos los productos que se
basan en él. Desde el punto de vista práctico, por desgracia las cosas fueron de otro modo.
Efectivamente, en general cada productor adopta e implementa en la propia base de datos
sólo el corazón del lenguaje SQL (el así llamado Entry level o al máximo el Intermediate
level), extendiéndolo de manera individual según la propia visión que cada cual tenga del
mundo de las bases de datos.
Actualmente, está en marcha un proceso de revisión del lenguaje por parte de los comités
ANSI e ISO, que debería terminar en la definición de lo que en este momento se conoce
como SQL3. Las características principales de esta nueva encarnación de SQL deberían ser
su transformación en un lenguaje stand-alone (mientras ahora se usa como lenguaje
hospedado en otros lenguajes) y la introducción de nuevos tipos de datos más complejos que
permitan, por ejemplo, el tratamiento de datos multimediales.

Manejador de base de datos sugerido

Microsoft SQLServer

La primera versión de Microsoft SQL Server, luego de un trabajo en conjunto entre Microsoft,
Sybase y Ashton-Tate (creadores de dBASE), fue puesta en el mercado en 1989 bajo el
nombre de SQL Server 1.0, y la herramienta fue refinada al paso de los años mediante las
versiones que listamos a continuación:

Versión Añ Nombre Nombre


o Oficial Código

1.0 198 SQL Server 1.0 -


(OS/2) 9

4.21 199 SQL Server 4.21 -


(WinNT) 3

6.0 199 SQL Server 6.0 SQL95


5

6.5 199 SQL Server 6.5 Hydra


6

7.0 199 SQL Server 7.0 Sphinx


8

- 199 SQL Server 7.0 Plato


9 OLAP Tools

8.0 200 SQL Server 2000 Shiloh


0

8.0 200 SQL Server 2000 Liberty


3 64-bit Edition

9.0 200 SQL Server 2005 Yukon


5

10.0 200 SQL Server 2008 Katmai


8

A partir de SQL 2005 se incluye el soporte nativo para data en XML, adicional a los tipos de
data relacional, para esto se define un tipo de datos XML el cual puede ser usado en
columnas de base de datos o en mandatos de SQL. También SQL 2005 permite al manejador
de base de datos ser accesado a través de Servicios Web (Web Services) utilizando
paquetes encapsulados con el protocolo SOA. Cuando la data es accesada a través de
Servicios Web, los resultados se retornan en XML.

Microsoft ofrece SQL Server en múltiples ediciones, con funciones diferentes y destinadas a
usuarios diferentes. Estas ediciones son:
SQL Server Compact Edition (SQL CE)
La edición compacta es un motor de base de datos embebido. A diferencia de las otras
ediciones de SQL Server, el motor de SQL Server CE se basa en SQL Mobile (inicialmente
diseñado para el uso con los dispositivos de mano) y no comparte los mismos archivos
binarios. Debido a su pequeño tamaño, tiene una marcada reducción en comparación con el
conjunto de características de las otras ediciones. Por ejemplo, se admite un subconjunto de
los tipos de datos estándar, no es compatible con los procedimientos almacenados o vistas o
de múltiples lotes de instrucción (entre otras limitaciones). Se limita a 4 GB de tamaño
máximo de base de datos y no se puede ejecutar como un servicio de Windows, Compact
Edition debe ser admitido por la aplicación de usarlo. La versión 3.5 incluye un trabajo
considerable que soporta los Servicios de Sincronización de ADO.NET.

SQL Server Developer Edition


SQL Server Developer Edition incluye las mismas características de SQL Server Enterprise
Edition, pero está limitado por la licencia para ser utilizado como un sistema de desarrollo y
prueba, y no como servidor de producción. Esta edición está disponible para descargar por
los alumnos de forma gratuita como parte del programa de Microsoft DreamSpark.

SQL Server 2005 Embedded Edition (SSEE)


El SQL Server 2005 Embedded Edition es una instancia con nombre configurado de manera
especial de forma que solo pueda ser accesado por determinados servicios de Windows,
tales como Sharepoint.

SQL Server Enterprise Edition


SQL Server Enterprise Edition es la edición con todas las características de SQL Server,
incluyendo el motor, tanto la base de datos básicos y servicios complementarios, mientras
que incluye una serie de herramientas para crear y gestionar un clúster de SQL Server.

Edición de evaluación de SQL Server


Edición de evaluación de SQL Server, también conocido como la edición de prueba, tiene
todas las características de la versión Enterprise Edition, pero está limitado a 180 días, tras lo
cual las herramientas seguirán funcionando, pero los servicios de servidor se detienen.

SQL Server Express Edition


SQL Server Express Edition es una edición gratuita y reducida de SQL Server, que incluye el
motor de base de datos central. Si bien no hay limitaciones en el número de usuarios de
bases de datos o el apoyo, se limita a la utilización de un procesador, memoria de 1 GB y 4
GB de archivos de base de datos. La base de datos se almacena en un único archivo. Mdf
archivo y, por lo que es adecuado para la implementación de XCOPY. Está concebido como
un sustituto de MSDE. SQL Server Express con Advanced Services añade una completa
capacidad de búsqueda de texto y servicios de información.

SQL Server Fast Track


SQL Server Fast Track es específicamente para la empresa el almacenamiento de datos de
negocio y procesamiento de inteligencia de negocios, y se ejecuta en hardware de referencia
que está optimizado para la Fast Track.

SQL Server Standard Edition


El SQL Server Standard Edition incluye el motor de base de datos central, junto con los
servicios independientes. Se diferencia de la edición Enterprise en que soporta menos
instancias activas (número de nodos en un cluster) y no incluye algunas funciones de alta
disponibilidad tales como adición en caliente de memoria (memoria para permitir que se
añade mientras el servidor está aún en marcha) e índices paralelos.

SQL Server Web Edition


El SQL Server Web Edition es una opción de bajo costo total de propiedad para web-hosting.

SQL Server Workgroup Edition


De SQL Server Workgroup Edition incluye la funcionalidad de base de datos central, pero no
incluye los servicios adicionales

Herramientas de ORM (Object Relational Mapping)


El ORM consiste en una técnica para crear una base de datos de objectos virtuales, mediante el mapeo de
tablas o queries a objects. Por ejemplo si en la base de datos existe una tabla de usuarios, mediante ORM se
crearia una clase llamada usuarios que tendría los mismos propiedades como columnas tiene la tabla original
de usuarios. Para la aplicación que utiliza la clase de usuarios se encapsula casi en su totalidad la conexión y
extracción de datos de la base de datos; interactuando con una lista de la clase de usuarios.
NHibernate
NHibernate es una implementación de ORM para el framework de .Net. Es una migración de la popular
Hibernate de Java. Entre sus principales caracterísicas y ventajas esta mapear entre clase de :Net a tablas en
la base de datos. Tambien proporciona herramientas para extraer y guardar datos. Una de las ventajas
pricipales que tiene NHibernate es la portabilidad de base de datos.
Bibliografía

Libros:

Mackensie, Duncan y Sharkey, Kent. Aprendiendo Visual Basic.NET. Prentice Hall. Primera Edición. Mexico,
2003.
ISBN: 970-26-0379-X
[Fecha de consulta: 4 de Septiembre de 2009]

Enlaces:

Npgsql - .Net Data Provider for Postgresql. The Npgsql Development Team. 2009. [Fecha de consulta: 4 de
Septiembre de 2009].
Disponible en:
http://npgsql.projects.postgresql.org/

Mono 2.4. mono. 2009. [Fecha de consulta: 16 de Septiembre de 2009].


Disponible en:
http://www.mono-project.com/

Modeling Web Application Design with UML. Jim Conallen [en línea]. 1998. [Fecha de consulta: 16 de
Septiembre de 2009].
Disponible en:
http://www.itmweb.com/essay546.htm

WAE UML Stereotypes, Stencils, Templates, and ASP.NET Patterns for Visio. Real World Software Architecture.
Sábado 17 de Marzo de 2007 [en línea]. [Fecha de consulta: 16 de Septiembre de 2009].
Disponible en:
http://realworldsa.blogspot.com/2007/03/wae-uml-stereotypes-stencils-templates.html

Das könnte Ihnen auch gefallen