Enterprise Modeling with Conceptual XML - PowerPoint PPT Presentation

About This Presentation
Title:

Enterprise Modeling with Conceptual XML

Description:

ER2004, Shanghai, China. Enterprise Modeling with Conceptual XML. Stephen W. Liddle ... ER2004, Shanghai, China. 2. XML for Fun and Profit. The benefits of XML ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 28
Provided by: stephen69
Learn more at: https://www.deg.byu.edu
Category:

less

Transcript and Presenter's Notes

Title: Enterprise Modeling with Conceptual XML


1
Enterprise Modeling with Conceptual XML
  • Stephen W. Liddle
  • Rollins Center for eBusiness and
  • School of Accountancy Information Systems
  • David W. Embley Reema Al-Kamha
  • Department of Computer Science
  • Brigham Young University, Provo, Utah, USA

2
XML for Fun and Profit
  • The benefits of XML are clear
  • Great for hierarchical, mostly human-readable,
    textual data
  • Meta-data travels with the data
  • Standardized, commoditized data interchange
  • XML enjoys a significant network effect
  • Value of XML O(n2), where n is number of users

3
Death by a Thousand Paper Cuts
  • But XML also has disadvantages
  • (Aside from minor issues like query-processing
    and storage efficiency concerns)
  • Schema definitions are complex and numerous
  • Details can be laborious, tedious
  • Allows arbitrary amounts of heterogeneity
  • The number of schemata increases geometrically
  • Thanks to the network effect, XML is ubiquitous
  • Rigid tree structure influences XML data modeling

4
The Modern Enterprise
Wide variety of data sources Increasing
heterogeneity Increasing need for integration
Customers
Remote Divisions Employees
Employees
StrategicPartners
FIREWALL
Distributors ChannelPartners
Suppliers
From Carey, Enterprise Information Integration
XML to the Rescue!, ER2003
5
Model-Driven Nirvana
  • OMGs Model-Driven Architecture
  • (MDA) hopes to lead us to
  • the Promised Land
  • Vision integrate all assets into one
    enterprise-wide, global information appliance by
    separating business logic from platform
    technology
  • Reverse-engineer legacy components
  • Semi-automated (at best)

Executable System
Abstract Model
Automated Mapping
6
Mike Careys ER2003 Challenge to theConceptual
Modeling Community
  • Produce a simple conceptual model that
  • Works well with XML and XML Schema
  • Abstracts well for conceptual entities and
    relationships
  • Scales to handle large data sets and complex
    object interrelationships
  • Allows for queries and defined views via XQuery
  • Accommodates heterogeneity

7
Our Vision Conceptual XML
  • We have an answer to the challenge!
  • Collectively weve been developing it for 30
    years
  • Conceptual XML (C-XML) is a conceptual model
  • High-level object and relationship sets
  • Seamless abstraction
  • Model-equivalent with XML Schema

8
How C-XML Helps the Enterprise
9
C-XML Example
Data frame annotations are not shown
10
C-XML?XML Schema Translations
  • We need information- and constraint-preserving
    translations in both directions
  • Translations need not be inverses
  • It is sufficient that they create equivalence
    classes
  • Our community has created numerous XML generation
    algorithms
  • But there hasnt been much work on the reverse
  • We can guarantee certain good design properties
    with respect to generated XML Schema

11
C-XML Example
44 ltxselement name"Customer"
abstract"true"/gt 45 ltxselement
name"PreferredCustomer" substitutionGroup"Custom
er"gt 46 ltxscomplexTypegt 47
ltxsgroup ref"CustomerDetails"/gt 48
... 49 lt/xscomplexTypegt 50
lt/xselementgt 51 ltxselement name"RegularCustome
r" substitutionGroup"Customer"gt 52
ltxscomplexTypegt 53 ltxsgroup
ref"CustomerDetails"/gt 54
lt/xscomplexTypegt 55 lt/xselementgt
12
C-XML Example
56 ltxsgroup name"CustomerDetails"gt 57
ltxssequencegt 58 ltxselement
name"CustomerName" type"xsstring"/gt 59
ltxselement name"CustomerAddr"
type"xsstring"/gt 60 ... 79
lt/xssequencegt 80 lt/xsgroupgt
13
C-XML Example
11 ltxselement ... minOccurs"0" maxOccurs"5"gt
14
C-XML Example
35 ltxskey name"OrderKey"gt 36 ltxsselector
xpath".//Order"/gt 37 ltxsfield
xpath"_at_OrderID"/gt 38 lt/xskeygt ... 60
ltxselement name"Order" minOccurs"0"
maxOccurs"unbounded"gt 61 ltxscomplexTypegt 62
ltxssequencegt ... 74
lt/xssequencegt 75 ltxsattribute
name"OrderID" type"xspositiveInteger"
use"required"/gt ... 77 lt/xscomplexTypegt 7
8 lt/xselementgt
15
Converting XML Schema back to C-XML
  • We separate structural from non-structural
    concepts
  • Structural elements, attributes,
  • Non-structural attribute types, order
    constraints,
  • Algorithm overview
  • Generate object sets for each element, attribute
  • Connected by relationship sets
  • Nested according to XML hierarchy
  • Re-code all constraints in C-XML

16
Initial Result of Reverse Conversion
17
Strikingly Different?
18
Or Not?
19
Preserving Information and Constraints
  • We formalize C-XML using predicate calculus
  • See the paper for definitions, lemmas, theorems
  • We claim that our translations between C-XML and
    XML Schema preserve information and constraints

20
View Mechanisms in C-XML
  • High-level abstractions
  • For model management, reducing cognitive load
  • C-XML XQuery views
  • Generate XQuery from conceptual description
  • XQuery integration mappings
  • For bringing together disparate chunks of XML

21
C-XML XQuery Views
  • Need to generate XQuery views from C-XML views
  • XQuery can be cumbersome
  • Must follow hierarchical XML layout
  • C-XQuery borrows syntax from XQuery
  • FLWOR expressions
  • Path expressions are conceptual
  • A//B designates path from A to B regardless of
    hierarchy or intervening steps
  • Attribute/element distinction is not necessary
  • Execution is by view unfolding and translation to
    standard XQuery

22
XQuery vs. C-XQuery
Consider conceptual path Item//OrderID
OrderID or _at_OrderID?
23
Our Contributions
  • A vision for applying conceptual modeling to the
    task of enterprise-wide XML support
  • A framework to support the vision
  • Information- and constraint-preserving mappings
    between C-XML and XML Schema
  • Defined mechanisms for producing and using
    first-class, high-level, conceptual abstractions
  • XQuery view definitions over both standard and
    federated conceptual-model instances

www.deg.byu.edu
24
C-XQuery Example
define view CustomersByItemsOrdered for item
in Item return ltItemgt item/ItemNr,
item/Description for customer in
item/Order/Customer return ltCustomergt
customer/CustomerName, customer/CustomerAddr
for order in customer/Order, item2 in
order/Item where item2 item return
ltOrdergt order/OrderDate, item2/Qty,
item2/SalePrice lt/Ordergt lt/Customergt
lt/Itemgt
25
Views within Views
define view RecentNitrogenFertilizerCustomers fo
r i in CustomersByItemsOrdered where
i/Description Nitrogen Fertilizer return ltC
ustomergt for c in i/Customer let total
sum( for o in c/Order where
o/OrderDate gt add-days(current-date(),
-90) return o/Qty o/SalePrice
) return c/CustomerName,
Totaltotal lt/Customergt for c in
RecentNitrogenFertilizerCustomers/Customer where
c/Total gt 300 return ltPotentialThreatCustomergt
c/CustomerName, c/Total lt/PotentialThreatCustom
ergt
26
C-XQuery Mapping
define view CatalogItemToItem for cItem in
CatalogItem let itemNr CatalogNr-to-ItemNr(c
Item) let price cItem/MSRP (1
cItem/MarkupPercent) return ltItemgt ltItemNrgtit
emNrlt/ItemNrgt ltDescriptiongtcItem/ShortNamelt/D
escriptiongt ltPricegtpricelt/Pricegt lt/Itemgt
27
C-XML Workflow Diagram
Write a Comment
User Comments (0)
About PowerShow.com