Model-driven Rule-based Mediation in XML Data Exchange

Size: px
Start display at page:

Download "Model-driven Rule-based Mediation in XML Data Exchange"

Transcription

1 Model-driven Rule-based Mediation in XML Data Exchange Yongxin Liao, Dumitru Roman, Arne J. Berre SINTEF ICT, Oslo, Norway October 5, 2010 ICT 1

2 Outline Intro to XML Data Exchange FloraMap: Flora2-based XML data transformation Technique: steps and examples Implementation and experiments Generic XML Data Exchange Framework Related Work Conclusions and Future Work ICT 2

3 Outline Intro to XML Data Exchange FloraMap: Flora2-based XML data transformation Technique: steps and examples Implementation and experiments Generic XML Data Exchange Framework Related Work Conclusions and Future Work ICT 3

4 XML Data Exchange Ubiquitous in B2B collaborations Need for agile interoperability and scalability in B2B collaborations Automate as much as possible XML data exchange between enterprise systems XML data cannot be directly and fully automatically exchanged between B2B systems Lack of standardized XML canonical models or schemas Semantic differences and inconsistencies between conceptual models Option: provide techniques and tools to support humans in reconciling the differences and inconsistencies between the data models of the parties involved in a data exchange ICT 4

5 Generic XML Data Exchange Company X Source XSD Transformation Layer Company Y Target XSD Schema transformations Design-time Run-time Instance transformations Source XML (Instances) Target XML (Instances) ICT 5

6 Overall Approach Overall Approach A lifting mechanism of XML schemas and instances to an objectoriented model Use an object oriented rule language/engine g g as the underlying mechanism for providing an abstract, object-oriented model of XML schemas and instances, as well as for specification and execution of the mappings at the model level Benefits: Allow the mappings creator to focus on the semantic, object- oriented model behind the XSD schemas and specify the mappings at a more abstract, semantic level Allow both specification and execution of data mappings (i.e. design- and run-time mapping) in a single, unifying framework ICT 6

7 Outline Intro to XML Data Exchange FloraMap: Flora2-based XML data transformation Technique: steps and examples Implementation and experiments Generic XML Data Exchange Framework Related Work Conclusions and Future Work ICT 7

8 Why Flora2? Flora2 Declarative, object-oriented knowledge base language Open source programming environment Features: Formal logical foundations, semantics Frame-based Rule-based Higher-order Declarative treatment of actions, database dynamics Powerful introspection: querying schema, rules Powerful meta-programming facilities Typing, modularization Powerful compositional aggregation ICT 8

9 Flora2 Simple examples object Id attribute Object description: John[name -> John Doe, phones -> { , }, children -> {Bob, Mary}] Mary[name -> Mary Doe, phones -> { , }, children -> {Anne, Alice}] ISA hierarchy: John : Person Mary : Person alice : Student Student :: Person Type signature: class membership subclass relationship Person[ born => integer, ageasof(integer) => integer, name => string, address => string, children => person]. rule definition Rule:?X : Redcar :-?X:Car,?X[color -> red]. /\, and Syntax basics: Object ids: Terms like in Prolog John, abc, f(john,34), Car(red,20000) IsA hierarchy: O:C object O is a member of class C C::S C is a subclass of S Structure (object-atoms): O [Method > Value] invocation of method Type (signature-atoms): i Class [Method => Class] a method signature Combinations of the above: \/, /\, negation, quantifiers Query: John s children who were born when he was 30+ years old:? John[born ->?Y, children ->?C], C[born ->?B],?B >?Y+30. ICT 9

10 FloraMap Semantic-based transformation of XML data Source XSD Target XSD Source XSD Mediation Engine Target XSD Design-time Run-time Semantic Mapping (specification and execution) Source XML Target XML Source XML (Instances) Target XML (Instances) ICT 10

11 Source XSD: Company X <element name="invoicecompanyx"> <complextype> <sequence> 1 <element name="bizszam" type="xs:string /> <element name="ev" type="xs:string /> 6 <element name="kanyvho" type="xs:string /> 2 <element name="bizkelt" type="xs:string /> 3 <element name="city" type="string" minoccurs="0"/> <element name="zip" type="int" minoccurs="0"/> 4 <element name="street" type="string" minoccurs="0"/> 5 </sequence> </complextype> </element> Mapping rules InvoiceCompanyX in source is mapped to InvoiceCompanyY in target: 1. Bizszam in source is the same as InvoiceNumber in target 2. Bizkelt in source is the same as InvoiceDate in target 3. city in source is the same as DeliveryAddress.city in target 4. zip in source is the same as DeliveryAddress.zip in target 5. street in source is the same as DeliveryAddress.street in target 6. AccDate in target is a concatenation of Ev in the source, a delimiter, Kanyvho in the source, a delimiter, and the string 01, i.e. AccDate = (Ev+ _ +Kanyvho+ _ + 01 ) Target XSD: Company Y <element name="invoicecompanyy"> <complextype> <sequence> <element name="invoicenumber" type="string"/> <element name="accdate" type="string"/> <element name="invoicedate" type="string"/> <element name="deliveryaddress" minoccurs="0"> <complextype> <sequence> <element name="city" type="string" minoccurs="0"/> <element name="zip" type="string" minoccurs="0"/> <element name="doorno" type="string" minoccurs="0"/> <element name="street" type="string" minoccurs="0"/> </sequence> </complextype> </element> </sequence> </complextype> </element> ICT 11

12 Example XML Data Exchange Target XML: Company Y Source XML: Company X <InvoiceCompanyX> <Bizszam>I_001</Bizszam> <Ev>2010</Ev> <Kanyvho>05</Kanyvho> <Bizkelt> </Bizkelt> 05 18</Bizkelt> <city>oslo</city> <zip>1234</zip> <street>first Street</street> </InvoiceCompanyX> <?xml version="1.0"?> < InvoiceCompanyY > <InvoiceNumber>I_001</InvoiceNumber> <AccDate>2010_05_01</AccDate> <InvoiceDate> </InvoiceDate> <DeliveryAddress> <city>oslo</city> <zip>1234</zip> <DoorNo> </DoorNo> <street>first Street </street> </DeliveryAddress> </ InvoiceCompanyY> ICT 12

13 XSD to Flora2 Source XSD Target XSD Source XSD Mediation Engine Target XSD Semantic Mapping (specification and execution) Source XML Target XML Source XML (Instances) Target XML (Instances) ICT 13

14 XSD to Flora2 mapping Situation XSD Flora2 Abstract Flora2 Special (the clean conceptual model of the schema, i.e. no XML/XSD assumptions) (XML/XSD specific information, needed for generating structure of target instances) Top-level Element with BaseType <Element name= name type= string /> name[name {1:1} *=>string]. Top-level Element with ComplexType <Element name= name > <ComplexType> <Sequence> <Element name= firstname type= string /> <Element name= lastname type= string /> <Sequence> </ComplexType> </Element> name[firstname {1:1} *=>string]. name[lastname {1:1} 1} *=> string]. Elements[name->firstname]. Elements[name->lastname]. l t Sequences[name->[firstname,lastname]]. Top-level Element with SimpleType <Attribute name= age > <SimpleType> <restriction base="int"> <maxinclusive value="200"/> </restriction> </SimpleType> </Attribute > age[base {1:1} *=>int]. age[maxinclusive-> 200 ]. Top-level Attribute with BaseType <Attribute name= age type= integer /> age[age {1:1} *=>integer]. Top-level Attribute with SimpleType <Attribute name= age > <SimpleType> <restriction base="int"> <maxinclusive value="200"/> <mininclusive value="0"/> </restriction> </SimpleType> </Attribute > age[base {1:1} *=>int]. age[maxinclusive-> 200 ]. age[mininclusive-> 0 ]. ICT 14

15 XSD to Flora2 mapping (cont ) Situation XSD Flora2 Abstract Flora2 Special Top-level ComplexType <ComplexType type= nametype > <Sequence> <Element name= firstname type= string > <Element name= lastname type= string > <Sequence> </ComplexType> nametype[firstname {1:1} *=>string]. nametype[lastname {1:1} *=>string]. Elements[nameType->firstname]. Elements[nameType->lastname]. Sequences[nameType->[firstname, [firstname, lastname]]. Top-level <SimpleType name= nametype > SimpleType <restriction base="string"> string <enumeration value= A"> <enumeration value= B"> </restriction> </SimpleType> nametype[base {1:1} *=>string]. nametype[enumeration-> A ] >A]. nametype[enumeration-> B ]. Top-level Group <group name="namegroup"> namegroup namegroup[firstname {1:1} *=>string] >string]. Groups[nameGroup->nameGroup] <sequence> <element name="firstname" type="string"/> <element ref="lastname"/> </sequence> </group> namegroup[lastname*=> lastname]. Elements[nameGroup->fristname]. Elements[nameGroup->lastname]. Sequences[nameGroup - >[firstname,lastname]]. Top-level AttributeGroup <attributegroup name="identifygroup"> <attribute name="job" type="string"/> <attribute ref="title"/> </attributegroup > IdentifyGroup [job {1:1} *=>string]. IdentifyGroup [title {1:1} *=>title]. attributegroups[identifygroup -> IdentifyGroup]. Attributes[IdentifyGroup -> job]. Attributes[IdentifyGroup -> title]. Include <include schemalocation="person.xsd"/> #include path/person_ Abstract.flr #include path/person_special.flr ICT 15

16 XSD to Flora2 mapping (cont ) Situation XSD Flora2 Abstract Flora2 Special Sequence,Choice, <Element name= name > name[firstname {1:1} 1} *=> string]. Elements[name->firstname]. t All <ComplexType> <Sequence> <Element name= firstname type= string > <Choice> <Element name= title type= string > <Element name= job type= string > </Choice> <Sequence> </ComplexType> </Element> name[title {1:1} *=> string]. name[job {1:1} *=> string]. Elements[name->title]. Elements[name->job]. Sequences[name->[firstname, Sub_name3]]. Choices[Sub_name3 name3->[title,job]]. Extension (simplecontent, complexcontent) <ComplexType name= nametype > <simplecontent> <extension base="personnametype"> <attribute name="title" type="string"/> </extension> </simplecontent> </ComplexType> name :: PersonNameType. nametype [title {1:1} *=> string]. Attribute[nameType->title]. ICT 16

17 XSD to Flora2 mapping (cont ) XSD import to Flora2 import Import namespace in XSD [ filename_abstract.flr >>namespace] t fl in Flora2 abstract t file [ filename_special.flr >>namespace] in Flora2 special file Keep the element name and replace the : with _ in the type XSD Import Flora2 Abstract Flora2 Special <schema xmlns:ccts= abcd"> <import namespace= abcd" schemalocation="../information.xsd"/> <element name= person > <complextype> <sequence> <element name= name type= ccts:nametype /> <element ref= ccts:age /> <element name= work > <complextype> <simplecontent> <extension base= ccts:worktype /> </simplecontent> </complextype> </element> </sequence> </complextype> </element> </schema>?- [ path/information_ Abstract.flr >>ccts] person[name {1:1} *=> ccts_nametype]. person[ ccts:age {1:1} *=> ccts_age]. person[work {1:1} *=> personwork]. personwork[ ccts:worktype {1:1} *=> ccts_worktype].?- [ path/information_special.flr >>ccts] Elements[person -> name]. Elements[person -> ccts:age ]. Elements[person -> work]. ICT 17

18 Example Flora2 Abstract: Company X Source XSD: Company X <xs:element name="invoicecompanyx"> <xs:complextype> <xs:sequence> <xs:element name="bizszam" type="xs:string /> <xs:element name="ev" type="xs:string /> <xs:element name="kanyvho" type="xs:string /> <xs:element name="bizkelt" type="xs:string /> <xs:element name="city" type="xs:string" minoccurs="0"/> <xs:element name="zip" type="xs:int" sint" minoccurs="0"/> <xs:element name="street" type="xs:string" minoccurs="0"/> </xs:sequence> </xs:complextype> </xs:element> Namespace[value->'xs:']. InvoiceCompanyX [Bizszam{1:1}*=>'xs:string']. InvoiceCompanyX [Ev{1:1}*=>'xs:string']. InvoiceCompanyX [Kanyvho{1:1}*=>'xs:string']. InvoiceCompanyX [Bizkelt{1:1}*=>'xs:string']. InvoiceCompanyX [city{0:*}*=>'xs:string']. InvoiceCompanyX [zip{0:*}*=>'xs:int']. InvoiceCompanyX [street{0:*}*=>'xs:string']. Flora2 Special: Company X Sequences[InvoiceCompanyX ->['Bizszam','Ev', 'Kanyvho', Bizkelt','city','zip','street']]. Elements[InvoiceCompanyX ->Bizszam]. Elements[InvoiceCompanyX ->Ev]. Elements[InvoiceCompanyX ->Kanyvho]. Elements[InvoiceCompanyX ->Bizkelt]. Elements[InvoiceCompanyX ->city]. Elements[InvoiceCompanyX ->zip]. Elements[InvoiceCompanyX ->street]. ICT 18

19 Example Target XSD: Company Y <xs:element name="invoicecompanyy"> <xs:complextype> <xs:sequence> <xs:element name="invoicenumber" type="xs:string"/> <xs:element name="accdate" type="xs:string"/> <xs:element name="invoicedate" type="xs:string"/> <xs:element name="deliveryaddress" minoccurs="0"> <xs:complextype> <xs:sequence> <xs:element name="city" type="xs:string" minoccurs="0"/> <xs:element name="zip" type="xs:string" minoccurs="0"/> <xs:element name="doorno" type="xs:string" minoccurs="0"/> <xs:element name="street" type="xs:string" minoccurs="0"/> </xs:sequence> </xs:complextype> </xs:element> </xs:sequence> </xs:complextype> </xs:element> Flora2 Abstract: Company Y Namespace[value->'xs:']. YInvoice[DocumentNumber{1:1}*=>'xs:string']. YInvoice[DocumentDate{1:1}*=>'xs:string']. YInvoice[InvoiceDate{1:1}*=>'xs:string']. YInvoice[DeliveryAddress{1:1}*=>YInvoiceDeliveryAddress] YInvoiceDeliveryAddress[city{1:1}*=>'xs:string']. YInvoiceDeliveryAddress[country{1:1}*=>'xs:string']. YInvoiceDeliveryAddress[zip{1:1}*=>'xs:string'] ]. YInvoiceDeliveryAddress[DoorNumber{1:1}*=>'xs:string']. YInvoiceDeliveryAddress[StreetNumber{1:1}*=>'xs:string']. Flora2 Special: Company Y Sequences[LogoInvoice->['DocumentNumber','DocumentDate ','InvoiceDate','DeliveryAddress',TheOrderEnd]]. Elements[YInvoice->DocumentNumber]. Elements[YInvoice->DocumentDate]. Elements[YInvoice->InvoiceDate]. Elements[YInvoice->DeliveryAddress]. Sequences[YInvoiceDeliveryAddress->['city','country','zip', DoorNumber','StreetNumber',TheOrderEnd]]. Elements[YInvoiceDeliveryAddress->city]. Elements[YInvoiceDeliveryAddress->country]. Elements[YInvoiceDeliveryAddress->zip]. Elements[YInvoiceDeliveryAddress->DoorNumber]. Elements[YInvoiceDeliveryAddress->StreetNumber]. ICT 19

20 XML source to Flora2 Source XSD Target XSD Source XSD Mediation Engine Target XSD Semantic Mapping (specification and execution) Source XML Target XML Source XML (Instances) Target XML (Instances) ICT 20

21 XML source instances to Flora2 objects Steps: XML instance file loaded in Flora2, resulting in a Flora2 tree Flora2 abstract source file loaded in Flora2 Generate the Flora2 object structure according to the Flora2 abstract and query the value from Flora2 tree Object names are constructed by concatenating obj_ + a unique number (e.g. 1_1_2) generated from the unique location in the tree XML instance (person.xml) Flora2 tree Flora2 objects <person> <name> <firstname>dumitru</firstname> <lastname>roman</lastname> </name> <age>30</age> <address>oslo, Norway</address> </person> obj_:person[name->{obj_1}]. obj_1:personname[firstname-> Dumitru ]. obj_1:personname[lastname-> Roman ]. obj_:person[age->30]. obj_:person[address-> Oslo, Norway ]. ICT 21

22 Example Source XML: Company X <InvoiceCompanyX> <Bizszam>I_001</Bizszam> <Ev>2010</Ev> <Kanyvho>05</Kanyvho> <Bizkelt> </Bizkelt> <city>oslo</city> <zip>1234</zip> <street>first Street</street> </InvoiceCompanyX> Flora2 Abstract: Company X Namespace[value->'xs:']. InvoiceCompanyX [Bizszam{1:1}*=>'xs:string']. InvoiceCompanyX [Ev{1:1}*=>'xs:string']. InvoiceCompanyX [Kanyvho{1:1}*=>'xs:string']. InvoiceCompanyX [Bizkelt{1:1}*=>'xs:string']. g] InvoiceCompanyX [city{0:*}*=>'xs:string']. InvoiceCompanyX [zip{0:*}*=>'xs:int']. InvoiceCompanyX [street{0:*}*=>'xs:string']. Flora2 Objects: Company X obj: InvoiceCompanyX ['Bizszam'->'I_001']. obj: InvoiceCompanyX ['Ev'->'2010']. obj: InvoiceCompanyX ['Kanyvho'->'05']. obj: InvoiceCompanyX ['Bizkelt'->' ']. obj: InvoiceCompanyX ['city'->'oslo']. ' 'O '] obj: InvoiceCompanyX ['zip'->'1234']. ICT 22

23 Semantic Mapping Source XSD Target XSD Source XSD Mediation Engine Target XSD Semantic Mapping (specification and execution) Source XML Target XML Source XML (Instances) Target XML (Instances) ICT 23

24 Example (design time) Schema Mapping Rules: CompanyX2CompanyY OneToOne([InvoiceCompanyX],[ O X][InvoiceCompanyY]). OneToOne([InvoiceCompanyX,Bizszam],[ InvoiceCompanyY,InvoiceNumber ]). OneToOne([InvoiceCompanyX,Bizkelt],[InvoiceCompanyY,InvoiceDate ]). OneToOne([InvoiceCompanyX,City],[InvoiceCompanyY,DeliveryAddress, city]). OneToOne([InvoiceCompanyX,Zip],[InvoiceCompanyY,DeliveryAddress, zip]). OneToOne([InvoiceCompanyX,Street],[InvoiceCompanyY,DeliveryAddress, p y, y, stree]). ManyToOne([[InvoiceCompanyX,EV], _,[InvoiceCompanyX,KANYVHO], _, 01 ],[InvoiceCompanyY, AccDate]). Flora2 Abstract: Company Y Flora2 Abstract: Company X Namespace[value->'xs:'] xs:]. InvoiceCompanyX [Bizszam{1:1}*=>'xs:string']. InvoiceCompanyX [Ev{1:1}*=>'xs:string']. InvoiceCompanyX [Kanyvho{1:1}*=>'xs:string']. InvoiceCompanyX [Bizkelt{1:1}*=>'xs:string']. InvoiceCompanyX [city{0:*}*=>'xs:string']. InvoiceCompanyX [zip{0:*}*=>'xs:int'] ]. InvoiceCompanyX [street{0:*}*=>'xs:string']. Namespace[value->'xs:']. YInvoice[DocumentNumber{1:1}*=>'xs:string'] ]. YInvoice[DocumentDate{1:1}*=>'xs:string']. YInvoice[InvoiceDate{1:1}*=>'xs:string']. YInvoice[DeliveryAddress{1:1}*=>YInvoiceDeliveryAddress] YInvoiceDeliveryAddress[city{1:1}*=>'xs:string']. YInvoiceDeliveryAddress[country{1:1}*=>'xs:string']. y{ YInvoiceDeliveryAddress[zip{1:1}*=>'xs:string']. YInvoiceDeliveryAddress[DoorNumber{1:1}*=>'xs:string']. YInvoiceDeliveryAddress[StreetNumber{1:1}*=>'xs:string']. Executable Mapping Rules:CompanyX2Company Y?- [ InvoiceCompanyX.flr'>>SourceInstances].?-?h: CompanyX@SourceInstances,newoid{?t},newoid{?t_4}, insert{?t: InvoiceCompanyY[InvoiceNumber->?t_1],?t: InvoiceCompanyY [AccDate->?t_2],?t: InvoiceCompanyY [InvoiceDate->?t_3],?t: InvoiceCompanyY Y[DeliveryAddress->?t_4],?t_4: InvoiceCompanyYDeliveryAddress[city->?t_4_1],?t_4: InvoiceCompanyYDeliveryAddress[zip->?t_4_2],?t_4: InvoiceCompanyYDeliveryAddress[street->?t_4_4]?t_1=?h.Bizszam@SourceInstances, flora_concat_items([?h.ev@sourceinstances,_,?h.kanyvho@sourceinstances,_01],?t_2)@_plg(flrporting),?t_3=?h.bizkelt@sourceinstances,?t_4_1=?h.city@sourceinstances,?t_4_2=?h.zip@sourceinstances,?t_4_4=?h.street@sourceinstances}. ICT 24

25 Example (run time) Flora2 Objects: Company X Executable Mapping Rules:CompanyX2Company Y obj: InvoiceCompanyX ['Bizszam'->'I_001'].?- [ InvoiceCompanyX.flr'>>SourceInstances]. obj: InvoiceCompanyX ['Ev'->'2010'].?-?h: CompanyX@SourceInstances,newoid{?t},newoid{?t_4}, } obj: InvoiceCompanyX ['Kanyvho'->'05']. insert{?t: InvoiceCompanyY[InvoiceNumber->?t_1], obj: InvoiceCompanyX ['Bizkelt'->' '].?t: InvoiceCompanyY [AccDate->?t_2], obj: InvoiceCompanyX ['city'->'oslo'].?t: InvoiceCompanyY [InvoiceDate->?t_3], obj: InvoiceCompanyX ['zip'->'1234'].?t: InvoiceCompanyY [DeliveryAddress->?t_4], obj: InvoiceCompanyX ['street'->'first Street'].?t_4: InvoiceCompanyYDeliveryAddress[city->?t >?t_4_1],?t_4: InvoiceCompanyYDeliveryAddress[zip->?t_4_2],?t_4: InvoiceCompanyYDeliveryAddress[street->?t_4_4] Flora2 Objects : Company Y Obj:CanonicalModelInvoice[InvoiceNumber-> I_001 ].?t_1=?h.bizszam@sourceinstances, Obj:CanonicalModelInvoice[AccDate->'2010_05_01']. flora_concat_items([?h.ev@sourceinstances,_, Obj:CanonicalModelInvoice[InvoiceDate-> '] ?h.Kanyvho@SourceInstances,_01],?t_2)@_plg(flrporting), Obj:CanonicalModelInvoice[DeliveryAddress->{obj_4}].?t_3=?h.Bizkelt@SourceInstances, obj_4:canonicalmodelinvoicedeliveryaddress[city-> Oslo,?t_4_1=?h.city@SourceInstances, Norway'].?t_4_2=?h.zip@SourceInstances, obj_4:canonicalmodelinvoicedeliveryaddress[zip-> 1234'].?t_4_4=?h.street@SourceInstanc}. obj_4:canonicalmodelinvoicedeliveryaddress[street-> First Street']. ICT 25

26 Flora2 target objects to XML target instances Source XSD Target XSD Source XSD Mediation Engine Target XSD Semantic Mapping (specification and execution) Source XML Target XML Source XML (Instances) Target XML (Instances) ICT 26

27 Example Flora2 Abstract: Company Y Flora2 Objects: Company Y Namespace[value->'xs:']. Obj:CanonicalModelInvoice[InvoiceNumber-> I_001 ]. YInvoice[DocumentNumber{1:1}*=>'xs:string']. Obj:CanonicalModelInvoice[AccDate->'2010_05_01']. YInvoice[DocumentDate{1:1}*=>'xs:string'] ]. Obj:CanonicalModelInvoice[InvoiceDate-> > '] ]. YInvoice[InvoiceDate{1:1}*=>'xs:string']. YInvoice[DeliveryAddress{1:1}*=>YInvoiceDeliveryAddress] YInvoiceDeliveryAddress[city{1:1}*=>'xs:string']. YInvoiceDeliveryAddress[country{1:1}*=>'xs:string']. YInvoiceDeliveryAddress[zip{1:1}*=>'xs:string']. YInvoiceDeliveryAddress[DoorNumber{1:1}*=>'xs:string']. YInvoiceDeliveryAddress[StreetNumber{1:1}*=>'xs:string']. Obj:CanonicalModelInvoice[DeliveryAddress->{obj_4}]. obj_4:canonicalmodelinvoicedeliveryaddress[city-> Oslo, Norway']. obj_4:canonicalmodelinvoicedeliveryaddress[zip-> 1234']. obj_4:canonicalmodelinvoicedeliveryaddress[street-> First Street']. Flora2 Special: Company Y XML Instances: Company Y Sequences[LogoInvoice->['DocumentNumber','DocumentDate ','InvoiceDate','DeliveryAddress',TheOrderEnd]]. Elements[YInvoice->DocumentNumber]. Elements[YInvoice->DocumentDate]. Elements[YInvoice->InvoiceDate] >InvoiceDate]. Elements[YInvoice->DeliveryAddress]. Sequences[YInvoiceDeliveryAddress->['city','country','zip', DoorNumber','StreetNumber',TheOrderEnd]]. Elements[YInvoiceDeliveryAddress->city]. Elements[YInvoiceDeliveryAddress->country]. Elements[YInvoiceDeliveryAddress->zip]. Elements[YInvoiceDeliveryAddress->DoorNumber]. Elements[YInvoiceDeliveryAddress->StreetNumber]. <?xml version="1.0"?> < InvoiceCompanyY > <InvoiceNumber>I_001</InvoiceNumber> <AccDate>2010_05_01</AccDate> <InvoiceDate> </InvoiceDate> 05 18</InvoiceDate> <DeliveryAddress> <city>oslo</city> <zip>1234</zip> <DoorNo> </DoorNo> <street>first Street </street> </DeliveryAddress> </ InvoiceCompanyY> ICT 27

28 Implementation in Flora2 XSD source XSD target XSD to OO Flora2 Schema source Flora2 Instance source OO to OO Flora2 Schema target Flora2 Instance target XSD/XML file Flora2 program (rules) Flora2 file (facts) XML to OO OO to XML XML source XML target ICT 28

29 Experiment: XSDs to Flora 500 XSDs2Flora SimpleEx SimpleEx Info SimpleEx CM Infomatix DISystemer NES LOGO Time(Seconds) ICT

30 Experiment: Complete mapping XMLs2Flora Flora2XML Flora Mappings Total Mapping Time Time(Seconds) ICT 30

31 Outline Intro to XML Data Exchange FloraMap: Flora2-based XML data transformation Technique: steps and examples Implementation and experiments Generic XML Data Exchange Framework Related Work Conclusions and Future Work ICT 31

32 Generic M-N desing- and run-time XML data transformation Source XSD 1 Target XSD 1 Source XSD 2 Source XSD n Canonical Model (CM) XSD Target XSD m Target XSD 2 Design-time Run-time Source XML i (Instances) CM XML (Instances) Target XML j (Instances) ICT 32

33 XML data transformation in B2B Overview (General scenario) ERP Vendor Layer (design-time) ERP Vendor A XSD R A R B ERP Vendor B XSD Instance Application Layer (design-time) Canonical Model (CM) XSD R A + R B + IA An XSD IA A1 XSD IA B1 XSD IA Bn XSD A B Are R A+ and R B+ consistent? Yes (with possible warnings) No (with errors) Collaboration Party Agreement (IA A1,IA B1 ) (R A+, R B+ ) Revise R A+ and R + B Instance Application Layer (run-time) IA A1 XML CM XML R X mapping rules at the ERP Vendor Layer R X+ mapping rules at the Instance Application Layer IA B1 XML Steps: 1. Design of R A and R B 2. Design of R A+ and R + B 3. Consistency check of R A+ and R + B a) If inconsistent, revise R A+ and/or R + B b) else, run-time transformation B1 g A B ICT 33

34 Generic Mapping Framework Schemas End User Layer Informal Instances Instances Mapping Rules Mediation Layer formalization formalization formalization Formalized Formalized Schemas Schemas Formalized Mapping Rules (Schemas) automatic generation Formalized Mapping Rules (Objects) Formalized Instances Consitency Checker Mapping Execution (Reasoner) (Reasoner) Formalized Instances Design time Run time ICT 34

35 Outline Intro to XML Data Exchange FloraMap: Flora2-based XML data transformation Technique: steps and examples Implementation and experiments Generic XML Data Exchange Framework Related Work Conclusions and Future Work ICT 35

36 Areas of Related Work Object-oriented representations of XML/XSD MDE model transformations The use of rule-based logical systems for data mapping/exchange hasn t been yet widely investigated t in the community ICT 36

37 Outline Intro to XML Data Exchange FloraMap: Flora2-based XML data transformation Technique: steps and examples Implementation and experiments Generic XML Data Exchange Framework Related Work Conclusions and Future Work ICT 37

38 Conclusions and Future Work FloraMap promising technique for XML data exchange Allows both specification and execution of data mappings in a single, unifying framework End-to-end solution to the problem of XML data exchange Planned extensions: End-to-end mappings between multiple sources and multiple targets Consistency checking Inclusion of other types of schemas (not only XSDs) (Semi-)Automated t generation of executable mapping rules ICT 38

39 Thank you! Q&A ICT 39

+ <xs:element name="productsubtype" type="xs:string" minoccurs="0"/>

+ <xs:element name=productsubtype type=xs:string minoccurs=0/> otcd.ntf.001.01.auctiondetail.. otcd.ntf.001.01.auctionresult - + otcd.ntf.001.01.automaticterminationsummary

More information

A Model-driven Approach to Interoperability in B2B Data Exchange

A Model-driven Approach to Interoperability in B2B Data Exchange A Model-driven Approach to Interoperability in B2B Data Exchange Dumitru Roman, Brice Morin, Sixuan Wang, Arne J. Berre SINTEF, Norway Forskningsveien 1, Oslo, Norway {firstname.lastname}@sintef.no ABSTRACT:

More information

Introduction to XML. Data Integration. Structure in Data Representation. Yanlei Diao UMass Amherst Nov 15, 2007

Introduction to XML. Data Integration. Structure in Data Representation. Yanlei Diao UMass Amherst Nov 15, 2007 Introduction to XML Yanlei Diao UMass Amherst Nov 15, 2007 Slides Courtesy of Ramakrishnan & Gehrke, Dan Suciu, Zack Ives and Gerome Miklau. 1 Structure in Data Representation Relational data is highly

More information

How To Write A Type Definition In Xhtml 1.2.2

How To Write A Type Definition In Xhtml 1.2.2 BASI DI DATI II 2 modulo Parte III: Schemi per XML Prof. Riccardo Torlone Università Roma Tre Outline The purpose of using schemas The schema languages DTD and XML Schema Regular expressions a commonly

More information

Service Description: NIH GovTrip - NBS Web Service

Service Description: NIH GovTrip - NBS Web Service 8 July 2010 Page 1 Service Description: NIH GovTrip - NBS Web Service Version # Change Description Owner 1.0 Initial Version Jerry Zhou 1.1 Added ISC Logo and Schema Section Ian Sebright 8 July 2010 Page

More information

Modernize your NonStop COBOL Applications with XML Thunder September 29, 2009 Mike Bonham, TIC Software John Russell, Canam Software

Modernize your NonStop COBOL Applications with XML Thunder September 29, 2009 Mike Bonham, TIC Software John Russell, Canam Software Modernize your NonStop COBOL Applications with XML Thunder September 29, 2009 Mike Bonham, TIC Software John Russell, Canam Software Agenda XML Overview XML Thunder overview Case Studies Q & A XML Standard

More information

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation. [MS-EDCSOM]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,

More information

[MS-DVRD]: Device Registration Discovery Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-DVRD]: Device Registration Discovery Protocol. Intellectual Property Rights Notice for Open Specifications Documentation [MS-DVRD]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,

More information

User manual for e-line DNB: the XML import file. User manual for e-line DNB: the XML import file

User manual for e-line DNB: the XML import file. User manual for e-line DNB: the XML import file User manual for e-line DNB: the XML import file version 1.2 dated 19 February 2015 1 1. Contents 1. Contents... 2 2. e-line DNB... 3 2.1 Submitting your reports to De Nederlandsche Bank... 3 2.3 Entering

More information

04 XML Schemas. Software Technology 2. MSc in Communication Sciences 2009-10 Program in Technologies for Human Communication Davide Eynard

04 XML Schemas. Software Technology 2. MSc in Communication Sciences 2009-10 Program in Technologies for Human Communication Davide Eynard MSc in Communication Sciences 2009-10 Program in Technologies for Human Communication Davide Eynard Software Technology 2 04 XML Schemas 2 XML: recap and evaluation During last lesson we saw the basics

More information

DRAFT. Standard Definition. Extensible Event Stream. Christian W. Günther Fluxicon Process Laboratories christian@fluxicon.com

DRAFT. Standard Definition. Extensible Event Stream. Christian W. Günther Fluxicon Process Laboratories christian@fluxicon.com Extensible Event Stream Standard Definition Christian W. Günther Fluxicon Process Laboratories christian@fluxicon.com XES Version: 1.0 Revision: 1 November 25, 2009 DRAFT Introduction Event logs, as they

More information

ETSI TS 102 822-3-1 V1.7.1 (2011-11)

ETSI TS 102 822-3-1 V1.7.1 (2011-11) TS 102 822-3-1 V1.7.1 (2011-11) Technical Specification Broadcast and On-line Services: Search, select, and rightful use of content on personal storage systems ("TV-Anytime"); Part 3: Metadata; Sub-part

More information

Designing the Service Contract

Designing the Service Contract Designing the Service Contract Service contracts provide the glue that enables us to assemble disparate pieces of software or services into complete, composite applications. If we are to build a sustainable

More information

keyon Luna SA Monitor Service Administration Guide 1 P a g e Version Autor Date Comment

keyon Luna SA Monitor Service Administration Guide 1 P a g e Version Autor Date Comment Luna SA Monitor Service Administration Guide Version Autor Date Comment 1.1 Thomas Stucky 25. July 2013 Update installation instructions. 1 P a g e Table of Contents 1 Overview... 3 1.1 What is the keyon

More information

[MS-FSDAP]: Forms Services Design and Activation Web Service Protocol

[MS-FSDAP]: Forms Services Design and Activation Web Service Protocol [MS-FSDAP]: Forms Services Design and Activation Web Service Protocol Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications

More information

Oracle Java CAPS Message Library for EDIFACT User's Guide

Oracle Java CAPS Message Library for EDIFACT User's Guide Oracle Java CAPS Message Library for EDIFACT User's Guide Part No: 821 2607 March 2011 Copyright 2008, 2011, Oracle and/or its affiliates. All rights reserved. License Restrictions Warranty/Consequential

More information

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Model Driven Interoperability through Semantic Annotations using SoaML and ODM Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:

More information

EFSOC Framework Overview and Infrastructure Services

EFSOC Framework Overview and Infrastructure Services EFSOC Framework Overview and Infrastructure Services Infolab Technical Report Series INFOLAB-TR-13 Kees Leune Id: infraserv.tex,v 1.12 2003/10/23 10:36:08 kees Exp 1 Contents 1 Introduction 4 1.1 Notational

More information

[MS-SAMLPR]: Security Assertion Markup Language (SAML) Proxy Request Signing Protocol Specification

[MS-SAMLPR]: Security Assertion Markup Language (SAML) Proxy Request Signing Protocol Specification [MS-SAMLPR]: Security Assertion Markup Language (SAML) Proxy Request Signing Protocol Specification Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft

More information

XML Data Integration in OGSA Grids

XML Data Integration in OGSA Grids XML Data Integration in OGSA Grids Carmela Comito and Domenico Talia University of Calabria Italy comito@si.deis.unical.it Outline Introduction Data Integration and Grids The XMAP Data Integration Framework

More information

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation. [MC-CSDL]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,

More information

ASPIRE Programmable Language and Engine

ASPIRE Programmable Language and Engine ASPIRE Programmable Language and Engine Athens Information Technology Agenda ASPIRE Programmable Language (APDL) ASPIRE Programmable Engine (APE) 2 ASPIRE Programmable Language ASPIRE Programmable Language

More information

D4.1.2 Cloud-based Data Storage (Prototype II)

D4.1.2 Cloud-based Data Storage (Prototype II) < ADVENTURE WP 4 D4.1.2 Cloud-based Data Storage (Prototype II) D4.1.2 Cloud-based Data Storage (Prototype II) Authors: ASC, TUDA Delivery Date: 2013-10-01 Due Date: 2013-08-31 Dissemination Level: PU

More information

Conceptual Level Design of Semi-structured Database System: Graph-semantic Based Approach

Conceptual Level Design of Semi-structured Database System: Graph-semantic Based Approach Conceptual Level Design of Semi-structured Database System: Graph-semantic Based Approach Anirban Sarkar Department of Computer Applications National Institute of Technology, Durgapur West Bengal, India

More information

Relational Database Basics Review

Relational Database Basics Review Relational Database Basics Review IT 4153 Advanced Database J.G. Zheng Spring 2012 Overview Database approach Database system Relational model Database development 2 File Processing Approaches Based on

More information

An Empirical Study on XML Schema Idiosyncrasies in Big Data Processing

An Empirical Study on XML Schema Idiosyncrasies in Big Data Processing An Empirical Study on XML Schema Idiosyncrasies in Big Data Processing Dmitry Vasilenko, Mahesh Kurapati Business Analytics, IBM, Chicago, USA {dvasilen, mkurapati}@us.ibm.com Abstract The design and maintenance

More information

Principal MDM Components and Capabilities

Principal MDM Components and Capabilities Principal MDM Components and Capabilities David Loshin Knowledge Integrity, Inc. 1 Agenda Introduction to master data management The MDM Component Layer Model MDM Maturity MDM Functional Services Summary

More information

Security for industrial automation and control systems: Patch compatibility information

Security for industrial automation and control systems: Patch compatibility information Security for industrial automation and control systems: Patch compatibility information A Progress Report for Review and Comment From ISA99 Work Group 6 (Patch Management) The material in this report has

More information

XIII. Service Oriented Computing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

XIII. Service Oriented Computing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini XIII. Service Oriented Computing Laurea Triennale in Informatica Corso di Outline Enterprise Application Integration (EAI) and B2B applications Service Oriented Architecture Web Services WS technologies

More information

T-110.5140 Network Application Frameworks and XML Web Services and WSDL 15.2.2010 Tancred Lindholm

T-110.5140 Network Application Frameworks and XML Web Services and WSDL 15.2.2010 Tancred Lindholm T-110.5140 Network Application Frameworks and XML Web Services and WSDL 15.2.2010 Tancred Lindholm Based on slides by Sasu Tarkoma and Pekka Nikander 1 of 20 Contents Short review of XML & related specs

More information

On Building XML Data Warehouses

On Building XML Data Warehouses On Building XML Data Warehouses Laura Irina Rusu 1 Wenny Rahayu 1 David Taniar 2 1 LaTrobe University, Department of Computer Science and Computer Engineering, Bundoora, VIC 3086, Australia {lrusu,wenny}@cs.latrobe.edu.au

More information

Topics. Introduction to Database Management System. What Is a DBMS? DBMS Types

Topics. Introduction to Database Management System. What Is a DBMS? DBMS Types Introduction to Database Management System Linda Wu (CMPT 354 2004-2) Topics What is DBMS DBMS types Files system vs. DBMS Advantages of DBMS Data model Levels of abstraction Transaction management DBMS

More information

Web Services Development Guide: How to build EMBRACE compliant Web Services Version 2.0, 13 December 2006

Web Services Development Guide: How to build EMBRACE compliant Web Services Version 2.0, 13 December 2006 Web Services Development Guide: How to build EMBRACE compliant Web Services Version 2.0, 13 December 2006 Jan Christian Bryne, Jean Salzemann, Vincent Breton, Heinz Stockinger, Marco Pagni 1. OBJECTIVE...2

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2008 Vol. 7, No. 8, November-December 2008 What s Your Information Agenda? Mahesh H. Dodani,

More information

DocuSign Connect Guide

DocuSign Connect Guide Information Guide 1 DocuSign Connect Guide 2 Copyright 2003-2014 DocuSign, Inc. All rights reserved. For information about DocuSign trademarks, copyrights and patents refer to the DocuSign Intellectual

More information

George McGeachie Metadata Matters Limited. ER SIG June 9th, 2010 1

George McGeachie Metadata Matters Limited. ER SIG June 9th, 2010 1 George McGeachie Metadata Matters Limited ER SIG June 9th, 2010 1 an industry-leading data modeling tool that enables companies to discover, document, and re-use data assets. With round-trip database support,

More information

Effective Management and Exploration of Scientific Data on the Web. Lena Strömbäck lena.stromback@liu.se Linköping University

Effective Management and Exploration of Scientific Data on the Web. Lena Strömbäck lena.stromback@liu.se Linköping University Effective Management and Exploration of Scientific Data on the Web. Lena Strömbäck lena.stromback@liu.se Linköping University Internet 2 Example: New York Times 3 Example: Baby Name Vizard Laura Wattenberg

More information

2 (18) - SOFTWARE ARCHITECTURE Service Oriented Architecture - Sven Arne Andreasson - Computer Science and Engineering.

2 (18) - SOFTWARE ARCHITECTURE Service Oriented Architecture - Sven Arne Andreasson - Computer Science and Engineering. Service Oriented Architecture Definition (1) Definitions Services Organizational Impact SOA principles Web services A service-oriented architecture is essentially a collection of services. These services

More information

Languages for Data Integration of Semi- Structured Data II XML Schema, Dom/SAX. Recuperación de Información 2007 Lecture 3.

Languages for Data Integration of Semi- Structured Data II XML Schema, Dom/SAX. Recuperación de Información 2007 Lecture 3. Languages for Data Integration of Semi- Structured Data II XML Schema, Dom/SAX Recuperación de Información 2007 Lecture 3. Overview XML-schema, a powerful alternative to DTDs XML APIs: DOM, a data-object

More information

Spring 2011 Conference Sandanski, May 13th 15th 2011 Oracle SOA Suite 11g Rapid service integration and process automation with a no-coding approach

Spring 2011 Conference Sandanski, May 13th 15th 2011 Oracle SOA Suite 11g Rapid service integration and process automation with a no-coding approach Spring 2011 Conference Sandanski, May 13th 15th 2011 Oracle SOA Suite 11g Rapid service integration and process automation with a no-coding approach George Moykin Senior Consultant, Middleware george.moykin@oracle.com

More information

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Object Oriented Databases OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Executive Summary The presentation on Object Oriented Databases gives a basic introduction to the concepts governing OODBs

More information

SAML v2.0 for.net Developer Guide

SAML v2.0 for.net Developer Guide SAML v2.0 for.net Developer Guide Copyright ComponentSpace Pty Ltd 2004-2015. All rights reserved. www.componentspace.com Contents 1 Introduction... 1 1.1 Features... 1 1.2 Benefits... 1 1.3 Prerequisites...

More information

Federated, Generic Configuration Management for Engineering Data

Federated, Generic Configuration Management for Engineering Data Federated, Generic Configuration Management for Engineering Data Dr. Rainer Romatka Boeing GPDIS_2013.ppt 1 Presentation Outline I Summary Introduction Configuration Management Overview CM System Requirements

More information

SOA Success is Not a Matter of Luck

SOA Success is Not a Matter of Luck by Prasad Jayakumar, Technology Lead at Enterprise Solutions, Infosys Technologies Ltd SERVICE TECHNOLOGY MAGAZINE Issue L May 2011 Introduction There is nothing either good or bad, but thinking makes

More information

Case Study: Semantic Integration as the Key Enabler of Interoperability and Modular Architecture for Smart Grid at Long Island Power Authority (LIPA)

Case Study: Semantic Integration as the Key Enabler of Interoperability and Modular Architecture for Smart Grid at Long Island Power Authority (LIPA) Case Study: Semantic Integration as the Key Enabler of Interoperability and Modular Architecture for Smart Grid at Long Island Power Authority (LIPA) Predrag Vujovic, Stipe Fustar, Phillip Jones, Fran

More information

Service Oriented Architecture Based Integration. Mike Rosen CTO, AZORA Technologies, Inc. Mike.Rosen@Azoratech.com

Service Oriented Architecture Based Integration. Mike Rosen CTO, AZORA Technologies, Inc. Mike.Rosen@Azoratech.com Service Oriented Architecture Based Integration Mike Rosen CTO, AZORA Technologies, Inc. Mike.Rosen@Azoratech.com Mike Rosen ACCESS TO THE EXPERTS Consultant Chief Enterprise Architect for service and

More information

Gplus Adapter 8.0. for Siebel CRM. Developer s Guide

Gplus Adapter 8.0. for Siebel CRM. Developer s Guide Gplus Adapter 8.0 for Siebel CRM Developer s Guide The information contained herein is proprietary and confidential and cannot be disclosed or duplicated without the prior written consent of Genesys Telecommunications

More information

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable

More information

DATA INTEGRATION CS561-SPRING 2012 WPI, MOHAMED ELTABAKH

DATA INTEGRATION CS561-SPRING 2012 WPI, MOHAMED ELTABAKH DATA INTEGRATION CS561-SPRING 2012 WPI, MOHAMED ELTABAKH 1 DATA INTEGRATION Motivation Many databases and sources of data that need to be integrated to work together Almost all applications have many sources

More information

The Direct Project. Implementation Guide for Direct Project Trust Bundle Distribution. Version 1.0 14 March 2013

The Direct Project. Implementation Guide for Direct Project Trust Bundle Distribution. Version 1.0 14 March 2013 The Direct Project Implementation Guide for Direct Project Trust Bundle Distribution Version 1.0 14 March 2013 Version 1.0, 14 March 2013 Page 1 of 14 Contents Change Control... 3 Status of this Guide...

More information

Standardized Multimedia Retrieval in Distributed Heterogenous Database Systems. Dr. Mario Döller

Standardized Multimedia Retrieval in Distributed Heterogenous Database Systems. Dr. Mario Döller Standardized Multimedia Retrieval in Distributed Heterogenous Database Systems Dr. Mario Döller Motivation Current Situation Query Languages MMRS Metadata Annotation Professional Content Provider SQL/MM

More information

Lesson 8: Introduction to Databases E-R Data Modeling

Lesson 8: Introduction to Databases E-R Data Modeling Lesson 8: Introduction to Databases E-R Data Modeling Contents Introduction to Databases Abstraction, Schemas, and Views Data Models Database Management System (DBMS) Components Entity Relationship Data

More information

XEP-0135: File Sharing

XEP-0135: File Sharing XEP-0135: File Sharing Peter Saint-Andre mailto:peter@andyet.net xmpp:stpeter@stpeter.im https://stpeter.im/ 2004-06-04 Version 0.1 Status Type Short Name Deferred Standards Track files This document specifies

More information

Enterprise Application Designs In Relation to ERP and SOA

Enterprise Application Designs In Relation to ERP and SOA Enterprise Application Designs In Relation to ERP and SOA DESIGNING ENTERPRICE APPLICATIONS HASITH D. YAGGAHAVITA 20 th MAY 2009 Table of Content 1 Introduction... 3 2 Patterns for Service Integration...

More information

Data Integration Hub for a Hybrid Paper Search

Data Integration Hub for a Hybrid Paper Search Data Integration Hub for a Hybrid Paper Search Jungkee Kim 1,2, Geoffrey Fox 2, and Seong-Joon Yoo 3 1 Department of Computer Science, Florida State University, Tallahassee FL 32306, U.S.A., jungkkim@cs.fsu.edu,

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

Providing Semantically Equivalent, Complete Views for Multilingual Access to Integrated Data

Providing Semantically Equivalent, Complete Views for Multilingual Access to Integrated Data Providing Semantically Equivalent, Complete Views for Multilingual Access to Integrated Data Iryna Kozlova, Norbert Ritter, Martin Husemann University of Hamburg, Germany {kozlova, ritter, husemann}@informatik.uni-hamburg.de

More information

Quiz! Database Indexes. Index. Quiz! Disc and main memory. Quiz! How costly is this operation (naive solution)?

Quiz! Database Indexes. Index. Quiz! Disc and main memory. Quiz! How costly is this operation (naive solution)? Database Indexes How costly is this operation (naive solution)? course per weekday hour room TDA356 2 VR Monday 13:15 TDA356 2 VR Thursday 08:00 TDA356 4 HB1 Tuesday 08:00 TDA356 4 HB1 Friday 13:15 TIN090

More information

Introduction to Service-Oriented Architecture for Business Analysts

Introduction to Service-Oriented Architecture for Business Analysts Introduction to Service-Oriented Architecture for Business Analysts This course will provide each participant with a high-level comprehensive overview of the Service- Oriented Architecture (SOA), emphasizing

More information

3. Data Models for Engineering Data. Conventional and Specific Ways to Describe Engineering Data

3. Data Models for Engineering Data. Conventional and Specific Ways to Describe Engineering Data 3. Data Models for Engineering Data Conventional and Specific Ways to Describe Engineering Data Overview Conventional Models Overview of Data Models Logical Models Databases and the Relational Data Model

More information

Chapter 6: Programming Languages

Chapter 6: Programming Languages Chapter 6: Programming Languages Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 6: Programming Languages 6.1 Historical Perspective

More information

XML for RPG Programmers: An Introduction

XML for RPG Programmers: An Introduction XML for RPG Programmers: An Introduction OCEAN Technical Conference Catch the Wave Susan M. Gantner susan.gantner @ partner400.com www.partner400.com Your partner in AS/400 and iseries Education Copyright

More information

Data Modeling Basics

Data Modeling Basics Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy

More information

CHAPTER 6: TECHNOLOGY

CHAPTER 6: TECHNOLOGY Chapter 6: Technology CHAPTER 6: TECHNOLOGY Objectives Introduction The objectives are: Review the system architecture of Microsoft Dynamics AX 2012. Describe the options for making development changes

More information

Formal Engineering for Industrial Software Development

Formal Engineering for Industrial Software Development Shaoying Liu Formal Engineering for Industrial Software Development Using the SOFL Method With 90 Figures and 30 Tables Springer Contents Introduction 1 1.1 Software Life Cycle... 2 1.2 The Problem 4 1.3

More information

Guiding Principles for Modeling and Designing Reusable Services

Guiding Principles for Modeling and Designing Reusable Services Guiding Principles for Modeling and Designing Reusable Services Max Dolgicer Managing Director International Systems Group, Inc. mdolgicer@isg-inc.com http://www.isg-inc.com Agenda The changing notion

More information

Archivio Sp. z o.o. Schema XSD opisująca typy dokumentów obsługiwane w Systemie Invo24

Archivio Sp. z o.o. Schema XSD opisująca typy dokumentów obsługiwane w Systemie Invo24 Archivio Sp. z o.o. Schema XSD opisująca typy dokumentów obsługiwane w Systemie Invo24 Wersja 1.0 Archivio Sp. z o.o. Strona 1

More information

Open Grid Services Infrastructure (OGSI) Version 1.0

Open Grid Services Infrastructure (OGSI) Version 1.0 GWD-R (draft-ggf-ogsi-gridservice-33) Open Grid Services Infrastructure (OGSI) http://www.ggf.org/ogsi-wg Editors: S. Tuecke, ANL K. Czajkowski, USC/ISI I. Foster, ANL J. Frey, IBM S. Graham, IBM C. Kesselman,

More information

XML. Document Type Definitions XML Schema

XML. Document Type Definitions XML Schema XML Document Type Definitions XML Schema 1 Well-Formed and Valid XML Well-Formed XML allows you to invent your own tags. Valid XML conforms to a certain DTD. 2 Well-Formed XML Start the document with a

More information

II. PREVIOUS RELATED WORK

II. PREVIOUS RELATED WORK An extended rule framework for web forms: adding to metadata with custom rules to control appearance Atia M. Albhbah and Mick J. Ridley Abstract This paper proposes the use of rules that involve code to

More information

Introduction to Service Oriented Architectures (SOA)

Introduction to Service Oriented Architectures (SOA) Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction

More information

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. Introduction to Databases. Why databases? Why not use XML?

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. Introduction to Databases. Why databases? Why not use XML? CS2Bh: Current Technologies Introduction to XML and Relational Databases Spring 2005 Introduction to Databases CS2 Spring 2005 (LN5) 1 Why databases? Why not use XML? What is missing from XML: Consistency

More information

Automated Testing of XML/SOAP based Web Services

Automated Testing of XML/SOAP based Web Services Automated ing of XML/SOAP based Web Services Ina Schieferdecker, FOKUS, Berlin, Germany Bernard Stepien, University of Ottawa, Canada Abstract Web services provide seamless connections from one software

More information

Design and Implementation of a Feedback Systems Web Laboratory Prototype

Design and Implementation of a Feedback Systems Web Laboratory Prototype Design and Implementation of a Feedback Systems Web Laboratory Prototype Gerardo Viedma Núñez AUP Final Report MIT EECS May 25, 2004 Supervisor: Dr. Kent Lundberg Contents 1 Introduction 5 1.1 Overview..................................

More information

Data Integration and Exchange. L. Libkin 1 Data Integration and Exchange

Data Integration and Exchange. L. Libkin 1 Data Integration and Exchange Data Integration and Exchange L. Libkin 1 Data Integration and Exchange Traditional approach to databases A single large repository of data. Database administrator in charge of access to data. Users interact

More information

CHAPTER 9: DATAPORT AND XMLPORT CHANGES

CHAPTER 9: DATAPORT AND XMLPORT CHANGES Chapter 9: Dataport and XMLport Changes CHAPTER 9: DATAPORT AND XMLPORT CHANGES Objectives Introduction The objectives are: Provide an overview of dataport changes. Discuss changes in XMLport object and

More information

MD Link Integration. 2013 2015 MDI Solutions Limited

MD Link Integration. 2013 2015 MDI Solutions Limited MD Link Integration 2013 2015 MDI Solutions Limited Table of Contents THE MD LINK INTEGRATION STRATEGY...3 JAVA TECHNOLOGY FOR PORTABILITY, COMPATIBILITY AND SECURITY...3 LEVERAGE XML TECHNOLOGY FOR INDUSTRY

More information

Developer Guide. Christian W. Günther christian@fluxicon.com. Library version: 1.0 RC7 Revision: 7

Developer Guide. Christian W. Günther christian@fluxicon.com. Library version: 1.0 RC7 Revision: 7 Developer Guide Christian W. Günther christian@fluxicon.com Library version: 1.0 RC7 Revision: 7 November 14, 2009 The XES Meta-model Introduction Event logs, as they occur in practice and research, can

More information

Realization of Inventory Databases and Object-Relational Mapping for the Common Information Model

Realization of Inventory Databases and Object-Relational Mapping for the Common Information Model Realization of Inventory Databases and Object-Relational Mapping for the Common Information Model Department of Physics and Technology, University of Bergen. November 8, 2011 Systems and Virtualization

More information

An Approach to Eliminate Semantic Heterogenity Using Ontologies in Enterprise Data Integeration

An Approach to Eliminate Semantic Heterogenity Using Ontologies in Enterprise Data Integeration Proceedings of Student-Faculty Research Day, CSIS, Pace University, May 3 rd, 2013 An Approach to Eliminate Semantic Heterogenity Using Ontologies in Enterprise Data Integeration Srinivasan Shanmugam and

More information

An Oracle White Paper October 2013. Oracle Data Integrator 12c New Features Overview

An Oracle White Paper October 2013. Oracle Data Integrator 12c New Features Overview An Oracle White Paper October 2013 Oracle Data Integrator 12c Disclaimer This document is for informational purposes. It is not a commitment to deliver any material, code, or functionality, and should

More information

Advanced Information Management

Advanced Information Management Anwendersoftware a Advanced Information Management Chapter 1: Introduction Holger Schwarz Universität Stuttgart Sommersemester 2009 Overview Basics Terms Database Management Systems Database Design Query

More information

Service-centric Software Engineering. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 31 Slide 1

Service-centric Software Engineering. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 31 Slide 1 Objectives To explain the notion of a reusable service, based on web service standards, that

More information

Analysis and Design of Software Systems Practical Session 01. System Layering

Analysis and Design of Software Systems Practical Session 01. System Layering Analysis and Design of Software Systems Practical Session 01 System Layering Outline Course Overview Course Objectives Computer Science vs. Software Engineering Layered Architectures Selected topics in

More information

Reuse and Migration of Legacy Systems to Interoperable Cloud Services

Reuse and Migration of Legacy Systems to Interoperable Cloud Services Reuse and Migration of Legacy Systems to Interoperable Cloud Services REMICS Consortium, Arne Berre 07 June 2011 - Timisoara 1 Project facts REMICS is a STREP accepted in the Objective 1.2 of FP7 Call

More information

XQuery at Your Web Service

XQuery at Your Web Service XQuery at Your Web Service Nicola Onose Ensimag BP 72 38402 Saint Martin d Hères Cedex, France nicola.onose@ensimag.imag.fr Jérôme Siméon IBM Watson Research Center 19 Skyline Drive Hawthorne, NY 10532,

More information

MASTER DATA INTEGRATION

MASTER DATA INTEGRATION MASTER DATA INTEGRATION Managing product data exchange in an electronic commerce environment Aleksander Śmierciak Bachelor's Thesis May 2013 Degree Programme in Software Engineering Technology, Communication

More information

Tecnologie per XML. Sara Comai Politecnico di Milano. Tecnologie legate a XML

Tecnologie per XML. Sara Comai Politecnico di Milano. Tecnologie legate a XML Tecnologie per XML Sara Comai Politecnico di Milano Tecnologie legate a XML DTD XHTML: riformulazione di HTML in XML Namespaces CSS: style sheets per visualizzare documenti XML XSD: XML schema XLink: linguaggio

More information

Metadata for the OASIS Security Assertion Markup Language (SAML) V2.0

Metadata for the OASIS Security Assertion Markup Language (SAML) V2.0 2 3 4 5 Metadata for the OASIS Security Assertion Markup Language (SAML) V2.0 OASIS Standard, 15 March 2005 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38

More information

Enterprise architecture frameworks with semantic models as a foundation for complex networked operations

Enterprise architecture frameworks with semantic models as a foundation for complex networked operations Enterprise architecture frameworks with semantic models as a foundation for complex networked operations SoaML Service modeling Semantic Days 2009, May 18 th -20 th,stavanger, Norway 18.05.2009 Arne Jørgen

More information

Using the SID in OSS/BSS Integration Challenges and Solutions to Implementing the TM Forum Shared Information /Data Model

Using the SID in OSS/BSS Integration Challenges and Solutions to Implementing the TM Forum Shared Information /Data Model Using the SID in OSS/BSS Integration Challenges and Solutions to Implementing the TM Forum Shared Information /Data Model Table of Contents Why Use the TM Forum s SID?... 3 A Triple Play Implementation

More information

PEPPOL Deliverable D1.1 Requirements for Use of Signatures in Public Procurement Processes Part 5: XKMS v2 Interface Specification

PEPPOL Deliverable D1.1 Requirements for Use of Signatures in Public Procurement Processes Part 5: XKMS v2 Interface Specification PEPPOL Deliverable D1.1 Requirements for Use of Signatures in Public Procurement Processes Part 5: XKMS v2 Interface Specification Profiling and Extensions Specification Version 1.2 PEPPOL WP1 2009-04-30

More information

BUSINESS RULES CONCEPTS... 2 BUSINESS RULE ENGINE ARCHITECTURE... 4. By using the RETE Algorithm... 5. Benefits of RETE Algorithm...

BUSINESS RULES CONCEPTS... 2 BUSINESS RULE ENGINE ARCHITECTURE... 4. By using the RETE Algorithm... 5. Benefits of RETE Algorithm... 1 Table of Contents BUSINESS RULES CONCEPTS... 2 BUSINESS RULES... 2 RULE INFERENCE CONCEPT... 2 BASIC BUSINESS RULES CONCEPT... 3 BUSINESS RULE ENGINE ARCHITECTURE... 4 BUSINESS RULE ENGINE ARCHITECTURE...

More information

Semantic Web Languages: RDF vs. SOAP Serialisation

Semantic Web Languages: RDF vs. SOAP Serialisation : University of Dortmund Computer Science VIII stefan.haustein@udo.edu : Why look at something else? Is RDF(S) not sufficient? What is SOAP? Why is SOAP important? Is SOAP Serialisation really an alternative

More information

C#5.0 IN A NUTSHELL. Joseph O'REILLY. Albahari and Ben Albahari. Fifth Edition. Tokyo. Sebastopol. Beijing. Cambridge. Koln.

C#5.0 IN A NUTSHELL. Joseph O'REILLY. Albahari and Ben Albahari. Fifth Edition. Tokyo. Sebastopol. Beijing. Cambridge. Koln. Koln C#5.0 IN A NUTSHELL Fifth Edition Joseph Albahari and Ben Albahari O'REILLY Beijing Cambridge Farnham Sebastopol Tokyo Table of Contents Preface xi 1. Introducing C# and the.net Framework 1 Object

More information

Project VIDE Challenges of Executable Modelling of Business Applications

Project VIDE Challenges of Executable Modelling of Business Applications Project VIDE Challenges of Executable Modelling of Business Applications Radoslaw Adamus *, Grzegorz Falda *, Piotr Habela *, Krzysztof Kaczmarski #*, Krzysztof Stencel *+, Kazimierz Subieta * * Polish-Japanese

More information

Introduction to UDDI: Important Features and Functional Concepts

Introduction to UDDI: Important Features and Functional Concepts : October 2004 Organization for the Advancement of Structured Information Standards www.oasis-open.org TABLE OF CONTENTS OVERVIEW... 4 TYPICAL APPLICATIONS OF A UDDI REGISTRY... 4 A BRIEF HISTORY OF UDDI...

More information

Programming and Software Development CTAG Alignments

Programming and Software Development CTAG Alignments Programming and Software Development CTAG Alignments This document contains information about four Career-Technical Articulation Numbers (CTANs) for Programming and Software Development Career-Technical

More information

XML Databases 6. SQL/XML

XML Databases 6. SQL/XML XML Databases 6. SQL/XML Silke Eckstein Andreas Kupfer Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de 6. SQL/XML 6.1Introduction 6.2 Publishing relational

More information