XML Avanzado

240
XML AVANZADO

Transcript of XML Avanzado

XML AVANZADO

XML, DTD, SCHEMA

IntroduccinXML es un lenguaje de marcas generalizado Texto Puro Sin Marcas existe slo presentacin de contenido Permiten separar el contenido de la presentacin

HTMLUno de los ms exitosos lenguajes de marcas Diseado especialmente para presentacin No considera estructura de los datos en la pgina

XMLEs un Standard No es un Standard aislado, incluye otras tecnologas de vinculacin, consulta y transformacin de documentos Los documentos o instancias estn formados por elementos

XMLUna definicin estricta Una definicin orientada al Web Una Definicin Orientada a Datos

XMLDos conceptos importantes BIEN FORMADO VLIDO

XML BIEN FORMADOUn nico elemento raiz Apertura y cierre de elementos Correcta anidacin de elementos Sensitivo a maysculas y minsculas

XML BIEN FORMADO Educacin Bsica Nombre de alumnos 1 Nombre de alumnos 2

XML VLIDOEs un documento bien formado Responde a una definicin DTD ESQUEMA

DTD EjemploSe posee una coleccin de pelculas o films Cada Film tiene un nombre y un director Los nombres de los directores son texto puro

DTD Ejemplo* : Cero o ms ocurrencias + : una o ms ocurrencias ? : cero o una ocurrencia

Ejemplo

Contenido TextoEl contenido de texto se especifica con la palabra #PCDATA. Se puede contener cualquier texto, a excepcin de elementos, en tal caso el elemento se considera mixto.

Ejemplo film (name,director+)> name(#PCDATA)> director(#PCDATA)>

#PCDATAParsed Character Data No se trata ni de strings, ni de nmeros, no hay restricciones de nmero de palabras , texto, tipo de datos, etc.

Declaracin de AtributosEjemplo:

Declaracin de Atributos

Opciones de Atributos#REQUIRED : establece que es obligatoria la incorporacin del atributo en el elemento #IMPLIED : Establece que es opcional la inclusin del atributo en el elemento.

Valores por defectoSe pueden establecer valores por defecto a los atributos Ejemplo :

EjerciciosDefinir DTD con libreta de notas de un alumno (considerar informacin de profesor jefe, asignaturas, notas, fechas relacionadas) Crear un documento XML vlido Probar con herramientas de validacin y visualizar en browser

EntidadesA veces es prctico poder reutilizar trozos de XML, para eso se puede utilizar el concepto de entidad. Las entidades se pueden utilizar en DTDs, como tambin, en Documentos XML

EjemploJuan Perez>

Utilizacin de EntidadesSe utiliza el nombre de la entidad con el prefijo & y con ; de final Ejemplo: &contenido;

ModularizacinSe pueden modularizar las entidades en un Documento XML externo. A ENTITY se le acompaa de SYSTEM para especificar la entidad externa

Ejemplo

DTDs en ProfundidadDeclaracin de Elementos EMPTY ANY (#PCDATA) (#PCDATA|foo|bar)* (foo,bar(some|otro)+)?

EMPTYPermite establecer el Elemento como vaco

ANYDemuestra un diseo mediocre Se utiliza slo cuando necesite probar los DTDs sin tener que completar todo el contenido

(#PCDATA)Ejemplo:

Contenido Mixto Se puede encontrar elementos y texto en el contenido

Elementos hijos solamenteLas , representan secuencialidad y orden Los | significan escoger entre uno u otro elemento Se pueden hacer combinaciones

Ejemplos: y EMPTY> z EMPTY> v EMPTY>

ConsideracinCuando el contenido es mixto, no es posible establecer el orden de los elementos.

ConsideracionesNo es posible hacer validaciones respecto del contenido de un #PCDATA

Declaracin de Lista de Atributos

Tipo AtributoTipo String CDATA

Tipos TokenizadosID IDREF IDREFS NMTOKEN NMTOKENS ENTITY ENTITIES

Decalaracion_por_defectoRequerido #REQUIRED #IMPLIED valor

No Requerido Valor atributo por defecto Valor fijo #FIXED valor

ID y IDREFID identifica en forma nica al elemento IDREF, permite establecer referencia a un elemento existente.

Ejemplo

NMTOKEN y NMTOKENSNMTOKEN, permite valores sin espacios entre ellos (o sea una palabra) NMTOKENS, permite varias palabras separadas por espacios

ENTITY y ENTITIESENTITY, corresponde a un texto o a otra entidad previamente declarada ENTITIES, es similar a NTOKENS, los valores se separan por espacios

Ejemplo

EntidadesEntidades Parseables (en doc xml) Entidades no Parseables

NameSpaces Espacio de Nombres

Introduccin

DefinicinUn espacio de nombres XML es un conjunto de nombres, identificados por una referencia URI, que se utilizan en documentos XML como tipos de elemento y nombres de atributo Un URI es un identificador global nico No se trata de utilizar un URI como enlace, ni tiene por qu tener contenido, los URI slo se utilizan para que el nombre sea nico

DefinicinPermiten eliminar ambigedades y solucionar problemas que se producen en documentos En un mismo documento existen palabras con el mismo nombre, pero con diferentes significados y espacios semnticos Santiago 1000000

Problema Santiago 1000000

Solucin Santiago 1000000

UsoLos espacios de nombres se aplican tanto a atributos como a elementos. Para definir un espacio de nombres al que pertenece un elemento, es necesario aadir un atributo a la definicin de elemento, donde el nombre del atributo sea xmlns ("xml namespace") y el valor puede ser una cadena cualquiera, aunque por convencin suelen ser URLs.

Otro ejemplo Clark Evans Este album refleja...bla bla bla... Lamb es uno .. Undone Lamb Moby 2000 ... ...

Cmo utilizarlos?Incluir namespaces en sus documentos es muy sencillo 1. Declarar el namespace y hacer uso de nombres calificados 2. Luego utilizar los namespaces en el documento

Ejemplo Paso 1

Ejemplo Paso 2 Matthew Jhonson Este es un album que....Lamb es uno de .... Undone Moby 2000 ... ...

Declaracinxmlns:prefijo=nombre Prefijo corresponde a cualquier conjunto de caracteres exceptuando el : El nombre debe ser una URI vlida

Ejemplos

Ejemplos 2

Nombres CalificadosLos nombres calificados pueden tomar dos formas Una cadena de caracteres que contiene un prefijo y un nombre (denominado parte local) separado por el :. xslt:x foo:y Como parte local myAtrribute

XML SchemaDefinicin de Documentos

SchemaAl igual que las DTDs, describen el contenido y la estructura, pero de una forma ms precisa. Indican tipos de datos, nmero mnimo y mximo de ocurrencias y otras caractersticas ms especficas.

SchemaSchema vence las limitaciones de los DTDs Los DTD no pueden ser representados via DOM. Al ser una expresin definida en XML pueden ser leidos va DOM e inclusive ser parseados a travs de eventos

SchemaSchema, permite definir estructuras ms complejas que en los DTDs Se puede definir tipos de datos especficos, por ejemplo no slo NMTOKEN , #PCDATA o CDATA.

SchemaDOM XML Schema, se puede manipular de manera sencilla via VBScript o en Pginas ASP o JSP, u otra alternativa de scripting Provee la capacidad de establecer elementos con relaciones

SchemaDocumentos son escritos en XML Mejoran considerablemente la curva de aprendizaje, ya que deben estar bien conformados

SchemaLos elementos se pueden definir con tipos de datos especficos XML Schema, es un mecanismo para construir tipos de datos complejos, declarando dentro de los elementos otros tipos

Schema ejemplo

SchemaTipos Los tipos en XML Schema estn divididos en dos categorasSimples Complejos

SchemaTipos simples Slo pueden contener caracteres No pueden contener elementos

SchemaTipos simples

SchemaTipos complejos Pueden contener un conjunto y combinaciones de contenido con elementos, carcter y atributos

SchemaTipo complejo

SchemaDeclaracin de Schema

SchemaVaco de DTD cubierto por XSML Schema 2222-IAG-32123

SchemaXML Schema tipos delimitados

SchemaExpresiones regulares Se utilizan en la propiedad value del elemento pattern

SchemaEjemplo expresiones regulares

A*x x,ax,aax,aaax A?x ax,x A+x ax,aax,aaax (a|b)+x ax,bx,aax, abx, bax, aaax (ab)[2]x Ababx

SchemaExpresiones regulares

* cero o ms ocurrencias + 1 o ms ocurrencias () agrupacin subexpresin | uno u otro [ ] intervalo [^ ] no considera intervalo . Cualquier caracter exceptuando salto de lnea {}n repeticin

SchemaExpresiones regulares \s un carcter de espacio en blanco (espacio o tabulacin) \S cualquier carcter no espacio \d cualquier carcter numrico \D cualquier carcter que no sea dgito \w cualquier carcter alfanumrico (letra nmero o carcter de subrayado)

SchemaExpresiones regulares, ejemplo

Validacin de mail\S+@\S+\.\S+

Algn sitio webw{3}\.\S\.cl

SchemaEspecificacin de restricciones A travs del elemento restriction ms otros sub-elementos, es posible establecer valores especficos o rangos de valores para un tipo definido

SchemaRestriction Min y Max

SchemaRestriction - precision

SchemaRestriction - enumeration

SchemaTipos annimos Con el fin de no estar declarando cada elemento que se establecer en la instancia de un documento xml, se puede definir tipos generales para ser especificados en elementos en particular

SchemaTipos annimos

Schema Especificando Opciones y Sequencias en Modelos de Contenido Con el propsito de establecer restricciones en contenido de un elemento complejo se puede hacer uso de especificacin de sequencias y opciones.

SchemaElemento - choice Es equivalente al contenido en DTD de (A|B|C) Espefica que slo uno de sus hijos puede figurar en el contenido

SchemaElemento choice

SchemaContenido mixto

SchemaCardinalidades Las cardinalidades se pueden especificar por minOccurs y maxOccurs

SchemaReutilizacin de Atributos elementos Grupos Nombrados Es muy similar a declarar entidades en DTD y luego reutilizarlas

SchemaGrupo nombrado No es ms que un nombre asignado a un conjunto de declaraciones choice, sequence u all.

SchemaGrupo nombrado

SchemaAplicacin de Grupo Nombrado

SchemaAnotaciones A travs del tag annotation y documentation se pueden agregar notas de diseo o textos explicativos para un elemento o tipo definido

SchemaEjemplo - Anotaciones Reusing a list of beers

SchemaCreando Una Instancia XML

SchemaHacer schema de DTD construido en ejercicio anterior

XHTML

XHTMLIntroduccin XHTML 1.0 es una adaptacin de HTML 4.01 al lenguaje XML XHTML 1.1 pretende modularizar XHTML. XHTML 2.0 (Borrador) supondr un cambio muy importante respecto de las anteriores versiones de XHTML.

XHTMLCaractersticas Versin ms estricta y limpia de HTML Objetivo remplazar a HTML HTML limitantes de uso con herramientas basadas en XML XHTML extiende HTML XHTMLCombina HTML diseo Combina XML describir datos Ms estricto

XHTMLNecesidad Nuevos dispositivos Interpretacin independiente del dispositivo de donde se accede

Incluye otros lenguajes como MathMl, SMIL, SVG Mathematical Markup Language Synchronized Multimedia Integration Language Scalable Vector Graphics

XHTMLMathematical Markup Language Aplicacin XML para describir notacin matemtica y capturar estructura y contenido.

XHTMLSynchronized Multimedia Integration Language Lenguage basado en XML que permite a los autores escribir presentaciones multimedia interactivas

XHTMLScalable Vector Graphics Lenguaje para describir grficos en dos dimensiones y aplicaciones grficas en XML

XHTMLDocumento XHTML Los documentos deben estar bien formados Los nombres de atributos y elementos deben ir en minsculas Los elementos que no estn vacios necesitan etiquetas de cierre Los valores de las etiquetas deben ir siempre entre comillas

XHTMLOrigen XHTML es muy similar al lenguaje HTML. XHTML adaptacin HTML al lenguaje XML. HTML descendiente de SGML XML descendiente de SGML XHTML descendiente XML

XHTMLOrigen

XHTMLSintaxis XHTML HTML original era muy permisivo en su sintaxisEtiquetas podan escribirse en maysculas, en minsculas e incluso combinando maysculas y minsculas. El valor de los atributos de las etiquetas se podan indicar con y sin comillas (). Orden en el que se abran y cerraban las etiquetas no era importante.

XHTMLResultado flexibilidad HTML Puede parecer un aspecto positivo Resultado final son pginas con cdigo HTML desordenado, difcil de mantener y muy poco profesional.

XHTML soluciona problemas aadiendo normas en forma de escribir las etiquetas y atributos.

XHTML5 normas Las etiquetas se tienen que cerrar de acuerdoEjemplo correcto (XHTML): Este es un prrafo con un enlace Ejemplo incorrecto (HTML): Este es un prrafo con un enlace

XHTML5 normas Nombres de etiquetas y atributos se escriben en minsculas:Ejemplo correcto (XHTML): Este es un prrafo con un enlace Ejemplo incorrecto (HTML): Este es un prrafo con un enlace

XHTML5 normas El valor de los atributos siempre se encierra con comillas:Ejemplo correcto (XHTML):Este es un prrafo con un enlace Ejemplo incorrecto (HTML): Este es un prrafo con un enlace

XHTML5 normas Los atributos no se pueden comprimir: (tipo de atributos no habitual)Ejemplo correcto (XHTML): ... Ejemplo incorrecto (HTML): ...

XHTML5 normas Todas las etiquetas deben cerrarse siempre:Ejemplo correcto (XHTML):
Ejemplo incorrecto (HTML):

XHTMLElementos y etiquetas imprescindibles en un XHTML ... ... ...

XHTMLDoctype puede ser tambin

SOAPSimple Object Access Protocol Protocolo simple de acceso a objetos Estndar diseado para mejorar la interoperatividad entre plataformas utilizando WEB y XML

SOAPEvolucin DesdeSitios estticos

HastaContenido personalizado para servicios a usuarios

Para estos servicios entran en juego un sinnmero de componentes en distintos computadores Sistemas Distribuidos

SOAPLos sistemas distribuidos utilizan dos modelos de comunicacin: Paso de mensajes Mensajes de peticin/respuesta

SOAPPaso de mensajes Permite que los mensajes se enven en cualquier momento (asincrono). La aplicacin que enva el mensaje contina una vez que lo ha enviado

SOAPModelo peticin/respuesta La peticin y la respuesta estn emparejados Sistema sncrono La aplicacin enva la peticin y espera recibir respuesta antes de continuar Ejemplo llamada de procedimiento remoto (RPC) de un objeto de un computador a otro

SOAPModelo peticin/respuesta Se usa habitualmente para permitir que los componentes de distintos servidores puedan comunicarse usando RPC

SOAPModelo peticin/respuesta Algunos estndaresDCOM (Distributed Component Object Model) Microsoft IIOP (Internet inter-orb protocol) ORB (Object request broker) CORBA Estos tienen el problema de ser poco natural , se requiere saber de antemano el estndar utilizado

SOAPModelo peticin/respuesta Algunos estndaresDCOM , CORBA Estos tienen el problema de ser poco natural , se requiere saber de antemano el estndar utilizado No hay inconveniente si se trabaja en sistema interno Complicacin ocurre cuando se trabaja en Internet o Extranet

SOAPSOAP y MODELO PETICIN RESPUESTA SOAP no introduce conceptos nuevos Est construido sobre la Tecnologa existente Independiente de la plataforma Utiliza http como transporte

SOAPSOAP y MODELO PETICIN RESPUESTA http puede atravesar servidores de seguridad Medio ms sencillo para transportar mensajes a cualquier computador Es probable que SOAP evolucione a otros protocolos en el futuro

SOAPPaquete SOAP Contiene informacin que se puede utilizar para invocar a un mtodo La especificacin SOAP no define la forma de llamar al mtodo No maneja:La recoleccin de basura distribuida Seguridad de tipos

SOAPPaquete SOAP Qu permite?PASO DE PARMETROS Y COMANDOS ENTRE CLIENTES Y SERVIDORES HTTP En forma independiente de la plataforma En forma independiente de aplicaciones en el cliente y el servidor

SOAPPaquete SOAP Los parmetros y los comandos se codifican usando XML

SOAPSOAP y ENCABEZADO HTTP HTTP

Dos tipos de encabezados

Encabezados de peticin Encabezados de respuesta

Al visitar una URL el navegador crea una peticin y la enva al servidor WEB Los servidores de HTTP generan una respuesta cuando reciben las peticiones de los clientes

SOAPSOAP y ENCABEZADO HTTP Cuando se crea un mensaje SOAP se agrega informacin adicional a mensajes estndar

SOAPSOAP, CABECERA DE PETICIN Mensaje tpico HTTP en peticin SOAP que se enva a servidor WEBPOST /Order HTTP/1.1 HOST: www.sitioweb.com Content-Type: text/xml Content-Length: nnnn SOAPAction: urn:sitioweb.com:PO#UpdatePO

SOAPSOAP, CABECERA DE PETICINPOST /Order HTTP/1.1 Mtodo peticin, URI peticin, versin productoGET: obtener informacin, POST: pasar informacin cliente a servidor POST se puede enviar cualquier tipo de informacin GET slo cierto tipo de informacin SE puede usar MPOST Al trabajar con POST el URI corresponde al mtodo que se va a invocar

SOAPSOAP, CABECERA DE PETICINHOST: www.sitioweb.com URL del servidor al que se enva la peticin

SOAPSOAP, CABECERA DE PETICINContent-Type: text/xml Tipo de contenido, carga til es XML

SOAPSOAP, CABECERA DE PETICINContent-Length: nnnn Tamao de la carga til en byte

SOAPSOAP, CABECERA DE PETICINSOAPAction: urn:sitioweb.com:PO#UpdatePO Objetivo de la peticin SOAP Espacio de nombres seguido por el nombre del mtodo

SOAPSOAP, CABECERA DE PETICINPOST /Order HTTP/1.1 HOST: www.sitioweb.com Content-Type: text/xml Content-Length: nnnn SOAPAction: urn:sitioweb.com:PO#Updat ePO SE EST LLAMANDO AL MTODO UPDATEPO del OBJETO Order

SOAPSOAP, CABECERA DE RESPUESTA200 OK Content-Type: text/plain Content-length: nnnn Contenido

SOAPSOAP, CABECERA DE RESPUESTA200 OK Cdigo de estado y mensaje asociado (OK) Content-Type: text/plain Content-length: nnnn

SOAPMPOST Limita mensajes que llegan a travs de un servidor de seguridad o servidor proxy Se define utilizando HTTP Extension Framework

BIZTALKSOAP Interoperabilidad entre plataformas WEB y XML Framework extensin de especificacin 1.1 de SOAP

BIZTALKProporciona estructura para construir aplicaciones que muevan datos contenidos en documento soap a travs de fronteras Frontera Punto en el que la informacin pasa de un sistema a otro

BIZTALKFrontera EjemploDos empresas asociadas pueden tener sus propios sistemas para procesar pedidos Paso de pedido de un sistema a otro Pedido pasa la frontera

BIZTALKFrontera Puede corresponder tambin a movimientos entre plataformas con Sistemas Operativos diferentes BISTALK Estructura para el intercambio entre plataformas diferentes

BIZTALKBIZTALK, permite afrontar Necesidad de estndar flexible y fcil de utilizar para: Especificar, empaquetar, publicar e intercambiar informacin estructurada y no estructurada a travs de fronteras con XML Especificar, empaquetar, publicar e intercambiar reglas de negocio

Necesidad de aplicaciones de software intermedio para comunicacin en frontera Necesidad de estndar que proporcione deteccin de errores y acuse recibo de informacin entre fronteras

BIZTALKBIZTALK no es estndar W3C El estndar es XML Objetivo de BIZTALK facilitar implementacin de XML utilizando estructura estandarizada

BIZTALKDocumentos BIZTALK Es un mensaje SOAP Se compone de dos seccionesCabecera del documento BIZTALK (informacin acerca del documento) Cuerpo (contiene la informacin real de la transaccin de negocio)

WEB ServicesOrigen del problema que da origen a WEB SERVICE Problemas de arquitectura internet (inclusive en programacin Cliente/Servidor tradicional) Programacin monoltica

WEB ServicesProgramacin Monoltica Sitios con coleccin de servicios distintos relacionados Combinacin de servicios diferentes tras una nica interface de usuario. Por ejemplo en un sitio nico es posible: Revisar clientes Revisar facturas Revisar contabilidad

WEB ServicesAunque el modelo actual es funcional presenta los siguientes problemas Para crear una aplicacin monoltica es necesario utilizar tiempo y recursos Orientado, con frecuencia, a plataforma especfica Difcil de extender Cada proyecto nuevo obliga a un proyecto de integracin.

WEB Services La integracin de sitios WEB se limitan a link en las pginas No es posible utilizar unidades lgicas de programacin (una funcin de negocio) en otras aplicaciones Extraccin de una parte de una aplicacin WEB (por ejemplo el valor de la UF de un sitio financiero) Obliga a explorar el sitio web completo

WEB ServicesServicios WEB Permiten la misma evolucin de COM Pero la lgica de programacin, en este caso, est EN UN SERVIDOR WEB Integracin puede ser con cualquier tipo de aplicacin

WEB SERVICESDiferencia Servicio WEB/COM COM estndar binario especfico de la plataforma Servicio WEB basado en estndar abierto El estndar abierto permite interoperabilidad con otras plataformas

WEB SERVICESXML

Estndar raz que define un servicio WEB XML se basa en texto Permite pasar por canales http normales Llamadas DCOM pueden ser abortadas por cortafuegos

WEB SERVICESIdentificar nichos de accin La institucin necesita saber si un alumno est egresado de enseanza media o noMINEDUC pone a disposicin un servicio web que reciba como parmetro un rut y devuelva la condicin acadmica

WEB SERVICESIdentificar nichos de accin Una corredora de bolsa necesita saber el valor bolsa de una accinLa bolsa de comercio provee de un servicio web que recibe como parmetro el instrumento y devuelve el valor por accin

WEB SERVICESIdentificar nichos de accin Un sistema de gestin requiere informacin de sistemas auxiliares que estn en plataformas distintasCada sistema auxiliar crea un servicio web que recibe por ejemplo una cuenta auxiliar y devuelve el detalle de sus movimientos

WEB SERVICESIdentificar nichos de accin Una empresa de pago de servicios necesita saber el monto a pagar por una cuentaLas empresas de servicios crean un servicio web que devuelve el monto a pagar una vez que se enva como parmetro el identificador de la cuenta

WEB SERVICESIdentificar nichos de accin Una consultora necesita saber si una persona es o no profesionalLas Universidades proveen un servicio web que permite saber si una persona es o no titulada de dicha casa de estudios

WEB SERVICESLos servicios WEB se disean sobre la base de estndares abiertos Su arquitectura debe ser genrica Se basa en estndares, principalmente WSDL y SOAP

WEB SERVICESWSDL Indica al cliente los mtodos en un servicio web, parmetros y valores de retorno

SOAP

HTTP

Modo de codificar informacin (como los valores de datos) antes de enviarla a o desde un servicio web. Tambin se utiliza http get y http post

Protocolo sobre el que se lleva a cabo la comunicacin. Mensajes SOAP se llevan sobre canales http

WEB SERVICESDISCO Estndar de descubrimiento (discovery). Contiene vnculos a los servicios web, se puede utilizar para una lista dinmica de servicios web UDDIConcepto nuevo. Registro de negocio que lista informacin sobre las empresas, servicio web que proporcionan y URL correspondientes

WEB SERVICESWDSL Lenguaje de descripcin de servicio WEB Estndar basado en XML Especifica cmo se puede interactuar con un servicio web Incluye detalle de parmetros y valores de retorno Incluye protocolo utilizado para transmisin por internet (SOAP, HTTP GET, HTTP POST)

WEB SERVICESWDSL - - - - - - - - -

WEB SERVICES - - - - - - - -

WEB SERVICES - - - - - - -

WEB SERVICESLos servicios web proveen el potencial para simplificar el desarrollo WEB Los servicios web siguen el patrn de programacin OO Todo servicio web ES UNA CLASE que ofrece un servicio Un cliente puede crear una instancia de un servicio web y ser utilizada como cualquier clase local

WEB SERVICES .NET.NET, por ejemplo, provee de las herramientas necesarias para hacer todo el proceso de interoperabilidad casi transparente La clase WebService provee la funcionalidad necesaria El servicio web no tiene interfaz grfica, de todos modos Visual Studio provee la posibilidad de probar la funcionalidad

WEB SERVICES .NETElementos de un servicio WEB Archivo de texto .asmx Clase de servicio web que herede de System.Web.Services.WebServive Un mtodo de servicio web marcado con System.Web.Services.WebMethodAttribu tte. Este mtodo indica las funciones y subrutinas que se DEJARN DIPONIBLES EN INTERNET

WEB SERVICES .NETUn ejemplo Imports System.Web Imports System.Web.Services Imports System.Web.Services.Protocols _ _ _ Public Class MiServicio Inherits System.Web.Services.WebService _ Public Function obtienePromedio(ByVal n1 As Integer, ByVal n2 As Integer, ByVal n3 As Integer) As Double Return (n1 + n2 + n3) / 3 End Function End Class

WEB ServicesUn pequeo repaso de objetos

OBJETOSOrientacin a Objetos Dos conceptos importantesClase Objeto

Clase Definicin de objetos Objetos Instancias de clases

OBJETOSConceptualizacin Un objeto es cualquier cosa abstracta o real Caracterizada por determinados atributos Caractersticas pueden ser manipuladas a travs de un sinnmero de mensajes o mtodos, stos determinan el comportamiento del objeto. Desde un punto de vista prctico, software, un objeto es una coleccin de procedimientos y datos.

OBJETOS Objeto de negocio

WEB ServicesDEMO CREACIN DE UN WEB SERVICE

XPathXML Tecnologas Asociadas

XPathEs un lenguaje no XML Es un lenguaje de consulta Cumple un rol fundamental en tecnologas asociadas como XPointer, Xlink y XSL

XPathEs considerada una de las especificaciones fundamentales de XML Es una especificacin para aplicaciones relacionadas con XML

XPathObjetivo: La meta de XPath es definir un lenguaje que permita direccionar partes de documentos XML

Componentes del lenguajeDireccionar a partes de XML Dar soporte a funciones y expresiones de lenguaje

Contexto y Modelo de Datosraz elemento elemento atributo text()

elemento

LocalidadesLas localidades en XPath son similares a como se especifican las rutas en directorios, con el smbolo / Tambin se puede apreciar sintaxis similar a una subclase en C++ con el smbolo ::

XPATHUn documento XML es procesado por un analizador (o parser) construyendo un rbol de nodos. Este rbol comienza con un elemento raz, que se diversifica a lo largo de los elementos que cuelgan de l y acaba en nodos hoja, que contienen solo texto, comentarios, intrucciones de proceso o incluso que estn vacos y solo tienen atributos La forma en que XPath selecciona partes del documento XML se basa precisamente en la representacin arbrea que se genera del documento. De hecho, los "operadores" de que consta este lenguaje recuerda la terminologa que se utiliza a la hora de hablar de rboles en informtica: raz, hijo, ancestro, descendiente, etc...

Dos por tres calles Josefa Santos La primera calle Era una sombra noche del mes de agosto... Ella, inocente cual mariposa que surca el cielo en busca de libaciones... La segunda calle Era una obscura noche del mes de septiembre... Ella, inocente cual abejilla que surca el viento en busca del nctar de las flores... La tercera calle Era una densa noche del mes de diciembre... Ella, cndida cual abejilla que surca el espacio en busca de bichejos para comer...

/ | +---libro | +---titulo | | | +---(texto)Dos por tres calles | +---autor | | | +---(texto)Josefa Santos | +---capitulo [num=1] | | | +---(texto)La primera calle | | | +---parrafo | | | | | +---(texto)Era una sombra noche ... | +---parrafo | | | +---(texto)Ella, cual inocente mariposa... | +---capitulo [num=2] | +---(texto)La segunda calle | +---parrafo | | | +---(texto)Era una obscura noche ... +---parrafo | +---(texto)Ella, cual inocente abeja...

XPATHTIPO DE NODOS Nodo Raz /. Hace referencia al nodo raz del rbol, no es el elemento raz

Nodo Elemento: Cualquier elemento de un documento XML se puede convertir en un elemento dentro del rbol

Nodo texto: Caracteres que no estn marcados por alguna etiqueta

Nodo atributo: Consta de un nombre y un valor

Nodo comentario e instrucciones de proceso

XPATH Conceptos Bsicos Expresiones Una instruccin xpath se denomina expresin Por ejemplo /libro/capitulo/prrafo Todos los elementos prrafo que cuelgan de un elemento captulo y que a su vez cuelga de un elemento libro Nodo contexto Una expresin tiene un punto de partida llamado nodo contexto Es como el directorio actual

Predicados Permiten restringir la seleccin Por ejemplo: /libro/capitulo[@num="1"]/parrafo

alumno1 5 3 6 alumno2 4 alumno3 5 3 7

XPATH

Qu hacen las siguientes expresiones /curso//asignatura[nota