lecture 6a: standards and interoperability it202 internet applications based on notes developed by...

23
Lecture 6A: Standards and Interoperability IT202 Internet Applications Based on notes developed by Morgan Benton

Upload: matthew-shelton

Post on 18-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

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

So what?

Why should we care about standards and where they come from?

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

For Next Time

Implementing a web service using XML and SOAP