Date post: | 18-Dec-2015 |
Category: |
Documents |
Upload: | matthew-shelton |
View: | 216 times |
Download: | 1 times |
Lecture 6A:Standards and Interoperability
IT202 Internet ApplicationsBased on notes developed by Morgan Benton
For Today
Standards What are standards? Why are they important? How are they developed?
Interoperability What does it mean to be interoperable? What are common platforms for interop?
What are standards?
A standard is a common way of solving a problem in the worldSome examples: The metric system English and other natural languages HTTP, FTP and other internet protocols SQL, HTML, C++, and other programming and
markup languagesSource: Benton, M. (2002) “Standards 101: A tutorial for IT Managers” Journal of the Standards Engineering Society, Jan/Feb 2002.
Why are standards important?
Standards: Facilitate progress of the human technological
infrastructure Promote efficiency (i.e. reduce waste) Facilitate the global spread of technology Are fundamental to interoperability
How are standards developed?
Two types of standards: de facto—default standards; earned through market
share, e.g. Microsoft Windows OS de jure—mandated by law, e.g. FDA standards
By whom are standards developed? National/International standards development
organizations, e.g. ISO, ANSI Individual companies Industry consortia, e.g. W3C, WECA Ad-hoc volunteer groups, e.g. IETF
Standards Development Organizations (SDO)
Emphasis is on fairness and includes: Broadly inclusive participation structures Open discussion and debate of all issues Due process (i.e. formal complaint/appeal
processes) Democratic voting procedures Emphasis on consensus as opposed to majority
rule
SDO Pros and Cons
Pros Legitimacy Stability Support
Cons Slow Redundant Overly consensus-based Voting influence not commensurate with
economic investment in the process Non-stakeholder participation drags out
process Too expensive Processes out of date Writers inexperienced Inefficient prioritization of issues
Consortium Standards
Consortia are made up of representatives from companiesMembers pay a fee (usually annual) to joinMembership may be open or closedStandards-setting procedures are decided by the members of the consortiumTwo types (Updegrove 1995): Strategic Consortia Standards-setting consortia
Benefits of Consortia
stronger control over the resulting specifications, meaning that possibly more favorable implementations resultnon-stakeholders are not allowed to vote or participatefocus is on the results--i.e. producing a standard within a timeframe reasonable by market standards--rather than on processpossible ownership of part or all of the intellectual property rights (IPR) of a given standardstrategic advantage over competitors who are not members of the consortium or who are members of a rival consortiumthe chance to be first to market with products based on the new standard
Problems with consortia
No inherent protection for consumers or un-represented stakeholder groups
No controls over the process
Oddly the actual people who develop standards for either SDO’s or industry consortia are the exact same people!
Individual Companies
Pros Tightly integrated solutions Faster
Cons Not even the semblance of democracy Can be expensive Lack of widespread acceptance or built-in set of
users
Ad-hoc Volunteer Groups
Notably this is the Internet Engineering Task Force (IETF) which: Has no members, no dues, no formal
organization Meets 3 times a year Is made up entirely of volunteers who form task
groups that disband once a solution has been produced
IETF Pros and Cons
Pros "no kings, no votes, rough consensus, running
code, and dual competing implementations" (Cargill 1997, pt1)
Fast, cheap, practical, widespread acceptance, legitimacy, open
Cons ?
W3C
Technically an industry consortium with over 500 membersAt heart it works like an SDOExplicitly does NOT call its specifications standards, but refers to them as “recommendations”I like to call them the sheep in wolf’s clothing
Interoperability
Interoperability is a term that refers to the degree to which different systems are able to exchange or share data, information, and other resources
Standards are the key to interoperability
Why Interop?
It is relatively clear that interoperability leads to improved efficiency
In other words, we, as a species, get more work done, and do that work better, when we work together
Interop allows us to work together
How do we achieve interop?
For networked applications there are several ways: EDI Java (theoretically) COM, CORBA XML-RPC, SOAP
How it came about…
In the 80’s and 90’s many companies created proprietary platforms with vertical integration so that switching costs for clients would prevent them from migrating to a competitor’s products
Over time the desire for smooth integration is winning and there is less dependence now on individual platforms
The model for XML SOAP
ServerRunning
WebApplication
ServerRunning
WebService
authenticate(username, password)method on host computer
ClientComputer
UsingWeb
Browser
HTTP Request
HTTP Response
SOAP messageInvoking remote
Method containedIn HTTP Request
SOAP messageReturning resultsOf method call
In HTTP Response
What’s special about SOAP?
Would the following work?
With SOAP, it works
/* myCppFile.cpp */
#include myVBFile.vb
Void main () {myVBmethod();
…}
Summary
At some level the history of human civilization has been all about how we have learned to cooperate to make our world a more comfortable place to live
Never has that effort been more explicit than in the work we’re doing in interoperability of modern computer platforms, but it’s a tough job