Framework .NET 3.5 01 Conceptos básicos y entorno

5,766 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,766
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
123
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Framework .NET 3.5 01 Conceptos básicos y entorno

  1. 1. Framework .NET 3.5 y Visual Studio 2008<br />
  2. 2. Framework .NET 3.5 y Visual Studio 2008<br />Conceptos básicos y entorno<br />Entorno de desarrollo (IDE)<br />Creación de soluciones<br />El Common Language Runtime<br />Tipo y jerarquía de objetos<br />Operativa básica del framework .NET<br />Programación orientada a objetos<br />Validación de datos<br />Depuración, monitorización y pruebas<br />LINQ<br />Seguridad<br />Uso de System.Drawing<br />Programación orientada a la red<br />Gestión de archivos y Serialización<br />Configuración y despliegue de soluciones<br />
  3. 3. Conceptos básicos y entorno<br />¿Qué es el .NET Framework?<br />Es una infraestructura de programación para el desarrollo, implantación y ejecución de aplicaciones y servicios.<br />Visual C#<br />Visual Basic<br />Visual J#<br />C++<br />JScript<br />Otros<br />CommonLanguageSpecification<br />Define los estándares y las funcionalidades que deben proporcionar los programas para interoperar con otros usando el CLR como host.<br />Common Language Runtime<br />Base Class Library<br />
  4. 4. Conceptos básicos y entorno<br />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.<br />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.<br />Entre los beneficios que ofrece Visual Studio 2008 para los desarrolladores y los equipos, podríamos destacar:<br />Los usuarios son más productivos y obtiene resultados más rápido.<br />Se pueden construir un amplio abanico de aplicaciones y servicios.<br />Los desarrolladores pueden comunicarse y colaborar eficazmente.<br />
  5. 5. Conceptos básicos y entorno<br />Tecnologías .NET 3.0<br />El Framework .NET 3.0 combina el potencia del <br />Framework .NET 2.0 con nuevas <br />Tecnologías, principalmente:<br />Windows Presentation<br />Foundation: Es un subsistema <br />unificado de Presentación de <br />soluciones para Windows.<br />Consiste en un motor de visualización y un conjunto de clases.<br />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.<br />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.<br />Windows CardSpace: solución estándar de Microsoft para la gestión de las identidades digitales.<br />
  6. 6. Conceptos básicos y entorno<br />Tecnologías .NET 3.5<br />Construido de forma incremental sobre el framework 3.0.<br />Añade funcionalidad a WF, WCF, WPF y CardSpace.<br />Mejoras en rendimiento:<br />Paginación en ADO.NET.<br />Soporte para CPUs con varios procesadores.<br />Incremento en estándares Web: AJAX, JSON, REST, POX, RSS, ATOM y nuevos estándares WS-*.<br />Nuevas funcionalidades en los lenguajes C# y VB.NET:<br />Métodos de extensión.<br />Literales XML (sólo en VB.NET).<br />Métodos Lambda.<br />Árboles de expresión.<br />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.<br />
  7. 7. Conceptos básicos y entorno<br />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.<br />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.<br />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.<br />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.<br />
  8. 8. Conceptos básicos y entorno<br />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.<br />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.<br />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.<br />
  9. 9. Conceptos básicos y entorno<br />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.<br />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.<br />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.<br />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.<br />
  10. 10. Conceptos básicos y entorno<br />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.<br />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).<br />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.<br />
  11. 11. Conceptos básicos y entorno<br />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.<br />El entorno también se encarga de implementar la funcionalidad de gestión de la memoria no utilizada mediante el “Garbage Collector”.<br />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.<br />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.<br />
  12. 12. Conceptos básicos y entorno<br />Definiciones del Framework .NET de voces autorizadas, recopiladas de la red:<br /><ul><li>".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“
  13. 13. "El .NET Framework es un entorno multi-lenguaje para la construcción, distribución y ejecución de Servicios Webs y aplicaciones."
  14. 14. "El .NET Framework es una nueva plataforma diseñada para simplificar el desarrollo de aplicaciones en el entorno distribuido de Internet."
  15. 15. El .NET Framework consta de dos componentes principales: el Common Language Runtime y la librería de clases .NET Framework." </li></li></ul><li>Conceptos básicos y entorno<br /><ul><li>“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. “
  16. 16. “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.” </li></li></ul><li>Conceptos básicos y entorno<br /><ul><li>“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...”</li></ul>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, …<br />
  17. 17. Conceptos básicos y entorno<br />Básicamente, se podría describir la filosofía de funcionamiento del .NET Framework con la siguiente secuencia:<br />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).<br />Al compilarlos se genera un código intermedio (MSIL) en lugar del código binario de la programación tradicional.<br />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.<br />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.<br />
  18. 18. Conceptos básicos y entorno<br />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.<br />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.<br />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.<br />Para todas estas tareas, .NET Framework dispone de varias especificaciones especializadas, como son: <br />El Common Language Runtime (CLR) el entorno de ejecución antes mencionado<br />
  19. 19. Conceptos básicos y entorno<br />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.<br />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.<br />Microsoft Intermediate Language (MSIL), ya comentado, el lenguaje generado por los compiladores .NET, soportado por el CLR.<br />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.<br />ASP.NET, que es la parte implementada para el desarrollo Web.<br />
  20. 20. Conceptos básicos y entorno<br />Gráficamente sería:<br />ASP .NET<br />Formularios Windows<br />Controles<br />Dibujo<br />Servicios Web<br />Formularios Web<br />Servicios de aplicaciones Windows<br />Servicios de aplicaciones ASP.NET<br />Entrada/Salida<br />XML<br />ADO.NET<br />Hilos<br />Librería de clases básicas BCL<br />Colecciones<br />Red<br />Diagnósticos<br />Y más…<br />Gestión de memoria<br />Sistema Común de Tipos (CTS)<br />Supervisión del ciclo de ejecución<br />Entorno común de ejecución CLR<br />
  21. 21. Tipos de soluciones<br />Este entorno de trabajo, con su IDE, nos permite desarrollar los siguientes tipos de soluciones:<br />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.<br />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”.<br />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.<br />Servicios Web: habitualmente, suministros de información o funcionalidades muy concretas para aplicaciones Web o de escritorio.<br />Aplicaciones de consola: o de ventana del DOS, muy utilizadas en el mundo de la técnica de sistemas.<br />
  22. 22. Tipos de soluciones<br />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.<br />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.<br />
  23. 23. Tipos de soluciones<br />Smartclient: 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.<br />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.<br />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.<br />
  24. 24. Tipos de soluciones<br />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.<br />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.<br />
  25. 25. Tipos de soluciones<br />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:<br />Interfaz de Usuario:<br />Presentación o experiencia de usuario.<br />Código de la interfaz de usuario.<br />Código de interacción con la lógica de negocio.<br />Lógica de Negocio:<br />Servicios de negocio.<br />Servicios de Aplicación.<br />Enlace a datos.<br />Base de datos:<br />Enlace a datos.<br />Procedimientos almacenados.<br />Servicios de integración.<br />Elementos de la base de datos.<br />

×