Database Systems: Design, Implementation, and Management Ninth Edition Chapter 14 Database Connectivity and Web Technol
Views 81 Downloads 1 File size 3MB
Database Systems: Design, Implementation, and Management Ninth Edition
Chapter 14 Database Connectivity and Web Technologies UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
CAPITULO 14
PARTE 5: Bases de Datos e Internet UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
Semanas 14 y 15 NOV 12 23
En este capítulo aprenderá: Varias tecnologías de conectividad de bases de datos Cómo un software denominado Web-to-database middleware es usado para integrar bases de datos con el Internet. Navegador Web Plug-ins y extensiones Que servicios son suministrados por los servidores de aplicaciones Web. Que es XML (Extensible Markup Language) y porque el importante para el desarrollo de bases de datos web. UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
• Acerca de Cloud computing y como habilitar el modelo de bases de datos como un servicio.
UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
4
Conectividad de Bases de Datos • Mecanismo por el cual los programas de aplicación se conectan y comunican con los orígenes de los datos Conocido tambien como database middleware
• Repositorio de datos: Conocido tambien como el lugar del origen de datos Representa la aplicación de la gestión de los datos Usado para guardar datos generados por un programa
de aplicación
• ODBC, OLE-DB, ADO.NET: el backbone de la arquitectura MS Universal Data Access (UDA). UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
5
Conectividad Nativa SQL • Interface de conexión suministrada por los vendedores de bases de datos Unico para cada vendedor
• Ejemplo: Oracle RDBMS Debe instalar y configurar la interface SQL*Net de
Oracle en el computador cliente
• Las interfaces optimizadas por los vendedores particulares de DBMS El mantenimiento es una carga para el programador. La figura 14.1 muestra la interface de conectividad
en el computador cliente. UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
6
7
ODBC, DAO, y RDO • Open Database Connectivity (ODBC) Implementación de Microsoft de un superconjunto
SQL de Acceso en Grupo CLI: Call Level Interface Interface de conectividad de bases de datos soportado ampliamente Cualquier aplicación Windows pueden accesar las fuentes de datos relacionales Usa el standard via SQL application programming interface (API)
UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
8
ODBC, DAO, y RDO (cont.) • Data Access Objects (DAO) API objeto-orientado Accesa MS Access, MS FoxPro, y la base de datos
dBase desde programas Visual Basic. Prevista de una Interface optimizada que expone la
funcionalidad de un Jet engine o motor Jet de datos para los programadores. La interface DAO puede también ser usada para accesar otros estilos relacionales de fuentes de datos.
UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
9
ODBC, DAO, y RDO (cont.) • Remote Data Objects (RDO) Interface de aplicación de alto-nivel orientado a
objeto usado para accesar servidores de bases de datos remotos. Usa el nivel-bajo de DAO y ODBC para el acceso directo a las bases de datos Optimizado para tratar con bases de datos basado en servidor tal como MS SQL Server, Oracle, y DB2
• Implementado como código compartido dinámicamente conectado a Windows via dynamiclink libraries (bibliotecas de enlace-dinámico) UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
10
11
ODBC, DAO, y RDO (cont.) • La arquitectura básica ODBC tiene tres componentes principales: El API ODBC de alto-nivel a través del cual los
programas de aplicación acceden a la funcionalidad de ODBC El driver manager que esta encargado de gestionar todas las conecciones de bases de datos El driver ODBC que se comunica directamente con el DBMS
UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
12
13
14
OLE-DB • Object Linking and Embedding for Database (OLEDB) • Middleware de bases de datos que adiciona la funcionalidad objeto-orientado para accesar a los datos • Series de objetos COM que proveen conectividad de base de datos a bajo-nivel para las aplicaciones • Funcionalmente dividido en dos tipos de objetos: Consumidores Proveedores UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
15
OLE-DB (cont.) • OLE-DB nunca proporcionó soporte para lenguajes script • ActiveX Data Objects (ADO) proporciona interface aplicación-orientada de alto-nivel para interactuar con OLE-DB, DAO, y RDO • ADO proporciona una interface unificada para accesar a los datos desde cualquier lenguaje de programación que use los objetos principales OLEDB.
UNIVERSIDAD PRIVADA ANTENOR ORREGO Database Systems, 9th Edition
Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
16
Database Systems, 9th Edition
17
18
Database Systems, 9th Edition
19
ADO.NET • Componente de acceso de datos de la estructura de desarrollo de aplicaciones Microsoft´s .NET • Dos nuevas características para el desarrollo de aplicaciones distribuidas: DataSet es la representación de la base de datos
desconectada en memoria-residente DataSet esta internamente almacenada en formato XML La data en el DataSet tiene conformación persistente
como los documentos XML
UNIVERSIDAD PRIVADA ANTENOR ORREGO Database Systems, 9th Edition
Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
20
21
ADO.NET (cont.) • Los objetos específicos manipulan la data en el mismo orígen de datos Connection Command DataReader DataAdapter DataSet DataTable
UNIVERSIDAD PRIVADA ANTENOR ORREGO Database Systems, 9th Edition
Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
22
Java Database Connectivity (JDBC) • Java es un lenguaje de programación orientado a objetos Corre en lo alto o top del software navegador Web
• Ventajas de JDBC: La compañía puede apalancarse a la tecnología
existente y al entrenamiento del personal Permite acceso directo al servidor de base de datos o acceso via middleware de la base de datos Proporciona una manera para conectarse a la base de datos a través de un driver ODBC UNIVERSIDAD PRIVADA ANTENOR ORREGO Database Systems, 9th Edition
Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
23
24
Base de Datos en Internet • La conectividad de base de datos permite nuevos servicios innovativos que: Permiten respuestas casi inmediatas al traer nuevos
servicios y productos rápidamente al mercado. Incrementa la satisfacción del cliente a través de la creación de servicios de apoyo basados en Web Establece rápida y efectiva diseminación de la información a través del acceso universal.
UNIVERSIDAD PRIVADA ANTENOR ORREGO Database Systems, 9th Edition
Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
25
Database Systems, 9th Edition
26
Web-to-Database Middleware : Extensiones de Lado del Servidor • El servidor Web es el principal concentrador a través del cual los servicios de Internet son accesados. • Las páginas Web dinámicas estan en el corazón de las actuales generaciones de sitios Web • Extensión de lado del Servidor: un programa que interactua directamente con el servidor Web Tambien conocido como Web-to-database
middleware
• Middleware debe estar muy bien integrado UNIVERSIDAD PRIVADA ANTENOR ORREGO Database Systems, 9th Edition
Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
27
Interfaces del Servidor Web • Dos bien definidas interfaces del servidor Web: Common Gateway Interface (CGI) Application Programming Interface (API)
• Desventajas de scripts CGI: Cargando un script externo decrece el rendimiento
del sistema. El lenguaje y método usado para crear un script tambien decrece el rendimiento.
• API es más eficiente que CGI API es tratado como componente del programa del
servidor Web UNIVERSIDAD PRIVADA ANTENOR ORREGO Database Systems, 9th Edition
Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
29
El Navegador Web o Web Browser • Software que permite a los usuarios navegar por la Web • Localizado en el computador del cliente • Interpreta el código HTML recibido del servidor Web • Presenta diferentes componentes de página en una manera standard • La Web es un stateless system (sistema sin nacionalidad): el servidor Web no conoce el estado de cualqueira de sus clientes. UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
31
Extensiones de lado del Cliente • Adiciona funcionalidad al navegador Web • Tres tipos generales: Plug-ins Java y JavaScript ActiveX y VBScript
UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
32
Extensiones de lado del Cliente(cont.) • Plug-in: una aplicación externa automáticamente invocada por el navegador o browser cuando es necesario • Java y JavaScript: empotrado en la página Web Descargado con la página Web y activado por un
evento
• ActiveX y VBScript: empotrado en la página Web Descargado con la página Web y activado por un
evento Orientado a las aplicaciones Windows UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
33
Servidores de Aplicaciones Web • Aplicación middleware que expande la funcionalidad de los servidores Web Conectado a ellos para un amplio rango de servicios
• Algunos usos de Servidores de aplicaciones Web: Conecta y consulta el database desde la página Web Crea una búsqueda dinámica de páginas Web Refuerza la integridad referencial
• Algunas características de los Servidores de Aplicaciones Web: Seguridad y autenticación del usuario Acceso a múltiples servicios. UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
34
Extensible Markup Language (XML) • Las compañias usan Internet para crear nuevos sistemas que integren sus datos Incrementar eficiencia y reducir costos
• El e-commerce habilita a las organizaciones para ingresar al mercado de millones de usuarios • La mayoría de transacciones de e-commerce toman lugar entre negocios (B2B) • Las páginas Web HTML se exhiben en el navegador Las etiquetas o tags describen como se ve algo en la
página. UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
35
Extensible Markup Language (XML) (cont.) • Extensible Markup Language (XML): Metalenguaje para representar y manipular los
elementos de los datos Facilita el intercambio de documentos estructurados sobre la Web Permite la definición de tags o etiquetas nuevas Sensible a las letras mayúsculas o minúsculas Debe estar bien-formada y apropiadamente anidada Los comentarios son indicados con Los prefijos XML y xml estan reservados sólo para los
tags XML UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
36
37
Definiciones de Tipo de Documento (DTD) y Esquemas XML • Definición de Tipo de Documento (DTD) Archivo con extensión .dtd aquel que describe
elementos Proporciona la composición del modelo lógico de base de datos Define las reglas de sintaxis o tags válidos para cada tipo de documento XML
• La compañia comprometida en una transacción ecommerce debe desarrollar y compartir DTDs • DTD es referenciada desde dentro de un documento XML UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
38
Database Systems, 9th Edition
39
Database Systems, 9th Edition
40
Database Systems, 9th Edition
41
Definiciones de Tipo de Documento (DTD) y Esquemas XML(cont.) • Esquema XML Lenguaje de definición de datos avanzado Describe la estructura de los documentos de datos
XML
• Ventajas del esquema XML: Mapea más cercanamente la terminología y
características de una base de datos
• El archivo XML de definición de esquema (XSD) usa una sintaxis similar al documento XML
UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
42
Database Systems, 9th Edition
43
Presentación XML • XML separa la estructura de los datos de la presentación y procesamiento • El Lenguaje de Estilo Extensible (XSL) exhibe los datos XML Define las reglas por el cual los datos XML son
formateados y exhibidos Dos partes: Transformaciones del lenguaje de Estilo Extensible
(XSLT) Hojas de estilo XSL UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
44
Database Systems, 9th Edition
45
Database Systems, 9th Edition
46
Database Systems, 9th Edition
47
Aplicaciones XML • • • • • • •
Intercambio B2B Integración de sistemas legados Desarrollo de la página Web Soporte a la Base de Datos Meta-diccionarios de bases de datos Bases de Datos XML Servicios XML
UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
48
Servicios Cloud Computing • Al final de los 80´s, el término cloud fué usado por las compañias de telecomunicaciones para describir sus redes de datos • Al final de los 90´s, durante el pico de crecimiento de Internet, el termino describió al mismo Internet. • Luego, el 2006, Google y Amazon empezaron a usar el termino cloud computing para describir un nuevo conjunto de servicios innovadores basados en Web. • Google, Yahoo, eBay, y Amazon fueron los que inicialmente adoptaron el nuevo paradigma. UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
49
• Cloud Computing es “un modelo de computación para capacitar ubicuidad, conveniencia, acceso a la red bajo demanda para compartir un pool configurable de recursos de computación (e.g. redes, servidores, almacén, aplicaciones y servicios) que pueden ser rápidamente suministrados y liberados con un esfuerzo mínimo de gestión o servicio interactivo del proveedor.” • Cloud services se refiere a los servicios proporcionados por Cloud Computing. • Cloud services le permite a cualquier organización rápida y económicamente agregar servicios de TI tales como aplicaciones, almacenaje, servidores, UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
50
potenciar el procesamiento, bases de datos, e infraestructura para su portafolio de TI. • La figura mostrada en el siguiente slide muestra una representación de los servicios de cloud computing basado en Internet. • La implementación de cloud computing varia por tal razón se describirá: • Tipos de Implementación Cloud. • Caracteristicas de los servicios Cloud
• Tipos de servicios Cloud • Servicios de Datos SQL UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
51
• E-mail •Storage •RDBMS
•Desktop •Server •NoSQL
Sites
Blogs Content Delivery Simple Storage
Simple Messaging
Relational DB Simple Queuing
NoSQL DB Elastic Compute
Cloud Service Providers
Docs
Calender Search Cloud Connect
Albums
Voice
Analytics
Chat
Mail Maps
Messaging Videos
Groups
Tipos de Implementación Cloud (nube) • Nube Pública. Infraestructura construido por terceros para vender servicios cloud al público general; ejemplos incluyen Amazon Web Services (AWS), Google Application Engine, y Microsoft Azure.
• Nube Privada. Este tipo de nube interna es construido por una organización por el sólo propósito de servir sus propias necesidades • Nube Comunitaria. Este tipo de nube es construida por y para un grupo específico de organizaciones que comparten el giro del negocio. UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
53
Caracteristicas de los Servicios Cloud • La características, listadas en este slide, son compartidas por prominentes proveedores de nube pública tales como Amazon, Google, Salesforce, SAP, y Microsoft: Acceso ubícuo via tecnologías Internet Infraestructura compartida Costos bajos y precios variables Servicios flexibles y escalables
Provisionamiento dinámico Orientación del servicio Operaciones gestionadas UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
54
Tipos de Servicios Cloud • Software como un Servicio (SaaS). Ejemplos de SaaS incluye MS Office live, Google Docs, Intuit´s Turbo Tax Online, y SCALA digital signage.
• Plataforma como un Servicio (PaaS). Ejemplos de PaaS incluye MS Azure plataform con .NET y el escenario de desarrollo Java, y Google Applications con Python o Java.
• Infraestructura as a Service (IaaS). Ejemplos, un consumidor puede usar AWS y provisionarse un computador servidor que corre Linux y un servidor Web Apache. Usando 16 GB de RAM y 160 GB de almacenaje. UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
55
Servicios de Datos SQL • Las tecnologías de acceso a datos han evolucionado desde un simple recuperador de datos ODBC a avanzados procesamiento de datos remoto usando ADO.NET y XML • SQL data services (SDS) refiere a un servicio de gestión de datos basado en computación en nube la cual proporciona almacenaje de datos relacionales, acceso, y gestión a las compañías de todo tamaño sin el típico alto-costo de hardware inhouse, software, infraestructura, y personal. UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
56
Servicios Cloud Computing
Database Systems, 9th Edition
57
Servicios Cloud Computing
Database Systems, 9th Edition
58
Resumen Database connectivity: Ways in which programs connect and communicate with data
repositories
Database connectivity software known as database middleware Database repository also known as data source Represents data management application used to store data
generated by the program
Microsoft interfaces are dominant players ODBC, OLE-DB, ADO.NET
UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
59
Resumen (cont.) Microsoft’s Universal Data Access (UDA) architecture Collection of technologies to access any type of data source using
common interface
Native database connectivity: interface provided by database vendor ODBC is Microsoft's implementation of SQL Access Group Call Level
Interface
Allows any Windows application to access relational
data sources using SQL
UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
60
Resumen (cont.) OLE-DB adds object-oriented functionality for access to data ActiveX Data Objects provide interface with OLE-DB, DAO, and RDO ADO.NET is data access component of Microsoft .NET framework Java Database Connectivity (JDBC) interfaces with Java applications with data sources
UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
61
Resumen (cont.) Database access through the Web uses middleware On client side of Web browser, use plug-ins, Java and JavaScript, ActiveX, and VBScript On server side, middleware expands functionality of Web servers Links them to wide range of services
XML provides semantics to share structured documents across the Web Produces description and representation of data
UNIVERSIDAD PRIVADA ANTENOR ORREGO Escuela de Ingeniería de Computación y Sistemas Elmer González Herrera - BASE DE DATOS - Curso 2012
62