Sei sulla pagina 1di 78

Arquitectura SOA e

Integracin de
Aplicaciones

Agenda
Conceptos SOA
Conceptos Web Services
Crear un Web Service en JDeveloper
Configurar JDeveloper para deployar un web

service
Conectarse a un data source de Weblogic
Invocar un stored procedure mediante el data
source
Consumir un web service utilizando eclipse
Utilizar simpleParser para analizar una cadena
XML

Conceptos SOA
Una Arquitectura Orientada a Servicios, es una estrategia

tecnolgica por la cual las aplicaciones hacen uso de los


servicios disponibles en una red.
Un servicio en SOA, es una aplicacin empaquetada como un
componente reutilizable para ser usado en un proceso de
negocio.
Un servicio SOA es autocontenido y sin estado.
La implementacin concreta de un servicio SOA no es
importante. A travs de protocolos de comunicacin bien
definidos, los servicios pueden ser invocados de manera que se
hace hincapi en la interoperabilidad y en la transparencia de
localizacin.
La caracterstica principal de SOA, es que es una arquitectura
con acoplamiento dbil.

Conceptos Web Services


Un servicio web es un conjunto de protocolos y estndares

que sirven para intercambiar datos entre aplicaciones.


Distintas aplicaciones de software desarrolladas en lenguajes
de programacin diferentes, y ejecutadas sobre cualquier
plataforma, pueden utilizar los servicios web para intercambiar
datos en redes de ordenadores como Internet.
La interoperabilidad se consigue mediante la adopcin de
estndares abiertos. Las organizaciones OASIS y W3C son los
comits responsables de la arquitectura y reglamentacin de
los servicios Web.
Para mejorar la interoperabilidad entre distintas
implementaciones de servicios Web, se ha creado el organismo
WS-I, encargado de desarrollar diversos perfiles para definir de
manera ms exhaustiva estos estndares.

Conceptos Web Services


SOAP (Simple Object Access Protocol) es un

protocolo estndar que define cmo dos


objetos en diferentes contextos pueden
comunicarse por medio de intercambio de
datos XML.
SOAP fue creado por Microsoft, IBM y otros y
est actualmente bajo el auspicio de la W3C.
Es uno de los protocolos ms utilizados en los
servicios Web.
XML-RPC es un protocolo de llamada a
procedimiento remoto que usa XML para
codificar los datos y HTTP como protocolo de

Conceptos Web Services


WSDL (Web Services Description Language), es un

formato XML que se utiliza para describir servicios


Web.
WSDL se usa a menudo en combinacin con SOAP y
XML Schema. Un programa cliente que se conecta a
un servicio web puede leer el WSDL para determinar
qu funciones estn disponibles en el servidor.
UDDI son las siglas del catlogo de negocios de
Internet denominado Universal Description, Discovery
and Integration. El registro en el catlogo se hace en
XML. UDDI es una iniciativa industrial abierta
(sufragada por la OASIS).

Conceptos Web Services


La Transferencia de Estado Representacional

(Representational State Transfer) o REST es una


tcnica de arquitectura software para sistemas
hipermedia distribuidos como la World Wide Web.
El trmino se origin en el ao 2000, en una tesis
doctoral sobre la web escrita por Roy Fielding, uno
de los principales autores de la especificacin del
protocolo HTTP y ha pasado a ser ampliamente
utilizado por la comunidad de desarrollo.
Los sistemas que siguen los principios REST se
llaman con frecuencia RESTful

Curso de XML
Mxico, DF.
Instructor: Arturo Viveros Reynoso

10

1. Introduccin a
XML

11

1.1. Qu es XML?
XML: eXtensible Markup Language.
XML no es un lenguaje de programacin
XML es un lenguaje diseado para

describir informacin.
XML funciona a base de etiquetas (tags).
XML est recomendado por el W3C (World
Wide Web Consortium).
XML es gratuito, porttil y multiplataforma

12

1.2. XML vs. HTML


HTML se utiliza para

construir pginas web.


Las etiquetas que se
utilizan en HTML son
predefinidas.

XML se utiliza para

transportar y describir
informacin.
XML le permite al
usuario definir sus
propias etiquetas.
XML no es un reemplazo
para HTML.
XML y HTML pueden
utilizarse en conjunto
para disear mejores
aplicaciones Web.

13

1.3. XML y B2B


B2B (Business to Business) se refiere al comercio

electrnico entre empresas.


XML facilita la implementacin de B2B mediante
el intercambio de informacin a travs de
Internet.
Actualmente existen diversos estndares
financieros basados en XML, como: IFX, ebXML,
etc.
XML se ha convertido en una de las principales
herramientas para el desarrollo de aplicaciones
en el sector financiero.

14

1.4. XML / diseo de aplicaciones


XML constituye una herramienta poderosa

para el diseo de aplicaciones.


XML facilita el procesamiento y
almacenamiento de datos.
Los datos almacenados en XML son fciles
de accesar mediante cualquier tipo de
aplicacin.
XML favorece la programacin basada en
el documento, simplificando enormemente
el proceso de diseo de aplicaciones.
Las aplicaciones basadas en XML suelen
ser robustas y eficientes.
15

2. Estructura de un documento
XML

16

2.1. XML bien formado


Las reglas de sintaxis para XML son

simples pero muy estrictas:


Todo documento XML debe comenzar con una

declaracin.
Todas las etiquetas deben estar equilibradas.
Las etiquetas deben anidarse de forma
adecuada.
Siempre debe existir un elemento raz.
Los valores de los atributos deben ir
entrecomillados.
Las etiquetas en XML son sensibles a
maysculas y minsculas.
Las etiquetas pueden ser alfanumricas,
comenzando con una letra, o con los
17

Ejemplo 1:
Declaracin
Elemento raz
Elemento
Atributo

18

2.2. Declaracin de un documento XML


La primera lnea en cualquier documento

XML debe ser la declaracin.


En la declaracin se definen la versin y la
codificacin empleada en el documento.
En el ejemplo anterior, la declaracin nos
indica que el documento corresponde a la
especificacin 1.0 de XML y utiliza la
codificacin definida en el estndar ISO8859-1.

19

2.3. Elementos XML


Los documentos XML, estn conformados

por una serie de etiquetas. Cada una de


stas, con todo su contenido, constituye
un elemento.
Los elementos en XML, siempre guardan
una relacin padre/hijo.
Cada elemento puede tener atributos y
contenido. Este ultimo es el que aparece
entre las etiquetas de apertura y cierre.
Cuando un elemento est vaco, puede
contener la terminacin: />, en lugar de
una etiqueta de cierre.
20

Ejemplo 2:

21

2.4. Atributos XML


Un elemento puede contener n cantidad

de atributos.
Los atributos pueden incluir informacin
adicional para describir un elemento.
Los atributos correspondientes a cada
elemento deben separarse por espacios
en blanco, y sus respectivos valores deben
ir entrecomillados.

22

2.5. Entidades Predefinidas


En XML existen 5 entidades predefinidas

que sirven para reemplazar caracteres


ilegales:

23

Ejemplo 3:

24

2.6. Secciones CDATA


Todo el texto incluido en una seccin

CDATA, ser ignorado al momento de


procesar un documento XML.
Una seccin CDATA empieza con: <!
[CDATA[ y termina con: ]]>.

25

2.7. Comentarios
La sintaxis para escribir comentarios en

XML es similar a la que se usa en HTML:

<!-- Este es un comentario -->

26

2.8. Namespaces
Los namespaces permiten evitar conflictos de

nombres entre los elementos de documentos


XML.
El atributo namespace en XML, se define de la
siguiente manera: xmlns:namespaceprefix=namespaceURI.
Si se desea definir un namespace por default, la
sintaxis es la siguiente: xmlns:namespaceURI.

27

Ejemplo 4:
Resolucin de un conflicto de nombres utilizando prefijos:

28

Ejemplo 5:
Utilizacin del atributo namespace:

Definicin de namespaces por default:

29

2.9. Codificacin
Los documentos XML pueden llegar a contener

caracteres especiales, sobre todo en el caso de


idiomas extranjeros.
Para que un documento que contenga dichos
caracteres pueda ser procesado, se debe guardar
el documento como Unicode, por medio de
alguna aplicacin como Notepad.
Otra opcin es definir el atributo de codificacin
en la declaracin del documento:

30

3. Validacin de un documento
XML

31

3.1. Document Type Definition (DTD)


Un documento XML bien formado es aquel cuya

sintaxis es correcta.
Un documento XML vlido es aquel que adems
de estar bien formado, se ha validado contra un
DTD.
Un DTD define la estructura que un documento
XML debe tener, as como una lista de elementos
legales.
El DTD para un documento XML, puede estar
declarado de manera interna o externa.
El uso de DTDs permite estandarizar el
intercambio de informacin entre diferentes
empresas o aplicaciones.
Por medio de DTDs, podemos validar
32

Ejemplo 6:
Declaracin interna:

Declaracin externa:

33

3.2. Schemas XML


Los schemas XML, son una alternativa a los

DTDs, soportada y recomendada por el W3C.


El lenguaje schema XML es conocido tambin
como XSD (XML Schema Definition).
XSD es mas complejo que los DTDs, pero su
potencial es mucho mayor.
XSD soporta tipos de datos, namespaces, y se
escribe utilizando solamente lenguaje XML.
Con XSD podemos definir por completo la
estructura de un documento XML, incluyendo
elementos, atributos, orden especifico, valores
por default y relaciones padre/hijo.

34

Ejemplo 7:
XML Schema:

35

Ejemplo 8:
Referencia a un Schema XML:

36

Schemas XML
Las restricciones en XSD se utilizan para definir

los valores aceptables para un elemento o


atributo.

37

Schemas XML
Con XSD es posible tambin aplicar una

restriccin para un conjunto de valores


aceptables

38

Schemas XML
Pueden utilizarse tambin expresiones regulares

para definir una restriccin

39

Schemas XML
Pueden utilizarse tambin expresiones regulares

para definir una restriccin

40

Schemas XML
Los XSD String Data Types se utilizan para

trabajar con valores conformados por cadenas de


caracteres
Tipo

Descripcin

string

Una cadena cualquiera

normalizedString

Una cadena sin line


feeds, carriage returns o
tabs

token

Una cadena sin line


feeds, carriage returns,
tabs, espacios al
principio o al final o
espacios mltiples

41

Schemas XML

42

Schemas XML

43

Schemas XML

44

4. Visualizacin de documentos
XML

45

4.1. XML y los navegadores


Prcticamente todos los navegadores soportan

XML, sin embargo, no todos soportan por


completo las herramientas asociadas con este
lenguaje, como namespaces o XSLT.
Internet Explorer 6, soporta ampliamente XML,
con todas sus caractersticas. El parser que viene
incluido con este navegador, esta construido en
base a las recomendaciones de W3C.
Otros navegadores como Firefox, Mozilla, Opera o
Netscape, soportan XML, pero pueden llegar a
presentar ciertos inconvenientes al trabajar con
hojas de estilo.
Ocasionalmente, es posible encontrar plug-ins
para resolver este tipo de problemas.
46

4.2. XML y CSS


Con CSS (Cascading Style Sheets), podemos

aadir diseo a un documento XML.

47

4.3. XML y XSL


XSL = eXtensible Stylesheet Language
XSL, al igual que CSS, nos permite aadir diseo

a los documentos XML.


XSL es una recomendacin de W3C, y constituye
una herramienta mucho mas poderosa y
adecuada que CSS.

48

4.4. XML y HTML


Es posible incrustar datos con formato XML, en

una pgina HTML.


Al XML incrustado se le conoce como isla de
datos.
Esta tcnica nos permite combinar la
funcionalidad de ambos lenguajes, para crear
pginas mas sofisticadas.

49

5. Herramientas para trabajar con


XML

50

5. Herramientas para trabajar con XML


Ya que XML es un lenguaje basado en texto, es posible

generar documentos XML a partir de aplicaciones tan


sencillas como notepad.
Si XML tiene un papel importante en el desarrollo de
nuestras aplicaciones, es sumamente recomendable
utilizar software especializado para trabajar con ste.
Los editores XML nos permiten:
Revisar la sintaxis del XML.
Validar contra un DTD o Schema.
Debuggear y organizar el cdigo de manera eficiente.
Actualmente existe una gran variedad de editores XML,
como son: XMLSpy, oXygen, Blueprint, Eclipse, etc.
La mayora de estos editores pueden descargarse de
manera gratuita. Algunos son mas poderosos que otros,
pero en general ofrecen caractersticas bastante similares.

51

6. Tecnologas XML

52

6. Tecnologas XML
Las tecnologas basadas en XML, han aumentado

considerablemente en los ltimos aos, y actualmente se han


convertido en piezas clave para el diseo y funcionamiento de un
sinnmero de aplicaciones.
Algunas de las tecnologas basadas en XML mas importantes son:
XHTML (eXtensible HTML) una versin mas robusta y poderosa de

HTML.
XML DOM (XML Document Object Model) constituye un estndar para
accesar y manipular documentos XML. Es posible utilizar
implementaciones de DOM en aplicaciones programadas con cualquier
tipo de lenguaje. (Java, .NET, etc.)
XSLT (XSL Transformations) permite transformar documentos XML a
otros formatos mas complejos como XHTML.
SOAP (Simple Object Access Protocol) permite el intercambio de
informacin por HTTP. Es bsico para la implementacin de Web
Services.
WSDL (Web Services Description Language) lenguaje basado en XML
que facilita la descripcin y publicacin de Web Services.
WAP (Wireless Application Protocol) permite mostrar contenidos de
Internet en dispositivos mviles, como telfonos celulares o PDAs.
Xforms (XML Forms) facilita la creacin de formularios HTML
53
dinmicos.

6. XPath

54

XPath
Xpath es un lenguaje diseado para realizar bsquedas de
informacin en documentos XML
Xpath constituye una herramienta de vital importancia
dentro del estndar XSLT aprobado por W3C.
Otras herramientas para manejo avanzado de XML como
Xquery y Xpointer, basan su funcionamiento en expresiones de
Xpath.

55

Qu es Xpath?
Xpath es una sintaxis para definir partes especficas de un
documento XML.
Xpath utiliza expresiones path para navegar en documentos
XML.
Xpath contiene una librera estndar de funciones.
Xpath es un estndar de W3C.

56

Expresiones en Xpath
Xpath utiliza rutas para seleccionar nodos o colecciones de
nodos dentro de un documento XML.
Las expresiones utilizadas por Xpath, son muy similares a
las que utilizaramos en una lnea de comando de UNIX o MSDOS.

57

Funciones en Xpath
Xpath incluye mas de 100 funciones estandarizadas.
Dichas funciones sirven para manejo de valores numricos,
cadenas, fechas, comparaciones, valores booleanos,
secuencias, etc.

58

Terminologa de Xpath
En Xpath, cada elemento de un documento XML, se maneja
como un nodo perteneciente a un rbol.
Para Xpath existen 7 tipos de nodos: elemento, atributo,
texto, namespace, instruccin, comentario y documento (raz).
Un valor atmico o item, es aquel nodo que no guarda
ningn parentesco con algn otro.
Los nodos pueden ser: padres, hijos, hermanos, antecesores o
descendientes.

59

Sintaxis en Xpath

60

Sintaxis en Xpath

61

Sintaxis en Xpath

62

Sintaxis en Xpath

63

Sintaxis en Xpath

64

Sintaxis en Xpath

65

7. XSL

66

XSLT
XSL (eXtensible Stylesheet Language) es una especificacin
desarrollada por W3C, para cubrir la necesidad de una hoja de
estilos basada en XML.
XSLT (XSL Transformations) es un lenguaje basado en XSL
y Xpath, que sirve para transformar y/o procesar documentos
XML.

67

XSLT
Con XSLT transformamos un documento XML en otro
documento XML.

XSLT
XML

XML

68

XSLT
Para declarar una hoja de estilos XSL se utilizan un elemento
raz y un namespace especficos:

69

XSLT
En el siguiente ejemplo hacemos referencia a una hoja de
estilos XSL desde un documento XML:

70

XSLT
Elementos XSLT:
Elemento

Descripcin

<xsl:template>

Se utiliza para definir un


template

<xsl:value-of>

Extrae el valor del nodo


seleccionado

<xsl:for-each>

Recorre todos los elementos


que pertenecen al nodo
seleccionado

<xsl:sort>

Se utiliza para ordenar los


datos de salida

<xsl:if>

Evala el contenido del


documento contra una
condicin predefinida

<xsl:choose>

Evala mltiples condiciones ,


se utiliza en conjunto con las
etiquetas <xsl:when> y
<xsl:otherwise>
71

XSLT
El atributo match se utiliza con el elemento <xsl:template>
para asociar el template con uno o ms elementos dentro del
documento XML.

72

XSLT
El atributo select se utiliza con el elemento <xsl:value-of>
para obtener el valor del elemento seleccionado

73

XSLT
Para filtrar la salida del elemento <xsl:for-each>, se utiliza
un criterio dentro del atributo select

74

XSLT
Para ordenar la salida con el elemento <xsl:sort>, se utiliza
el atributo select

75

XSLT
El atributo test contiene la expresin a ser evaluada con el
elemento <xsl:if>

76

XSLT
El atributo test tambin puede utilizarse para evaluar
mltiples condiciones en conjunto con los elementos
<xsl:choose>, <xsl:when> y <xsl:otherwise>

77

XSLT
El atributo select se utiliza de la siguiente manera con el
elemento <xsl:apply-template>

78

Potrebbero piacerti anche