Curso SOA

78
Arquitectura SOA e Integración de Aplicaciones

description

curos SoA oracle

Transcript of Curso SOA

Curso SOA

Arquitectura SOA e Integracin de AplicacionesAgendaConceptos SOAConceptos Web ServicesCrear un Web Service en JDeveloperConfigurar JDeveloper para deployar un web serviceConectarse a un data source de WeblogicInvocar un stored procedure mediante el data sourceConsumir un web service utilizando eclipseUtilizar simpleParser para analizar una cadena XMLCompetencia SOAConceptos SOAUna 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 ServicesUn 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 ServicesSOAP (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 transmisin de mensajesConceptos Web ServicesWSDL (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 ServicesLa 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

10Curso de XML Mxico, DF. Instructor: Arturo Viveros Reynoso10111. Introduccin a XML121.1. Qu es XML?XML: eXtensible Markup Language.XML no es un lenguaje de programacinXML 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 multi-plataforma131.2. XML vs. HTMLHTML 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.

141.3. XML y B2BB2B (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.151.4. XML / diseo de aplicacionesXML 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.162. Estructura de un documento XML172.1. XML bien formadoLas 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 caracteres : o _.18Ejemplo 1:Declaracin

Elemento raz

Elemento

Atributo

192.2. Declaracin de un documento XMLLa 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 ISO-8859-1.202.3. Elementos XMLLos 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. 21Ejemplo 2:

222.4. Atributos XMLUn 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.

232.5. Entidades PredefinidasEn XML existen 5 entidades predefinidas que sirven para reemplazar caracteres ilegales:

24Ejemplo 3:

252.6. Secciones CDATATodo el texto incluido en una seccin CDATA, ser ignorado al momento de procesar un documento XML.Una seccin CDATA empieza con: .

262.7. ComentariosLa sintaxis para escribir comentarios en XML es similar a la que se usa en HTML:

272.8. NamespacesLos namespaces permiten evitar conflictos de nombres entre los elementos de documentos XML.El atributo namespace en XML, se define de la siguiente manera: xmlns:namespace-prefix=namespaceURI.Si se desea definir un namespace por default, la sintaxis es la siguiente: xmlns:namespaceURI.

28Ejemplo 4:

Resolucin de un conflicto de nombres utilizando prefijos:29Ejemplo 5:Utilizacin del atributo namespace:

Definicin de namespaces por default:

302.9. CodificacinLos 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:

313. Validacin de un documento XML323.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 eficientemente nuestra propia informacin, y/o archivos de salida.

33Ejemplo 6:Declaracin interna:Declaracin externa:

343.2. Schemas XMLLos 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.

35Ejemplo 7:XML Schema:

36Ejemplo 8:Referencia a un Schema XML:

37Schemas XMLLas restricciones en XSD se utilizan para definir los valores aceptables para un elemento o atributo.

38Schemas XMLCon XSD es posible tambin aplicar una restriccin para un conjunto de valores aceptables

39Schemas XMLPueden utilizarse tambin expresiones regulares para definir una restriccin

40Schemas XMLPueden utilizarse tambin expresiones regulares para definir una restriccin

41Schemas XMLLos XSD String Data Types se utilizan para trabajar con valores conformados por cadenas de caracteres

TipoDescripcinstringUna cadena cualquieranormalizedStringUna cadena sin line feeds, carriage returns o tabstokenUna cadena sin line feeds, carriage returns, tabs, espacios al principio o al final o espacios mltiples

42Schemas XML

43Schemas XML

44Schemas XML

454. Visualizacin de documentos XML464.1. XML y los navegadoresPrcticamente 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.

474.2. XML y CSSCon CSS (Cascading Style Sheets), podemos aadir diseo a un documento XML.

484.3. XML y XSLXSL = eXtensible Stylesheet LanguageXSL, 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.

494.4. XML y HTMLEs 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.

505. Herramientas para trabajar con XML515. Herramientas para trabajar con XMLYa 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.

526. Tecnologas XML536. Tecnologas XMLLas 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 dinmicos.

546. XPath55XPathXpath es un lenguaje diseado para realizar bsquedas de informacin en documentos XMLXpath 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.

56Qu 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.

57Expresiones en XpathXpath 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 MS-DOS.

58Funciones en XpathXpath incluye mas de 100 funciones estandarizadas.Dichas funciones sirven para manejo de valores numricos, cadenas, fechas, comparaciones, valores booleanos, secuencias, etc.59Terminologa de XpathEn 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.

60Sintaxis en Xpath

61Sintaxis en Xpath

62Sintaxis en Xpath

63Sintaxis en Xpath

64Sintaxis en Xpath

65Sintaxis en Xpath

667. XSL67XSLTXSL (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.68XSLTCon XSLT transformamos un documento XML en otro documento XML.XMLXMLXSLT69XSLTPara declarar una hoja de estilos XSL se utilizan un elemento raz y un namespace especficos:

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

71XSLTElementos XSLT:ElementoDescripcin

Se utiliza para definir un template

Extrae el valor del nodo seleccionado

Recorre todos los elementos que pertenecen al nodo seleccionado

Se utiliza para ordenar los datos de salida

Evala el contenido del documento contra una condicin predefinida

Evala mltiples condiciones , se utiliza en conjunto con las etiquetas y

Aplica un template sobre los elementos seleccionados72XSLT El atributo match se utiliza con el elemento para asociar el template con uno o ms elementos dentro del documento XML.

73XSLT El atributo select se utiliza con el elemento para obtener el valor del elemento seleccionado

74XSLT Para filtrar la salida del elemento , se utiliza un criterio dentro del atributo select

75XSLT Para ordenar la salida con el elemento , se utiliza el atributo select

76XSLT El atributo test contiene la expresin a ser evaluada con el elemento

77XSLT El atributo test tambin puede utilizarse para evaluar mltiples condiciones en conjunto con los elementos , y

78XSLT El atributo select se utiliza de la siguiente manera con el elemento