Portada  |  Formación  |  Consultoría  |  E-Commerce  |  Boletín Nosotros 
 

   IntSight's Server Explorer
 Ahorre tiempo y migrañas con este asistente para Delphi 6 y Delphi 7.
   Boletines técnicos
 Los nueve últimos boletines reunidos en un fichero PDF. Si no se ha suscrito todavía, ¡ya es tiempo!


   Delphi
     Cursos a distancia
     Cursos presenciales

   C#
     Cursos a distancia
     Cursos presenciales


   La Cara Oculta de C#
   La Cara Oculta de Delphi 6

   IntSight's Server Explorer

 
 

CURSO DE ADO.NET SOBRE C#

El objetivo de este curso es presentar las técnicas de programación para bases de datos en la plataforma .NET, utilizando C# como lenguaje base.

Duración del curso

El curso se impartirá en un total de 32 horas.

Requisitos para el seguimiento

El seguimiento del curso puede hacerse mediante Visual C# Standard 2003 (recomendado), o C# Builder Personal, o cualquiera de las versiones superiores de estos entornos. Es necesaria la versión 1.1 de la plataforma .NET, porque es la que incluye el proveedor nativo de Oracle para .NET. El curso muestra el trabajo con éste proveedor y con el proveedor basado en OLE DB.

ADO.NET

  • Conjuntos de datos en memoria
  • La clase DataSet implementa una colección de tablas en memoria, incluyendo las relaciones entre ellas y las restricciones comunes del modelo relacional. Es la base de ADO.NET, porque la navegación bidireccional, y las actualizaciones interactivas sobre registros se implementan sobre estas pequeñas bases de datos en memoria. En esta parte se expone el modelo de objetos básicos: tablas, columnas, filas. Se introducen las columnas calculadas, y las restricciones de claves primarias y claves únicas.

  • Relaciones entre tablas
  • En ADO.NET, los registros de una relación maestro/detalles siempre se leen independientemente: primero todos los registros maestros, luego, todos los detalles. Esta es la forma más eficiente de lectura para estas relaciones. Una vez que están todos los registros en memoria, se establecen las relaciones entre ellos, por medio de objetos DataRelation. Se muestra cómo navegar sobre estas jerarquías, y cómo crear columnas calculadas que muestren estadísticas de filas de detalles, o referencias a otras tablas relacionadas. Se presentan las restricciones de claves externas o foráneas.

  • Actualizaciones en memoria
  • En esta parte se estudia cómo añadir, borrar o modificar registros pertenecientes a un DataSet, teniendo en cuenta la posible existencia de relaciones entre tablas. Se introduce un concepto muy importante: el estado de una fila. Y se presenta por primera vez las propiedades que permiten asociar mensajes de error a columnas particulares o filas.

  • Búsquedas, filtros y ordenación
  • Los conjuntos de datos en memoria pueden ser ordenados arbitrariamente, y filtrados mediante un lenguaje de expresiones muy potente. Presentamos los distintos métodos de búsqueda sobre tablas en memoria. También se estudia la clase DataView, que es muy útil para la presentación visual de los datos y su edición.

  • Conjuntos de datos con tipos
  • Este es una de las características más interesantes de ADO.NET. Podemos encapsular un determinado esquema relacional dentro de una clase derivada de DataSet. De esta manera, se reduce la posibilidad de cometer errores, y se facilitan las operaciones de búsqueda, inserción, etc. Para crear estas clases especiales, ADO.NET ofrece varias vías: podemos partir de un fragmento del esquema de una base de datos real, o podemos, con la ayuda de herramientas visuales, crear ficheros en el lenguajeXML Schema Definition. Es importante controlar el uso de anotaciones, para ajustar las opciones de generación de nombres. En esta parte se describe también cómo se puede serializar un objeto DataSet en un flujo XML, y cómo se puede hacer que este flujo se almacene o lea de ficheros, o de otros medios similares. Se estudian propiedades que modifican la representación XML de un conjunto de datos, y se presenta el formato DiffGram, sumamente útil para el desarrollo de servidores remotos.

  • Enlace a datos en Windows Forms
  • El enlace a datos (data binding)de ADO.NET para aplicaciones interactivas escritas con Windows Forms, es la técnica más potente disponible en estos momentos. En ADO.NET podemos enlazar a una rejilla, por ejemplo, un vector de objetos, y mediante la implementación de determinadas interfaces sencillas por parte de una estructura de datos, podemos incluso editar esos registros. Naturalmente, también se presentan las opciones de enlace más comunes, a conjuntos de datos. Las clases principales que se presentan en esta parte son BindingContext, CurrencyManager y Binding, además de las rejillas, controles de edición, combos que hacen referencias a otras tablas...

  • Conexiones y comandos
  • A partir de este momento, se introducen las clases de la "capa conectada" de ADO.NET. El énfasis se pondrá en el proveedor nativo de Oracle (OracleConnection, OracleCommand, etc), y como alternativa, en el proveedor genérico basado en OLE DB (OleDbConnection, etc). Se presentan las clases de conexión, los comandos, que permiten enviar instrucciones SQL al servidor, y los lectores de datos, que permiten manejar cursores unidireccionales de forma muy eficiente.

  • Adaptadores
  • Los adaptadores son los objetos que permiten leer información por medio de comandos para depositarla dentro de conjuntos de datos, y posteriormente, aplicar los cambios realizados sobre el conjunto de datos en la base de datos original.

  • Actualizaciones básicas
  • En esta parte se explican los conceptos y técnicas básicas que utiliza un adaptador para modificar la base de datos de acuerdo a las operaciones realizadas sobre un conjunto de datos. El énfasis se pone en tablas aisladas, y el manejo de la concurrencia optimista.

  • Actualizaciones complejas
  • Esta parte es importante, porque se tratan las actualizaciones que involucran claves generadas en el servidor mediante secuencias, recuperación de cambios inducidos por triggers y relaciones maestro/detalles. También se presentan las técnicas de tratamiento de errores, y la optimización de las grabaciones mediante procedimientos almacenados. Es muy importante distinguir entre el caso más sencillo de actualizaciones en aplicaciones tradicionales cliente/servidor, y el caso más complejo en que se divide la aplicación en más capas. En este último caso, es necesario estudiar las técnicas de conciliación de las grabaciones.

PROGRAMACION REMOTA

  • XML Web Services
  • La forma más sencilla de programación remota en .NET es mediante el uso de servicios Web basados en XML. Se explican los conceptos necesarios sobre XML y SOAP, y los distintos modelos de llamadas implementados por este protocolo. Se muestran ejemplos, tanto de servidores como de clientes, y se dan más detalles sobre la serialización de objetos, y cómo controlarla. También se explica cómo realizar llamadas asíncronas a un servicio Web.

  • .NET Remoting
  • La técnica más eficiente de comunicación remota orientada a objetos en .NET, es el remoting. Se puede escoger con más libertad el formato de serialización y los canales de comunicación. Se presentan los distintos tipos de activación y los modelos de llamadas (singleton, single call, publicación). Al igual que con los servicios Web, se muestra cómo ejecutar llamadas asíncronas mediante el uso de delegados. Finalmente, se explican las distintas formas de alojar un servidor de .NET Remoting: como aplicaciones de servicios, publicación mediante Internet Information Services...

  • Servicios de componentes
  • Una de las características más potentes de los servidores de la familia de sistemas operativos Windows, es la presencia integrada de una larga lista de servicios "corporativos", que para ser implementados en otros sistemas operativos requieren mucho trabajo, mucho dinero... o simplemente, no están disponibles. En esta parte se tratan las ventajas de ciertos servicios agrupados bajo el paraguas de COM+: transacciones declarativas, object pooling, colas de mensajes... Para ello, se explican conceptos como la intercepción de mensajes y la Programación Orientada a Aspectos, que en .NET se beneficia del potente y flexible sistema de atributos personalizables implementado por sus lenguajes.