Your SlideShare is downloading. ×
0
Implementing XML: Strategic Implications for Technology and Program Managers   Susan Akey and John Blyskal State Informati...
Administrative Details
Introductions
Agenda <ul><li>Introductions  </li></ul><ul><li>Agenda Review  </li></ul><ul><li>Session Goals </li></ul><ul><li>Examples ...
Goals <ul><li>Benefits of sharing data </li></ul><ul><li>Purpose of XML </li></ul><ul><li>Key XML concepts and terminology...
Example of Web Services/XML Implementation Scott Reese State of Washington, DSHS
Example of a Web Service Implementation <ul><li>History: Legacy system conversion to web platform </li></ul><ul><li>Busine...
The Need to Share, Real Life Examples <ul><li>A father in a Western State is working to meet TANF requirements as well as ...
Who Benefits? <ul><li>Group Exercise </li></ul>
Vision <ul><li>In a perfect world … </li></ul><ul><li>Program boundaries disappear </li></ul><ul><li>We can access needed ...
Interface Functional Considerations <ul><li>Data format (presentation) </li></ul><ul><ul><li>Proprietary, interface-specif...
Challenges <ul><li>Nontechnical </li></ul><ul><ul><li>Boundaries (ownership of information) </li></ul></ul><ul><ul><li>Con...
Promise of XML Web Servers Application Servers Legacy Applications Data Servers XML XML XML <ul><ul><li>Enquire Within Upo...
Key Benefits of XML <ul><li>Model for sharing data on the  web  is based on XML </li></ul><ul><li>One  standard ,   common...
Interoperability Initiatives <ul><li>Coordination and Sponsorship </li></ul><ul><li>CIO Council </li></ul><ul><ul><li>XML ...
Interoperability Initiatives (cont.) <ul><li>Department of Justice </li></ul><ul><ul><li>Office of Justice Programs </li><...
Interoperability Initiatives (cont.) <ul><li>Human Resources – XML Consortium </li></ul><ul><ul><li>Independent, nonprofit...
Workgroup Presentations <ul><li>Child Welfare XML Workgroup </li></ul><ul><li>Angelo Serra </li></ul><ul><li>TANF Informat...
Applying XML
<ul><li>You are a Child Welfare Caseworker… </li></ul><ul><li>…  it’s 4:30 p.m. Friday afternoon </li></ul><ul><li>…  you ...
 
<ul><li>Your client just got off the phone with her boss … </li></ul><ul><li>…  and she’s frantic </li></ul>
<ul><li>She needs to take her youngest to the clinic </li></ul><ul><ul><li>But she’s on the schedule to work tonight </li>...
The Information Need <ul><li>What is my client’s welfare work status?  </li></ul><ul><li>Who is her boss?  </li></ul><ul><...
Choices <ul><li>…  You find the  coded printout from the TANF system , hoping you remember the important codes because you...
 
Your (IT) Job …   <ul><li>Build an automated solution that can satisfy the  business need  … </li></ul><ul><ul><li>Allow a...
<ul><li>You are to use XML ! </li></ul><ul><li>( your enterprise’s standard for </li></ul><ul><li>interprogram information...
Approach <ul><li>Conceptual solution </li></ul><ul><li>Three key technologies </li></ul><ul><ul><li>XML exchange documents...
Conceptual Solution TANF (Eligibility) System(s) TANF  Domain Child Welfare Domain Request SACWIS Response What is in the ...
Service Interface SACWIS (Requester) TANF (Provider) Please provide an  Employment Status  and  Contact  for { Client name...
<ul><li>Group Exercise </li></ul>Response Items
<ul><li>We know  what  data elements we need…. </li></ul><ul><li>but … </li></ul><ul><li>How  is the returned record forma...
Traditional Approach <ul><li>Character Encoding  (Binary, Text, Character Set 8/16 …) </li></ul><ul><li>Fixed Fields  (1-2...
What you should know about … <ul><li>AKA  Exchange  Document </li></ul><ul><li>Legible </li></ul><ul><ul><li>No special to...
Value of Using XML   <ul><li>Universal  way to describe  any type  of data </li></ul><ul><ul><li>Structured (database, spr...
<ul><li>Just because the data </li></ul><ul><li>is represented in XML </li></ul><ul><li>does not mean </li></ul><ul><li>it...
XML Schemas <ul><li>Make sure that an  </li></ul><ul><li>XML instance document </li></ul><ul><li>contains  </li></ul><ul><...
Content Rules <ul><li>For the exchange document data elements (i.e., fields) … </li></ul><ul><ul><li>What elements are all...
Employment Summary Document Content Rules <ul><li>Group Exercise </li></ul>
Enforcing Content Rules: Traditional Approach Business Rules Specification Document
Enforcing Rules: XML Schema (employment summary) Exchange Document <ul><li><?xml version = &quot;1.0&quot; encoding = &quo...
Demonstration Validating An  Exchange Document
What You Should Know About … <ul><li>Schema is an XML Document </li></ul><ul><ul><li>Well-formed </li></ul></ul><ul><ul><l...
Value of Using XML Schema   <ul><li>Comprehensive means to constrain document content and structure </li></ul><ul><li>Cont...
Wisconsin Tablet PC Project A Working Example of XML Joyce Rose, WISACWIS Project
<ul><li>Making XML </li></ul><ul><li>Make Sense </li></ul><ul><li>(to people and machines) </li></ul>
Presenting Data: Traditional Approach AL,JONES,7034561234,,SHARPEST IMAGE,MARY,SMITH,123456789  AL,JONES,7034561234,,SHARP...
XML Stylesheet Language <ul><li>A language to transform an XML document into another form </li></ul>HTML XML Stylesheet Tr...
Demonstration Displaying an XML  Document
What You Should Know About … <ul><li>XSL Transformations </li></ul><ul><li>General-purpose  language </li></ul><ul><ul><li...
Exchanging Data Transformation Application XML Stylesheet Exchange Document Transformation Application XML Stylesheet Vali...
Why Common Exchange Definitions? 2(N-1) Transformations 2 Transformations Add/Remove sharing relationships
Value of Using XML Transformations <ul><li>A way to achieve interoperability of data </li></ul><ul><li>Promote interoperab...
A Full Solution … <ul><li>How to  transport  the data between the machines </li></ul><ul><ul><li>Message, protocols </li><...
(abbreviated) XML Technology Suite XML Web & Internet Architectures (URI,  Namespaces , HTTP, character sets, …) XPointer ...
Summary/Recap Summary/Recap
Key Business Benefits <ul><li>Reduce  entropy </li></ul><ul><ul><li>Single, unifying technical approach for data </li></ul...
Mainstream <ul><li>Platform supports an XML infrastructure </li></ul><ul><li>Moving data across heterogeneous platforms </...
How Will Environment Change? <ul><li>Development tools </li></ul><ul><li>IT staff skills </li></ul><ul><li>Delivery of ser...
Parting Thoughts … <ul><li>XML is a  key technology  of the World Wide Web </li></ul><ul><ul><li>It is here to stay </li><...
<Closing> </Closing>
For More Information <ul><li>Susan Akey </li></ul><ul><li>Phone: (703) 742-7180 </li></ul><ul><li>Email:  [email_address] ...
Upcoming SlideShare
Loading in...5
×

PowerPoint Doc

760

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
760
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Redo, add, Organize to Depict scope covered or use w3 home page, wsi, etc…., only key techs
  • Transcript of "PowerPoint Doc"

    1. 1. Implementing XML: Strategic Implications for Technology and Program Managers Susan Akey and John Blyskal State Information Technology Consortium March 22, 2005 Reston, VA
    2. 2. Administrative Details
    3. 3. Introductions
    4. 4. Agenda <ul><li>Introductions </li></ul><ul><li>Agenda Review </li></ul><ul><li>Session Goals </li></ul><ul><li>Examples of XML Use </li></ul><ul><li>Vision, Challenges, and Benefits </li></ul><ul><li>Interoperability Initiatives </li></ul><ul><li>Applying XML (Includes demo of Wisconsin Tablet PC Project) </li></ul><ul><li>Summary/Recap </li></ul><ul><ul><li>Business benefits </li></ul></ul><ul><ul><li>How will environment change? </li></ul></ul><ul><ul><li>Parting thoughts… </li></ul></ul>
    5. 5. Goals <ul><li>Benefits of sharing data </li></ul><ul><li>Purpose of XML </li></ul><ul><li>Key XML concepts and terminology </li></ul><ul><li>Changes necessary to adopt XML </li></ul>
    6. 6. Example of Web Services/XML Implementation Scott Reese State of Washington, DSHS
    7. 7. Example of a Web Service Implementation <ul><li>History: Legacy system conversion to web platform </li></ul><ul><li>Business problem: Field staff need real-time info--fast </li></ul><ul><li>Technical problem: Two systems in different platforms </li></ul><ul><ul><li>.NET/SQL vs. IBM WebSphere/DB2 </li></ul></ul><ul><li>Solution: Web Service. Sort of… </li></ul><ul><ul><li>No DTD </li></ul></ul><ul><ul><li>Not exposed or “published” UDDI </li></ul></ul>
    8. 8. The Need to Share, Real Life Examples <ul><li>A father in a Western State is working to meet TANF requirements as well as taking parenting classes to satisfy his Child Welfare plan. </li></ul><ul><li>He’s left with only Saturday evenings to visit with his son in out-of-home placement. In the Northeast, a mother misses a court hearing regarding the abuse of her children. </li></ul><ul><li>She cannot leave her job without failing to meet the work requirements of the welfare Agency. </li></ul>
    9. 9. Who Benefits? <ul><li>Group Exercise </li></ul>
    10. 10. Vision <ul><li>In a perfect world … </li></ul><ul><li>Program boundaries disappear </li></ul><ul><li>We can access needed information </li></ul><ul><ul><li>When we need it </li></ul></ul><ul><ul><li>In the form we need it </li></ul></ul><ul><ul><li>Up-to-date </li></ul></ul><ul><ul><li>Relevant </li></ul></ul><ul><li>And we can do it without </li></ul><ul><ul><li>Requiring complex interfaces that need significant effort to build and maintain </li></ul></ul>Comprehensive Service Delivery Sharing information across program areas is essential !
    11. 11. Interface Functional Considerations <ul><li>Data format (presentation) </li></ul><ul><ul><li>Proprietary, interface-specific record layouts (e.g., binary, character, fixed fields, records, files) </li></ul></ul><ul><li>Data transport (move data from one machine to another) </li></ul><ul><ul><li>Direct:Connect </li></ul></ul><ul><ul><li>Electronic/Physical </li></ul></ul><ul><ul><ul><li>FTP, file sharing, email, tapes, shared disks … </li></ul></ul></ul><ul><li>Remote access </li></ul><ul><ul><li>User logs into another system (UI Integration) </li></ul></ul><ul><ul><li>Application Integration (programmatic) </li></ul></ul><ul><li>Processing </li></ul><ul><ul><li>Nightly batch jobs to extract, send, load data </li></ul></ul>Generally, the complete solution for one interface is not easily adapted to new situations
    12. 12. Challenges <ul><li>Nontechnical </li></ul><ul><ul><li>Boundaries (ownership of information) </li></ul></ul><ul><ul><li>Confidentiality/security </li></ul></ul><ul><ul><li>Time and effort to establish and enforce sharing agreements </li></ul></ul><ul><ul><li>Knowing whom to contact </li></ul></ul><ul><li>Technical </li></ul><ul><ul><li>Access to information across systems is difficult </li></ul></ul><ul><ul><ul><li>Incompatible technologies </li></ul></ul></ul><ul><ul><ul><li>Data replicated across systems and inconsistently updated </li></ul></ul></ul><ul><ul><ul><li>Cut/paste/manually copy-enter to move data between systems </li></ul></ul></ul><ul><ul><li>Access to information is not timely </li></ul></ul><ul><ul><ul><li>Batch processing (e.g., nightly, weekly, monthly) </li></ul></ul></ul>
    13. 13. Promise of XML Web Servers Application Servers Legacy Applications Data Servers XML XML XML <ul><ul><li>Enquire Within Upon Everything* </li></ul></ul><ul><li>Finding </li></ul><ul><li>Accessing </li></ul><ul><li>Exchanging </li></ul>* Berners-Lee, Tim and Fischetti, Mark, Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web by Its Inventor. Harper Collins: New York, NY, 1999. XML XML XML
    14. 14. Key Benefits of XML <ul><li>Model for sharing data on the web is based on XML </li></ul><ul><li>One standard , common language to describe information shared across any system </li></ul><ul><ul><li>Platform-agnostic </li></ul></ul><ul><ul><li>Promotes interoperability versus tight integration (B2B, G2G, B2G) </li></ul></ul><ul><ul><li>Solutions (or parts of them) are readily reusable </li></ul></ul><ul><li>Any kind of data </li></ul><ul><ul><li>Structured (database, spreadsheet, configuration) </li></ul></ul><ul><ul><li>Unstructured (documents) </li></ul></ul><ul><ul><li>Text, voice, graphics, scientific equations … can be represented </li></ul></ul><ul><li>Extensible </li></ul><ul><ul><li>Able to evolve to meet new sharing needs (vocabularies) </li></ul></ul><ul><li>Separation of concerns </li></ul><ul><ul><li>Separates the data, how it is used, and how it is presented ( repurpose ) </li></ul></ul><ul><li>Vendor-supported </li></ul><ul><ul><li>All current platforms, applications </li></ul></ul><ul><ul><li>Tools that understand and hide intricacies (office tools) </li></ul></ul>
    15. 15. Interoperability Initiatives <ul><li>Coordination and Sponsorship </li></ul><ul><li>CIO Council </li></ul><ul><ul><li>XML Community of Practice (previously known as the XML Working Group) </li></ul></ul><ul><ul><li>Facilitate use of XML through cooperative efforts among Government Agencies </li></ul></ul><ul><ul><li>http://xml.gov/ </li></ul></ul><ul><li>Organization for Advancement of Structure Information Standards (OASIS) </li></ul><ul><ul><li>Not-for-profit, global consortium </li></ul></ul><ul><ul><li>Development, convergence, and adoption of e-business standards </li></ul></ul><ul><ul><li>Technical Committees, open process </li></ul></ul><ul><ul><li>http://www.oasis-open.org/home/index.php </li></ul></ul>
    16. 16. Interoperability Initiatives (cont.) <ul><li>Department of Justice </li></ul><ul><ul><li>Office of Justice Programs </li></ul></ul><ul><ul><li>Global Justice Information Sharing Initiative </li></ul></ul><ul><ul><li>Global Justice XML Data Model </li></ul></ul><ul><ul><li>http://it.ojp.gov/ </li></ul></ul><ul><li>Department of Treasury </li></ul><ul><ul><li>Internal Revenue Service </li></ul></ul><ul><ul><li>Modernized e-File program </li></ul></ul><ul><ul><li>Schemas for electronic filing </li></ul></ul><ul><ul><li>http://www.irs.gov/efile/ </li></ul></ul>
    17. 17. Interoperability Initiatives (cont.) <ul><li>Human Resources – XML Consortium </li></ul><ul><ul><li>Independent, nonprofit </li></ul></ul><ul><ul><li>Open, HR-related e-business and inter company data exchange </li></ul></ul><ul><ul><li>http://www.hr-xml.org/ </li></ul></ul><ul><li>Department of Defense Metadata Registry and Clearinghouse </li></ul><ul><ul><li>http://diides.ncr.disa.mil/xmlreg/user/index.cfm </li></ul></ul><ul><ul><li>Government sponsorship required to access </li></ul></ul>
    18. 18. Workgroup Presentations <ul><li>Child Welfare XML Workgroup </li></ul><ul><li>Angelo Serra </li></ul><ul><li>TANF Information Exchange XML Workgroup </li></ul><ul><li>John Blyskal </li></ul>
    19. 19. Applying XML
    20. 20. <ul><li>You are a Child Welfare Caseworker… </li></ul><ul><li>… it’s 4:30 p.m. Friday afternoon </li></ul><ul><li>… you are busy entering information in your SACWIS system from your notebook </li></ul>
    21. 22. <ul><li>Your client just got off the phone with her boss … </li></ul><ul><li>… and she’s frantic </li></ul>
    22. 23. <ul><li>She needs to take her youngest to the clinic </li></ul><ul><ul><li>But she’s on the schedule to work tonight </li></ul></ul><ul><li>She was told by her boss </li></ul><ul><ul><li>If she misses one more day of work, she’s fired </li></ul></ul><ul><li>If she’s fired </li></ul><ul><ul><li>She’s at risk of losing her welfare benefits </li></ul></ul><ul><li>She couldn’t get a hold of her welfare casework </li></ul><ul><ul><li>So she called you </li></ul></ul><ul><li>You want to call her boss and explain the situation, but </li></ul><ul><ul><li>You need to verify her welfare work status … </li></ul></ul>
    23. 24. The Information Need <ul><li>What is my client’s welfare work status? </li></ul><ul><li>Who is her boss? </li></ul><ul><li>Does my client’s situation check out? </li></ul><ul><li>… before I call </li></ul>
    24. 25. Choices <ul><li>… You find the coded printout from the TANF system , hoping you remember the important codes because you normally just ask your supervisor, but … </li></ul><ul><ul><li>She’s out today and tomorrow, attending a change management seminar </li></ul></ul><ul><li>… Your State welfare Agency compiles monthly lists of dual-system clients whose time limits are approaching and provides these lists to local Child Welfare offices. </li></ul><ul><ul><li>You look around the office for the list, but … </li></ul></ul><ul><ul><ul><li>It’s not on the shelf where it’s supposed to be kept </li></ul></ul></ul><ul><li>… You’re in one of the counties where the information system allows you to determine whether a case is involved in any other systems , including TANF, or child support </li></ul><ul><ul><li>The system lists the worker to contact in the other system, but … </li></ul></ul><ul><ul><ul><li>She’s on vacation </li></ul></ul></ul>
    25. 27. Your (IT) Job … <ul><li>Build an automated solution that can satisfy the business need … </li></ul><ul><ul><li>Allow a Child Welfare Caseworker </li></ul></ul><ul><ul><li>(limited) access </li></ul></ul><ul><ul><li>to the TANF case files </li></ul></ul><ul><ul><li>(to get Client work status) </li></ul></ul>
    26. 28. <ul><li>You are to use XML ! </li></ul><ul><li>( your enterprise’s standard for </li></ul><ul><li>interprogram information exchange … ) </li></ul>
    27. 29. Approach <ul><li>Conceptual solution </li></ul><ul><li>Three key technologies </li></ul><ul><ul><li>XML exchange documents </li></ul></ul><ul><ul><li>XML schemas </li></ul></ul><ul><ul><li>XML transformations </li></ul></ul>
    28. 30. Conceptual Solution TANF (Eligibility) System(s) TANF Domain Child Welfare Domain Request SACWIS Response What is in the XML request/ response? How do we specify (and validate) what can be in the response? How do we present the results to the user? XML XML
    29. 31. Service Interface SACWIS (Requester) TANF (Provider) Please provide an Employment Status and Contact for { Client name , SSN } Employment Summary Response
    30. 32. <ul><li>Group Exercise </li></ul>Response Items
    31. 33. <ul><li>We know what data elements we need…. </li></ul><ul><li>but … </li></ul><ul><li>How is the returned record formatted? </li></ul>
    32. 34. Traditional Approach <ul><li>Character Encoding (Binary, Text, Character Set 8/16 …) </li></ul><ul><li>Fixed Fields (1-20 first name, 21-40 Last Name, 41-50 Telephone … ) </li></ul><ul><li>Variable length fields (Comma delimited) </li></ul><ul><li>Record Delimiters (CR LF) </li></ul><ul><li>File Delimiters (EOF) </li></ul>414C4A4F4E455307000304050601020304534841525045535420494147454D42525952495448010203040506070809 414C4A4F4E455307000304050601020304534841525045535420494147454D42525952495448010203040506070809 414C4A4F4E455307000304050601020304534841525045535420494147454D42525952495448010203040506070809 AL,JONES,7034561234,,SHARPEST IMAGE,MARY,SMITH,123456789
    33. 35. What you should know about … <ul><li>AKA Exchange Document </li></ul><ul><li>Legible </li></ul><ul><ul><li>No special tools (required) </li></ul></ul><ul><ul><li>Terseness not important </li></ul></ul><ul><li><?XML … > </li></ul><ul><ul><li>Version </li></ul></ul><ul><ul><li>Encoding </li></ul></ul><ul><li>Tree </li></ul><ul><ul><li>Top-level node (document) </li></ul></ul><ul><li>Markup </li></ul><ul><ul><li>Element </li></ul></ul><ul><ul><li>Attributes </li></ul></ul><ul><li>Text Content </li></ul><ul><li>Well-formed (!) </li></ul><ul><ul><li>Basic structure rules: </li></ul></ul><ul><ul><ul><li>Document root element </li></ul></ul></ul><ul><ul><ul><li>Start/end (or empty) element tags </li></ul></ul></ul><ul><ul><ul><li>Elements properly nested, no overlapping </li></ul></ul></ul><ul><ul><ul><li>Case-sensitive </li></ul></ul></ul><ul><li>Reference to Schema(s) </li></ul><ul><li>Namespaces </li></ul>XML Instance Document
    34. 36. Value of Using XML <ul><li>Universal way to describe any type of data </li></ul><ul><ul><li>Structured (database, spreadsheets, configuration files) </li></ul></ul><ul><ul><li>Unstructured (web pages, documents) </li></ul></ul><ul><li>No need to reinvent complex data definitions for each interchange </li></ul><ul><ul><li>Record delimiters, field terminators, null/unknown values, character set </li></ul></ul><ul><li>Self-describing </li></ul><ul><ul><li>Structure, content together in each instance document (exchange document) </li></ul></ul><ul><ul><li>Readable (text format) </li></ul></ul><ul><ul><ul><li>Special tools not needed — for processing by computers </li></ul></ul></ul><ul><li>Extensible </li></ul><ul><ul><li>Customize markup (structure, tags, content) </li></ul></ul><ul><ul><ul><li>Specialize for each information domain (i.e., vocabulary) </li></ul></ul></ul><ul><ul><ul><li>Combine and reuse markup across many documents </li></ul></ul></ul><ul><li>Separate data from presentation </li></ul><ul><li>Platform- independent </li></ul>
    35. 37. <ul><li>Just because the data </li></ul><ul><li>is represented in XML </li></ul><ul><li>does not mean </li></ul><ul><li>it is what you expected </li></ul><ul><li>or intended </li></ul>
    36. 38. XML Schemas <ul><li>Make sure that an </li></ul><ul><li>XML instance document </li></ul><ul><li>contains </li></ul><ul><li>what it should contain </li></ul><ul><li>No more </li></ul><ul><li>No less </li></ul>
    37. 39. Content Rules <ul><li>For the exchange document data elements (i.e., fields) … </li></ul><ul><ul><li>What elements are allowed? </li></ul></ul><ul><ul><li>What elements can be nested inside other elements? </li></ul></ul><ul><ul><li>What attributes are defined, required? </li></ul></ul><ul><ul><li>What text (characters, strings) are allowed for content? </li></ul></ul><ul><ul><li>How many times can an element occur? </li></ul></ul><ul><ul><li>In what order? </li></ul></ul><ul><ul><li>What element values must be unique (keys)? </li></ul></ul><ul><ul><li>What is the default value if none is provided? </li></ul></ul><ul><ul><li>Are references between elements correct? </li></ul></ul><ul><ul><li>… </li></ul></ul>
    38. 40. Employment Summary Document Content Rules <ul><li>Group Exercise </li></ul>
    39. 41. Enforcing Content Rules: Traditional Approach Business Rules Specification Document
    40. 42. Enforcing Rules: XML Schema (employment summary) Exchange Document <ul><li><?xml version = &quot;1.0&quot; encoding = &quot;UTF-16&quot;?> </li></ul><ul><li><xsd:schema xmlns:xsd = &quot;http://www.w3.org/2000/10/XMLSchema&quot;> </li></ul><ul><li>< xsd :element name = &quot;demographics&quot;>. . .</xsd:element> </li></ul><ul><li><xsd:element name = &quot;demographic&quot;>. . . </xsd:element> </li></ul><ul><li><xsd:element name = &quot;name&quot;> </li></ul><ul><li><xsd:complexType> </li></ul><ul><li><xsd:sequence> </li></ul><ul><li><xsd:element ref = &quot;firstname&quot;/> </li></ul><ul><li><xsd:element ref = &quot;middlename&quot; minOccurs = &quot;0&quot; maxOccurs = &quot;unbounded&quot;/> </li></ul><ul><li>. . . </li></ul><ul><li></xsd:sequence> </li></ul><ul><li></xsd:complexType> </li></ul><ul><li></xsd:element> </li></ul><ul><li><xsd:element name = &quot;firstname&quot; type = &quot;xsd:string&quot;/> </li></ul><ul><ul><li>. . . </li></ul></ul><ul><li><xsd:element name = &quot;eligibility&quot;> </li></ul><ul><li>. . . </li></ul><ul><li>&quot;xsd:string&quot;/> </li></ul><ul><li>. . . </li></ul><ul><li></xsd:element> </li></ul><ul><li></xsd:schema> </li></ul>(work summary) XML Schema Document ? receiver What does a document (record) look like Is this instance a valid document (record) sender ? <ul><li><?xml version =&quot; 1.0 &quot; ?> </li></ul><ul><li><!– an abbreviated set of demographic data --> </li></ul><ul><li>< Demographics > </li></ul><ul><li>date =&quot; 20020115 &quot; /> </li></ul><ul><li></ Demographic > </li></ul><ul><li>< Demographic > </li></ul><ul><li>< Name > </li></ul><ul><ul><li>< FirstName > John </ FirstName > </li></ul></ul><ul><ul><li>< LastName > Doe </ LastName > </li></ul></ul><ul><li></ Name > </li></ul><ul><li>< SocialSecurity > 119471391 </ SocialSecurity > </li></ul><ul><li>< eligibility medicaid =&quot; Y &quot; foodstamp =&quot; Y &quot; date =&quot; 20020207 &quot; /> </li></ul><ul><li></ Demographic </li></ul><ul><li>dstamp =&quot; Y &quot; date =&quot; 20020207 &quot; /> </li></ul><ul><li></ Demographic > > </li></ul><ul><li></ Demographics > </li></ul>
    41. 43. Demonstration Validating An Exchange Document
    42. 44. What You Should Know About … <ul><li>Schema is an XML Document </li></ul><ul><ul><li>Well-formed </li></ul></ul><ul><ul><li>References Schema for Schemas </li></ul></ul><ul><li>Can be self-documenting (annotation) </li></ul><ul><li>Rich set of data types </li></ul><ul><ul><li>Schema-defined </li></ul></ul><ul><ul><li>Developer-defined </li></ul></ul><ul><li>Rich set of content rules </li></ul><ul><ul><li>Nesting </li></ul></ul><ul><ul><li>Occurrences </li></ul></ul><ul><ul><li>Patterns </li></ul></ul><ul><ul><li>Type hierarchy (extend, restrict) </li></ul></ul><ul><ul><li>Modularization (include, import) </li></ul></ul><ul><ul><li>Associations, uniqueness </li></ul></ul><ul><ul><li>… </li></ul></ul><ul><li>Can be used by a program to validate an Exchange Document! </li></ul><ul><li>Can be used to generate Instance Document (syntax-directed editors) </li></ul><ul><li>Namespace </li></ul>XML Schemas
    43. 45. Value of Using XML Schema <ul><li>Comprehensive means to constrain document content and structure </li></ul><ul><li>Content </li></ul><ul><ul><li>Rules “ visible ” to the analyst </li></ul></ul><ul><ul><li>Can be read and used by the application </li></ul></ul><ul><ul><ul><li>Generate (editors) </li></ul></ul></ul><ul><ul><ul><li>Check (validate) </li></ul></ul></ul><ul><li>Expressive </li></ul><ul><ul><li>Rich content model adaptable to your business vocabulary </li></ul></ul><ul><ul><ul><li>Built-in and developer-defined data types </li></ul></ul></ul><ul><ul><ul><li>Structure </li></ul></ul></ul><ul><li>Reuse your vocabulary </li></ul><ul><ul><li>Modular </li></ul></ul><ul><ul><li>Promotes common definitions across organizations </li></ul></ul><ul><li>Other approaches </li></ul><ul><ul><li>DTD, XML Data Reduced, Schematron, Resource Description Framework … </li></ul></ul>
    44. 46. Wisconsin Tablet PC Project A Working Example of XML Joyce Rose, WISACWIS Project
    45. 47. <ul><li>Making XML </li></ul><ul><li>Make Sense </li></ul><ul><li>(to people and machines) </li></ul>
    46. 48. Presenting Data: Traditional Approach AL,JONES,7034561234,,SHARPEST IMAGE,MARY,SMITH,123456789 AL,JONES,7034561234,,SHARPEST IMAGE,MARY,SMITH,123456789 Interface Specification Design Guides Data
    47. 49. XML Stylesheet Language <ul><li>A language to transform an XML document into another form </li></ul>HTML XML Stylesheet Transformation XML Document XML PDF Text Stylesheets
    48. 50. Demonstration Displaying an XML Document
    49. 51. What You Should Know About … <ul><li>XSL Transformations </li></ul><ul><li>General-purpose language </li></ul><ul><ul><li>Translate any type of XML document to any other, e.g., </li></ul></ul><ul><ul><ul><li>HTML, PDF, vector graphics, text, … </li></ul></ul></ul><ul><ul><ul><li>Page layout (XSL-FO) </li></ul></ul></ul><ul><li>Separate presentation from content ( repurpose ) </li></ul><ul><ul><li>Multiple end user devices (desktop, handheld, voice) </li></ul></ul><ul><ul><li>Revise website look </li></ul></ul><ul><li>Declarative , rule-based </li></ul><ul><ul><li>Templates: Patterns (match), actions (output …) </li></ul></ul><ul><ul><li>Recursive (tree processing) </li></ul></ul><ul><li>Modular, reusable </li></ul><ul><li>Stylesheets are XML documents </li></ul><ul><li>Navigating/ accessing XML documents </li></ul><ul><ul><li>XPath </li></ul></ul>
    50. 52. Exchanging Data Transformation Application XML Stylesheet Exchange Document Transformation Application XML Stylesheet Validation Application Exchange Schema Unique Structure (Source) Datastore Unique Structure (Target) Datastore <ul><li><?xml version =&quot; 1.0 &quot; ?> </li></ul><ul><li><!– an abbreviated set of demographic data --> </li></ul><ul><li>< Demographics > </li></ul><ul><li>< Demographic > </li></ul><ul><li>< Name > </li></ul><ul><ul><li>< FirstName > Sue </ FirstName > </li></ul></ul><ul><ul><li> < LastName > Jones </ LastName > </li></ul></ul><ul><li></ Name > </li></ul><ul><li>< SocialSecurity > 123461673 </ SocialSecurity > </li></ul><ul><li> < eligibility medicaid =&quot; Y &quot; </li></ul>XML <ul><li><?xml version = &quot;1.0&quot; encoding = &quot;UTF-16&quot;?> </li></ul><ul><li><xsd:schema xmlns:xsd = &quot;http://www.w3.org/2000/10/XMLSchema&quot;> </li></ul><ul><li><xsd:element name = &quot;demographics&quot;>. . .</xsd:element> </li></ul><ul><li><xsd:element name = &quot;demographic&quot;>. . . </xsd:element> </li></ul><ul><li><xsd:element name = &quot;name&quot;> </li></ul><ul><li><xsd:complexType> </li></ul><ul><li><xsd:sequence> </li></ul><ul><li><xsd:element ref = &quot;firstname&quot;/> </li></ul><ul><li><xsd:element ref = &quot;middlename&quot; minOccurs = &quot;0&quot; maxOccurs = &quot;unbounded&quot;/> </li></ul><ul><li>. . . </li></ul><ul><li></xsd:sequence> </li></ul><ul><li></xsd:complexType> </li></ul><ul><li></xsd:element> </li></ul><ul><li><xsd:element name = &quot;firstname&quot; type = &quot;xsd:string&quot;/> </li></ul><ul><ul><li>. . . </li></ul></ul><ul><li><xsd:element name = &quot;eligibility&quot;> </li></ul>XML <ul><li><?xml version = &quot;1.0&quot; encoding = &quot;UTF-16&quot;?> </li></ul><ul><li><xsd:schema xmlns:xsd = &quot;http://www.w3.org/2000/10/XMLSchema&quot;> </li></ul><ul><li><xsd:element name = &quot;demographics&quot;>. . .</xsd:element> </li></ul><ul><li><xsd:element name = &quot;demographic&quot;>. . . </xsd:element> </li></ul><ul><li><xsd:element name = &quot;name&quot;> </li></ul><ul><li><xsd:complexType> </li></ul><ul><li><xsd:sequence> </li></ul><ul><li><xsd:element ref = &quot;firstname&quot;/> </li></ul><ul><li><xsd:element ref = &quot;middlename&quot; minOccurs = &quot;0&quot; maxOccurs = &quot;unbounded&quot;/> </li></ul><ul><li>. . . </li></ul><ul><li></xsd:sequence> </li></ul><ul><li></xsd:complexType> </li></ul><ul><li></xsd:element> </li></ul><ul><li><xsd:element name = &quot;firstname&quot; type = &quot;xsd:string&quot;/> </li></ul><ul><ul><li>. . . </li></ul></ul><ul><li><xsd:element name = &quot;eligibility&quot;> </li></ul>XML <?xml version = &quot;1.0&quot; encoding = &quot;UTFomplexType> <xsd:sequence> <xsd:element ref = &quot;firstname&quot;/> <xsd:element ref = &quot;middlename&quot; minOccurs = &quot;0&quot; maxOccurs = &quot;unbounded&quot;/> . . .</xsd:schema> XML <ul><li><?xml version =&quot; 1.0 &quot; ?> </li></ul><ul><li><!– an abbreviated set of demographic data --> </li></ul><ul><li>< clients > </li></ul><ul><li>< clientInformation > </li></ul><ul><li>< Name ssn=“ 123461673” > Sue Jones </ Name > </li></ul><ul><ul><li> < programs medicaid =&quot; Y “ </li></ul></ul>XML <?xml version =&quot; 1.0 &quot; ?> <!– an abbreviated set of demographic data --> < Demographics > date =&quot; 20020115 &quot; /> </ Demographic > < Demographic > < SocialSecurity > 119471391 </ SocialSecurity > < eligibility medicaid =&quot; Y &quot; foodstamp =&quot; Y &quot; date =&quot; 20020207 &quot; /> </ Demographic dstamp =&quot; Y &quot; date =&quot; 20020207 &quot; /> </ Demographic > > </ Demographics > XML
    51. 53. Why Common Exchange Definitions? 2(N-1) Transformations 2 Transformations Add/Remove sharing relationships
    52. 54. Value of Using XML Transformations <ul><li>A way to achieve interoperability of data </li></ul><ul><li>Promote interoperability </li></ul><ul><ul><li>Autonomous systems can interact, yet maintain independence (loosely coupled) </li></ul></ul><ul><ul><ul><li>Different internal databases, policies, procedures, etc. </li></ul></ul></ul><ul><ul><li>By standardizing on vocabularies, reduce effort/time to exchange data with additional partners </li></ul></ul><ul><li>Separate data from presentation </li></ul><ul><ul><li>Incorporate new devices </li></ul></ul><ul><ul><li>Modularize application architecture </li></ul></ul><ul><li>Reuse </li></ul><ul><ul><li>Modular stylesheets </li></ul></ul><ul><ul><li>Repurposing </li></ul></ul>
    53. 55. A Full Solution … <ul><li>How to transport the data between the machines </li></ul><ul><ul><li>Message, protocols </li></ul></ul><ul><ul><li>Synchronous, asynchronous </li></ul></ul><ul><ul><li>Exceptions </li></ul></ul><ul><ul><li>Multiple nodes, collaboration </li></ul></ul><ul><li>Security </li></ul><ul><ul><li>Integrity, confidentiality, nonrepudiation…. </li></ul></ul><ul><li>Change/evolvability/extensibility </li></ul>
    54. 56. (abbreviated) XML Technology Suite XML Web & Internet Architectures (URI, Namespaces , HTTP, character sets, …) XPointer XSL XBase XLink XPath Schema DTD XQuery Vocabularies GJXML HR Legal CW TANF CSE … XHTML MathML inkML Web Services SOAP UDDI Security Encryption Key Management Signature appliances www.w3.org DOM, Infoset XForms Semantic Web RDF OWL Binary Speech Voice www.oasis-open.org www.ietf.org
    55. 57. Summary/Recap Summary/Recap
    56. 58. Key Business Benefits <ul><li>Reduce entropy </li></ul><ul><ul><li>Single, unifying technical approach for data </li></ul></ul><ul><ul><li>Define and promote common schemas as basis of exchanges </li></ul></ul><ul><li>Reduce time to satisfy critical information needs </li></ul><ul><ul><li>Vendor-supplied infrastructure </li></ul></ul><ul><ul><li>Platform-neutral standards </li></ul></ul><ul><ul><li>Reuse schemas, templates, service interfaces, etc. </li></ul></ul><ul><ul><li>New partners </li></ul></ul><ul><li>Reduce maintenance costs </li></ul><ul><ul><li>Eliminate one-of-a-kind interfaces </li></ul></ul><ul><ul><li>Data, rules, presentation, business logic can be cleanly partitioned </li></ul></ul><ul><ul><li>Reuse document definitions (schema), stylesheets, data </li></ul></ul>
    57. 59. Mainstream <ul><li>Platform supports an XML infrastructure </li></ul><ul><li>Moving data across heterogeneous platforms </li></ul><ul><li>Amount of data being transported/processed is small-medium ( for now ) </li></ul><ul><ul><li>Overhead of putting into/from XML is worth the effort </li></ul></ul><ul><ul><li>Not for significantly binary content (music, images, movies) ( yet ) </li></ul></ul>
    58. 60. How Will Environment Change? <ul><li>Development tools </li></ul><ul><li>IT staff skills </li></ul><ul><li>Delivery of services </li></ul><ul><li>Workflow processes </li></ul><ul><li>Cost of changing </li></ul><ul><li>Cost of not changing </li></ul>
    59. 61. Parting Thoughts … <ul><li>XML is a key technology of the World Wide Web </li></ul><ul><ul><li>It is here to stay </li></ul></ul><ul><li>All data will (sooner or later) be encoded and processed as XML (or its evolutionary equivalent) </li></ul><ul><ul><li>Remember ASCII? </li></ul></ul><ul><li>It’s in there! </li></ul><ul><ul><li>All vendor platforms, products rely on it </li></ul></ul><ul><ul><li>Being built into computing and networking infrastructure (appliances) </li></ul></ul><ul><li>Greatest value – enabling a consistent way to share information between disparate, autonomous systems </li></ul>
    60. 62. <Closing> </Closing>
    61. 63. For More Information <ul><li>Susan Akey </li></ul><ul><li>Phone: (703) 742-7180 </li></ul><ul><li>Email: [email_address] </li></ul><ul><li>or </li></ul><ul><li>John Blyskal </li></ul><ul><li>Phone: (703) 742-7241 </li></ul><ul><li>Email: [email_address] </li></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×