Framework .NET 3.5 01 Conceptos básicos y entorno

23
Framework .NET 3.5 y Visual Studio 2008

Transcript of Framework .NET 3.5 01 Conceptos básicos y entorno

Page 1: Framework .NET 3.5 01 Conceptos básicos y entorno

Framework .NET 3.5

y Visual Studio 2008

Page 2: Framework .NET 3.5 01 Conceptos básicos y entorno

Framework .NET 3.5 y Visual Studio 2008

Conceptos básicos y entornoEntorno de desarrollo (IDE)Creación de solucionesEl Common Language RuntimeTipo y jerarquía de objetosOperativa básica del framework .NETProgramación orientada a objetosValidación de datosDepuración, monitorización y pruebasLINQSeguridadUso de System.DrawingProgramación orientada a la redGestión de archivos y SerializaciónConfiguración y despliegue de soluciones

Page 3: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

¿Qué es el .NET Framework?

Es una infraestructura de programación para el desarrollo, implantación y ejecución de aplicaciones y servicios.

Common Language Runtime Base Class Library

Common Language SpecificationDefine los estándares y las funcionalidades que deben proporcionar los programas para interoperar con otros usando el CLR como host.

Visual C#

Visual Basic

Visual J#

C++ JScript Otros

Page 4: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

El framework .NET da pleno soporte a las funcionalidades de programación orientada a objetos, por lo que no se requiere desarrollo alguno para la interacción entre distintos componentes, incluso de distintos lenguajes, ya que el entorno soporta clases, herencia, métodos, propiedades, eventos, polimorfismo, constructores y todas las construcciones propias de la programación orientada a objetos.Visual Studio 2008 nos proporciona una solución completa para el desarrollo eficaz con herramientas que simplifican la creación, despliegue y evolución de las aplicaciones y servicios.Entre los beneficios que ofrece Visual Studio 2008 para los desarrolladores y los equipos, podríamos destacar:

Los usuarios son más productivos y obtiene resultados más rápido.Se pueden construir un amplio abanico de aplicaciones y servicios.Los desarrolladores pueden comunicarse y colaborar eficazmente.

Page 5: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

Tecnologías .NET 3.0El Framework .NET 3.0 combina el potencia del Framework .NET 2.0 con nuevas Tecnologías, principalmente:Windows PresentationFoundation: Es un subsistema unificado de Presentación de soluciones para Windows.Consiste en un motor de visualización y un conjunto de clases.Windows Communication Foundation: conjunto de tecnologías para construir sistemas conectados. Permite integrar la mayoría de las tecnologías existentes para el desarrollo de servicios Web, operando entre diferentes plataformas de forma segura.Windows Workflow Foundation: es un modelo de programación y un conjunto de componentes para el desarrollo de soluciones de larga ejecución como flujos de trabajo declarativos.Windows CardSpace: solución estándar de Microsoft para la gestión de las identidades digitales.

Page 6: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

Tecnologías .NET 3.5Construido de forma incremental sobre el framework 3.0.Añade funcionalidad a WF, WCF, WPF y CardSpace.Mejoras en rendimiento:

Paginación en ADO.NET.Soporte para CPUs con varios procesadores.

Incremento en estándares Web: AJAX, JSON, REST, POX, RSS, ATOM y nuevos estándares WS-*.Nuevas funcionalidades en los lenguajes C# y VB.NET:

Métodos de extensión.Literales XML (sólo en VB.NET).Métodos Lambda.Árboles de expresión.

Integración profunda del lenguaje de consulta integrado LINQ y conocimiento de los datos en el código. Pudiendo acceder a orígenes de datos SQL, colecciones, XML y DataSets con una misma sintaxis.

Page 7: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

El Framework .NET de Microsoft es un entorno de gestión y ejecución de aplicaciones, en dos partes, independiente de la máquina en la que se ejecuta.Hay una parte específica a cada plataforma hardware/software sobre la que hayan de correr nuestros aplicativos, la cual ofrecerá un interfaz consistente e idéntico, en cualquier plataforma, a nuestros aplicativos.Y la otra parte que es la que se encarga de controlar y gestionar las ejecuciones, ofreciéndonos una base común al desarrollo, como iremos viendo a lo largo de este curso.Evidentemente, este entorno funcionará a pleno rendimiento para las aplicaciones desarrolladas específicamente para él, aunque no se excluye la utilización de aplicaciones y servicios desarrollados con otras tecnologías.

Page 8: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

El Framework .NET incluye un entorno de desarrollo (IDE) que nos permite generar todos los tipos de ejecutable soportado por el Framework, en cualquiera de los lenguajes incluidos, llamado Visual Studio.Todos estos lenguajes, totalmente orientados a objetos y componentes, nos ofrecen las mismas funcionalidades, con lo que la elección de uno u otro dependerá de las preferencias personales de cada desarrollador, no siendo ya necesario el que todo el equipo trabaje con el mismo lenguaje, ya que el entorno nos permite integrarlos todos indistintamente de una forma fluida.Para ello dispone de una colección de clases predefinidas conocida como la librería básica de clases (BCL) y un sistema común de tipos (CTS) , accesibles a todos los lenguajes soportados, los cuales facilitan la comunicación entre procesos.

Page 9: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

Todos los lenguajes soportados por el entorno son totalmente nuevos o han sido remodelados partiendo de 0, aunque ofreciendo la tradicional compatibilidad hacia atrás, típica de los lenguajes de Microsoft.Esto se ha hecho así para evitar las típicas rémoras de versiones anteriores, en cuanto a código obsoleto, pero permitiendo, todavía, la codificación tradicional, para aquellos de nosotros que aún se resisten al cambio.En cuanto a los nuevos lenguajes, el C#, es el que se conoce como el más nativo del entorno .NET Framework, no en balde todo el Visual Studio ha sido desarrollado con este lenguaje.El entorno de gestión (CLR) se encarga, además del control de la ejecución de los procesos, del control de la integridad y seguridad de los mismos, así como del control de acceso a los recursos del sistema.

Page 10: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

El entorno .NET está pensado para dar el más amplio soporte posible a todo lo relacionado con la red (ASP, WCF, Silverlight, Expression) al haberse convertido ésta, cada vez más, en plataforma de negocio, gestión e interrelaciones, tanto internas (Intranet) como externas (Internet). Abarcando las relaciones de negocio con clientes, proveedores y bancos, y siendo plataforma de comunicación de los empleados, sea cual sea el tipo de dispositivo utilizado.También se ha tenido en cuenta la actual diversidad de los orígenes de la información, dando soporte a todo tipo de tecnologías de almacenamiento y transmisión de información (ADO).Otra ventaja añadida es que el aspecto visual y el funcional de los desarrollos para escritorio y para la red pueden ser unificados (WPF), con lo que el usuario deja de saber dónde residen los procesos.

Page 11: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

También se ha potenciado y simplificado el desarrollo de servicios tanto para Windows como para Web, unificando la mayoría de las tecnologías existentes en el WCF, simplificando el desarrollo de este tipo de procesos.El entorno también se encarga de implementar la funcionalidad de gestión de la memoria no utilizada mediante el “Garbage Collector”.La instalación de nuevos procesos o su actualización ha sido enormemente facilitada, llegando a no ser mas que, en algunos casos, una simple copia de archivos.Estos dos últimos puntos redundan en una escalabilidad enormemente facilitada, lo cual no puede reportar más que beneficios a los departamentos de IT, totalmente saturados con las granjas de servidores, host heredados, sistemas históricos a mantener por motivos fiscales, firewalls, servidores de Internet/Intranet, servidores de correo, ….etc.

Page 12: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

Definiciones del Framework .NET de voces autorizadas, recopiladas de la red: ".NET Framework es un entorno para construir, instalar y

ejecutar servicios Web y otras aplicaciones. Se compone de tres partes principales: el Common Language Runtime, las clases Framework y ASP.NET“

"El .NET Framework es un entorno multi-lenguaje para la construcción, distribución y ejecución de Servicios Webs y aplicaciones."

"El .NET Framework es una nueva plataforma diseñada para simplificar el desarrollo de aplicaciones en el entorno distribuido de Internet."

El .NET Framework consta de dos componentes principales: el Common Language Runtime y la librería de clases .NET Framework."

Page 13: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

“El .NET Framework es el corazón de .NET, cualquier cosa que queramos hacer en cualquier lenguaje .NET debe pasar por el filtro cualquiera de las partes integrantes del .NET Framework. “

“Microsoft.NET Framework es el conjunto de nuevas tecnologías en las que Microsoft ha estado trabajando durante los últimos años con el objetivo de obtener una plataforma sencilla y potente para distribuir el software en forma de servicios que puedan ser suministrados remotamente y que puedan comunicarse y combinarse unos con otros de manera totalmente independiente de la plataforma, lenguaje de programación y modelo de componentes con los que hayan sido desarrollados.”

Page 14: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

“Simplificando mucho las cosas para poder dar una definición corta y comprensible, se podría decir que la plataforma .NET es un amplio conjunto de bibliotecas de desarrollo que pueden ser utilizadas por otras aplicaciones para acelerar enormemente el desarrollo y obtener de manera automática características avanzadas de seguridad, rendimiento, etc...”

En realidad .NET es todo esto y mucho más ya que nos ofrece nuevos lenguajes de programación, compiladores, soporte e integración para los tradicionales, un entorno gestionado de ejecución de programas y aplicaciones, y permite desarrollar todo tipo de funcionalidades: programas de consola, servicios Windows, aplicaciones para dispositivos móviles, desarrollos de escritorio, desarrollos para Internet, …

Page 15: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

Básicamente, se podría describir la filosofía de funcionamiento del .NET Framework con la siguiente secuencia:

Los programas se desarrollan bajo los paradigmas de programación orientada a objetos y a componentes, utilizando la biblioteca de clases básicas (BCL) de .NET Framework y el sistema común de tipos (CTS).Al compilarlos se genera un código intermedio (MSIL) en lugar del código binario de la programación tradicional.En cada máquina en la que se desee ejecutar, deberá estar instalado el entorno .NET Framework adecuado a la versión del mismo para la que se desarrolló y específico para el procesador de la máquina.Este entorno de ejecución será el encargado de traducir el código intermedio antes generado al código binario adecuado a la máquina, normalmente de forma incremental, compilando sólo aquello que se utiliza, en lugar del programa completo.

Page 16: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

Al tiempo el .NET Framework validará que el proceso que se intenta ejecutar no efectúa llamadas a recursos del sistema inadecuados o que puedan provocar errores o conflictos con el resto del sistema.También se encargará de generar el sub-entorno de ejecución necesario para poder lanzar, si fuera necesario, varias versiones del mismo proceso, sin que interfieran unas con otras.Estos sub-entornos serán los encargados de aislar, también, los procesos que se ejecuten en el servidor asociados a la programación Web.

Para todas estas tareas, .NET Framework dispone de varias especificaciones especializadas, como son:

El Common Language Runtime (CLR) el entorno de ejecución antes mencionado

Page 17: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

Common Language Specification (CLS) o especificación común de los lenguajes, que es parte de lo que facilita la intercomunicación entre los mismos.Common Type System (CTS) o sistema común de tipos, que permite que todos los lenguajes compartan los mismos tipos de dato, evitando las tradicionales incompatibilidades entre lenguajes debidas a esto.Microsoft Intermediate Language (MSIL), ya comentado, el lenguaje generado por los compiladores .NET, soportado por el CLR.Los assemblies o ensamblados, agrupaciones de código, recursos e información complementaria que se generan desde el IDE (interfaz de desarrollo) y utilizados por el CLR para controlar la ejecución.ASP.NET, que es la parte implementada para el desarrollo Web.

Page 18: Framework .NET 3.5 01 Conceptos básicos y entorno

Conceptos básicos y entorno

Gráficamente sería:

Librería de clases básicas BCL

Entorno común de ejecución CLR

ASP .NET Formularios Windows

Controles Dibujo

Servicios de aplicaciones Windows

Servicios Web

Servicios de aplicaciones ASP.NET

Formularios Web

Entrada/Salida XML ADO.NET Hilos

Colecciones Red Diagnósticos Y más…

Gestión de memoriaSistema Común de

Tipos (CTS)Supervisión del ciclo

de ejecución

Page 19: Framework .NET 3.5 01 Conceptos básicos y entorno

Tipos de soluciones

Este entorno de trabajo, con su IDE, nos permite desarrollar los siguientes tipos de soluciones:

Aplicaciones Windows: también llamadas Windows Forms, son los tradicionales programas de ventana en el escritorio a los cuales estábamos casi relegados con los lenguajes de programación tradicionales en Windows.Aplicaciones Web: que son la actual tendencia en el mundo empresarial, yendo mucho más allá de los que se entiende como “páginas Web”.Servicios Windows: pequeños, o no tan pequeños, módulos de aplicación, que suelen arrancar automáticamente y con un entorno de seguridad distinto del usuario del sistema.Servicios Web: habitualmente, suministros de información o funcionalidades muy concretas para aplicaciones Web o de escritorio.Aplicaciones de consola: o de ventana del DOS, muy utilizadas en el mundo de la técnica de sistemas.

Page 20: Framework .NET 3.5 01 Conceptos básicos y entorno

Tipos de soluciones

Los tipos de soluciones se caracterizan, entre otras, por el cliente sobre el que se han de ejecutar. Siendo estos clientes la denominación por la que conoce al tipo de presentación de las soluciones de negocio a los usuarios.

Cliente Windows: es el cliente estándar de Windows, basado en formularios SDI o MDI, es decir de formulario único o múltiple. Los SDI pueden presentar otros sub-formularios en paneles o pestañas, habitualmente distintos entre sí. En cambio, los MDI suelen ser del tipo contenedor para la presentación de múltiples instancias del mismo tipo de formulario contenido (Office). Este tipo de cliente es el adecuado cuando se requiere la presentación de un interfaz de usuario rico, con mucha funcionalidad y que requiera hacer uso del escritorio del usuario. Requiere la instalación del Framework en cada máquina que vaya a usar el aplicativo. Puede conectarse a unidades de red o incluso utilizar servicios Web.

Page 21: Framework .NET 3.5 01 Conceptos básicos y entorno

Tipos de soluciones

Smart client: aplicaciones accedidas mediante navegador, aunque con un comportamiento de escritorio, corriendo en la máquina del usuario. Permiten una gran interactividad de usuario, pero trabajando desde un servidor web, para aprovechar la omnipresencia de Internet.Cliente basado en navegador: denominación empleada para designar las aplicaciones Web. Corren desde un servidor Web y tienen, de cara al usuario, algunas limitaciones con respecto a las aplicaciones Windows.Cliente con soporte para AJAX: para los clientes basados en navegador que aprovechan las ventajas de JavaScript para ofrecer funcionalidades del tipo Windows Forms (como el Outlook Web Access), lo cual permite a los usuarios una experiencia mucho más interactiva desde navegador.

Page 22: Framework .NET 3.5 01 Conceptos básicos y entorno

Tipos de soluciones

Cliente de Office: para las aplicaciones construidas con interfaz de usuario Word, Excel o Outlook. Tienen la gran ventaja de ofrecer al usuario un interfaz totalmente conocido, manteniendo la facilidad de acceso al escritorio y a los servicios de red. Requiere que la versión específica de Office esté instalada en cada máquina en la que se vaya a utilizar.Windows Mobile: como su propio nombre indica, para aquellas aplicaciones desarrolladas para interactuar con el usuario mediante dispositivos móviles, que ejecuten alguno de los sistemas operativos móviles de Windows, habitualmente PDA y SmartPhones.

Page 23: Framework .NET 3.5 01 Conceptos básicos y entorno

Tipos de soluciones

Otro de los factores que influyen en el tipo de soluciones que desarrollemos es la profundidad de separación en capas que deseemos emprender, siendo el más habitual el diseño en 3 capas, las cuales pueden llegar a subdividirse en caso necesario según un esquema del tipo:

Interfaz de Usuario:Presentación o experiencia de usuario.Código de la interfaz de usuario.Código de interacción con la lógica de negocio.

Lógica de Negocio:Servicios de negocio.Servicios de Aplicación.Enlace a datos.

Base de datos:Enlace a datos.Procedimientos almacenados.Servicios de integración.Elementos de la base de datos.