42
Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Embed Size (px)

Citation preview

Page 1: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Making XML Work(really using it correctly)

For

DIG-IT!Daniel Dodge

West Group

October 11, 2000

Page 2: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Agenda

• Some experiences with XML at West Group– ranges of implementation– practical discoveries

• Principles to follow

• Tips for getting XML to work for you– methods that work– pitfalls to avoid

Page 3: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Bio(or, why should we listen to this guy?)

• Implemented systems using SGML when it was a four-letter word

• Building architecture through team formation– chemistry and expertise (get the right people together,

and you can do almost anything)

– formalization of method with the team

• Using process definition and control as key forces for requirements

Page 4: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

XML at West Group

• Types of projects

• Game plan

• Hard lessons learned (so far)

Page 5: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Types of Projects

• Reengineering current editorial systems• Interchange among companies• Publishing acquired content

Page 6: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Reengineering

• Codes (statutes, administrative law, court rules, etc.)

• Cases• Analytical products• Required analysis of editorial systems and life-

cycle processes• West Group controls some or all of the content

Page 7: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Interchange

• One-way delivery from source company to a receiving company

• TLR (Thomson Legal & Regulatory) publishes legal information from around the world on WestLaw

• Currently have many formats, requiring multiple conversions

• Will use interchange models to define XML data format instead

Page 8: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Acquired Content

• Example: Public records such as corporate information, aircraft registrations, DMV, etc.

• No editorial intervention, only publishing (ownership of data is outside West Group)(contractual obligations for data integrity)

• Transformation from fixed-fielded or structured data into XML in several stages (media-neutral interchange and media-specific product)

Page 9: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Game Plan

• Goal: Reusable data objects• Requirements: Common data models for common

parts, information-type specific models for objects that have business purpose

• Develop an information architecture• Test by building implementations for all types of

projects

Page 10: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Results (so far)

• Burning the candle at both ends (so many levels of data and architecture and process)

• Eventually a middle ground is found to implement using current technology

• Prototypes finish completing the requirements for the business process until it can replace the current one (testing)

Page 11: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Lessons Learned (so far)

• Defining data requirements is the key to a useful data model

• The data owners know more about the data than all the data architects combined (humility is essential)

• With training, many people can can write DTDs• Use interchange DTDs to help processes move data

from legacy to XML-based systems• Prototype early and often

Page 12: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Principles to Follow

• focus on the task (it takes endurance)

• spiral, rapid-prototyping development cycles

• eliminate obstacles by dealing with stakeholder issues

Page 13: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

What You’re Building

• Information freeway access to your super storage system (a web server with dynamic content)

• Factory for cranking out topic packets of data to requestors (via HTTP)

Page 14: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

So you want to use XML

• Delivery or receipt in XML format makes life easier

• Platform independent

• Language independent (as long as everyone agrees on a dictionary)

• Organization independent (depending on policies and security)

Page 15: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Interchange

• Literally, exchange

• Reason for interchange

• Agreement to deliver/accept data in interchange format

• You get data that you understand

Page 16: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Data Flow Out

conversionprocess A

tape

disk

conversionprocess B

XMLdata

XMLdata

Page 17: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Data Flow In

transformationprocess

localdata

XMLdata

HTMLdata

Page 18: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Delivering XML Data

• You should offer:– DTD or Schema– sample XML instances (valid, of course)– friendly contact person (who has access to

prose documentation, email history of state of delivery system, and so on)

• You might be asked for more, but that should do it for advance preparation time

Page 19: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Receiving XML Data

• What should you require, versus accept– description of delivery system– DTD or Schema– element and attribute descriptions

• But it would be nice to have…– prose documentation– versioning

Page 20: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Common Understanding

• Same vocabulary for data components– character, column, flag, attribute– unit, item, field, element– record, document, well-formed instance

• Same vocabulary for processes– update or replace or obsolete– analysis, development, maintenance

Page 21: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Examples of Terms

• Current systems:– Character– Column– Flag

• XML data model:– Attribute (with list of values)– Empty element (containing only attributes)

Page 22: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Example XML

<record updated=“Y”> … </record>

<status new=“Y” approved=“N”/>

Page 23: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Examples of Terms

• Current systems:– Unit– Item– Field

• XML data model:– element (with or without attributes)– wrapper element

Page 24: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Example XML

<name>J. Smith</name>

<record><name>Joe Smith</name><license.number>A102-234</license.number>

</record>

Page 25: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Mapping to Equal Precision

• Rule #1:You can’t change the laws of thermodynamics.

• Rule #2:There is no other rule than Rule #1.

Page 26: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Analyzing the Data

• Map each data component from source to an element or attribute in the XML form

• Create a new name for each unique piece of data

• Use only existing structure or markup

Page 27: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Interchange or Deliver(a pop quiz)

• Is this name instance:<name>Joe Smith</name>

• equal to:<name><first>Joe</first><last>Smith</last></name>

?

Page 28: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

It depends...

• Going from here:<name><first>Joe</first><last>Smith</last></name>

to here:<name>Joe Smith</name>

is OK.• You can’t go the other way (without some

magic…).

Page 29: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

More Examples of Terms

• Is name element for person name, or company name?

• How are fields delimited?

• What identifies the order of tree-structured data?

Page 30: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Record or Logical Document

• Basic unit of delivery (something that can be tracked by version or current date)

• Exchange those logical documents, not parts of them

• May require building transaction processing into your input cycle for changes to the record

Page 31: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Writing Data Models

• Elements correspond to fields in database

• Attributes describe relationships

• Tree structure might be interpreted view, or present in existing markup

Page 32: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Agreements about Names

• Owner of data should develop the set of names for the data components

• Receiver of data should review the list of names and ask for any required changes.

Page 33: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Model Development

• Have your DTD writers make XML Schemas instead

• Make templates containing interface components (the interfaces to the other side’s data input requirements: XML well-formed data + stylesheet)

• Use templates with completed data analysis records for input to make data model

Page 34: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Follow a Method

• Analyze, then develop data model (not the other way around or you’ll be blind to the mistakes you made)

• Test with larger and larger sets of data– first one record (document)– then 1000– then all 100 million

Page 35: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Practical Politics

• Involve all your stakeholders (find unity through shared requirements)

• Find common names (exchange all your glossaries) and list servers (all sources where new data comes from)

• Build your community of shared data models

Page 36: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Summary

• Projects

• Plan

• Results

Page 37: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Just do it!

The fine print: Just in case there is a potential trademark infringment here, for the purpose of fair broadcast of intent, that the phrase above may not be interpreted as trademark infringement, etc., heretofore, and furthermore (you get the idea after a while, how this goes, and just follow along…)

Page 38: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

That’s it...

Page 39: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Thanks to my comrades

• the osde gang

• cray and sgi

• my battle partners (Jolene) (and Francis) and team

• Barb, Kathy, Kathy, Jeff, and Eric and his crew

Page 40: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000

Connections

• Midwest SGML/XML Forum– website: www.midwest-sgml.org– next meeting: October 19 in Arden Hills

• email– work: [email protected]

– home: [email protected]

• web page: www.ftinet.com/dodge

Page 41: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000
Page 42: Making XML Work (really using it correctly) For DIG-IT! Daniel Dodge West Group October 11, 2000