nasig_02

Document Sample
nasig_02 Powered By Docstoc
					                   A is for Acronym: Libraries and
                  Internet Standards for Serialists


                            Shelley Neville




                         Howard Rosenbaum




http://www.slis.indiana.edu/hrosenba/www/Pres/nasig_02/
I. Introduction: Internet standards and the standards
setting process
 II. Technical standards:
   • Internet communications standards
   • Architectural standards
    III. Metadata standards
      IV. Applications standards
        • Basic markup languages
        • Basic programming languages
        • Extensible markup language
I. Introduction: Internet standards and the standards
setting process




                                                   Private
                                                   Sector

            IAB           IRTF          IESG
Internet standards and the standards setting process
How are Internet standards set?
Formal standards setting
 Organizations use bureaucratic procedures for creating
 and approving standards
  Members can be drawn from government, business,
  researchers and users
  They meet regularly to discuss proposed standards
  Standards are set through voting or consensus
  building
Internet standards and the standards setting process
Organizations setting Internet standards range from
formal to volunteer
ICANN: Internet Committee for Assigned Names and
Numbers
 An international formal organization with elected
 representatives
 It is a “private-sector body responsible for
 coordinating the global Internet's systems of
 unique identifiers”
http://www.icann.org/
Internet standards and the standards setting process
ICANN’s mission is to coordinate the stable operation of
the Internet’s unique identifier systems by
 Coordinating the allocation and assignment of three
 sets of unique identifiers:
  Domain names (forming the DNS system)
  Internet protocol (IP) addresses, autonomous system
  (AS) numbers, protocol port and parameter numbers
 Coordinates the operation and evolution of the DNS's
 root name server system
Internet standards and the standards setting process
Internet Society (ISOC)
 Non-profit, NGO, international, professional
 membership organization
 Mission is to develop standards, provide education,
 and address Internet policy issues
 150 local organizations and 8,600 members in 170
 nations
 Home to groups responsible for Internet standards,
 including IETF and the IAB
http://www.isoc.org
Internet standards and the standards setting process
Internet Engineering Steering Group (IESG)
 Responsible for technical management of IETF activities
 and the Internet standards process
 Administers the process according to rules and
 procedures ratified by the ISOC Trustees
 Ratifies or corrects the output from IETF's Working
 Groups
 Gets WGs started and finished
 Makes sure that non-WG drafts that are about to become
 RFCs are correct
http://www.ietf.org/iesg.html
Internet standards and the standards setting process
Internet Architecture Board (IAB)
 Created in 1984 by Vint Cerf
 Advises ISOC on technical matters
 Provides oversight of technical standards setting
 process
 Manages RFC series
http://www.iab.org
Internet Research Task Force (IRTF)
 Working groups investigate topics related to Internet
 protocols, applications, architecture and technology
http://www.irtf.org
Internet standards and the standards setting process
Internet Engineering Task Force (IETF)
Formed in 1986
A large open international community of network
designers, operators, vendors, and researchers that is
open to any interested individual
Concerned with the evolution of the Internet architecture
and the smooth operation of the Internet
Members work to resolve technical problems and on the
development of new Internet standards
This is where the basic work gets done
http://www.ietf.org/
Internet standards and the standards setting process
Internet Assigned Names Authority (IANA)
 Chartered by ISOC to act as the clearinghouse for
 assigning and coordinating the use of Internet
 protocol parameters
   “Dedicated to preserving the central coordinating
   functions of the global Internet for the public good”
 Conducts research on domain name system issues
 Works with ICANN to maintain the DNS
 The central coordinator for the assignment of unique
 parameter values for Internet protocols
http://www.iana.org
Internet standards and the standards setting process
World Wide Web Consortium (W3C)
 Created in October 1994
 Goal is to develop common protocols that promote the
 evolution of the web and ensure its interoperability
 Has more than 400 member organizations
 Financed by members and some public funds
 Assigns defined groups of experts to solve specific
 tasks
 Produces specifications likely to meet the needs of its
 members and the community
http://www.w3.org
Internet standards and the standards setting process
Standards are also set in an ad-hoc fashion
 This occurs in the marketplace
 Vendors compete to have their proprietary standards
 adopted
 This leads to situations where the best standards
 does not always win
 The browser “wars” of the early 90s were a good
 example
 Voice-over-IP is another example
I. Introduction: Internet standards and the standards
setting process
 II. Technical standards:
   • Internet communications standards
   • Architectural standards
    III. Metadata standards
      IV. Applications standards
        • Basic markup languages
        • Basic programming languages
        • Extensible markup language
II. Technical standards: Internet communications standards
Transmission Control Protocol/Internet Protocol (TCP/IP)
 Allows computers to share resources across a network
 Services: routing, message delivery, FTP, Remote
 login, email
Hypertext transfer protocol (HTTP)
 Allows the transfer of hypertext among computers
 across a network
 Overlaid onto TCP/IP
 Uses client/server “stateless” connections
 Links to other TCP/IP protocols
Technical standards: Internet communications standards
Internet Protocol, version 6 (IPv6)
A new version of the basic addressing protocol
 Expands IP address size from 32-128 bits
 Allows packet encryption
Wireless Application Protocol (WAP)
 XML-based markup language for digital mobile devices
 Received on microbrowsers
 It is an open specification and can be used by any vendor
 It uses a variation of the client-server model adding
 “push”
Technical standards: Internet communications standards
Institute of Electrical and Electronics Engineers 801.11b
(IEEE801.11b)
 Allows local wireless networking with a throughput rate
 of 11Mbps)
Wireless Ethernet Compatibility Alliance (WECA)
Certification (Wi-Fi)
 Certifies that a product can operate across wireless
 platforms and communicate with other vendor’s
 products
Bluetooth
 A wireless protocol and hardware allowing digital
 devices to exchange data within a 30’ range
Technical standards: Internet communications standards
Z39.50
 American National Standard Information (ANSI)
 Retrieval Application Service Definition and Protocol
 Specification for Open Systems Interconnection
 Defines standard procedures and features for
 computers to communicate for information search and
 retrieval
 Enables different computer systems to interoperate and
 work together seamlessly
  They can have different operating systems, hardware,
  search engines, database management systems
Technical standards: Internet communications standards
Top level domains (TLDs)
 These are the highest level internet addresses that
 provide the initial hierarchy
  They represent the root of the numerical IP address
  Common TLDs: .edu, .com., .org, .net, .gov, .mil
  Also country codes (.us, .de. .uk)
  New TLDs
   Sponsored: .aero, .coop, .museum
   Unsponsored: .biz, .info, .name, .pro
Technical standards: Architectural standards
Document Object Model (DOM)
 Applications programming interface (API) for HTML/XML
 A scheme that orders objects that make up a web page
 Defines the logical structure of documents and the way a
 document is accessed and manipulated
 Provides a location for these objects
  window.document.form.checkbox
 Used in dynamic HTML (DHTML)
  Scripting languages use the DOM to locate the objects
  upon which they act
Technical standards: Architectural standards
Simple Object Access Protocol (SOAP)
 Provides a way to access services, objects, and servers
 in a completely platform-independent manner
  Allows querying, invoking, and communicating with
  services provided on remote systems
 Written in and used with XML
 Contains a suite of functionalities
  Service Description Language (SDL)
  SOAP Contract Language (SCL)
  Discovery of Web Services (DISCO)
I. Introduction: Internet standards and the standards
setting process
 II. Technical standards:
   • Internet communications standards
   • Architectural standards
    III. Metadata standards
      IV. Applications standards
        • Basic markup languages
        • Basic programming languages
        • Extensible markup language
III. Metadata standards
W3C’s Resource Description Format (RDF) is a generic
metadata architecture
 A standard supporting the definition of metadata across
 the web
 Describes how metadata for content is defined in web
 documents
   This metadata is descriptive information about the
   structure and content of information in a document
Useful for describing information about indexing,
navigating and searching, push channel definitions and
digital signatures
http://www.w3c.org/RDF/
Metadata standards
RDF is the instantiation of the Warwick Framework for the
Web
The basic RDF data model consists of three object types:
 Resource: anything that can be specified by a URI, such
 as a web page, an entire web site, a specific newsgroup
 message
 Properties: characteristics or attributes of a resource,
 along with some notion of meaning, valid values, etc.
 Statements: resource + named property + value of
 property
Metadata standards
Using XML, it might look like this:

 <RDF xmlns:DC="http://purl.org/DC">
 <Description about="http://www.w3.org/folio.html">
   <DC:Title>The W3C Folio 1999</DC:Title>
   <DC:Creator>W3C Communications Team</DC:Creator>
   <DC:Date>1999-03-10</DC:Date>
   <DC:Subject>Web development, World Wide Web Consortium,
   Interoperability of the Web</DC:Subject>
 </Description>
 </RDF>
Metadata standards
OCLC’s Persistent URL (PURL)
Functionally, a PURL is a URL with three parts
  Protocol: this is used to access the PURL resolver
   This protocol may differ from that used to access the
   resource associated with the PURL
  Resolver address: the IP address or domain name of
  the PURL resolver
  Name: user-assigned name
   Note: This may differ from the name of the resource in
   the associated URL
http://purl.oclc.org/
Metadata standards
A PURL points to an intermediate resolution service, not
the location of the Internet resource
 The PURL resolution service associates the PURL with
 the actual URL and returns the URL to the client
 The client can then complete the URL transaction in the
 normal fashion
 The advantage of PURLs is that they persist over time no
 matter where the page moves

       http://purl.oclc.org/your.address/yourfile.html

      protocol resolver       address      filename
Metadata standards
The model works something like this:


           C           PURL             PURL
           L                           SERVER
                       URL
           I
           E
                       URL
           N                           RESOURCE
           T         RESOURCE           SERVER
I. Introduction: Internet standards and the standards
setting process
 II. Technical standards:
   • Internet communications standards
   • Architectural standards
    III. Metadata standards
      IV. Applications standards
        • Basic markup languages
        • Basic programming languages
        • Extensible markup language
IV. Applications standards: Basic markup languages
Some relationships among markup languages

                         SGML

           HTML                    XML
                                                 ebXML
         HTML 3.2          XSLT

                                                     MML
CSS     HTML 4.01
                                                     CML
                                  XHTML
Applications standards: Basic markup languages
Standard Generalized Markup Language (SGML)
 Metalanguage developed in 1974 by Charles Goldfarb
 Became ISO standard in 1986 (ISO 8879 - Information
 Processing -- Text and Office systems)
 Based on entities, elements, attributes, content models,
 and document types
 Describes the structure and content of machine readable
 information
 Facilitates exchange of complex structured data among
 systems
http://www.sgmlsource.com
Applications standards: Basic markup languages
Hypertext Markup Language (HTML)
 A very rigid application of SGML for the web
 Developed through HTML 4.01
Cascading Style Sheets (CSS)
 Provides flexibility missing in HTML
Extensible Hypertext Markup language (XHTML)
 HTML rewritten as an XML application
 Follows the rules of XML
http://www.w3.org/Markup/
Applications standards: Basic markup languages
Here's a simple XHTML document:
<html>
<head>
<title>Memo form</title>
</head>
<body>
       <b>4.10.01</b><br />
       <b>TO:</b> John Doe<br />
       <b>CC:</b> Jane Doe<br />
       <b>FROM:</b> Bozo T. Clown<br />

     <p>Please take note our phone number has changed.</p>

     <p>Yours in clownitude,<br />
     Bozo</p>
</body>
</html>
Applications standards: Basic programming languages
Common Gateway Interface (CGI)
 A executable standard linking external applications with
 information servers (typically Web servers)
 Allows the generation of dynamic information
 Ex: linking a web form to a database
Practical Extraction and Report Language (Perl)
 Programming language for processing text developed by
 Larry Wall
 It can scan text files, extract information, print reports
 based in the information
Applications standards: Basic programming languages
Python
 An object oriented language that has many of the
 capabilities of Perl
Javascript
 Netscape’s client-side scripting language
Java
 Sun’s server-side programming language that allows
 programs to be downloaded from server to client and
 executed on the client
PHP: Hypertext Preprocessor (PHP)
 Open source scripting language designed for web
 development
Applications standards: Basic programming languages
CGI
http://hoohoo.ncsa.uiuc.edu/cgi/intro.html
Perl
http://www.perl.org
Python
http://www.python.org
Javascript
http://developer.netscape.com/tech/javascript/index.html
Java
http://java.sun.com/nav/what-is/
PHP
http://www.php.net
Applications standards: Extensible markup language
Extensible Markup Language (XML)
 A meta-language based on SGML
 Extensible: authors can define their own tags and
 attributes
   CML: Chemical Markup Language
   MathML: Mathematical Markup Language
   ebXML: Electronic Business Markup Language
 Properly done, XML documents can be viewed across
 platforms
 W3C Recommendation 2/10/98, corrected 10/6/00
http://www.w3.org/TR/REC-xml
Applications standards: Extensible markup language
An XML document us actually composed of three different
files
 The raw XML file (.xml)
  It must follow certain rules to be considered “well
  formed” and “valid”
 Document Type Definition (DTD)
  A set of rules that defines the elements, entities,
  attributes that can be used in .xml files
  Determines how they can be used and how they are
  logically related
  Elements in a DTD are hierarchical and nested
Applications standards: Extensible markup language
This is the XML file
<?xml version="1.0" standalone="no"?>
<!DOCTYPE MEMO SYSTEM "http://www.site.com/dtds/memo.dtd">
<memo>
  <header type=“informative”>
    <date>04.10.01</date>
      <to>
         <name>John Doe</name>
      </to>
      <cc>
         <name> Jane Doe </name>
      </cc>
      <from>
         <sender>Bozo T. Clown</sender>
      </from>
  </header>
  <memotext>
        Please take note our phone number has changed.
        &sig;
  </memotext>
</memo>
Applications standards: Extensible markup language
This is the DTD for the XML file
<!ENTITY sig “Yours in clownitude, Bozo”>
<!ELEMENT memo (header, memotext)>
<!ELEMENT header (date, to, cc?, from)>
<!ATTLIST header
type (informative | directive | scheduling)>
                                               + = must appear at least
<!ELEMENT date (#PCDATA)>
                                               once or many times
<!ELEMENT to (name+)>
                                               ? = may be omitted or
<!ELEMENT name (#PCDATA)>                      can appear once
<!ELEMENT cc (name*)>                          * = may be omitted or can
<!ELEMENT from (sender+)                       appear many times

<!ELEMENT sender (#PCDATA)>                    | = one or the other but
                                               only one may appear
<!ELEMENT memotext (#PCDATA)>
                                               #PCDATA = text
Applications standards: Extensible markup language
 XML Schema are an alternative to DTDs
  Schemas allow global (the same everywhere) and local
  (differ in different contexts) elements
    All DTD elements are “global,” so an element can only
    be defined once and in one way
    DTD elements cannot be used differently in different
    contexts
  Schemas can specify data types for elements - DTDs
  cannot
  Schemas are written in XML - DTDs are not
http://www.w3org/XML/Schema
Applications standards: Extensible markup language
<?xml version=“1.0”?>
  <xml:schema xmlns:xsd=“http://www.w3c.org/2000/10/XMLSchema”>
<xsd:element name=“name” type=“xsd:string”>
  <xsd:complexType name=“memo”>
    <xsd:sequence>
    <xsd: complexType=“header”>
      <xsd:element name=“date” type =“xsd:date”>                      This is a
    <xsd: complexType=“to”>
      <xsd:element ref=“name”/>                                       schema
    </xsd:complexType>
    <xsd: complexType=“cc”>
      <xsd:element ref=“name”/>
    </xsd:complexType>
    <xsd: complexType=“from”>
      <xsd: element=“sender” type =“xsd:string”>
    </xsd:complexType>
    <xsd:element name=“memotext” type =“xsd:string”>
  </xsd sequence>
  <xsd:attribute name=“type” value=“informative | directive | scheduling”>
  </xsd:complextype>
</xsd:schema>
Applications standards: Extensible markup language
 Extensible Stylesheet Transformation Language (XSLT)
  Transformation rules that determine how components of
  an XML file will be rendered and displayed in a range of
  formats (.xsl extension)
   The rules tell the processor what content to extract and
   how to format and display it
  A process can be specified to convert XML documents
  into other formats (HTML, RTF, LaTeX, text)
   A .xsl file is also an XML document and must be “well
  formed”
  Uses Xpath, Xpointer, Xlink to provide “filepaths” for the
  processor to follow
Applications standards: Extensible markup language
Here’s what the XSL stylesheet might look like
<?xml version=“1.0”>
<xsl stylesheet xmlns=“http://www.w3.org/TR/WD-xsl” version=“1.0”>
<xsl template match=“/”>
<html> <head> <title>Memo form</title> </head> <body>
<xsl:template match=“header”>
  <b><xsl:apply-templates select=“date” /></b><br />
<b>TO:<xsl:apply-value-of select=“to/name” /></b><br />
<b>CC:<xsl:apply-value-of select=“cc/name” /></b><br />
<b>FROM:<xsl:apply-value-of select=“from/sender” /></b>
  </xsl:template>
<p><xsl:apply value-of select=“memotext” /></p>
<p><xsl:apply value-of select=“&sig;” /></p>
</body>
  </html>
</xsl:template>
  </xsl:stylesheet>
Applications standards: Extensible markup language
SGML/XML applications
Encoded Archival Description (EAD)
 International standard based on SGML for describing the
 structure of an archival finding aid
ISO/IEC 10744 Hypermedia/Time-Based Structuring
  Language (HyTIME)
 Defines the generic structure of hypermedia documents
Standardized MultiMedia Integration Language (SMIL)
 Allows synchronization and positioning of digital audio
 and video on a web page
Applications standards: Extensible markup language
SGML/XML applications
Text Encoding Initiative (TEI)
 Guidelines for encoding machine-readable text
 Works with XML
Electronic Business Markup Language (ebXML)
 An XML application that represents business processes
 as structured information
The motherlode of information is the “Cover pages”
http://www.oasis-open.org/cover/sgml-xml.html
                 Howard Rosenbaum

                 hrosenba@indiana.edu



http://www.slis.indiana.edu/hrosenba/www/Pres/nasig_02/