1 / 90

La plataforma .NET

La plataforma .NET. <Nombre> <e-mail> <Empresa>. Agenda. .NET Framework y Visual Studio .NET .NET Framework Visual Studio .NET Guías para desarrollar mejor: Patterns & Practices Arquitectura de Referencia en .NET Opciones para la capa lógica de Datos

isra
Download Presentation

La plataforma .NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. La plataforma .NET <Nombre> <e-mail> <Empresa>

  2. Agenda • .NET Framework y Visual Studio .NET • .NET Framework • Visual Studio .NET • Guías para desarrollar mejor: Patterns & Practices • Arquitectura de Referencia en .NET • Opciones para la capa lógica de Datos • Opciones para la capa lógica de Negocio • Opciones para la capa lógica de Presentación • Despliegue de las capas lógicas en niveles físicos • Interoperabilidad o Migración • Recursos

  3. Yukon Microsoft .NET

  4. Arquitectura .NETRetos del desarrollo en Microsoft • Integración de aplicaciones • Múltiples lenguajes de programación • Múltiples modelos de programación • Complejidad del desarrollo y despliegue • Seguridad no inherente • Preservar la inversión del desarrollador • Elevar la productividad del desarrollador

  5. VB C++ C# J# … Common Language Specification ASP .NET Web Forms Web Services Windows Forms XML, ADO .NET, Enterprise Services Base Class Library Arquitectura .NET.NET Framework y Visual Studio .NET Visual Studio .NET Common Language Runtime Sistema Operativo

  6. VB C++ C# J# … Common Language Specification ASP .NET Web Forms Web Services Windows Forms XML, ADO .NET, Enterprise Services Base Class Library .NET FrameworkCommon Language Runtime Visual Studio .NET Common Language Runtime Sistema Operativo

  7. .NET FrameworkCommon Language Runtime • El CLR es el entorno donde se ejecutan todas las aplicaciones .NET • El CLR determina para las aplicaciones .NET: • Un conjunto de tipos de datos: CTS • Un lenguaje intermedio: CIL (MSIL) • Un empaquetado de código: Assembly • El código que ejecuta el CLR se llama código gestionado (managed code)

  8. Código (IL) Código Fuente Compiladorlenguaje Assembly Metadatos Código Nativo Compilador JIT Ejecución Common Language RuntimeProceso del código gestionado Compilación En instalación o la primera vez que se llama a un método

  9. Módulo 1 app1.dll Assembly A Código IL Tipo Z Código IL Tipo P Código IL Tipo X Código IL Tipo Q Código IL Tipo Y Código IL Tipo R Recurso Manifesto Manifesto Metadatos para Tipos X, Y y Z Metadatos Tipo R Metadatos Tipos P y Q Módulo 2 app2.exe Mod.netmodule grafico.jpg M. 3 Assembly B Common Language RuntimeAnatomía de un assembly

  10. Common Language RuntimeBeneficios • Entorno de ejecución robusto • Seguridad inherente • Desarrollo simplificado • Fácil gestión y despliegue de aplicaciones • Preserva inversión de desarrollador

  11. El CLR

  12. VB C++ C# J# … Common Language Specification ASP .NET Web Forms Web Services Windows Forms XML, ADO .NET, Enterprise Services Base Class Library .NET Framework.NET Framework Class Library Visual Studio .NET Common Language Runtime Sistema Operativo

  13. .NET Framework Class LibraryModelo de programación unificado Disponibilidad de API consistente en cualquier lenguaje y modelo de programación .NET Framework RAD, Composición, Delegación Subclassing, Potencia, Expresividad Sin estado, Código embebido en páginas HTML ASP VB Forms MFC/ATL Windows API

  14. System.Web System.Windows.Forms Services UI Design ComponentModel Description HtmlControls Discovery WebControls Protocols System.Drawing Caching Security Drawing2D Printing Configuration SessionState Imaging Text System.Data System.Xml OleDb SqlClient XSLT Serialization Common SQLTypes XPath System Collections IO Security Runtime InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Serialization Globalization Resources Threading .NET Framework Class LibrarySystem namespace

  15. .NET Framework Class LibraryBeneficios • Completa, Organizada, Extensible • Para cualquier Arquitectura de Aplicación • Acceso a Datos • ADO.NET • XML • Lógica de Negocio • Enterprise Services (COM+) • Servicios Web XML • .NET Remoting • Presentación • Windows Forms • Web Forms y Mobile Web Forms

  16. VB C++ C# J# … Common Language Specification (CLS) ASP .NET Web Forms Web Services Windows Forms XML, ADO .NET, Enterprise Services Base Class Library .NET FrameworkLenguajes .NET Visual Studio .NET Common Language Runtime Sistema Operativo

  17. Lenguajes .NETCLS CLR FujitsuCOBOLExtensions C++ MicrosoftManaged C++Extensions COBOL CLS • Los lenguajes no tienen que exponer toda la funcionalidad definida por el CLR

  18. Lenguajes .NETMúltiples lenguajes soportados • .NET es neutral con respecto al lenguaje • Microsoft suministra: • Visual C# .NET, Visual Basic .NET, Visual C++ .NET, JScript, Visual J# .NET • Terceros suministran: • COBOL, RPG, APL, Perl, Pascal, Smalltalk, Eiffel, Fortran, Haskell, Mercury, Oberon, Oz, Python, Scheme, Standard ML, … hasta +26 lenguajes

  19. Lenguajes .NETSoporte multilenguaje VB.NET Dim s as String s = "authors" Dim cmd As New SqlCommand("select * from " & s, sqlconn) cmd.ExecuteReader() C# string s = "authors"; SqlCommand cmd = new SqlCommand("select * from "+s, sqlconn); cmd.ExecuteReader(); C++ String *s = S"authors"; SqlCommand cmd = new SqlCommand(String::Concat(S"select * from ", s), sqlconn); cmd.ExecuteReader();

  20. Lenguajes .NETSoporte multilenguaje J# String s = "authors"; SqlCommand cmd = new SqlCommand("select * from "+s, sqlconn); cmd.ExecuteReader(); JScript var s = "authors" var cmd = new SqlCommand("select * from " + s, sqlconn) cmd.ExecuteReader() Perl String *s = S"authors"; SqlCommand cmd = new SqlCommand(String::Concat (S"select * from ", s), sqlconn); cmd.ExecuteReader();

  21. Lenguajes .NETSoporte multilenguaje Cobol ENVIRONMENT DIVISION. CONFIGURATION SECTION. REPOSITORY. CLASS SqlCommand AS "System.Data.SqlClient.SqlCommand"     CLASS SqlConnection AS "System.Data.SqlClient.SqlConnection". DATA DIVISION. WORKING-STORAGE SECTION. 01 str PIC X(50). 01 cmd-string PIC X(50). 01 cmd OBJECT REFERENCE SqlCommand. 01 sqlconn OBJECT REFERENCE SqlConnection. PROCEDURE DIVISION. *> Establish the SQL connection here somewhere. MOVE "authors" TO str. STRING "select * from " DELIMITED BY SIZE,    str DELIMITED BY " " INTO cmd-string. INVOKE SqlCommand "NEW" USING BY VALUE cmd-string sqlconn RETURNING cmd. INVOKE cmd "ExecuteReader".

  22. Lenguajes .NETBeneficios • Independencia de las aplicaciones del lenguaje de programación utilizado • Desarrollo de aplicaciones multi-lenguaje • Preserva inversión del desarrollador • Facilita adopción de .NET

  23. Multilenguaje

  24. .NET FrameworkEstandarización • CLI y C# • Common Language Infrastructure, funcionalidad e interfaces del CLR y la Base Class Library • Lenguaje de programación C# • CLI y C# cedidos a organismos de estandarización (ECMA, ISO, IEEE)

  25. .NET Compact Framework.NET Framework para dispositivos • Diseñado para dispositivos inteligentes • Pocket PC y Pocket PC Phone Edition (v1.1) • Smart Phone • Windows CE • Amplia disponibilidad planeada • Mismo modelo de desarrollo que .NET Fw. • Mismo modelo de ejecución que .NET Fw. • Misma herramienta de desarrollo VS .NET

  26. VB C++ C# J# … Common Language Specification ASP .NET Web Forms Web Services Windows Forms XML, ADO .NET, Enterprise Services Base Class Library Visual Studio .NETEntorno de Desarrollo Integrado Visual Studio .NET Common Language Runtime Sistema Operativo

  27. Visual Studio .NETProductividad • Única herramienta de desarrollo para todo • Plataforma completa para creación, pruebas e integración de Servicios Web • Plataforma RAD de alta productividad • Diseñadores visuales de Formularios • Diseñadores visuales de Componentes • Depuración extremo a extremo, a través de lenguajes • Tecnología IntelliSense y Ayuda Dinámica • Extensible y Abierto

  28. Visual Studio .NETPara todo el ciclo de vida • Modelado de Sistemas y Bases de Datos • Visio for Enterprise Architects • Patrones de Arquitectura • Enterprise Templates, Application Building Blocks • Gestión de Versiones del código • Visual SourceSafe • Diseño, Codificación y Depuración • Visual Studio: Designers, Editors, Debugger • Monitorización y Optimización • Visual Studio Analyzer • Pruebas • Application Center Test • Despliegue e Instalación • Visual Studio: Setup Projects

  29. Arquitectura .NETRetos del desarrollo • Servicios Web • Integración de aplicaciones • Múltiples lenguajes de programación • Múltiples modelos de programación • .NET Framework • Common Language Runtime • .NET Framework Class Library • Lenguajes .NET • Complejidad del desarrollo y despliegue • .NET Framework • CLR: Assembly (componentes .NET) • Seguridad no inherente • .NET Framework • CLR: Seguridad Acceso Código (CAS) • Preservar la inversión del desarrollador • .NET Framework • Lenguajes .NET • CLR: COM-Interop y P/Invoke • Elevar la productividad del desarrollador • Visual Studio .NET

  30. Patterns & Practices ProvenBased on field experience AuthoritativeBest advice available AccurateTechnically validated and tested ActionableProvide the steps to success RelevantAddress real world scenarios “Proven practices for predictable results”

  31. Patterns & PracticesGuías publicadas

  32. Cliente Windows Smart Client Arquitectura de Referencia en .NET Diseño de aplicaciones y servicios Servicios Comunicaciones Administración Operativa Seguridad Componentes de Interfaz de Usuario Agentes Servicios Componentes de Proceso de IU Interfaces Servicios Procesos de Negocio Componentes de Negocio Entidades de Negocio Agentes Servicios Componentes de Acceso a Recursos Interfaces Servicios Agentes Servicios Recursos Patterns & PracticesCobertura de las guías de desarrollo Interop. DNA Cliente Web Caché Datos Invocación Asincrónica de Servicios Fachadas de Servicios para aplicaciones heredadas Ciclo de Vida del software Excepciones Proceso de Interfaz de Usuario (UIP) Trazas (logs) Agregación y Formato de Datos Paso de Datos entre Capas Configuración Autenticación Acceso a Datos Autorización Monitorización Com. Seguras Auto-actualización Desarrollo en equipo Despliegue Depuración en producción Optimización Operaciones

  33. Patterns & PracticesDisponibilidad Online en MSDN y TechNet: http://www.microsoft.com/resources/practices Guías escritas disponibles en: http://shop.microsoft.com/practices

  34. Servicios Arquitectura de Referencia .NETArquitectura de Aplicación en capas lógicas Arquitectura Orientada A Servicios Arquitectura Tradicional 3 capas lógicas CAPA DE PRESENTACIÓN CAPA DE NEGOCIO CAPA DE DATOS Comunicaciones Administración Operativa Seguridad Componentes de Interfaz de Usuario Ciclo de Vida del software Agentes Servicios Componentes de Proceso de IU Interfaces Servicios Procesos de Negocio Componentes de Negocio Entidades de Negocio Agentes Servicios Componentes de Acceso a Datos Interfaces Servicios Agentes Servicios Datos

  35. Arquitectura de Aplicación .NETCapas en aplicaciones y servicios • Cada servicio gestiona sus propios datos • Comunicación débilmente acoplada • Cada servicio tiene su arquitectura en capas • Las aplicaciones son servicios con IU 2 4 1 Transporte 3 Pedidos Autorización Crédito

  36. Arquitectura de Referencia .NETCapa de Datos Usuarios Ciclo de Vida del software Servicios Comunicaciones Administración Operativa Seguridad Capa de Presentación Capa de Negocio Capa de Datos Componentes de Acceso a Datos (Recursos) Fuentes de Datos (Recursos)

  37. Capa de DatosXML • Funcionalidad tradicional • Acceso en memoria: DOM niveles 1 y 2 • Acceso secuencial: XmlReader • Búsquedas: XPath, con posibilidad de compilación • Definición y validación de esquemas XSD • Transformaciones XSLT • Funcionalidad en .NET: Serialización XML • Controlable con atributos • XmlSerializer: Instancias de objetos  XML • XSD.EXE: Clases  XSD

  38. XmlSerializer XMLSerialización XML C#, VB, JS XSD.EXE XSD.EXE XML XSD Validator

  39. Serialización XML

  40. Capa de DatosADO.NET (I) • Soporte de cualquier fuente de datos a través de diferentes proveedores de acceso a datos: • Generales: .NET OLE DB y .NET ODBC • Específicos: .NET SQL Client, .NET Oracle Client • Modelo conectado de acceso a datos • IDbConnection • IDbCommand: sentencias SQL (parametrizables con IDbParameter), procedimientos almacenados • IDataReader: para recuperar resultados

  41. Acceso conectado con ADO.NET

  42. Capa de DatosADO.NET (II) • Modelo Desconectado de acceso a datos • DataSet • Modelo de datos en memoria • Desconectado de la base de datos • Mantiene memoria de los cambios • Es serializable en XML • IDataAdapter • Rellenan un Dataset desde la fuente de datos • Concilian los cambios de un Dataset hacia la fuente de datos

  43. Capa de DatosADO.NET: Modelo desconectado Capa Presentación Windows forms Aplicación.Exe DataSet InternetIntranet Capa Negocio Web forms DataSet IE DataAdapter DataSet Xml DataAdapter CapaDatos Negocio a Negocio

  44. Acceso desconectado con ADO.NET

  45. Arquitectura de Referencia .NETCapa de Negocio Usuarios Servicios Comunicaciones Administración Operativa Seguridad Capa de Presentación Ciclo de Vida del software Agentes Servicios Capa de Negocio Interfaces Servicios Procesos de Negocio Componentes de Negocio Entidades de Negocio Agentes Servicios Capa de Datos Interfaces Servicios Agentes Servicios Recursos

  46. Capa de NegocioConsumidores de componentes de Negocio Llamadas desde otros Agentes de Servicios Capa de Presentación Interfaz de Servicios Proceso de Negocio Componente de Negocio Llamadas a otros Servicios Componente de Negocio Agentes de Servicios Llamadas a otros Servicios Componentes de Acceso a Datos Datos

  47. Capa de NegocioIntegrando servicios en un flujo de proceso Capa de Presentación Servicios Interfaz de Servicio Proceso de Negocio Agente de Servicio Componentes de Negocio Interfaz de Servicio Agente de Servicio Interfaz de Servicio Componentes de Acceso a Datos

  48. Capa de NegocioServicios Web: reduciendo dependencias Arquitectura Orientada a Servicio (SOA) Ejemplo de una solucion fuertemente acoplada Aplicación B Aplicación A Lenguaje de programacion Lenguaje de programacion Base de datos Base de datos Acuerdos Modelo de objetos Modelo de objetos Sistema operativo Esquemas Sistema operativo Servidor de aplicaciones Servidor de aplicaciones

  49. ServicioWeb Componente de aplicación programable, accesible a través de protocolos estándar de Internet Protocolos Internet Abiertos UDDI Universal Description, Discovery, and Integration • Suministra un Directorio de Servicios en La Red WSDL Web Services Description Language • Los Servicios Web se definen en términos de formatos y ordenación de mensajes SOAP • Los consumidores de Servicios Web pueden enviar y recibir mensajes XML XML & HTTP • Construido empleando protocolos abiertos de Internet Capa de NegocioASP.NET Web Services (I)

  50. Capa de NegocioASP.NET Web Services (II) Servicios publicados Servicio 1 Publicación mediante UDDI Servicio 1 Descubrimiento mediante UDDI tModel Servicio Web Aplicación Cliente Registro UDDI Descripción mediante WSDL XML Schema WSDL Invocación / Acceso mediante SOAP Transporte mediante HTTP / SMTP / … Mensaje SOAP

More Related