lunes, 12 de noviembre de 2012

Introduccion a .Net Framework

Introduccion a .Net Framework 

 Desde hace algunos años .Net ha venido siendo la estrategia que ha desarrollado Microsoft para ofrecer de manera rápida y asequible,a la vez que segura y robusta, un ambiente para desarrollar soluciones, permitiendo una integración más rápida y ágil entre empresas y un acceso más simple y universal a todo tipo de información desde cualquier tipo de dispositivo.

En la cima de esta tecnologia se encuentra el .Net Framework que representa el fundamento para el desarrollo y la ejecución de potentes programas ya que hace énfasis en la transparencia de redes, con independencia de plataforma de hardware lo cual posibilita un rápido desarrollo de aplicaciones. Basado en este Framework, la empresa intenta desarrollar una estrategia horizontal que integre todos sus productos, desde el sistema operativo hasta las herramientas de mercado.

    Muchas empresas e instituciones se han unido a Microsoft en el desarrollo y fortalecimiento de la plataforma .NET,como consecuencia de las grandes ventajas que la disponibilidad de una plataforma de este tipo puede darle a las empresas de tecnología y al público en general.Con .Net Microsoft incursiona de lleno en el campo de los Servicios Web y establece el XML como norma en el transporte de información en sus productos y lo promociona como tal en los sistemas desarrollados utilizando sus herramientas.

  Esta plataforma es el producto principal en la oferta de Microsoft, y pretende ser utilizada por la mayoría de las aplicaciones creadas para Windows ya que es un componente de software que puede ser añadido a este sistema operativo y que posee un conjunto de soluciones predefinidas para necesidades generales de la programación de aplicaciones, ademas de que administra la ejecución de los programas escritos específicamente con la plataforma.
A partir de la aparición del sistema operativo Windows Server 2003, el .NET Framework forma parte habitual del volumen de entrega del Windows. El nuevo Windows 7 viene con la versión 3.5 del Framework.Una versión "reducida" de .NET Framework está disponible para la plataforma Windows Mobile, incluyendo teléfonos inteligentes.

Como principales componentes de la plataforma podemos citar:

  • El conjunto de lenguajes de programación.

Como consecuencia de la publicación de la norma para la infraestructura común de lenguajes (CLI por sus siglas en inglés), el desarrollo de lenguajes se facilita, por lo que el marco de trabajo .NET soporta ya más de 20 lenguajes de programación y es posible desarrollar cualquiera de los tipos de aplicaciones soportados en la plataforma con cualquiera de ellos, lo que elimina las diferencias que existían entre lo que era posible hacer con uno u otro lenguaje.
Algunos de los lenguajes desarrollados para el marco de trabajo .NET son: C#, Visual Basic .NET, Delphi (Object Pascal), C++, F#, J#, Perl, Python, Fortran, Prolog (existen al menos dos implementaciones, el P# y el Prolog.NET ), Cobol y PowerBuilder.


  • El entorno común de ejecución para lenguajes, o CLR por sus siglas en inglés.(quizas el mas importante)

El Common Language Runtime o CLR es el motor de la plataforma. NET y es el encargado de gestionar la ejecución de las aplicaciones .NET, a las cuales ofrece númerosos servicios para simplificar su desarrollo, favoreciendo con ello su fiabilidad y seguridad por lo cual se convierte en el verdadero núcleo de la plataforma. Dicho de otro modo es aqui donde se cargan las aplicaciones desarrolladas en los distintos lenguajes y compila ese codigo fuente de cualquiera de los lenguajes soportados por .NET en un código intermedio, esto lo hace con el CIL(Common Intermediate Language),luego para ejecutarse se necesita un segundo paso, un compilador JIT (Just-In-Time) que es el que genera el código máquina real que se ejecuta en la plataforma del cliente. De esta manera .NET consigue independencia de la plataforma de hardware.
Las principales caracteristicas y servicios del CLR son:
-Modelo de programación consistente:A todos los servicios ofrecidos por el CLR se accede de la misma forma: a través de un
modelo de programación orientada a objetos
-Modelo de programación sencillo: Con el CLR desaparecen muchos elementos complejos incluidos en los sistemas operativos
actuales (registro de Windows, GUIDs, HRESULTS, IUnknown, etc.)
-Ejecución multiplataforma:El CLR actúa como una máquina virtual, encargándose de ejecutar las aplicaciones diseñadas para la plataforma .NET
-Aislamiento de procesos: El CLR asegura que desde código perteneciente a un determinado proceso no se pueda acceder a código o datos pertenecientes a otro, lo que evita errores de programación muy frecuentes e impide que unos procesos puedan atacar a otros.
-Tratamiento de excepciones: En el CLR todo los errores que se puedan producir durante la ejecución de una aplicación se
propagan de igual manera: mediante excepciones.
-Soporte multihilo: El CLR es capaz de trabajar con aplicaciones divididas en múltiples hilos de ejecución que pueden ir
evolucionando por separado en paralelo o intercalándose, según el número de procesadores de la máquina sobre la que se
ejecuten.
-Distribución transparente: El CLR ofrece la infraestructura necesaria para crear objetos remotos y acceder a ellos de manera completamente transparente a su localización real, tal y como si se encontrasen en la máquina que los utiliza.
-Seguridad avanzada: El CLR proporciona mecanismos para restringir la ejecución de ciertos códigos o los permisos asignados a los mismos según su procedendecia o el usuario que los ejecute.
-Gestión de memoria: El CLR incluye un recolector de basura que evita que el programador tenga que tener en cuenta cuándo ha de destruir los objetos que dejen de serle útiles.
-Interoperabilidad con código antiguo: El CLR incorpora los mecanismos necesarios para poder acceder desde código escrito para la plataforma .NET a código escrito previamente a la aparición de la misma y, por tanto, no preparado para ser ejecutando dentro de ella.

  • -La biblioteca de clases base o BCL:

Serviría de muy poco a los desarrolladores el contar con una plataforma de ejecución de aplicaciones tan sofisticada y robusta como el CLR sin tener además un conjunto de funcionalidades y componentes empaquetados listos para aprovechar y reutilizar en sus aplicaciones. Justamente ese es el propósito de la .NET Framework Class Library (Biblioteca de Clases del .NET Framework), que provee cientos de tipos básicos (clases e interfaces principalmente) orientados a objetos, extensibles mediante herencia, independientes del lenguaje de programación de alto nivel que se desee utilizar y organizados en namespaces jerárquicos.
La biblioteca de clases de .Net Framework incluye, entre otros, tres componentes clave:
ASP.NET para construir aplicaciones y servicios Web.
Windows Forms para desarrollar interfaces de usuario.
ADO.NET para conectar las aplicaciones a bases de datos.