1 / 53

Desarrollo de Aplicaciones en .NET

Desarrollo de Aplicaciones en .NET. Andrés Reynoso Jorge Pagano de Harriague. Temario. Nuevas posibilidades en .NET Diferencias entre ASP y ASP.NET Diferencias entre ADO y ADO.NET Programación 100% orientada a objetos Como integrar componentes de negocios COM en .NET

arien
Télécharger la présentation

Desarrollo de Aplicaciones en .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. Desarrollo de Aplicaciones en .NET Andrés Reynoso Jorge Pagano de Harriague

  2. Temario • Nuevas posibilidades en .NET • Diferencias entre ASP y ASP.NET • Diferencias entre ADO y ADO.NET • Programación 100% orientada a objetos • Como integrar componentes de negocios COM en .NET • Desarrollo de una Aplicación .NET • Ejemplo práctico de una Aplicación en 3 capas http://www.microsoft.com/latam/msdn/comunidad/uni.net/default.asp

  3. Nuevas posibilidades en .NET • ASP • Tecnología líder en desarrollo para Web • Más de un millón de desarrolladores en ASP • Forma de Desarrollo • HTML combinado con script • No requiere compilación – “sólo grabar” • Flexible y extensible • Soporta lenguajes de scripts • VBScript, JScript®, etc. • Puede utilizar Objetos COM para acceder a recursos y encapsular lógica de negocios

  4. Nuevas posibilidades en .NET • Desventajas de ASP • El código ASP se vuelve complicado! • Código mezclado con contenido • Sólo soporta lenguajes de scripting • La implementación de componentes y la configuración es compleja • DLLs bloqueadas, regsvr32, metabase de IIS • Estado de Session limitado a un único servidor Demo 1:Aplicación 3 capas (VB6 y ASP)

  5. Nuevas posibilidades en .NET • ASP.NET • Plataforma para construir, implementar y ejecutar aplicaciones Web • Es un cambio radical con respecto a ASP • Modelo de páginas simplificado y más poderoso • Lenguaje de programación compilado • Arquitectura factorizada • Implementación simplificada • Mejoras en rendimiento y escalabilidad • Soporte de desarrollo con Visual Studio .NET

  6. Nuevas posibilidades en .NET • Compatibilidad con ASP • Migrar aplicaciones de ASP a ASP.NET siempre va a requerir cierto trabajo • Se decidió romper la “backward compatibility” en ciertos puntos para mejorar la plataforma • Tenemos más tiempo por delante en Internet que por detrás • Nos permite asegurar una plataforma por mucho más tiempo

  7. Nuevas posibilidades en .NET • Soporte conjunto ASP + ASP.NET • ASP.NET corre“side-by-side”con ASP • Extensiones de archivo separadas (.aspx vs .asp) • Configuraciones separadas • Las páginas/aplicaciones ASP siguen utilizando el motor de ASP existente sin problemas • No se han hecho cambios a ASP.DLL • Ningún componente se rompe al instalar ASP.NET • Importante: No se comparte estado entre páginas/aplicaciones ASP y ASP.NET

  8. Nuevas posibilidades en .NET • Ventajas de ASP.NET • Web Forms • Permiten programar las páginas Webs al estilo de los formularios de Windows • ASP.NET permite separar el código de presentación con la lógica de pagina (Code Behind) • Server Controls • Web Forms Controls • HTML Server Controls • Eventos en el Servidor • Captura en el servidor los eventos disparados por los controles que se visualizan en el cliente

  9. Nuevas posibilidades en .NET • Ventajas de ASP.NET • Herramientas de Profiling, Tracing y Debugging • Configuración autónoma de IIS • Cache del lado del servidor • Fácil Vinculación a datos • Manejo mejorado del “estado” • Instalación XCOPY • Manejo Estructurado de Errores Demo 2:Mostrar “Code Behind” en un WebForm

  10. Nuevas posibilidades en .NET • ADO.NET • Diseñado para acceso desconectado • ¡Se puede modelar la información por lógica! • El DataSet reemplaza al RecordSet • El DataSet puede contener múltiples tablas • No se requiere JOIN • Se preservan las relaciones: La navegación es relacional • Los tipos de datos sólo están vinculados al esquema de XML • No se requieren conversiones de tipos de datos • XML, como HTML, es texto plano: “Pasa las barreras”

  11. Nuevas posibilidades en .NET • Objetos ADO.NET

  12. Nuevas posibilidades en .NET • Proveedores de Datos de .NET • Una colección de clases que permiten acceder a los orígenes de datos: • Microsoft SQL Server™ 2000, SQL Server 7, y MSDE • Otros proveedores OLEDB • Establece la conexión entre los DataSets y el repositorio de los datos • Dos proveedores base: • OLEDB: Namespace System.Data.OleDb • SQL Server: Namespace System.Data.Sql • Se pueden agregar otros (Por ejemplo Oracle)

  13. Nuevas posibilidades en .NET • ADO.NET: Connection • Representa una única sesión con un origen de datos • En una conexión, usted puede… • Personalizar la conexión a la base de datos • Iniciar, comprometer y abortar transacciones • Equivalente al objeto ADODB.Connection Imports System.Data.OleDb .... Dim miCon As New OleDbConnection( _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=NWIND_RW.MDB") miCon.Open() .... miCon.Close()

  14. Nuevas posibilidades en .NET • ADO.NET: Command • Representa un comando que se va a ejecutar • No necesariamente SQL • Con un comando ADO usted puede: • Definir un enunciado para que se ejecute en el servidor • Establecer información de parámetros para ese comando • Recuperar valores de retorno de la ejecución del comando • Corresponde al objeto ADODB.Command • Puede contener parámetros • Valores que se van a utilizar cuando se ejecute el enunciado

  15. Nuevas posibilidades en .NET • ADO.NET: DataReader • Acceso a datos rápido, únicamente hacia adelante, únicamente de lectura • Funciona como un socket • Permite un acceso escrito de manera sólida • Se obtiene por el método ExecuteReader de un OleDbCommand • Depende del OleDbCommand hasta finalizar la lectura • Mantiene la conexión abierta

  16. Nuevas posibilidades en .NET • ADO.NET: DataSet • Almacén en memoria para datos del cliente • Vista relacional de datos • Tablas, columnas, filas, restricciones, relaciones • Persisten los datos y el esquema como XML • Modelo desconectado explícito • Objeto remoto, desconectado • Indice en forma de arreglo • No hay conocimiento de Fuente de datos o Propiedades • Modelo común sobre datos heterogéneos • Características de rendimiento predecibles

  17. DataSet Tables DataTable DataRow(s) DataView DataColumn Constraint(s) Relations DataRelation DataTable DataRelation DataTable Nuevas posibilidades en .NET • ADO.NET: DataSet

  18. Nuevas posibilidades en .NET • ADO.NET: DataRelations • Utilizada para crear relaciones lógicas • Entre dos (2) objetos DataTable • Requiere un objeto DataColumn de cada DataTable • El tipo de datos (DataType) de ambas DataColumns debe ser el mismo • No es posible relacionar un Int32 con un String • Se le asigna un nombre (por el desarrollador) • DataRelation dr=new DataRelation _(“miRelacion”,...) • Permite navegación por relaciones • RelationsCollection contiene todas las DataRelations • Se accede a través de la propiedad Relations del DataSet

  19. Nuevas posibilidades en .NET • ADO.NET: DataAdapter • Administra el Intercambio de datos entre DataSet y la Fuente de datos • Llenar (DataSet o DataTable) • Actualizar (DataSet o DataTable) • Ofrece cruces de información entre tablas y columnas • El usuario puede anular los comandos: insertar / actualizar / eliminar • Componente de autogeneración disponible • Permite que un único DataSet se llene de varios orígenes de datos diferentes

  20. SelectCommand InsertCommand UpdateCommand DeleteCommand Nuevas posibilidades en .NET Base de datos DataAdapter • ADO.NET: DataAdapter DataSet TableMappings

  21. Nuevas posibilidades en .NET • Programación 100% orientada a objetos • Herencia • Permiten reutilizar el código • Polimorfismo (por Clases y por Interfaces) • Facilita la modelización de la realidad • Herencia entre lenguajes ! • Clases abstractas • Defienen clases que deben heredarse (MustInherit ) • Implementan código genérico, que se repite igual en varias otras • Al mismo tiempo, definen la interfaz final de ese conjunto de objetos • Puede expone métodos públicos con código, para las generalizaciones • Pueden declarar como MustOverrides los métodos que las clases que la heredan deben implementar obligatoriamente

  22. Interoperabilidad COM • COM Interop • Permite utilizar los objetos COM existentes mientras se realiza la transición a .NET a su ritmo • Permite exponer los Objetos .NET en COM • Usando Wrappers – (RCW / CCW) • Siempre existe un marshaling • Los Variants de VB6 pasan como Object • Desde ASP.Net usando late bound con Server.CreateObject(“ProgId”) • Es necesaria la directiva AspCompat = “true” • Incluso se puede heredar desde COM ! Demo 3:Aplicación ASP.Net Accediendo a las reglas (COM / VB6). Si hay tiempo, mostrar también una aplicación windows y herencia COM

  23. ¿Preguntas?

  24. Nos vemos en un ratito… Vamos a ver un ejemplo de tres capas en .NET 

  25. Desarrollo de una Aplicación .NET • Aplicación “Pachacamac” Ya esta en línea en: http://www.microsoft.com/latam/msdn/comunidad/uni.net/default.asp

  26. Temario • El modelo de 3 capas • La base de datos • El servicio de Datos • Las reglas (Objeto Entidad) • Heredando Entidad • Exponiendo un método como Web Service

  27. Desarrollo de una Aplicación .NET • El modelo de 3 capas

  28. Desarrollo de una Aplicación .NET • La Base de Datos • Es una modificación para SQL 7 o 2000 de la base Neptuno que venia en Access 97 • Se agrego a todas las tablas un campo de identificación llamado Id del tipo Integer Autonumérico (Identity) • Se modificaron las relaciones entre las tablas para usar el campo ID • Por lo tanto se modificaron los nombre de los campos que tienen relación con otra tabla • Se agregaron los Stored Procedures necesarios Demo 4:Mostrar DER de la base de datos

  29. Desarrollo de una Aplicación .NET El servicio de datos

  30. El Servicio de Datos • El servicio de datos • Aprender de los “mayores” • System.Data • Common • SqlServer • OleDb • Una clase genérica (gDatos) que implementa la funcionalidad común • Dejando en clases “especiales” las acciones que pueden cambiar de acuerdo al motor de la base de datos • Técnicamente hablando, una clase “abstracta”

  31. El Servicio de Datos • Clase gDatos - Propiedades • Nombre de la base a utilizar • Nombre del servidor a utilizar • Cadena de conexión completa • Objeto Conexión

  32. El Servicio de Datos • Clase gDatos – Métodos • Ejecuta acciones sobre la base de datos • La función está sobre escrita, para admitir, o no, argumentos para los procedimientos almacenados

  33. El Servicio de Datos • Clase gDatos – Métodos • Devuelve un DataSet a partir del procedimiento almacenado que se le indica • Está sobrescrito, para permitir enviarle argumentos

  34. El Servicio de Datos • Clase gDatos – Métodos • Devuelve un Objeto DataTable con las mismas condiciones que el método anterior

  35. El Servicio de Datos • Clase gDatos – Métodos • Devuelve el valor de retorno del procedimiento almacenado

  36. El Servicio de Datos • Clase gDatos – Métodos • Permiten administrar Transacciones

  37. El Servicio de Datos • Clase gDatos – Métodos que deben sobreescribirse • Obligan a su definición en las clases que heredan de ésta • Están definidos por tipos de interfaz común

  38. El Servicio de Datos • Clase DatosSQLServer • Hereda de común y “se ve obligada” a escribir los métodos forzados • Internamente conservará en memoria los procedimientos almacenados ya utilizados Inherits Curso.Datos.gDatos Shared mColComandos As New System.Collections.Hashtable()

  39. El Servicio de Datos • Clase DatosSQLServer • Se sobrescriben cada uno de los métodos que están marcados como “MustOverrides” Public Overrides Property CadenaConexion() As String

  40. El Servicio de Datos • Clase DatosSQLServer • Todas las acciones a la base de datos se realizan a través de Procedimientos Almacenados • Las denominaciones son: Demo 5:Mostrar el código y probar el servicio de datos.

  41. Desarrollo de una Aplicación .NET Reglas de Negocio

  42. Reglas de Negocio • Reglas de Negocio • Encapsular todas las acciones propias del negocio en ellas • No depender • Ni del cliente que las llama • Ni del motor de base de datos al que acceden • Definirlas con una interfaz clara y transparente • Facilitando la reutilización

  43. Reglas de Negocio • Objeto Entidad • Es un objeto genérico que sostiene la funcionalidad básica • Tiene Propiedades que establecen el entorno • Tiene Métodos que pueden llegar a utilizarse en cualquier objeto • Establece las facilidades de sobrescribir aquellos que en casos particulares lo requieran

  44. Reglas de Negocio • Entidad - Propiedades • Identificador del registro a utilizar • Permite establecer una identificación unívoca de un elemento de información en la tabla (Registro)

  45. Reglas de Negocio • Entidad - Constructor Sub New(ByVal NombreEntidad As String) • Admite la asignación del nombre de la tabla a tratar, en el momento de la creación del objeto

  46. Reglas de Negocio • Entidad – Métodos de acción comun • TraerTodos • Devuelve todos los registros de la tabla • <NombreTabla>_TT • TraerCombo • Devuelve los registros listos para cargar listas desplegables • <NombreTabla>_TL • TraerUno • Devuelve un registro, el indicado por la propiedad Id • <NombreTabla>_T

  47. Reglas de Negocio • Entidad – Métodos de acción comun • TraerFiltrado • Devuelve un conjunto de datos, dependiendo del filtro indicado • <NombreTabla>_TX<Filtro> • Traer Valor • Retorna un valor específico • <NombreTabla>_TV<DatoaTraer> • Actualizar • Actualiza un conjunto de registros • <NombreTabla>_A • <NombreTabla>_M • <NombreTabla>_E

  48. Reglas de Negocio • Entidad – Propiedad Datos • Expone un DataSet conteniendo toda la información necesaria para editar un registro • Registro a Editar • Tablas con resultados de TraerCombo de las tablas relacionadas • Facilita entonces implementar del lado del cliente los mecanismos de edición • <NombreTabla>_TABM

  49. Reglas de Negocio • Stored Procedures • Deben cumplir con la estandarización mencionada para que las reglas funcionen correctamente • Se podrían generar automáticamente Demo 6:Mostrar SP’s, el código de las reglas y probarlas

  50. Reglas de Negocio • Heredando Entidad – Clase pedidos • Hereda de Entidad • Expone además 2 métodos específicos • DatosDePedido • Devuelve un DataSet con todas las tablas implicadas en la generación de un pedido • Es la “Plantilla” para armar el pedido completo • Guardar • Es responsable de almacenar un pedido completo, usando el DataSet generado en el método anterior Demo 7:Mostrar y probar Pedidos

More Related