PowerPoint Doc
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,148
On Slideshare
1,148
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
8
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]