Your SlideShare is downloading. ×
PowerPoint Doc
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

PowerPoint Doc

733
views

Published on


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

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

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

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