Construyendo aplicaciones eBusiness Con herramientas 100% XML
Qué aprenderemos en este taller Los pilares de la World Wide Web HTML HTTP Los bloques de construcción de aplicaciones de datos en la Web XML XQuery XForms Uno de los estándares para Negocios Electrónicos en Internet UBL
Cómo lo aprenderemos Vamos a crear una aplicación Web para un problema del Mundo Real Divididas en 6 Actividades de 30 min c/u 1.HTML & HTTP 2.XML 3.eXist-db 4.XPath & XQuery 5.XForms 6.UBL
Caso de Estudio Artempo es una empresa colombiana que ha desarrollado un SmartWatch que se diferencia por incluir elementos artesanales en el pulso y la caja del reloj. Sus relojes son distribuidos en tiendas por departamentos y joyerías Para el negocio es fundamental mantener información de las ventas de sus distribuidores de modo que solo se produzcan las cantidades de relojes precisas de modo que no se mantenga un inventario de los mismos. Artempo requiere desarrollar un sistema de eBusiness que permita conocer las ventas de relojes realizadas por sus distribuidores. El sistema deberá integrarse con los sistemas de facturación de los distribuidores si los tienen, y si no, permitir reportar directamente las ventas mediante una página web.
Qué no aprenderemos Veremos sólo lo fundamental de cada tecnología para crear nuestra aplicación Los siguientes conocimientos harán que pueda sacar más provecho del taller: HTML, CSS, REST o SOAP Después del taller se recomienda investigar por su cuenta sobre ebXML
¡Comencemos!
Factores para el éxito de la WWW Basada en una infraestructura implementada a nivel mundial: TCP/IP Costo muy bajo que los usuarios perciben como inexistente: ISP’s Basada en protocolos muy simples: HTTP y HTML Adoptada ampliamente en el lado del software: Browsers Sigue creciendo y mejorando de manera ordenada para vencer sus limitaciones: W3C Esos mismos son los factores de éxito para el eBusiness
Mirando lo que nadie más ve: HTTP Permite identificar cualquier cosa en la Web URL Method Request Status Code Content-Type Response
Actividad 1: HTML y HTTP
Siguiente Paso: intercambiar Información entre aplicaciones
¿Y por qué no? No contienen suficiente información sobre su estructura, ni mecanismos de prevención de errores TXT o CSV No existe un estándar de comunicación entre los diferentes fabricantes RDBMS Está diseñado especialmente para eBusiness y no aplicaría para otros usos EDI Se desperdiciaría tiempo cada vez reinventando la rueda Nuevos formatos
La solución: XML Está basado en Texto Es intercambiable directamente vía HTTP Es estructurado Es legible por humanos
Un ejemplo de XML OClock Jewels Entrada ArtGear Classic Order #6427 8
Actividad 2: XML
Siguiente Paso: Procesar y Almacenar XML
¿y por qué no? No se pude buscar dentro del XML Sistema de Archivos Hay que trabajar doble RDMBS
La Solución: Bases de Datos XML Pueden almacenar XML y permiten consultas complejas Funcionan como servidores HTTP Menos trabajo
Lo que hay que saber Unidad de almacenamiento: Documentos y Colecciones Cada uno tiene una URL que lo identifica Se pueden acceder vía HTTP O mediante las herramientas integradas: Dashboard y eXide
Actividad 3: eXist-db
Siguiente Paso: Consultas XPath y XQuery
Lo que hay que saber: XPath Cualquier nodo o conjunto de nodos en un documento o colección pueden ser identificado por una expresión XPath Una expresión XPath se compone de Pasos Cada paso es el nombre de los hijos a seleccionar Adicionalmente se pueden añadir condiciones a un paso Se conocen como Predicados y se indican entre corchetes [ ] Ejemplo: /ReporteInventario/Movimientos/Movimiento[Tipo='Entrada']
Lo que hay que saber: XQuery Su objetivo es crear documentos XML a partir de variables y expresiones Las expresiones pueden ser literales, XPath o una combinación XQuery es un lenguaje funcional: cada consulta retorna un nodo o conjunto de nodos Una página HTML puede ser creada mediante una consulta Xquery xquery version "1.0"; declare option exist:serialize "method=html media-type=text/html omit-xml-declaration=yes indent=yes"; Let $x := /ReporteInventario/Movimientos/Movimiento[Tipo='Entrada']; return { $x }
Actividad 4: XPath & XQuery
Siguiente paso: Crear una interfaz de Usuario
¿y por qué no? Limitadas Requieren lógica adicional en el servidor HTML Forms Requiere código adicional en el navegador Crea problemas de mantenimiento Javascript
La solución: XForms Basadas en XML y HTTP Pueden implementarse fácilmente mediante plugins javascript Reducen significativamente el trabajo de construcción Se pueden crear automáticamente a partir de los documentos XML
Lo que hay que saber XForms se integran dentro de las páginas XHTML Se componen de Modelo y Controles En el modelo se hace referencia a los documentos en instancias Los controles se incrustan dentro del body de la página
Actividad 5: XForms
Siguiente paso: Estándares Internacionales
¿y por qué no? Incremento del esfuerzo de implementación Formatos propios No fue diseñado para la Web EDI
La solución: UBL Basado en XML Mantenido por una organización internacional OASIS Amplio cubrimiento de las transacciones de negocios Extensible para necesidades particulares
Lo que hay que saber Common Basic Components (cbc) Representan los tipos de datos simples Fechas Cantidades Nombres IDs Common Agreegate Components (cac) Son la unión de varios cbc para conformar una entidad Item Dirección Parte Common Association Components (documentos) Son la unión de todos los cbc y cac que representan una transacción comercial Cada uno forma un documento XML Factura Orden de Compra Despacho En total 82 en la versión 2.1 de UBL
Actividad 6: UBL
Siguiente paso…