! " # $ %& '( )* + % , - . / . / /0 % ! , 23 $ 1 ( , /0 &, . 3 , 2 /0 / ( 23 4 ! / ! / / 23 . , 235 5 ! / 6 ! / . 4 , . 235 / 3 ! 6 ! . 235 / 6 521 /0 8 1 593 %4 : ; & . 4 $ ! , , 1 7 4 3 4 . 2 ,! / 4 ,! . . / 4 . 3 , 9 & <= >?@ $9!( 23 . &, ! ( 4 / + $ & / 5 - 4 / 2 /0 / $ 5 & / / 23 $ 4 / ! / / ! . 1 4 / ( / / 4 23 4 / % , + 5 , , ( 23 . / ! 4 ( 3 5 9 28 : 35 A 3 C : ; 3 <>B@ ;1 3;1 4 ! , , , <>@ ! / 23 . ! . 235D 235 . / 5 - / 6 ! , " . / 8 1 / , / 235D 35 / 8 11 8 15 , <>E@ 1 , 235 8 1 F 8 15 , ! / / 3 8 1 5, / 1 / / . 1 8 1 2 + G G 3 G !- !235D 35 , ! " 1 <>H@ ( - , 4 ! / 23 /4 ! 7 ( / " 1 1 ( 23 4 / <E@ 1 " 1 7 . " 1 / / / / " 1 ! . " 1 ( " 1 - ( . " 1 4 23F 1 . 235D 35 4 F ? G . 4 / ( ! , 2 ! . $G2& 8 1 235D 35 23 / G2 ( . . 4 23 F A 235I ? ! ! . 235D 35 I / 5 6 ! 4 J ! ! (/ " 2 3 , ! ( $9 & . 4 / $ D3. & <= >?@ /0 / 9!( / 23 7 4 / / F 1 / % / 23 ! . / / . $ & . 7 I $ . 5 H / . / / & / . / & . / /. 5 ( I/ / ! 5 , 23 / $ / / , / <A >>@ 5 / 6 ! $5 6 & ! 23 . 56 F / 5 I / 3 / / F , / > . 235 #$ 235 " 1. , 3. 235 , 7 6 ! <H B@ , 7 7 &<>K@I <>A >L@ 7 # &<>=@ 2 7 1 , 7 G " 1 % 2 235 % " 1 5 9!( D# 8 1 5, , ! . ! ( ! 56 . 6 ! $ $ $ !& " 235D 35 235 6 521 / 6 ! % 5 . 235D 35 . 235D 35 + / A ( D D. . ! + CONTROLADOR UI XML Schema UI O-R UI WSDL Interfaz de Usuario Lógica de la Aplicación PARSER O-R XIS TA SIN SE PARSER WSDL PARSER XML Schema NT MÁ ICA TA SIN XIS SE ICA NT MÁ TA SIN XIS SE ICA NT MÁ MODULO DE VALIDACION MODULO DE TRANSFORMACIÓN DE MODELOS Capa de Persistencia MÓDULO DE ALMACENAMIENTO SUBESQUEMA MODELOS O-R SUBESQUEMA MODELOS XML Schema ICA NT MÁ SE ICA NT MÁ SE METAMETA-MODELO O -R SUBESQUEMA MODELOS WSDL SE SUBESQUEMA DATOS COMPONENTES GRÁ GRÁFICOS METAMETA-MODELO XML Schema #$ ! 3 . ICA NT MÁ METAMETA-MODELO O -R XIS TA SIN 235D 35 ! ( : !( D . / / 6 ! % % % 8 15 , + . / . &' 1 / . . . % 2 / / F 7 + /0 / $ . /0 " ( / / D D . ! . ! ( & D " D. / / . 235D 35 /0 F . . ( 8 15, 8 15 , ! M / / $ $ , !/ . % & / ! , 7 % " - . & /0 . / %! ( $ 1 . ! ( 235D 35 F . , / D + . 8 1 ! ( / ; / A / . ! . . $ / / ! & + 4 %! ( . / " . % . 8 1F . / . / 7 , . 3 8 1 / / ( ! ! . 7 % 4 . . 8 1. . / 7, / 8 13 . ! ( 7 & <L A>@ ! 1 , . 81 $ , / ! / . / ! ( 81 . 2;2 / 8 1 / 8 15 , D, . ( 8 1 5, / 8 1 7 . ! % !! ) " . / 5 / / ! 8 1. 8 15 , . 34 / / / 8 1 / 8 15 , . . D . / D / . / " . % !% 4 / / * ! & . . / $ & . / / ( 8 15 , 8 1 / / . / $ &. 8 1 / . / 8 1 5, . / / / 8 1 ! 7 8 1. $ ! & 7 %% 1 + 2 . / ! N 235D 35 ( 8 1 / . % , / 235D 35 8 1<? AK@ G2 8 1 8 1F9 8 12G <J >J@ . G2 . 8 1 9 8 12G / 8 15 , 8 15, / 8 1. 235D 35 2 / 8 1 5, ! / , !/ G2 34 / A ! 235D 35 G2 9 8 1 2G . ! 8 1 3 ! F . . 235D 35 / 8 15 , D D . 9 8 1 2G . 8 1 / 5, <>E@I . 8 15, 8 15, 8 1 ,! .4 , / % !7 4 / . ( ,! 7 / / 8 15 , / 8 1. 7 . 34 / , 8 15, 9 8 1 2G . 8 1 . / 7 . G2 / ( ! . 235 ! . . 7 235D 35 8 1. % ! . G2 . 8 15 , D 3 % ! . 7 8 1. 7 9 + & 1 / . ! , A . 235D 35 ! / / 6 ! 5 / / + 235 ! 6 ! . / ( 6 521 ! 235 6 521 &' & ! ? / , / 235D 35 4 . . - ! . . % . ( & <AA@ 6 521 / 5 ( 6 521 $6 ! 5 / 6 ! / 2 1 4. / / 6 ! , 7 " 1 6 ! . <>K@ ! ( 7 " 1! 6 521 . 6 ! / F 6 521 6 ! / ? / 235D 35 , / 6 ! % 6 ! . / ! " ! ! . % . . <>K@ 7 " 1F! / ! , . % & & $ $ & & $& ), $%% & $%% ' % " ' '& $%% & $%% ' '& % ' $%% & '+ ) %+ ) % ' % " '& ) & $%%+ + + '+ .' %/000%,0%12 ! " - '& ) %+ ) % ! " * ! " ! " # $%% & ' % '+ ! ) $%% & ! " #$ % / ' % ( ) " ! " # / 6 ! +!- . ( & , 6 ! / 8 15, . 235D 35 8 1 / 6 521 6 ! + 8 1. & / 6 521 / H ! / ? % & % & J 8 1. 6 !$ / . / H& 5 ! . J$ & , / 7 ( . 4 . I . / / 6 ! 7 / / . $ . 6 ! / / $!& / % 8 1 6 521 ························ <element> <node type="operation" Id="operation_GetInfoVuelo" Name="GetInfoVuelo"> <position coordX="412" coordY="523"/> <dimension height="68" weight="125"/> </node> </element> <element> <node type="message" Id="message_GetInfoVueloInput" Name="GetInfoVueloInput"> <position coordX="548" coordY="554"/> <dimension height="68" weight="125"/> </node> </element> <element> <edge type="association" Id="edge15" from="operation_GetInfoVuelo“ to="message_GetInfoVueloInput"> <pattern> <start><position coordX="475" coordY="590"/></start> <point><position coordX="475" coordY="610"/></point> <end><position coordX="548" coordY="590"/></end> </pattern> <text>input</text> </edge> </element> SINTAXIS ···························· $ &5 6 ! $ / 7 $ & 7 / . J$!& 5 , . / 8 1 / / 8 1. . / . #$ + C #$ / 2 8 1. . 6 ! ! / 6 ! ··························· <message name="GetInfoVueloInput"> <part name="AeroLineaNom" typeOfPart="builtinType"> <bultinType>xs:string</bultinType> </part> </message> <message name="GetInfoVueloOutput"> <part name="InfoVuelo" typeOfPart="udtType"> <udtType>infoVueloType</udtType> </part> </message> <message name="CheckInput"> <part name="Cuerpo" typeOfPart="element"> <element>xs:string</element> </part> </message> <interface name="ServicioAeroPortType"> <operation name="GetInfoVuelo"> <input name="GetInfoVueloInput"/> <output name="GetInfoVueloOutput"/> </operation> <operation name="CheckIn"> <input name="CheckInput"/> </operation> </interface> ···································· SEMÁNTICA $!&5 H / +% , . % . 7 5, ! 235D 35 , 8 1. 9 / ! . G2 6 ! , ! 8 15, " 1 <>K@ / 1 / . / 5, , F N N 7 N 7! ! / ! 9 ? G2 8 1F 8 12G / . E , 8 1 . ! ! <>E@ . ! . <?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="http://kybele.escet.urjc.es/UMLWSDL2.02Schema-testing" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:uws=http://kybele.escet.urjc.es/UMLWSDL2.02Schema-testing elementFormDefault="qualified" attributeFormDefault="unqualified"> <!--##################### DEFINICIÓN DE TIPOS COMPLEJOS ###########################--> <!--######################### Tipo DEFINITONS ######################################--> <xs:complexType name="definitionsType" xdb:SQLType="XDB_DEFINITIONS_TYPE"> <xs:annotation> <xs:documentation> Definición del tipo de Datos DefinitionsType </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="targetNameSpace" type="xs:anyURI" xdb:SQLName="TARGETNAMESPACE" xdb:SQLType="VARCHAR2"/> <xs:element name="nameSpace" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="NAMESPACE“ xdb:SQLType="XDB_NAMESPACE_TYPE" xdb:SQLInline="false" xdb:defaultTable="XDB_NAMESPACE_TABLE"> <xs:complexType> <xs:attribute name="location" type="xs:anyURI" use="required" xdb:SQLName="LOCATION" xdb:SQLType="VARCHAR2"/> <xs:attribute name="prefix" type="xs:string" default="default" xdb:SQLName="PREFIX" xdb:SQLType="VARCHAR2"/> </xs:complexType> </xs:element> <xs:element name="include" type="uws:includeType" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="INCLUDE“ xdb:defaultTable="XBD_INCLUDE_TABLE"/> <xs:element name="import" type="uws:importType" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="IMPORT“ xdb:defaultTable="XBD_IMPORT_TABLE"/> <xs:element name="type" type="uws:typeDefType" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="TYPE“ xdb:defaultTable="XBD_TYPE_TABLE"/> <xs:element name="typeSchema" type="uws:typeSchemaType" minOccurs="0" xdb:SQLName="TYPESCHEMA“ xdb:defaultTable="XBD_TYPESCHEMA_TABLE"/> <xs:element name="message" type="uws:messageType" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="MESSAGE“ xdb:defaultTable="XBD_MESSAGE_TABLE"/> <xs:element name="part" type="uws:partType" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="PART“ xdb:defaultTable="XBD_PART_TABLE"/> <xs:element name="interface" type="uws:interfaceType" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="INTERFACE“ xdb:defaultTable="XBD_INTERFACE_TABLE"/> <xs:element name="operation" type="uws:operationType" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="OPERATION“ xdb:defaultTable="XBD_OPERATION_TABLE"/> <xs:element name="binding" type="uws:bindingType" minOccurs="0" xdb:SQLName="BINDING“ xdb:defaultTable="XBD_BINDING_TABLE"/> <xs:element name="service" type="uws:serviceType" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="SERVICE“ xdb:defaultTable="XBD_SERVICE_TABLE"/> <xs:element name="endpoint" type="uws:endpointType" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="ENDPOINT“ xdb:defaultTable="XBD_ENDPOINT_TABLE"/> </xs:sequence> </xs:complexType> <!--########################### Tipo includeType ############################--> <xs:complexType name="includeType" xdb:SQLType="XDB_INCLUDE_TYPE"> <xs:annotation> <xs:documentation> …………. 8 15 , #$ 0 / " ! ( 35 ! 235 56 . , 23 7 " 1 6 521 1 & . 56 4 56 235D 35 235D 35 , ! / 5 I / 235D 35 . 7 , . . . ! ! / , / 6 521 6 ! . 235 + , 4 7 / 7 / " 1 56 . 34 . % , / 235 3 . / F / 235D 35 ! / 56 + 235 9 ( 235D 35 7 / " 1F . ! ( , ! ( / 6 ! ! ( . ( " 1. 2 7 . ! 235D 35 ( 3 3 ! : ; $ ! ( , / ! 236 5 $; AKKADKHKJKD KA& 5! ; 4 232 $KL;N KKJEN AKK? >& / & > 3 ! ; / , # , FN N000 AKK? A G 3 23DG 3 ,/ 6 ! / 6 O, 5 /0 ( 0 , / 5 C AKK? , , 3G # , 3 P # $ & 8 12 : 8 1D ! 2 ! 5 3 6 AKK? G 6 !3 0 ," 1 3 D6 AKKK 2 O 9 8 12G 6 , 9 AKK? C 1 3 " / " 1" 1 : >E= ED>> D ! AKKH Q # 6 3 5 ,R 3 81F; 0 5 7, C ' ! 5 1 AKKK 3 6 G 6 23 7 ;, 2 3 3 6 AKK? 2 ? H J E L = 5 , " 1 8 1 4 # 3 , F B >K >> >A >? >H >J >E >L >= >B AK A> AA , : G Q 6 ! 3 6 1 7 " 1 : 6 O, 6 ! 3 " 1SAKKK 6 T O 9 ! AKKK 2 G # 6 ! 5 0 , " 1F3 5 / 5 9 $ 59 & 9 0O 56 0 T $ & 5 >JDAL AKK? 2 F3 ,/ : / , " ;, >E , / 9 3 / 5 3 5 SKH C9#" =?DBA G F , 3 , / 9!( D# 2 ! 2 " 1 5 /0 5 $5 5 & 5 D C # # G $ & 55:F>E>BD>?EE 55 A JBDLA AKK? O ( 23 > K> # , FN N000 N 9 9 " / 1 5 / >J # F , FN N000 AKK? 9 9 8 1 2G ; , 6, # F 000 AKK? 3 % 1 F2 5 / 0 !F 7 9 8 12G # "9# 3 ! G 2 % G 2 9!( D# " 1 >U ! 4 5 /0 4 $ 5 SAKK>& 3 ! 4 5 /0 4 5 ; 3 % 4 1 " : ( AKK> JBDE= G 3 $3 & >?D>J AKK> G 7 " 1 8 1 5, ;, >J , / 9 3 / 5 3 5 SK? C9#" / N $3 & >EDAK AKK? ; 6 5, 5G:F=EDH?JDKJHBD= AKK? Q F;, 9 V 2 3 , G :0 /G ; A $J& AKKH 6 " 6 3 3 /8 1 2 ! 5 / , / DL 2 3 5 ?J $H& ??>D?L? ! AKK? 6 3 ! , G # 3 9 0 / , 81 , 7, 1 5 /0 5 2 , 3 AKKA 6? 6 ! 5 2 1 $6 521& > AFG 6? 6 O 2 /? AKK? # , F NN000 0?