La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Desarrollo de Aplicaciones

Presentaciones similares


Presentación del tema: "Desarrollo de Aplicaciones"— Transcripción de la presentación:

1 Desarrollo de Aplicaciones
en .NET

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

3 Nuevas posibilidades en .NET
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 Nuevas posibilidades en .NET
ADO.NET: DataSet DataSet Tables DataTable Relations DataRelation DataRow(s) DataColumn Constraint(s) DataView

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 Nuevas posibilidades en .NET
ADO.NET: DataAdapter Base de datos DataAdapter SelectCommand InsertCommand UpdateCommand DeleteCommand 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:

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 Demo 5: Mostrar el código y probar 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: Accion Nombre Agregar <NombreTabla>_A Modificar <NombreTabla>_M Eliminar <NombreTabla>_E TraerUno <NombreTabla>_T TraerParaEditar <NombreTabla>_TABM TraerFiltrado <NombreTabla>_TX<Filtro> TraerTodos <NombreTabla>_TT TraerParaCombo <NombreTabla>_TL TraerValor <NombreTabla>_TV<Parametro> 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 Demo 6: Mostrar SP’s, el código de las reglas y probarlas
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 Demo 7: Mostrar y probar Pedidos
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

51 Desarrollo de una Aplicación .NET
Publicando un Web Service Exponemos DatosDePedido como Web service De esta forma nuestros clientes desde una Aplicación Remota podrían ver los datos de sus pedidos Demo 8: Exponer el método como WebService y armar el cliente

52 ¿Preguntas? Muchas Gracias !!! El ejemplo ya está en línea en:

53 Para mayor información…
Sitio MSDN Capacitación Sitio MUG Regístrese al Newsletter MSDN Flash


Descargar ppt "Desarrollo de Aplicaciones"

Presentaciones similares


Anuncios Google