Your SlideShare is downloading. ×

Tecnologia .net

172

Published on

todo lo de .NET

todo lo de .NET

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
172
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 1 de 16 TECNOLOGIA .NET Antes de decir qué es .NET, es conveniente aclarar qué NO es .NET:  .NET no es un sistema operativo, como si lo es Microsoft Windows en sus distintas versiones.  .NET no es un Lenguaje de Programación: si bien la plataforma Microsoft .NET incluye lenguajes de programación de aplicaciones, su concepto es más amplio y va más allá de éstos.  .NET no es un Entorno de Desarrollo: si bien la plataforma Microsoft .NET incluye entornos de desarrollo integrados (IDEs), su concepto es más amplio y va más allá de éstos.  .NET no es un servidor de aplicaciones (Application Server)  .NET no es un producto empaquetado que se pueda comprar como tal, sino que es una plataforma que engloba distintas aplicaciones, servicios y conceptos y que en conjunto permiten el desarrollo y la ejecución de aplicaciones. Qué es Microsoft .NET Microsoft .NET es un conjunto de herramientas, tecnologías y servicios que facilita la construcción de aplicaciones de todo tipo. Microsoft.NET es el conjunto de nuevas tecnologías en las que Microsoft ha estado trabajando durante los últimos años con los objetivos de:  Mejorar sus sistemas operativos  Mejorar su modelo de componentes COM+  Obtener un entorno específicamente diseñado para el desarrollo y ejecución del software en forma de servicios que puedan ser tanto publicados como accedidos a través de Internet de forma independiente del lenguaje de programación, modelo de objetos, sistema operativo y hardware utilizados tanto para desarrollarlos como para publicarlos. Éste entorno es lo que se denomina la plataforma.NET, y los servicios antes mencionados son a los que se denomina servicios web. .NET es un framework de Microsoft que hace un énfasis en la transparencia de redes, con independencia de plataforma de hardware y que permita un rápido desarrollo de aplicaciones. Basado en ella, la empresa intenta desarrollar una estrategia horizontal que integre todos sus productos, desde el sistema operativo hasta las herramientas de mercado.
  • 2. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 2 de 16 .NET podría considerarse una respuesta de Microsoft al creciente mercado de los negocios en entornos Web, como competencia a la plataforma Java de Oracle Corporation y a los diversos framework de desarrollo web basados en PHP. Su propuesta es ofrecer una manera rápida y económica, a la vez que segura y robusta, de desarrollar aplicaciones –o como la misma plataforma las denomina, 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. Microsoft .NET es una plataforma de desarrollo y ejecución de aplicaciones, que facilita el proceso de construcción de programas multipropósito, tanto en entornos cliente como en entornos Web o móviles. Microsoft .NET está construido sobre una arquitectura abierta. La plataforma .NET incluye una amplia gama de productos creados para trabajar con los estándares de XML e Internet. Estos productos incluyen los siguientes componentes que trabajan con soluciones basadas en XML:  Herramientas para desarrollar soluciones.  Servidores para gestionar, crear e implantar soluciones.  Servicios para integrar, conectar y reutilizar soluciones. Una parte importante de esta plataforma es el software de los dispositivos clientes y servidores, que ha sido el mercado habitual de Microsoft. Para los dispositivos clientes, Microsoft planea integrar .NET en cualquier dispositivo como PCs con Windows, agendas electrónicas con Pocket PC, teléfonos móviles, su consola X-box en Web TV. El objetivo de esta arquitectura es la de:  Reducir la complejidad en el desarrollo de de aplicaciones.  Proporcionar un entorno de ejecución robusto y seguro.  Obtener un entorno específicamente diseñado para el desarrollo y ejecución del software en forma de servicios que puedan ser tanto publicados como accedidos a través de Internet, de forma independiente del lenguaje de programación, modelo de objetos, sistema operativo y hardware utilizados tanto para desarrollarlos como para publicarlos.
  • 3. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 3 de 16 Que problemas resuelve .NET? El objetivo de .NET es eliminar varios de los problemas que se le presentan a los desarrolladores.  Intercambiar datos entre distintas aplicaciones.  La plataforma integra infraestructura común a varios desarrollos. Esto implicaba que para cambiar de lenguaje, era necesario, aparte de conocer la sintaxis del lenguaje, conocer las librerías a utilizar. En la plataforma .NET estas librerías o clases son comúnes a los lenguajes, con lo que los desarrolladores no tienen que aprender una nueva librería cuando cambian de lenguaje.  Soporta múltiples lenguajes de programación. Aplicaciones y servicios que se pueden construir a base de la plataforma .NET.  Aplicaciones de consola  Aplicaciones móviles  Aplicaciones basadas en Web  Aplicaciones GUI de Windows (formularios Windows Forms)  Aplicaciones de ASP.NET  Aplicaciones de escritorio  Servicios Web XML  Servicios de Windows Las principales ventajas derivadas de la utilización de la plataforma .NET de Microsoft son:  Interoperabilidad Multilenguaje. .NET Soporta aplicaciones con componentes en múltiples lenguajes lo que permite integrar desarrolladores de distintos perfiles.  Documentación. .NET ofrece mucha documentación de ayuda (herramientas, debuggers, editores) incluida en la IDE y de soporte. Esto simplifica el desarrollo y la implementación.
  • 4. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 4 de 16  Rendimiento: Todos los códigos que se ejecutan en el ambiente .NET son compilados, lo cual proporciona un gran rendimiento a diferencia de versiones interpretadas.  Rápido aprendizaje por parte de los desarrolladores. Es sencillo de aprender por la documentación y el soporte de ayuda.  Movilidad. Las aplicaciones pueden ser desplegadas en una amplia variedad de dispositivos.  Escalabilidad y flexibilidad. Escalabilidad es la capacidad de un sistema para soportar más carga de trabajo, usualmente debida al aumento de usuarios que lo utilizan. .NET ofrece métodos de escalabilidad como la carga balanceada que permite a un cluster de servidores (varios servidores) colaborar y dar un servicio de forma simultánea. En cuanto a la flexibilidad: el modo de programación que se emplea permite agregar nuevos módulos sin modificar la aplicación en su totalidad.  Seguridad. .NET da respaldo para ejecutar código no seguro.  Estándar abierto: La plataforma .NET está basada en estándares (HTML, XML, SOAP, WSDL, UDDI). Desventajas de .NET  Mantenimiento en múltiples lenguajes. Mantener un proyecto en múltiples lenguajes es costoso. Si una aplicación está realizada en varios lenguajes se necesitan expertos en varios lenguajes para entenderla y mantenerla, aumentando los costos.  NET no es multiplataforma. La plataforma .NET sólo esta disponible para la familia Windows.  Licencias: Es un código cerrado, no hay licencias libres. La infraestructura para desarrollar en .NET representa un alto costo para las empresas.  Portabilidad. Hay productos que ofrecen mucha más portabilidad que .NET, que sólo está preparada para ejecutarse sobre plataformas Microsoft (Windows).
  • 5. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 5 de 16 COMPONENTES DE .NET Los principales componentes del marco de trabajo son:  El conjunto de lenguajes de programación.  La biblioteca de clases base o BCL.  El entorno común de ejecución para lenguajes, o CLR por sus siglas en inglés. Debido a 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. Biblioteca de clases base BCL La librera de clases base son las clases sobre las cuales se construyen todas las demás clases que utilizan los programas de Visual Studio .NET. La clase madre de todas es System. A partir de ella por un mecanismo llamado herencia de clases, se construyen las demás clases. Debido a que en la librería de clases base hay muchas clases, se utiliza para identificarlas un mecanismo llamado espacio de nombres (namespace). La parte del nombre de la clase que se encuentra a la derecha del último punto se llama tipo de la clase. Todo lo que resta se llama espacio de nombres. Por ejemplo: En la clase llamada System.Runtime.InteropServices, InteropServices es el tipo de la clase y System.Runtime es el espacio de nombre. El espacio de nombre es una manera de organizar en grupos las distintas clases. Esto hace más manejable y fácil su uso. La librera de clases base es independiente del lenguaje. Permite el uso y la depuración de otros lenguajes. Es extensible ya que por el mecanismo de herencia el usuario puede crear nuevas clases que usan las clases base como "ladrillos". También el usuario puede incorporarlas en bibliotecas para su utilización posterior. Es segura ya
  • 6. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 6 de 16 que es posible permitir o restringir su uso por medio de distintos mecanismos de seguridad. 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. CLR El Common Language Runtime (CLR) es el núcleo de la plataforma .NET. Es el motor encargado de gestionar la ejecución de las aplicaciones para ella desarrolladas y a las que ofrece numerosos servicios que simplifican su desarrollo y favorecen su fiabilidad y seguridad. Las principales características y servicios que ofrece el CLR son:  Eliminación del “infierno de las DLLs”: En la plataforma .NET desaparece el problema conocido como “infierno de las DLLs” que se da en los sistemas operativos actuales de la familia Windows, problema que consiste en que al sustituirse versiones viejas de DLLs compartidas por versiones nuevas puede que aplicaciones que fueron diseñadas para ser ejecutadas usando las viejas dejen de funcionar si las nuevas no son 100% compatibles con las anteriores. En la plataforma .NET las versiones nuevas de las DLLs pueden coexistir con las viejas, de modo que las aplicaciones diseñadas para ejecutarse usando las viejas podrán seguir usándolas tras instalación de las nuevas. Esto, obviamente, simplifica mucho la instalación y desinstalación de software.  Ejecución multiplataforma: El CLR actúa como una máquina virtual, encargándose de ejecutar las aplicaciones diseñadas para la plataforma .NET. Es decir, cualquier plataforma para la que exista una versión del CLR podrá ejecutar cualquier aplicación .NET. Microsoft ha desarrollado versiones del CLR para la mayoría de las versiones de Windows: Windows 95, Windows 98, Windows ME, Windows NT 4.0, Windows 2000, Windows XP y Windows CE (que puede ser usado en CPUs que no sean de la familia x86) Por otro lado Microsoft ha firmado un acuerdo con Corel
  • 7. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 7 de 16 para portar el CLR a Linux y también hay terceros que están desarrollando de manera independiente versiones de libre distribución del CLR para Linux. Asimismo, dado que la arquitectura del CLR está totalmente abierta, es posible que en el futuro se diseñen versiones del mismo para otros sistemas operativos.  Integración de lenguajes: Desde cualquier lenguaje para el que exista un compilador que genere código para la plataforma .NET es posible utilizar código generado para la misma usando cualquier otro lenguaje tal y como si de código escrito usando el primero se tratase. Microsoft ha desarrollado un compilador de C# que genera código de este tipo, así como versiones de sus compiladores de Visual Basic (Visual Basic.NET) y C++ (C++ con extensiones gestionadas) que también lo generan y una versión del intérprete de JScript (JScript.NET) que puede interpretarlo. La integración de lenguajes es tal que es posible escribir una clase en C# que herede de otra escrita en Visual Basic.NET que, a su vez, herede de otra escrita en C++ con extensiones gestionadas.
  • 8. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 8 de 16 http://www.slideshare.net/PauloGuerraT/1-plataforma-net
  • 9. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 9 de 16 Lenguajes de programación Algunos de los lenguajes desarrollados para el marco de trabajo .NET son: C#, F#, J#, Visual Basic, Delphi, C++, Perl, Python, Fortran, Prolog, Cobol, PowerBuilder entre otros. Lenguaje Descripción C# C# (pronunciado si sharp en inglés) es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA e ISO. C# es uno de los lenguajes de programación diseñados para la infraestructura de lenguaje común. Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes. El nombre C Sharp fue inspirado por la notación musical, donde '#' (sostenido, en inglés sharp) indica que la nota (C es la nota do en inglés) es un semitono más alta, sugiriendo que C# es superior a C/C++. Además, el signo '#' viene de cuatro '+' pegados.1 F# F# (pronunciado F Sharp) es un lenguaje de programación multiparadigma, para la plataforma .NET, que conjunta la programación funcional con las disciplinas imperativa y orientada a objetos. Es una variante del lenguaje de programación ML y es compatible con la implementación Objective Caml. F# fue inicialmente desarrollado por Don Syme de Microsoft Research, pero actualmente está siendo desarrollado por la División de Desarrolladores de Microsoft y es distribuido como un lenguaje totalmente soportado en la plataforma .NET y Visual Studio 2010.
  • 10. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 10 de 16 Lenguaje Descripción F# permite al programador programar de una manera que se asemeja más a como pensamos. Por ejemplo: en la cafetería para pedir un café, nosotros generalmente no le decimos al mesero exactamente los pasos para hacer el café, sólo pedimos un café con ciertas características. De tal forma que tenemos menos espacio para cometer errores, porque simplemente escribimos menos código. J# El lenguaje de programación J# (o J-sharp) es un lenguaje transicional para programadores del lenguaje de programación Java y del lenguaje J++ de Microsoft, creado con la intención de que ambos puedan usar sus conocimientos actuales para crear aplicaciones en la plataforma .NET de Microsoft. J# se supone compatible con Java, tanto a nivel código fuente, como binario. En teoría, J# puede ser usado para transicionar aplicaciones que usan bibliotecas de terceros, aun cuando el código de éstas no esté disponible. De la misma forma que sucedía con J++, J# sólo soporta un subconjunto limitado de las características de Java. Visual Basic Visual Basic es un lenguaje de programación dirigido por eventos, desarrollado por Alan Cooper para Microsoft. Este lenguaje de programación es un dialecto de BASIC, con importantes agregados. Su primera versión fue presentada en 1991, con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas y, en cierta medida, también la programación misma. En 2001 Microsoft propuso abandonar el desarrollo basado en la API Win32 y pasar a un framework o marco común de librerías, independiente de la versión del sistema operativo, .NET Framework, a través de Visual Basic .NET (y otros lenguajes como C Sharp (C#) de fácil transición de código entre ellos); fue el sucesor de Visual Basic 6.
  • 11. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 11 de 16 Lenguaje Descripción Delphi La programación en Delphi es un entorno de desarrollo flexible y potente. Además es intérprete de un lenguaje llamado Object Pascal. Como su propio nombre indica, el Object Pascal (usado por Delphi) es un lenguaje totalmente orientado a objetos. Prácticamente todos los elementos del entorno Delphi son objetos, que unas veces se encuentran definidos de antemano (los forms, los componentes de la paleta, objetos no visuales, etc), y otras se definen en nuestra propia aplicación. C++ C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido. Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma. PERL Perl significa Practical Extraction and Report Language, algo así como lenguaje práctico de extracción y de informes. Es un lenguaje creado por Larry Wall (quien, por cierto, es uno de los net.gods más conocidos en la actualidad) con el objetivo principal de simplificar las tareas de administración de un sistema UNIX; en realidad hoy en día (en su versión 5.005, y posiblemente pronto, la 5.6) se ha convertido en un lenguaje de propósito general, y una de las principales herramientas de un buen Usuarios de Internet y de un buen webmaster.
  • 12. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 12 de 16 Lenguaje Descripción Perl es un lenguaje interpretado, aunque en realidad, el intérprete de Perl, como todos los intérpretes modernos, compila los programas antes de ejecutarlos. Por eso se habla de scripts, y no de programas, concepto referido principalmente a programas compilados al lenguaje máquina nativo del ordenador y sistema operativo en el que se ejecuta.
  • 13. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 13 de 16 GLOSARIO Common Gateway Interface (CGI) Common Gateway Interface es una interfaz al servidor Web que permite extender la funcionalidad de éste. Con CGI se puede interactuar con los usuarios que acceden a un sitio en particular. En un nivel teórico, los CGI permiten extender las capacidades del servidor para interpretar las entradas obtenidas del browser (navegador) y regresar la información apropiada de acuerdo a la entrada del usuario. En un nivel práctico, CGI es una interfaz que facilita la escritura de programas para que se comuniquen fácilmente con el servidor. Usualmente, si se desea extender las capacidades del servidor Web, se tendría que modificar el servidor manualmente. Esta no es una solución deseable puesto que requiere un entendimiento de bajo nivel de programación de red sobre el Internet y el protocolo World Wide Web. También requiere editar y recompilar el código fuente del servidor o escribir un servidor dedicado para cada tarea. Por ejemplo, si se quiere extender el servidor para que actúe como una compuerta Web-a-e-mail que tomara la entrada del usuario desde el browser y lo reenvia a otro usuario. Se tendría que insertar código en el servidor que interpretara la entrada desde el browser, re-enviar la entrada al otro usuario y regresar una respuesta al browser sobre una conexión de red. Primeramente, ésta tarea requiere accesar el código del servidor, algo que no siempre es posible. En segundo lugar, es difícil y requiere excesivo conocimiento técnico. Tercero, funciona solamente para un servidor específico. Si se quiere mover el servidor Web a una plataforma diferente, se tendrá que re-iniciar o al menos desperdiciar mucho tiempo al trasladar el código a esa plataforma. CGI proporciona una solución portable y simple a estos problemas. El protocolo CGI define una forma estándar para que los programas se comuniquen con el servidor Web. Sin mucho conocimiento especial, se puede escribir un programa en cualquier lenguaje de computación que interactúe con el servidor Web. Este programa trabajará con todos los servidores Web que entiendan al protocolo CGI. La comunicación CGI esta manejada sobre la entrada y salida estándar, lo que significa que si se conoce como imprimir en pantalla y leer datos utilizando el lenguaje de programación, se puede escribir una aplicación sobre el servidor Web. Programar las aplicaciones CGI es casi equivalente a programar cualquier otra aplicación . Por ejemplo, si se desea programar un programa "Hola México", se utiliza las funciones de imprimir en pantalla del lenguaje y el formato definido para programas CGI para imprimir en pantalla el mensaje apropiado.
  • 14. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 14 de 16 Compilar Programa encargado de traducir los programas fuentes escritos en un lenguaje de alto nivel a lenguaje máquina y de comprobar que las llamadas a las funciones de librería se realizan correctamente. DLL - Dynamic Link Library ("Biblioteca de vínculos dinámicos" es un archivo que contiene funciones que se pueden llamar desde aplicaciones u otras Dll. Los desarrolladores utilizan las Dll para poder reciclar el código y aislar las diferentes tareas. Las Dll no pueden ejecutarse directamente, es necesario llamarlas desde un código externo. Cuando un programa o un archivo DLL utiliza una función DLL en otro archivo DLL, se crea una dependencia. Por lo tanto, el programa ya no es autónomo, y el programa puede experimentar problemas si se rompe la dependencia. Por ejemplo, el programa no funcionen si se produce una de las siguientes acciones: •Una DLL dependiente se actualiza a una nueva versión.  Se ha corregido una DLL dependiente.  Una DLL dependiente se sobrescribe con una versión anterior.  Una DLL dependiente se quita del equipo.
  • 15. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 15 de 16 Por lo general, estas acciones se conocen como conflictos de DLL. Si no se exige la compatibilidad con versiones anteriores, el programa no puede ejecutar correctamente. FrameWork es un concepto sumamente genérico, se refiere a “ambiente de trabajo, y ejecución”, por ejemplo “.Net” es considerado un “framework” para desarrollar aplicaciones (Aplicaciones sobre Windows). En general los framework son soluciones completas que contemplan herramientas de apoyo a la construcción (ambiente de trabajo o desarrollo) y motores de ejecución (ambiente de ejecución)
  • 16. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 16 de 16 REFERENCIAS http://globaliza.blogia.com/temas/tecnologia.net.php http://www.qualitrain.com.mx/ventajas-y-Desventajas-de-.NET.html http://www.desarrolloweb.com/articulos/1328.php http://www.slideshare.net/brobelo/tecnologia-microsoft http://www.svetlian.com/dll/articulos_descripcion_dll.htm

×