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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply
Published

 

  • 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
728
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

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