Desarrollo de Aplicaciones en .NET

Slides:



Advertisements
Presentaciones similares
Conexión a Bases de Datos
Advertisements

INSTRUCTOR: LI Ramiro Robles Villanueva
ALMACENAMIENTO Y OBTENCIÓN DE DATOS CON ADO.NET. ACCEDER A DATOS CON ADO.NET Tres niveles: Tres niveles: El almacenamiento físico de datos. Puede ser.
Conceptos fundamentales de ADO.NET
Conceptos fundamentales de ASP.NET
XML01 Este es el capítulo de prueba
integridad referencial
ASP.NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft.
Leer y escribir datos XML
Acceso a datos con Microsoft ADO.NET
Configurar, optimizar e implementar una aplicación Web Microsoft ASP
Acceso a datos con ADO.NET
Desarrollo de una Aplicación Web sobre tecnología Microsoft .NET
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
Carlos Rojas Kramer Universidad Cristóbal Colón
Microsoft SQL Server 2008 – SQL Server Integration Services
Web Services con C# Dia 1.
ADO.NET.
Especialista en Business Intelligence Reporting Services SSRS (Sesión 16) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
Programación Visual de Sistemas
ADO ActiveX Data Object.
Daniel A. Seara Director Regional MSDN NDSoft
ADO.NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft.
Desarrollo de Aplicación para VVC
Desarrollo de Aplicaciones
Introducción ADO .Net.
Características Técnicas
ADO.Net TGP (Tecnología de la Programación)
Práctica No. 8 Lectura de Datos. Objetivo: Que el estudiante adquiera conocimientos y técnicas sobre la exploración de base de datos utilizando ASP.NET.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Clase 9 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
Acceso a datos con ADO.NET
Expert.NET Development Programando Web para principiantes III por Jonas Stawski
Administración de datos con MS-SQL Server y Visual Basic
SQL Server 2008 Integration Services
Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.
SQL SERVER Reporting Services
Diseño de una base de datos Zavaleta Nolasco Karina
InfoPath Ventajas y Uso.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
/ Teléfono : Web : Build Solutions IT.
Colegio de Bachilleres Plantel 13 Xochimilco-Tepepan Integrantes: Karen Elizabeth González Monroy Elizabeth De Jesús Vergara Grupo:308.
Clase VIII Delio Alanis. Agenda ADO.NET 2.0 ADO.NET 2.0  Que es ADO.NET?  Usando namespaces  Que es un DataTable?  Que es un DataSet?
ADO.NET VISUAL STUDIO.NET.
REALIZADO POR: MERINO MERINO JORGE MORI CORREA JHONATAM VIDARTE DELGADO JAVIER.
Lenguajes de Programación
Clase 8 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Cristian Fonnegra Marin
C OLEGIO DE B ACHILLERES N O.13 X OCHIMILCO, T EPEPAN C ARRASCO G ARCÍA L ORENA T ORRES H EREDIA C ARLA P ALMIRA G RUPO : 308 M ATUTINO E QUIPO : 12.
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
Nombre: Germania Ruiz UNIVERSIDAD TECNOLOGICA AMERICA.
 SQL es un lenguaje de consulta para los sistemas de bases de datos relaciónales, pero que no posee la potencia de los lenguajes de programación.
Materia: Desarrollo e implementación web Carrera: Ing. Informática Docente: M.I. Rosario de Alba Domínguez Rodríguez ALUMNA: Marissa Michelle Juárez Kim.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
INTEGRANTE: FLORES GODOY JUAN E. Grupo:308. Una tabla es una colección de datos sobre un tema específico, como productos o proveedores. Al usar una tabla.
¿Cómo programar un Botón para agregar registros a una base de datos?
INGENIERIA WEB CONEXIONES A BASES DE DATOS EN LA PLATAFORMA .NET
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Diccionario/Directorio de Datos
ACCESO A DATOS EN ASP.NET Controles de origen de datos Controles enlazados a datos.
QUÉ ES UNA BASE DE DATOS? Es un Conjunto de Información, que está clasificada de distintas maneras; pero que comparten entre sí algún tipo de vínculo,
VISUAL STUDIO. Paradigmas de Programación Funcionalidad Win16 Win32 COM MFC Componentes Servicios APIs Windows 3.0.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
ADO.NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft.
ADO.NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft.
Transcripción de la presentación:

Desarrollo de Aplicaciones en .NET Daniel Laco danielL@vemn.com.ar Carlos Walzer carlosw@vemn.com.ar

Temario Presentación del caso Como integrar componentes de negocios COM en .NET Migrar el componente de negocios a .NET Diferencias entre ADO y ADO.NET Migrar la aplicación ASP a ASP.NET Diferencias entre ASP y ASP.NET Instalación de la aplicación ASP.NET

ADO.NET

Objetivos Introducir Microsoft® ADO.NET Mostrar la evolución de ADO a ADO.NET Introducir los componentes primarios de ADO.NET

ADO vs. ADO.NET 1/2 ADO Diseñado para acceso conectado Vinculado al modelo físico de los datos El RecordSet es el contenedor central de datos El RecordSet es una tabla que contiene todos los datos Obtener datos de más de una tabla u origen, requiere un JOIN en la base Los datos son “aplanados”: pierden sus relaciones y la navegación suele ser secuencial Los tipos de datos se encuentran relacionados con tipos COM/COM+ Los datos se comparten por “marshalling COM” Hay problemas para enviar información a través de firewalls (DCOM, datos binarios)

ADO vs. ADO.NET 2/2 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 requieren 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”

Beneficios de ADO.NET Interoperabilidad por el uso de XML Estándar abierto Texto descifrable por “Humanos” Los datos se describen a sí mismos Se usa en todas las transferencias de datos en ADO.NET Escalabilidad por el DataSet desconectado No se mantienen conexiones por períodos largos No se producen “bloqueos” en la base de datos Trabaja como la Web “Toco y me voy” Facilidad en el Mantenimiento Separación de la lógica de datos y la interfaz del usuario

Conceptos y arquitectura El modelo de Objetos de ADO.NET Objetos DataSet Proveedores administrados Namespaces relacionados con ADO.NET System.Data System.Data.OleDb System.Data.Internal System.Data.Sql System.Data.SqlTypes

El modelo de objetos de ADO.NET DataSet Proveedores administrados

System.Data 1/2 Contiene las bases de ADO.NET Namespace centrado en Datos Provee los mecanismos para trabajar con y sobre los datos Clases y métodos para manipular los datos Habilidad para crear vistas de los datos Formas para representar lógicamente los datos Permite la utilización de XML para ver, compartir y almacenar datos

System.Data 2/2 Contiene las clases “principales” de ADO.NET Persistencia en memoria de la tabla de la base de datos System.Data DataTable DataRow DataRelation DataColumn DataSetView DataSet Contiene las clases “principales” de ADO.NET Persistencia en memoria de los datos Permite manipular una fila en un DataTable Permite definir columnas en un DataTable Puede relacionar 2 DataTables entre sí Presenta una vista del DataSet

System.Data y DataSet DataSet Tables Relations DataView DataTable DataRelation DataRow(s) DataColumn Constraint(s) DataView

System.Data - DataSet 1/3 Un repositorio en memoria de datos desde un origen Forma común de representar y manipular datos Contenedor universal No sólo para base de datos Representación lógica o física de los datos; depende de: La consulta / Conjunto de resultados Donde existen DataTables y Relations Diseñado para estar desconectado del origen Conectar, ejecutar la consulta, desconectar Se utiliza XML para leer y almacenar, tanto los datos como el Esquema

System.Data - DataSet 2/3 Se usan colecciones para agregar Tablas y relaciones Propiedades importantes: Tables: Devuelve la colección de objetos DataTable Relations: Devuelve la colección de DataRelations Relacionadas con XML

System.Data - DataTable Puede ser vinculado a una tabla física de una base Y relacionarla con otras a través de DataRelations Bloqueo concurrente optimista Propiedades importantes: Columns: Devuelve la colección de DataColumns como ColumnsCollection Rows: Devuelve objetos DataRow como una RowsCollection ParentRelations: Devuelve una RelationsCollection Constraints: Devuelve la ConstraintsCollection de la tabla DataSet: Devuelve el conjunto de datos de la DataTable PrimaryKey: Obtiene los DataColumns que conforman la clave primaria de la tabla

System.Data-DataSet y DataTable Crear una DataTable y agregarla al DataSet DataSet ds = new DataSet(); // Crear el objeto “Clientes”. DataTable dt= new DataTable( “Clientes” ); // Crear y agregar columnas // 1. Explícitamente DataColumn dc = new DataColumn( “ID”, Int16 ); dt.Columns.Add( dc ); // 2. Implícitamente. dt.Columns.Add( “Nombre”, String ); dt.Columns.Add( “Apellido”, String ); // Agregar el objeto DataTabla al DataSet ds.Tables.Add( dt );

System.Data - DataRelation 1/2 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

System.Data - DataRelation 2/2 Como crear un DataRelation: Obtener los objetos DataColumn a relacionar Crear y nombrar un DataRelation usando las columnas Agregar la relación al DataSet // Obtener las columnas a utilizar... DataColumn colPadre, colHija; colPadre= DataSet.Tables["Clientes"].Columns["ID"]; colHija = DataSet.Tables[“Pedidos“].Columns["IDCliente"]; // Crear el DataRelation llamado “CliPedidos”... DataRelation dr; dr = New DataRelation(“CliPedidos", colPadre, colHija); // Agregar la relación al DataSet... ds.Relations.Add( dr );

System.Data - DataSet y XML El DataSet puede leer y escribir XML desde sus datos y del esquema O sea: es posible crear o modificar un DataSet usando XML Método de lectura con formato XML: GetXml: Obtiene los datos del DataSet (incluyendo el esquema) GetXmlSchema: obtiene el esquema XSD del DataSet Para escribir: WriteXml, WriteXmlSchema

System.Data - DataView Crea múltiples vistas de los objetos DataTable Vinculable a controles Propiedades importantes: Item: Obtiene una fila de una tabla determinada Table: Obtiene o asigna el objeto DataTable Sort: Obtiene o asigna la/s columna/s y el ordenamiento RowFilter: Obtiene o asigna la expresión para filtrar la vista RowStateFilter: Indica o asigna el estado del filtro None, Unchanged, New, Deleted, ModifiedCurrent, y otros

System.Data - DataView Creando objetos DataView DataView vista1 = new DataView( miTabla ); DataView vista2 = new DataView( miTabla ); // La vista ordenada por Apellido vista1.Sort = “Apellido ASC”; // Filtrar para ver sólo los modificados vista2.RowStateFilter= DataViewRowState.ModifiedOriginal; // Vincular a un control de usuario... DataGrid myGrid = new DataGrid(); myGrid.SetDataBinding( view1, “Clientes”); //...

DataSet, DataRelation, Data…Views Tables DataTable Relations DataRelation DataRow(s) DataColumn Constraint(s) DataView

ADO.NET y Proveedores Administrados 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 Por ejemplo: Oracle 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

Proveedores administrados System.Data .OleDb .Sql OleDbCommand OleDbConnection OleDbDataReader OleDbDataSetCommand SqlCommand SqlConnection SqlDataReader SqlDataSetCommand Dependen de System.Data.InternalDataCollectionBase para varias clases heredadas

OleDbConnection y SqlConnection Representa una única sesión con un origen de datos Exponen funcionalidad de transacciones Ejemplo de Conexión OleDbConnection: String conStr="Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=NWIND_RW.MDB"; OleDbConnection aConn = new OleDbConnection(conStr); aConn.Open(); // Execute Queries using OleDbDataSetCommand Class aConn.Close();

OleDbDataAdapter 1/2 Es un “Puente” entre el DataSet y el origen de datos Hereda de la clase DataAdapter Es el mecanismo para actualizar un DataSet hacia su origen Base de Datos DataSet DataAdapter

OleDbDataAdapter 2/2 Propiedades de Interés: Objetos OleDbCommand que contienen los procedimientos (o sentencias SQL), para las distintas acciones DeleteCommand: InsertCommand: SelectCommand: UpdateCommand: TableMappings: Definen las relaciones de los DataTable obtenidos por los comandos OleDb de Select Hereda métodos de la clase DbDataAdapter public virtual int Fill( DataSet dataSet ); public virtual int Update( DataSet dataSet );

OleDbCommand Representa una consulta a ejecutar en la base de datos Propiedades: Connection: Conexión utilizada (Objeto OleDbConnection) CommandText: Sentencia a ejecutar CommandType: Tipo de sentencia asignada Texto, Procedimiento Almacenado, o Nombre de la tabla CommandTimeout: Cantidad de segundos para que se considere “fuera de tiempo” la ejecución de una sentencia

OleDbDataReader 1/2 Permite acceso secuencial, de sólo lectura Modelo de programación más “liviano” Con menor sobrecarga que el OleDbDataAdapter Se obtiene por el método ExecuteReader de un OleDbCommand Depende del OleDbCommand hasta finalizar la lectura Mantiene la conexión abierta

OleDbDataReader 2/2 Propiedades Importantes: FieldCount: Cantidad de Columnas del conjunto de datos IsClosed: Indica el estado del Conjunto de datos RecordsAffected: La cuenta de registros obtenidos Métodos para obtener Datos: Por tipo de dato e índice de la columna: GetString, GetInt32, etc. Read: Desplaza al siguiente registro

Resumen ADO.NET es la evolución de ADO Es desconectado, para acompañar el modelo basado en Web Muy flexible para trabajar con Datos Aumenta las capacidades de organizar lógicamente los datos Amplio soporte para XML Lo que permite mayores habilidades para trabajar y compartir datos Interactúa con una gran variedad de orígenes

Migrando ASP a ASP.NET

ASP (Lo Bueno) Tecnología líder en desarrollo para Web Más de un millón de desarrolladores en ASP Desarrollo simple HTML combinado con script No requiere compilación – “sólo grabar” Flexible y extensible Soporta múltiples lenguajes VBScript, JScript®, etc. Puede utilizar Objetos COM para acceder a recursos y encapsular lógica de negocios

ASP (Desventajas) 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

Presentamos 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

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

ASP: Soporte conjunto 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

Cambios semánticos Hay varios cambios semánticos en ASP.NET Tópicos: Lenguaje único en cada página Las funciones deben declararse en bloques <script runat=server>

Lenguaje único en cada página ASP permitía tener múltiples lenguajes en una misma página ASP.NET sólo soporta un único lenguaje por página Se puede tener varias páginas, cada una con un lenguaje diferente

Controles y Eventos en el Servidor Server Controls Web Forms Controls HTML Server Controls Eventos en el Servidor

Componentes COM Los componentes COM “legacy” continúan funcionando normalmente Invocar Server.CreateObject(“progid”) y accederlos “late-bound” Los componentes COM “legacy” también pueden ser accedidos “early-bound” creando wrappers Mejora el rendimiento en la invocación Utilizar TLBIMP.exe

Resumen La migración de aplicaciones ASP a ASP.NET no es directa Requiere cierto trabajo Pero se pueden ejecutar aplicaciones ASP y ASP.NET al mismo tiempo Los beneficios de migrar a ASP.NET valen la pena el esfuerzo Mejor performance Desarrollo más simple Mejor código

Para mayor información… Sitio MSDN www.microsoft.com/argentina/msdn Sitio MUG www.mug.org.ar Regístrese al Newsletter MSDN Flash msdn.microsoft.com/flash www.microsoft.com/latam/msdn/flash Email argmsdn@microsoft.com

¿Preguntas?

Material entregado: CD1: Web Matrix y .NET Framework CD 2: Windows Server.NET RC1 Formulario de evaluación Ahora… el show (sorteos y promociones)

Muchas gracias por su participación Daniel Laco danielL@vemn.com.ar Carlos Walzer carlosw@vemn.com.ar