lunes, 25 de mayo de 2009

UNIDAD 2 BASES DE DATOS Y TECNOLOGÍAS WEB

UNIDAD 2
BASES DE DATOS Y TECNOLOGÍAS WEB
2.1 Herramientas y Tecnologías Desarrollo Web
2.1.1 Intercambio Electrónico de Datos
2.1.2 e-commerc y e-bussines
2.1.3 e-learning
2.1.4 Sistemas Seguridad para desarrollos Web


BASES DE DATOS Y TECNOLOGÍAS WEB
Introducción.- Hoy en día estamos asistiendo a una auténtica revolución. Los avances en las comunicaciones y las nuevas tecnologías están acercando la información al usuario final, así como facilitando su procesamiento. Uno de los cambios más importantes, tiene que ver con el soporte y canal de transmisión de la información. Internet y las Tecnologías Web, han conseguido que el usuario esté familiarizado con información hipermedia, incluyendo texto, imágenes, audio y vídeo. Cualquier ordenador conectado a la red constituye una fuente fácil de entrada de información y de servicios. Este hecho hace que cada vez cobre más fuerza la idea de que nos encontramos inmersos en una “sociedad de la información”.
World Wide Web, o simplemente Web, constituye uno de los intentos más recientes y a la vez más poderosos de sistematizar y simplificar el acceso a la información en Internet. Este nuevo sistema ha revolucionado la forma en que los usuarios se comunican y utilizan los servicios de la llamada “red de redes”, y constituye la causa fundamental del espectacular aumento en el número de personas que usan Internet y de la popularidad e importancia que ha adquirido en la actualidad.
La Tecnología Web permite el desarrollo de aplicaciones distribuidas basadas en el modelo Cliente/Servidor. Las aplicaciones web suponen un importante cambio de enfoque con respecto al desarrollo de aplicaciones tradicionales. Su principal característica consiste en que la comunicación con el usuario se establece utilizando páginas web, que se pueden visualizar desde un navegador que se esté ejecutando en cualquier ordenador conectado a la red. Otra característica importante, consiste en que el código de la aplicación se puede ejecutar en el cliente, en el servidor o distribuirse entre ambos. Además debido al gran volumen de información que se maneja, las aplicaciones web suelen utilizar una Base de Datos, para organizar y facilitar el acceso a la información.
En este artículo se presentan las características básicas de una plicación web (sección 2). A continuación se hace una revisión de las tecnologías que se pueden utilizar en su desarrollo, distinguiendo entre las que optan por la ejecución en el cliente (sección 3.1) o en el servidor (sección 3.2). Se describen algunos ejemplos concretos (sección 4) y por último se introducen dos aspectos que van a marcar el futuro a corto plazo en Internet: el comercio electrónico (sección 5.1) y el lenguajes XML (sección 5.2).
La Tecnología Web permite el desarrollo de aplicaciones distribuidas basadas en el modelo Cliente/Servidor. Las aplicaciones web suponen un importante cambio de enfoque con respecto al desarrollo de aplicaciones tradicionales. Su principal característica consiste en que la comunicación con el usuario se establece utilizando páginas web, que se pueden visualizar desde un navegador que se esté ejecutando en cualquier ordenador conectado a la red. Otra característica importante, consiste en que el código de la aplicación se puede ejecutar en el cliente, en el servidor o distribuirse entre ambos. Además debido al gran volumen de información que se maneja, las aplicaciones web suelen utilizar una Base de Datos, para organizar y facilitar el acceso a la información.

2.1 HERRAMIENTAS Y TECNOLOGIAS DESARROLLO WEB
2.1.1 INTERCAMBIO ELECTRÓNICO DE DATOS
Introducción.-Hoy en día, el sistema informativo contable de cualquier empresa, por pequeña que sea, se encuentra informatizado, de forma que habitualmente se logran unos elevados niveles de automatización de las tareas administrativo-contables. Por ejemplo, es frecuente que se encuentren integrados los programas de contabilidad con los que gestionan la tesorería o la nómina y que estos datos se procesen muy rápidamente.
Pero suele suceder que dos empresas que mantienen una intensa relación comercial cliente-proveedor y que disponen de sendos sistemas informativos contables avanzados, realicen sus transacciones económicas introduciendo las órdenes de compra, las facturas y el resto de documentos en sobres, que posteriormente son enviados por correo. Hoy en día, también es habitual enviar estos documentos a través del fax, con lo que se agiliza la gestión. Si la empresa utiliza un fax-modem conectado al ordenador y gestionado por un programa informático, se evita tener que imprimir los documentos, enviándolos directamente desde su ordenador hasta el fax de la otra empresa.
Otra solución más sofisticada, pero menos frecuente, consiste en enviar dichos documentos a través del correo electrónico. El correo electrónico permite enviar mensajes entre diferentes ordenadores que estén conectados a redes de ordenadores como por ejemplo Internet o Compuserve. Sin embargo, este procedimiento no está exento de inconvenientes, debido a que el correo electrónico no está normalizado y, salvo que el cliente y el proveedor acuerden previamente componer de alguna forma sus mensajes, exige que el receptor traduzca los documentos recibidos. Además, el uso de mero correo electrónico no es un medio seguro para realizar las transmisiones comerciales ni garantiza su confidencialidad.
La solución que desde hace varios años están adoptando muchas empresas se denomina EDI o Intercambio Electrónico de Datos. El EDI básicamente consiste en transmitir electrónicamente documentos comerciales y administrativos entre aplicaciones informáticas, en un formato normalizado. En este trabajo describimos qué es el EDI, qué diferentes normas EDI existen, por dónde viajan los datos, cual es la estructura de un mensaje EDI, los beneficios y los costes que para una empresa puede suponer el implantar este sistema y el impacto que puede tener sobre la Contabilidad.
Toda auditoría informática chequea una larga lista de puntos a tratar: a modo de ejemplo, uno de ellos es detectar la existencia de personas insustituibles, situación que se da con más frecuencia de la deseable. Se debe tanto a la existencia de sistemas EDI sin documentación que explique sus características técnicas como a la alta rotación del personal informático. Ambos factores provocan que a veces haya una sóla persona que conozca el sistema. Esta es una situación muy arriesgada que hay que evitar.

Criptografía. La criptografía, cuyo nombre evoca las artimañas de los espías para cifrar mensajes, alcanza unos niveles de sofistificación extremos cuando se trata en un sistema informático. Los sistemas de clave simétrica garantizan la confidencialidad. Los sistemas asimétricos se utilizan para garantizar la autenticidad del envío, pudiendo utilizarse como firma digital. También existen las Autoridades de Certificación que actuan como terceros para que las empresas estén seguras de la autenticidad de los mensajes recibidos.

Mensajes precintados. Los mensajes se pueden precintar para asegurar que su contenido no se ha modificado, ni accidentalmente ni deliberadamente. Técnicamente la solución más frecuente pasa por enviar dos mensajes, uno contiene el documento EDI y otro incluye una serie de cálculos sobre los datos enviados en el anterior documento, de forma que si el mensaje EDI es modificado, aunque sea en una simple coma, se desprecinta y no cuadra con los cálculos que indica el segundo mensaje.
La utilización intensiva de herramientas ligadas al sector de las telecomunicaciones introducirá cambios importantes en muchas de las actividades típicas del contable. De entre todas las novedades que ligadas a esta tecnología repercutirán en la profesión contable, el EDI es la más inminente. Actividades como la facturación o el control de las existencias, con el EDI son automáticas. Esto supone, cuando el EDI está perfectamente integrado con el resto de aplicaciones informáticas, que la mayoría de los asientos se realizan de forma automática.
Algunas otras aplicaciones de las telecomunicaciones, como la utilización de agentes informáticos también tendrán un considerable impacto en la profesión contable. Según Keegan y Portik (1995) el contable se servirá de estos nuevos programas para realizar informes periódicos que combinen información interna y externa.
Si los contables deberán reciclarse para asumir las nuevas actividades que traerá el EDI, también los auditores verán modificadas muchas de sus formas de trabajar. Para (Teodoro 1994, pag 47), es previsible que la proliferación de sistemas EDI lleve a la utilización cada vez más acentuada de técnicas de auditoría asistida por ordenador (CAA). Los auditores tendrán acceso a archivos electrónicos de documentos, que pueden almacenarse en discos WORM (Write Once Read Many times). Este soporte es ideal para posteriormente realizar auditorías o inspecciones ya que que permite grabar los datos en ellos una sóla vez y leerlos cuantas veces se desee. Ante la imposibilidad de comprobar manualmente si coinciden todos los documentos aportados con los asientos contabilizados, el auditor actualmente utiliza técnicas estadísticas. Con el uso creciente de los soportes informáticos, se podrá evitar el muestreo, verificando automáticamente la validez de los registros.
A medio plazo, el departamento financiero de las empresas puede verse seriamente afectado por el outsourcing. Es decir, que tareas tradicionales del departamento contable-financiero las realicen proveedores. Para Teodoro (1994, pag 84), es frecuente que la proliferación de EDI plantee en algunos entornos la función de ciertos intermediarios dedicados a tareas administrativas o de control de existencias. Según Keegan y Portik (1995), una de las principales tareas del departamento financiero será precisamente identificar qué compañías son capaces de realizar mejor los servicios.
Otra característica de este fin de siglo es el avance imparable de la normalización en todos los aspectos de la economía, que afectará a la profesión contable. Estos intentos de normalización no sólo involucran a las prácticas contables, gracias el esfuerzo de los organismos internacionales de contabilidad sino a otros niveles, como el expuesto en este trabajo relativo a cómo circula la información contable normalizada a través de las redes de comunicación.
Alvarez (1995) explica que la organización del departamento de Contabilidad de cualquier empresa pasa necesariamente por la captura y organización de los “papeles”. Estamos de acuerdo con esta afirmación pero nos atrevemos a sustituir la palabra “papeles” por el término más general de “documento”, independientemente de si el soporte físico es papel, un fichero informático o una sucesión de impulsos eléctricos. De otra forma, el fin del milenio puede coincidir con el fin del contable


2.1.2. ECOMMERCE Y EBUSSINESS
E-commerce
Comercio electronico.
El E-commerce (Comercio Electrónico) es la compra y venta de bienes y servicios a través de internet y más específicamente en el World Wide Web. Es intercambio electrónico de datos de computadora a computadora entre Socios Comerciales (cadenas), con la finalidad de ahorrar tiempo al eliminar los tradicionales métodos de preparación y envío de documentos a través de mensajería. A la vez, tiene la ventaja de ser un método más seguro y confiable para el manejo de información.
Las tendencias de las grandes empresas en la actualidad es la de optimizar y simplificar todas las operaciones de su empresa; para lograr esto, tiene que adoptarse métodos modernos de administración, producción, control y comunicación, entre los cuales se encuentra ED.
Podríamos decir que el E-commerce está estructurado por “Tiendas virtuales” en sitios web que ofrecen catálogos en línea. Incluso se han creado “Centros comerciales virtuales” con gran cantidad de tiendas con todo tipo de accesorios para la venta.
Ventajas.
Permite el acceso a mayor información.
Los pedidos que se realizan son mas rápidos.
Disponibilidad las 24 horas.
Menos inversión en los presupuestos publicitarios.
Desventajas.
No conocer la empresa. Puede ser falsa.
Formato de pagos. No es 100% seguros algunos clientes tienen miedo de dar sus datos personales.
Conocer a quien vende. No se confía en quien vende algunas empresas pueden ser falsas.
Poder volver. Algunas veces no se aceptan devoluciones.
Intangibilidad. No se puede ver físicamente el producto.
Privacidad y seguridad. Algunas veces no es seguro dar nuestros datos pueden ser clonados.
E- BUSINES
Louis Gerstner, el CEO de IBM, en su libro, Quien dice que los elefantes no pueden bailar? Atribuye el término “e-Business” a IBM en 1996. Es la aplicación de las tecnologías de la información para facilitar la compraventa de productos, servicios e información a través de redes públicas basadas en estándares de comunicaciones.
Las aplicaciones basadas en los conceptos de e-business se caracterizan por ser interactivas, con alta intensidad de transacciones, y porque permiten un relanzamiento de los negocios hacia nuevos mercados.
El E-business utiliza el Web tanto como un medio, como un elemento de marketing para el comercio.
El e-business es la nueva forma de comercio en Internet, sin fronteras, con un nuevo planteamiento de los modelos empresariales, clientes globales, nuevos sistemas de pago y estrategias innovadoras.
DIFERENCIAS ENTRE E-COMMERCE Y E-BUSINESS
El e-commerce cubre los procesos por los cuales se llega a los consumidores, proveedores y socios de negocio, incluyendo actividades como ventas, marketing, toma de órdenes de pedido, entrega, servicios al consumidor, y administración de lealtad del consumidor.
El e-business incluye al e-commerce, pero también cubre procesos internos como producción, administración de inventario, desarrollo de productos, administración de riesgo, finanzas, desarrollo de estrategias, administración del conocimiento y recursos humanos.
La estrategia de e-commerce es más estrecha, está más orientada a las ventas y es más simple que otras iniciativas
En última instancia un sistema de e-business puede tomar múltiples formas y es la empresa quien debe decidir la mejor o más adecuada según sus necesidades.
A continuación describiremos brevemente los modelos que con toda seguridad más tendrán que digerir las empresas en los próximos años:
ERP (Enterprise Resuorce Planning). Podemos considerar este software como la tecnología subyacente de gestión interna sobre la cual basar el resto de modelos de negocio de e-business. El término ERP deriva de MRP (Material Requirement Planning) herramienta para el control de procesos productivos. Los sistemas ERP administran los procesos internos del negocio para la optimización de la cadena de valor que sirve a todos los departamentos dentro de la empresa. El software ERP incluye diversas funcionalidades: facturación, contabilidad, compras, producción, transporte, informes de gestión y recursos humanos entre otras.
SCM (Supply Chain Management). Gestiona los procesos de negocio tanto internos como externos de la empresa implicando a todos los agentes que directa o indirectamente están implicados, desde la producción a la distribución. El SCM incluye el aprovisionamiento de materias primas, proveedores, la atención al cliente, la logística y en general todo la cadena de valor de la empresa, optimizando los procesos más que automatizándolos, como es el caso del ERP. CRM (Customer Relatinship Management). Dirigido a todos los aspectos relacionados con la atención y el servicio al cliente, coordina a todos los departamentos involucrados en esta atención: departamentos de ventas, marketing y relaciones con los clientes. Las soluciones CRM gestionan conjuntamente el servicio de reclamaciones, la gestión de incidencias, vendedores y seguimiento de ventas. Al funcionar sobre sistemas de Datawarehouse permiten obtener perfiles de usuario, preferencias y hábitos de compra.
Marketplaces. Mercados virtuales para la venta, compra e intercambio de información entre múltiples participantes. Básicamente consiste en un directorio de empresas con información sobre los productos de cada una donde compradores y vendedores buscan productos o servicios, solicitan ofertas y procesan pedidos.
E-procurement. Abastecimiento electrónico de productos y servicios vía internet. Bajo estas plataformas se gestionan los procesos de compra a proveedores bien sean compras de productos directos (implicados en el proceso de producción del producto final): materias primas, o indirectas (no implicadas en el producto final): papelería, informática, servicios varios. La principal ventaja del uso de estas plataformas radica en el ahorro de tiempo en la gestión de compras, la comodidad y la reducción de los precios de adquisición de productos y la posibilidad de acceder a nuevos proveedores.
Existen más modelos de e-business como el BI (Business Intelligence) centrado en el apoyo a la toma de decisiones y la evaluación de indicadores de negocio. El KM (Knowledge Management) para la gestión del conocimiento y cuyo objetivo es lograr que la información dentro de una organización llegue a todo aquel que la necesite, procesada de forma tal que sea posible llevarla a la práctica. Pero antes de perdernos en la telaraña de siglas y posibilidades, es preciso comentar que la empresa debe más que nada comprenderlas y conocer las posibilidades para poder así aplicar modelos personalizados basados en las necesidades de cada organización, es lo que denominamos la convergencia en los distintos modelos de e-business para llegar a la e-organización. Como vemos, este nuevo uso de internet como herramienta de apoyo a la gestión global de la empresa no se presenta como la nueva panacea de los grandes beneficios. Lo que nos muestran estas soluciones son una nueva visión de internet como un terreno de enormes posibilidades para el desarrollo y fortalecimiento de las empresas.

2.1.3 E-LEARNING
El e-learning encuentra su origen en la educación a distancia, que en los comienzos se realizaba vía correo. Debido al desarrollo de las tecnologías y la aparición de Internet, este sistema se vio bastante favorecido, lo que permitió su utilización para las actividades educativas, y dando origen al e-learning; el término es si mismo se origino en publicaciones de los años 90.
GENERALIDADES DE E-LEARNING
• es un concepto de educación a distancia en el que se integra el uso de las tecnologías de la información y otros elementos didácticos para la formación, capacitación y enseñanza de los usuarios o estudiantes en línea.
• Utiliza herramientas y medios diversos como Internet, intranets, CD-ROM, producciones multimedia (Textos, imágenes, audio, video, etc.), entre otros… Literalmente e-learning es aprendizaje con medios electrónicos: enseñanza dirigida por la tecnología.
• El e-learning, dadas sus características y el soporte tecnológico que lo respalda, se constituye en una alternativa para aquellos que combinan trabajo y actualización, ya que no es necesario acudir a una aula permanentemente.
ESTA BASADO EN 3 CRITERIOS FUNDAMENTALES:
• trabaja en red, lo que lo hace capaz de ser instantáneamente actualizado, almacenado, distribuido, y permitiendo compartir instrucción o información.
• Es entregado al usuario final a través del uso de ordenadores utilizando tecnología estándar de Internet.
• Se enfoca en la visión más amplia del aprendizaje que van más allá de los paradigmas tradicionales de capacitación.
VENTAJAS
• podemos contar con una amplia gama de posibilidades favorables a los procesos de aprendizaje, como la capacitación basada en los computadores, salas de clases virtuales y colaboración digital a través de foros y chats en los que participan los estudiantes.
DESVENTAJAS
• está la disminución o falta de la relación estudiante - profesor, y el posible aislamiento del estudiante; por otra parte, los trabajos grupales se ven entorpecidos muchas veces por el uso del sistema. Por lo mismo, es que aún se puede mejorar considerablemente, integrando otras ámbitos del aprendizaje con esta herramienta.

2.1.4 SISTEMAS SEGURIDAD PARA DESARROLLOS WEB
HISTORIA.-La meta original del ARPANET era crear una red que funcionaría incluso si un cierto section(s) importante de la red falló o fue atacado. Así el Internet fue diseñado para ser robusto contra la negación de los ataques del servicio.
¿Qué es? Puede permitir o impedir, a diferentes usuarios el acceso a cierta información, pero en la red mundial de Internet se necesita de controles más efectivos en este sentido, ante posible espionaje, copia de datos, manipulación de éstos, etc. La identificación del usuario es una de las formas de guardar la seguridad. Las identidades y permisos de usuarios están definidas en los Archivos de Control de Acceso.
FUNCIONAMEINTO
Control de acceso. Una vez protegido de los extraños, es necesario determinar si el usuario es la persona que dice ser para posteriormente permitirle realizar aquellas operaciones a las que tiene acceso.
Controles de integridad. Protegen a los datos de ser, intencionalmente o por error, alterados durante su transmisión.
Esquema de seguridad que debe tener un sitio en Internet.
La seguridad de la red,
- La seguridad de la plataforma
- La infraestructura de CA (Autoridad de Certificación)
La seguridad en web tiene 3 etapas* primarias:
– Seguridad de la computadora del usuario
Los usuarios deben contar con navegadores y plataformas seguras, libres de virus y vulnerabilidades. También debe garantizarse la privacidad de los datos del usuario.
– Seguridad del servidor web y de los datos almacenados ahí Se debe garantizar la operación continua del servidor, que los datos no sean modificados sin autorización (integridad) y que la información sólo sea distribuida a las personas autorizadas (control de acceso).
– Seguridad de la información que viaja entre el servidor web y el usuario Garantizar que la información en tránsito no sea leída (confidencialidad), modificada o destruida por terceros. También es importante asegurar que el enlace entre cliente y servidor no pueda interrumpirse fácilmente (disponibilidad).
Ataques – Navegador
Java.
– En la actualidad es más o menos seguro. Vulnerable a ataques enfocados al usuario.
Javascript.
– Inseguro, se puede enviar información desde formularios html, problemas enfocados a la privacidad.
Phishing
– Suplantación de identidad que busca apropiarse de datos confidenciales de usuarios de la red, por medio de una página que imita a la original.
Ataques – Servidor Web
Puertas traseras
– Mecanismos que permiten el acceso a un sistema, evadiendo los controles de acceso del servidor. En ocasiones, dejados intencionalmente por los programadores, en otros casos dejados inadvertidamente por el administrador.
Ingeniería social
– Es la técnica especializada o empírica del uso de acciones estudiadas o habilidosas que permiten manipular a las personas para que voluntariamente realicen actos que normalmente no harían.
Fuerza bruta
– Técnica que consiste en intentos reiterados de accesar por medio de los controles de acceso legítimos, buscando algún password débil.
Ataques – información en tránsito
Sniffing
– Ataque pasivo enfocado a la recolección de información, esto es posible en redes que comparten el mismo medio (ethernet, campo fértil para los atacantes)
– Información interesante en tránsito: logins, passwords, correos, tareas, mensajero, icq, etc.
SSL MiTM
– Secure Sockets Layer
– SSL es utilizado en conexiones bancarias por tradición, pero se implementa en cualquier esquema seguro de transferencia de información. (POP3S, IMAPS, HTTPS)
– Forma un túnel seguro, dentro del cual se pueden meter otros protocolos de red (encapsulamiento).
SSL funciona por medio certificado público que envía el servidor a todos los clientes.
Los clientes cifran la información que envían con dicho certificado, a su vez envían una llave criptográfica con la que el servidor podrá cifrar a la inversa.





UNIDAD 2 BASES DE DATOS Y TECNOLOGÍAS WEB
2.2 XML
2.2.1 Fundamentos de XML
2.2.2 Diseño Aplicaciones Web Usando XML
2.2.3 Productos XML
2.2.3.1 Middleware
2.2.3.2 Bases de datos
2.2.3.3 Sistemas Administración de Contenidos
2.2.3.4 Motores de Consulta


2.2.1 FUNDAMENTOS XML

XML es un lenguaje de marcas que ofrece un formato para la descripción de datos estructurados, el cual conserva todas las propiedades importantes del antes mencionado SGML. Es decir, XML es un metalenguaje, dado que con él podemos definir nuestro propio lenguaje de presentación y, a diferencia del HTML, que se centra en la representación de la información, XML se centra en la información en si misma. La particularidad más importante del XML es que no posee etiquetas prefijadas con anterioridad, ya que es el propio diseñador el que las crea a su antojo, dependiendo del contenido del documento. De esta forma, los documentos XML con información sobre libros deberían tener etiquetas como , , , , etc., mientras que los documentos XML relacionados con educación incluyen etiquetas del tipo de , , , , etc.
Por ejemplo en la siguiente tabla se muestra la información incluida por un código típico HTML y su versión equivalente en XML. Se puede apreciar en este ejemplo, que es mucho más fácil de entender la representación en XML.
HTML XML





















TítuloAutorPrecio
AutoSketchRamón Montero33
Windows 98Jaime Perez3.250
Web GraphicsRon Wodaski8.975


AutoSketch
Ramón Montero
33


Windows 98
Jaime Perez
3.250


Web Graphics
Ron Wodaski
8.975



Objetivos y Orígenes
XML fue desarrollado por un grupo de trabajo bajo los auspicios del consorcio World Wide Web (W3C) a partir de 1996. Este fue constituido en 1994 con el objetivo de desarrollar protocolos comunes para la evolución de Internet. Se trata de un consorcio de la industria internacional con sedes conjuntas en el Instituto Tecnológico de Massachussets, de Estados Unidos, el Instituto Nacional de Investigación en Informática y Automática europeo y la Keio University Shonan Fujisawa Campus de Japón. El W3C tiene como misión la publicación para uso público de protocolos o estándares globales de uso libre. Al comenzar el proyecto, los objetivos planteados por el grupo de desarrollo del XML fueron diez puntos [Young M. 2000] :
XML debe ser directamente utilizable sobre Internet.
XML debe soportar una amplia variedad de aplicaciones.
XML debe ser compatible con SGML.
Debe ser fácil la escritura de programas que procesen documentos XML.
El número de características opcionales en XML debe ser absolutamente mínimo, idealmente cero.
Los documentos XML deben ser legibles por los usuarios de este lenguaje y razonablemente claros.
El diseño de XML debe ser formal, conciso y preparado rápidamente.
XML debería ser simple pero perfectamente formalizado.
Los documentos XML deben ser fáciles de crear.
La brevedad en las marcas XML es de mínima importancia.
XML es un formato basado en texto, específicamente diseñado para almacenar y transmitir datos. Un documento XML se compone de elementos XML, cada uno de los cuales consta de una etiqueta de inicio, de una etiqueta de fin y de los datos comprendidos entre ambas etiquetas. Al igual que los documentos HTML, un documento XML contiene texto anotado por etiquetas. Sin embargo, a diferencia de HTML, XML admite un conjunto ilimitado de etiquetas, no para indicar el aspecto que debe tener algo, sino lo que significa. Por ejemplo: un elemento XML puede estar etiquetado como precio, número de pedido o nombre. El autor del documento es quien decide qué tipo de datos va a utilizar y qué etiquetas son las más adecuadas.
En lugar de describir el orden y la disposición de la presentación de los datos, las etiquetas indican qué significa cada elemento de datos (si es un elemento , un elemento , etc.). Cualquier receptor de estos datos puede descodificar el documento y utilizarlo para sus propios fines.
Estándares abiertos
XML se basa en una tecnología desarrollada a partir de estándares probados y optimizada para la Web. La iniciativa XML consta de un conjunto de estándares relacionados entre sí:
XML (Extensible Markup Language). Es una recomendación, que significa que el estándar es estable y que los desarrolladores de Web y de herramientas pueden adoptarlo plenamente.
Namespaces. En XML es una recomendación que describe la sintaxis y la compatibilidad de los espacios de nombres para los intérpretes de XML.
DOM (Document Object Model). Es una recomendación que ofrece un estándar para el acceso mediante programación a los datos estructurados (a través de scripts), de modo que los desarrolladores puedan interactuar de forma coherente con los datos basados en XML y computarlos.
XSL (Extensible Stylesheet Language). XLS es la cara de presentación del XML. Este debe representar de forma independiente a la plataforma utilizada la información existente en los documentos XML.
XML Linking Language. Es un lenguaje que ofrece vínculos en XML parecidos a los de HTML, pero más potentes. Los vínculos pueden tener varias direcciones y pueden existir en el nivel de los objetos, no sólo en el nivel de las páginas.


2.2.2 DISEÑO APLICACIONES WEB USANDO XML
Características Principales
Extensible
Dentro de XML se pueden definir un conjunto ilimitado de etiquetas. Mientras que las etiquetas de HTML pueden utilizarse para desplegar una palabra en negrita o itálicas, el XML proporciona un marco de trabajo para etiquetado de datos estructurados. Un elemento de XML puede declarar que sus datos asociados sean el precio de venta al público, un impuesto de venta, el título de un libro o cualquier otro elemento de datos deseado. Al irse adoptando las etiquetas XML a lo largo de una intranet de alguna organización y a lo ancho de la Internet, habrá una correspondiente habilidad para buscar y manipular datos sin importar las aplicaciones dentro de las cuales se encuentre.
Representación estructural de los datos.
El XML proporciona una representación estructural de los datos que ha probado ser ampliamente implementable y fácil de distribuir. Las implementaciones industriales en la comunidad del SGML y en otros lugares han demostrado que la calidad intrínseca y la fortaleza industrial del formato de datos con estructura de árbol del XML. El XML es un subconjunto del SGML que está optimizado para su transmisión por Web; al estar definido por el Consorcio de la World Wide Web, asegura que los datos estructurados serán uniformes e independientes de aplicaciones o compañías. Esta interoperabilidad resultante está dando el impuso de inicio a una nueva generación de aplicaciones de Web para comercio electrónico [MSDN en línea. Introducción al XML].
El lenguaje XML proporciona un estándar de datos que puede codificar el contenido, la semántica y el esquema de una amplia variedad de casos que van desde simples a complejos, por ejemplo XML puede ser utilizado para marcar lo siguiente:
Un documento ordinario.
Un registro estructurado, tal como un registro de citas u órdenes de compra.
Un registro de datos, tal como el resultado de una consulta.
Metacontenido acerca de un sitio Web, tal como un Formato de Definición de Canal (Channel Definition Format, CDF).
Presentaciones gráficas, tales como la interfase de usuario de una aplicación.
Una vez que los datos estén en el escritorio del cliente, pueden ser manipulados, editados, y presentados de una gran variedad de maneras, sin viajes de regreso al servidor. Los servidores se pueden convertir ahora en más escalables, debido a las menores cargas de cálculo y ancho de banda. Además, dado que los datos son intercambiados en el formato XML, pueden ser fácilmente mezclados desde diferentes fuentes.
Los datos son separados de la presentación y el proceso.
El poder y la belleza del XML es que mantiene la separación entre la interfase de usuario y los datos estructurados. El HTML especifica como visualizar datos en un navegador, en cambio XML define el contenido. XML solo utiliza etiquetas para describir los datos, tales como el nombre de la ciudad, temperatura y presión barométrica. Para presentar los datos en un navegador XML, este utiliza hojas de estilo tales como el Lenguaje de Estilo Extensible (XSL) y las Hojas de Estilo en Cascada (CSS). El XML separa los datos de la presentación y el proceso, permitiendo desplegar y procesar los datos tal como usted desee, al aplicar diferentes hojas de estilo y aplicaciones.
Esta separación de datos de la presentación permite una integración de datos perfecta de fuentes diversas. La información de clientes, ordenes de compra, resultados de investigaciones, pagos de facturas, registros médicos, datos de catálogo y cualquier otra información se puede convertir a XML, permitiendo a los datos ser intercambiados en línea tan fácilmente como las páginas de HTML despliegan datos hoy. Los datos codificados en XML pueden ser transmitidos sobre la Web hasta el escritorio. No es necesario retroajustar información en formatos propietarios almacenados en bases de datos o documentos de mainframes y, debido a que se usa el HTTP para transmitir documentos XML sobre la red, no se necesitan cambios para esta función. Los documentos XML son fáciles de crear; si está familiarizado con el HTML, puede aprender rápidamente a crear uno.
Conversión de los datos XML en autodescriptivos.
Los datos codificados en XML son autodescriptivos, pues las etiquetas descriptivas están entremezcladas con los datos. El formato abierto y flexible utilizado por XML permite su uso en cualquier lugar donde sea necesario intercambiar y transferir información. Dado que el XML es independiente del HTML, se puede insertar código XML en documentos HTML. El W3C ha definido un formato mediante el cual se pueden encapsular en páginas HTML los datos basados en XML. Al incrustar datos XML en una página HTML, se pueden generar varias vistas a partir de los datos entregados, utilizando los datos semánticos que contiene el XML.

2.2.3 PRODUCTOS XML
Productos
El número de productos para utilizar XML con Bases de Datos está creciendo a una gran velocidad. Nuevos productos entran al mercado de forma constante. Aquí se realiza una clasificación de estos productos, mencionando cuales son las características genéricas de los mismos, que funcionalidades brindan y se analizan algunos de estos productos existentes en el mercado.
Antes de continuar, hay que realizar la aclaración de que los documentos XML pertenecen a dos categorías: "basados en datos" y "basados en documentos". Los documentos XML "basados en datos" son en los que XML es usado como un transporte de datos. Estos son por ejemplo órdenes de compra, registros de pacientes y datos científicos. Los "basados en documentos" son en los que XML es usado para representar documentos, como un manual de usuario, páginas estáticas, folletos de marketing. Este último tipo de documento se caracteriza por su estructura irregular.
Para grabar y recuperar datos en un documento "basados en datos", se necesitará una Base de datos, como puede ser una Base de Datos relacional o una orientada a objetos.
Para grabar y recuperar datos en un documento "basados en documentos", se necesita una Base de Datos de XML o un Sistema de Administración de Contenidos. Ambos está diseñados para almacenar fragmentos del contenido, como procedimientos, capítulos, y glosarios, y pueden incluir metadatos, como nombre del autor, fecha de revisión, etc. Un Sistema de Administración de Contenidos generalmente tiene funcionalidades adicionales, como editores, controladores de versiones, etc [Bourret R.,XML].

Categorías de Productos
Para realizar esta división de los productos que están vinculados a la tecnología XML se tomó en cuenta cuales son las características de los mismos, las funciones que cumplen y como interactúan con las Bases de Datos. Cabe destacar que a veces las diferencias entre algunas de estas categorías es un poco arbitraria, ya que los productos ofrecen funcionalidades muy variadas que implica que se superpongan entre las categorías. Se puede establecer que siete categorías de productos:
Middleware: Software que es invocado desde nuestras aplicaciones para transferir datos entre documentos XML y Bases de Datos. Orientados a aplicaciones "basados en datos".
Bases de Datos XML-Enabled: Bases de Datos que pueden transferir datos entre documentos XML y ellas mismas. Orientados principalmente para aplicaciones "basados en datos".
Bases de Datos de XML Nativo: Base de Datos que almacenan XML en su forma "nativa", generalmente tanto texto indexado como alguna variante del DOM. Son tanto para aplicaciones "basados en datos" o "basados en documentos".
Servidores XML: Plataforma que brinda servicio de datos (en forma de documentos XML) desde y hacia aplicaciones distribuidas, como e-commer Los documentos XML deben ser fáciles de crear ce y aplicaciones business to business. Orientados principalmente a aplicaciones "basados en datos".
Servidores de Aplicaciones XML: Servidores de aplicaciones Web que brindan servicio de XML a los navegadores. Son tanto para aplicaciones "basados en datos" o "basados en documentos".
Sistemas de Administración de Contenidos: Sistemas para administrar documentos legibles e incluyen soporte para editar, controlar las versiones, crear nuevos documentos a partir de documentos existentes. Principalmente destinados a aplicaciones "basados en documentos"
Motores de consulta de XML: Aplicaciones que permiten realizar consultas sobre documentos XML.


2.2.3.1 MIDDLEWARE
MIDDLEWARE
Middleware es software que es usado en aplicaciones "basadas en datos" para transferir datos entre documentos XML y Bases de Datos. Están escritos en diferentes lenguajes, pero la mayoría de estos utilizan ODBC, JDBC, o OLEDB. Aunque algunos de estos pueden enviar datos a través de Internet, la mayoría de estos necesitan ser usados con un servidor Web si se necesita acceso remoto a los datos.
Tipos de middleware
Se pueden clasificar los diferentes middleware en función de su escalabilidad y su tolerancia a fallos, aunque tomando en cuenta que esta investigación no fue corroborada, pueden haber otros tipos de clasificaciones:
Remote Procedure Call (RPCs) — El cliente realiza una llamada a procedimientos que están corriendo en máquinas remotas. Pueden ser síncronos o asíncronos.
Publish/subscribe — Este tipo de monitores middleware activan y entregan información relevante para los subscriptores.
Message Oriented Middleware (MOM) — Los mensajes enviados al cliente se recogen y se almacenan hasta que son solicitados, mientras el cliente continúa con otros procesos.
Object Request Broker (ORB) — Este tipo de middleware permite que los clientes envíen objetos y soliciten servicios en un sistema orientado a objetos.
SQL-oriented Data Access — middleware entre las aplicaciones y los servidores de base de datos.
Otras fuentes incluyen divisiones adicionales:
Monitores de Transacciones Distribuidas — Provee herramientas y un ambiente de desarrollo y despliegue de aplicaciones distribuidas.
Servidor de aplicaciones — Software instalado en una computadora para facilitar el servicio(ejecución)de otras aplicaciones.
Enterprise Service Bus — Una capa abstracta en el tope de un sistema de mensajería de empresa.


2.2.3.2 BASES DE DATOS
BASES DE DATOS XML-ENABLED
Este tipo de Bases de Datos son (usualmente relacionales) que brindan la posibilidad de transferir datos entre documentos XML y ellas mismas. Estas Bases de Datos son generalmente diseñadas para almacenar y recuperar documentos "basados en datos". Esto es porque los datos son transferidos desde y hacia tablas definidas por el usuario, en lugar de tablas especialmente diseñadas para modelar el documento XML. Sin embargo, muchas de estas pueden almacenar documentos "basados en documentos" en una sola columna.
Muchas de las Bases de Datos pueden publicar documentos en el Web, esto implica que la línea que separa entre las Bases de Datos XML-Enabled y los Servidores de XML es confusa, pero cabe destacar que estos últimos están diseñados primariamente para construir aplicaciones basadas en el Web. Con más claridad se puede diferenciar las Bases de Datos XML-Enabled y los Servidores de Aplicaciones XML, los cuales no puede recibir datos como documentos XML. Dentro de este tipo de Bases de Datos, encontramos los productos:

Producto Desarrollador
DB2 XML Extender and DB2 Text Extender® IBM®
Informix® Informix®
Microsoft SQL Server 2000® Microsoft®
Oracle 8i 9i® Oracle®
DB2 XML Extender y DB2 Text Extender. Desarrollador: IBM
El DB2 XML permite transferir datos entre documentos XML y DB2. Los DTDs de XML son mapeados a esquemas (y viceversa) con el lenguaje XML-based Data Access Definition (DAD). Una herramienta visual es provista para construir documentos DAD, de forma de mapear elementos y atributos a las tablas y columnas. Las aplicaciones son procedimientos almacenados, que invocan el Extender, quien luego guarda o trae datos basados en el documento DAD. El XML Extender administra documentos DAD y DTDs en sus propias tablas, evitando que las aplicaciones tengan que hacer esto y optimizando el acceso. Además, el DB2 Text Extender contiene una variedad de tecnologías para realizar búsquedas.

Informix. Desarrollador: Informix
Informix soporta XML a través de su traductor "Object Translator " y el producto "Web DataBlade." El Object Translator genera código, incluyendo la capacidad de que los objetos transfieran sus datos desde y hacia la Base de Datos. También soporta funcionalidades como transacciones y tipos de bloqueos pesimistas y optimistas. El soporte de XML está provisto a través de métodos generados que pueden transferir datos entre objetos y documentos XML. Los usuarios deben mapear los documentos XML a un árbol de objetos de datos con una herramienta visual. El Web DataBlade es una aplicación que crea Documentos XML desde templates conteniendo sentencias embebidas de SQL.

Microsoft SQL Server 2000. Desarrollador: Microsoft
Microsoft SQL Server 2000 soporta XML de tres formas distintas: La cláusula FOR XML en sentencias SELECT, consultas XPath que utilizan esquemas XML-Data, y la función OpenXML en procedimientos almacenados. Los esquemas XML-Data, también llamados "esquemas de mapeo", contienen atributos extras que mapean elementos y atributos a tablas y columnas. Esto modela un documento XML como un árbol de objetos de datos y son usados para consultar la Base de Datos usando un subset de XPath. Existe una herramienta gráfica para construir esquemas de mapeo.

La función OpenXML es usada para extraer cualquier parte de un documento XML como una tabla y puede ser usado como una tabla en la mayoría de los lugares donde estas son utilizadas, como por ejemplo en la cláusula FROM de una sentencia SELECT. Esto se puede utilizar en forma conjunta con una sentencia INSERT para transferir datos de un documento XML a la Base de Datos. Una expresión XPath identifica el elemento o atributo que representa una fila de datos. Inserts, updates, y deletes son realizados a través de documentos XML llamados "update grams". Estos contienen los datos de antes y después (ambos en caso de un update), solamente el después en el caso de un insert, y sólo el antes en caso de un delete.

Oracle 8i, 9i Desarrollador: Oracle
Oracle 8i puede almacenar documentos XML de tres maneras distintas: en el Internet File System (iFS), usando el utilitario para Java XML SQL, y como un objeto binario que puede ser buscado utilizando el Oracle Intermedia XML Search. Oracle 8i también incluye un número de otras herramientas relacionadas con XML, la más interesante de las cuales es el XML Class Generator, quien puede generar clases Java desde un DTD.

Con iFS, una o más definición de tipos de documentos definen como se van a mapear un documento XML como un árbol de objetos de datos específicos. iFS usa ese mapeo de documentos tanto para construir tablas en cuales el documento XML puede ser almacenado, y para transferir datos entre documentos XML y la Base de Datos. Oracle Intermedia XML Search es un utilitario que puede automáticamente indexar y buscar documentos XML y fragmentos de estos, de cualquier tamaño hasta 4 Gigabytes.
Oracle 9i incluye Base de Datos con soporte nativo de XML, e introduce un nuevo tipo de objeto de datos (XMLType).

BASES DE DATOS DE XML NATIVO
Dentro de las Bases de Datos de XML Nativo encontramos dos tipos de categorías:
Almacenamiento basado en texto Guarda el documento entero en forma de texto. Una estrategia simple es guardar documento como un BLOB (Binary Large Object) en una Base de Datos relacional o como un documento en un File system que brinde búsquedas sobre documentos.
Almacenamiento basado en el Modelo Grabar un modelo binario del documento en un repositorio de datos existente. Por ejemplo, estos deben mapear el DOM a tablas relacionales como los elementos, atributos o entidades.
Las Bases de Datos de XML Nativo difieren de las Base de Datos XML-Enabled en tres formas principales:
Las Bases de Datos de XML Nativo pueden preservar la estructura física, como también los comentarios, DTDs, etc. Mientras que las Bases de Datos XML-Enabled pueden hacer esto en teoría, pero es no es realidad en la practica.
Las Base de Datos de XML Nativo pueden almacenar documentos XML sin conocer su esquema (DTD).
La única conexión con los datos de una Base de Datos de XML Nativo es XML y las tecnologías relacionadas como XPath, DOM u otras API. En el otro sentido, las Base de Datos XML-enabled, ofrecen acceso directo a los datos como por ejemplo por ODBC.
Dentro de esta categoría podemos encontrar los siguientes productos:
Producto Desarrollador
4Suite - 4Suite Server® FourThought®
Birdstep DataBase Engine® Birdstep®
DbXML® The dbXML Group®
EXcelon® eXcelon Corp.®
Lore® Stanford University®
Virtuoso® OpenLink Software®

2.2.3.3 SISTEMAS DE ADMINISTRACIÓN DE CONTENIDOS
Los Sistemas de Administración de Contenidos sirven para almacenar, recuperar e integrar documentos XML. Estos incluyen características como editores, controladores de versiones y control de accesos a usuarios concurrentes. Estas ofrecen funcionalidades en el manejo de documentos, como por ejemplo controlador de versiones. La mayoría de los Sistemas de Administración de Contenidos pueden publicar XML en el Web, pero son primariamente diseñados para administrar documentos "basados en documentos".
Producto Desarrollador
Astoria® Chrystal Software®
BladeRunner® Interleaf®
Documentum® Documentum®
Dynabase® eBusiness Technologies®
Epic® Arbortext®
Frontier® UserLand Software®
GEM Content Management System® X.Systems®
GroveMinder® TechnoTeacher®
Hynet Directive® Hynet Technologies®
Information Manager® Interleaf®
POET Content Management Suite® Sorman®
Prowler® Infozone®
Target 2000® Progressive Information Technologies®

2.2.3.4 MOTORES DE CONSULTA DE XML
Motores de consulta XML son programas que puede realizar consultas sobre un Documento XML. Actualmente, existen una gran variedad de lenguajes: XQL, XPath, XML-QL, Quilt, XQuery, etc. Se espera que en el futuro el W3C logre estandarizar estos lenguajes en: XPath y XQuery.

No hay comentarios:

Publicar un comentario