La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Desarrollo de Aplicaciones en.NET. Temario Nuevas posibilidades en.NET –Diferencias entre ASP y ASP.NET –Diferencias entre ADO y ADO.NET –Programación.

Presentaciones similares


Presentación del tema: "Desarrollo de Aplicaciones en.NET. Temario Nuevas posibilidades en.NET –Diferencias entre ASP y ASP.NET –Diferencias entre ADO y ADO.NET –Programación."— 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 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 Nuevas posibilidades en.NET

4 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 Nuevas posibilidades en.NET 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 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 Nuevas posibilidades en.NET 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 Objetos ADO.NET Nuevas posibilidades en.NET

12 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) Nuevas posibilidades en.NET

13 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) DataTable 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 DataAdapter SelectCommand InsertCommand UpdateCommand DeleteCommand TableMappings Base de datos DataSet

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 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 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 Desarrollo de una Aplicación.NET Demo 4: Mostrar DER de la base de datos

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

30 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 El Servicio de Datos

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

32 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 El Servicio de Datos

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

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

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

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

37 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 El Servicio de Datos

38 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() El Servicio de Datos

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

40 Clase DatosSQLServer –Todas las acciones a la base de datos se realizan a través de Procedimientos Almacenados –Las denominaciones son: AccionNombre Agregar _A Modificar _M Eliminar _E TraerUno _T TraerParaEditar _TABM TraerFiltrado _TX TraerTodos _TT TraerParaCombo _TL TraerValor _TV Demo 5: Mostrar el código y probar el servicio de datos. El Servicio de Datos

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

42 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 Reglas de Negocio

43 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 Reglas de Negocio

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

45 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 Reglas de Negocio

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

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

48 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 _TABM Reglas de Negocio

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

50 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 Reglas de Negocio

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? El ejemplo ya está en línea en: Muchas Gracias !!!

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


Descargar ppt "Desarrollo de Aplicaciones en.NET. Temario Nuevas posibilidades en.NET –Diferencias entre ASP y ASP.NET –Diferencias entre ADO y ADO.NET –Programación."

Presentaciones similares


Anuncios Google