Construyendo aplicaciones eBusiness
Haga clic en el icono para agregar una imagen
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
• 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 fabricantesRDBMS• Está diseñado especialmente para eBusiness y no
aplicaría para otros usosEDI• Se desperdiciaría tiempo cada vez reinventando la
ruedaNuevos
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 <ReporteInventario>
<Fecha>2014-09-05</Fecha>
<Distribuidor codigo="RE">OClock Jewels</Distribuidor>
<Movimientos>
<Movimiento>
<Tipo>Entrada</Tipo><Fecha>2014-09-05</Fecha>
<Item>ArtGear Classic</Item>
<Descripcion>Order #6427</Descripcion>
<Cantidad>8</Cantidad>
</Movimiento>
</Movimientos>
</ReporteInventario>
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
<html>
<body>
{ $x }
</body>
</html>
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 WebEDI
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 saberCommon 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…
Haga clic en el icono para agregar una imagen