Web service: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
mNo edit summary
 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Stub}}
{{Stub}}
This page hasn't been updated since 2010. In particular, an introduction to [https://en.wikipedia.org/wiki/Representational_state_transfer REST] is missing ....
== Definition ==
== Definition ==


According to [http://en.wikipedia.org/wiki/Web_service Wikipedia] (retrieved 19:47, 23 April 2007 (MEST)), the W3C defines a Web service as a software system designed to support interoperable Machine to Machine interaction over a network. Web services are frequently just Web APIs that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services.
According to [http://en.wikipedia.org/wiki/Web_service Wikipedia] (retrieved 20:58, 23 April 2007 (MEST)), the W3C defines a Web service as a software system designed to support interoperable Machine to Machine interaction over a network. Web services are frequently just Web APIs that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services.
 
A Web service is any piece of software that makes itself available over the Internet and uses a standardized XML messaging system. ([http://webservices.xml.com/pub/a/ws/2002/02/12/webservicefaqs.html Top Ten FAQs for Web Services], retrieved 20:58, 23 April 2007 (MEST)


See also: [[e-science]], [[service-oriented architecture]], [[grid computing]], [[business process modeling]], etc.


== Web services stack ==
== Web services frameworks ==


Things do get complicated, e.g. here is a probably wrong example webservice "stack" made up from the very little I know. - [[User:Daniel K. Schneider|Daniel K. Schneider]].
=== Traditional web services stack components ===


The Web service protocol stack is an evolving set of protocols used to define, discover, and implement Web services. The core protocol stack consists of four layers:
* '''Transport''': E.g. HTTP, SMTP, FTP, and newer protocols.
* '''[[XML]] messaging''': E.g. Simple Object Access Protocol (SOAP) or XML-RPC. These define messages containing a service request and a response. SOAP and XML-RPC etc. are independent of any particular transport and implementation technology.
* '''Service description''': E.g. Web Services Description Language (WSDL) - describes what a service does in a machine readable way
* '''Service discovery''': E.g. Universal Discovery, Description, Integration (UDDI) - a service to publish available services
; List of standards (basic and important ones first)
* Common Internet protocols (e.g. TCP/IP, HTTP)
* [[XML]], the formalism
* [http://www.w3.org/TR/SOAP/ Simple Object Access Protocol (SOAP) 1.1], W3C note. "SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses". Note DKS: This is generally the lowest Service Layer (just on top of HTTP) and tells how to describe messages that are sent or received.
* [http://www.w3.org/TR/SOAP/ Simple Object Access Protocol (SOAP) 1.1], W3C note. "SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses". Note DKS: This is generally the lowest Service Layer (just on top of HTTP) and tells how to describe messages that are sent or received.
* [http://www.w3.org/TR/wsdl/ Web Services Description Language (WSDL)], W3C Note. WSDL is an XML format for describing network services as a set of endpoints (methodes/calls) operating on messages containing either document-oriented or procedure-oriented information.
* [http://www.w3.org/TR/wsdl Web Services Description Language (WSDL)], W3C Note. WSDL is an XML format for describing network services as a set of endpoints (methods/calls) operating on messages containing either document-oriented or procedure-oriented information.
* [http://www-106.ibm.com/developerworks/library/ws-ref4/index.html WSFL (Web Services Flow Language) ] article from IBM. WSFL is an XML language (compatible with SOAP, UDDI & WSDL) for the description of the overall process logic of Web Services. See also [Business processes and workflow in the Web services world  and ][http://xml.coverpages.org/wsfl.html Cover Pages about his]
* [http://www.uddi.org/ UDDI (Universal Description, Discovery and Integration) ] enables organizations to (I) discover each other by a directory of service providers and services, and (II) find out what services are available
* [http://www-106.ibm.com/developerworks/library/ws-ref4/index.html WSFL - Web Services Flow Language] (article from IBM). WSFL is an XML language (compatible with SOAP, UDDI & WSDL) for the description of the overall process logic of Web Services. See also [http://xml.coverpages.org/wsfl.html Cover Pages] about his.
* Apache references to the [http://ws.apache.org/wsif/references.html WSIF (Web Services Invocation Framework) ]. This is a description of APIs to invoke Web Services described in WSDL. (Can, but does not need to be built on top of SOAP).
* Apache references to the [http://ws.apache.org/wsif/references.html WSIF (Web Services Invocation Framework) ]. This is a description of APIs to invoke Web Services described in WSDL. (Can, but does not need to be built on top of SOAP).
* [http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsil/java/docs/wsinspection.html WSIL (Web Services Inspection Language)] WS-Inspection specification provides an XML format for assisting in the inspection of a site for available services and a set of rules for how inspection related information should be made available for consumption (IBM/Microsoft)
* [http://www-128.ibm.com/developerworks/library/specification/ws-wsilspec/ WSIL (Web Services Inspection Language)]. The WS-Inspection specification provides an XML format for assisting in the inspection of a site for available services and a set of rules for how inspection related information should be made available for consumption (IBM/Microsoft)
* [http://www.uddi.org/ UDDI (Universal Description, Discovery and Integration) ] enables organizations to (I) discover each other by a directory of service providers and services, and (II) find out what services are available
* [http://www.oasis-open.org/committees/wsrp/ WSRP (Web Services for Remote Portals)]: XML and Web services standard that will allow the plug-n-play of visual, user-facing Web services with portals or other intermediary Web applications. (Oasis led initiative)
* [http://www.oasis-open.org/committees/wsrp/ WSRP (Web Services for Remote Portals)]<nowiki>: XML and Web services standard that will allow the plug-n-play of visual, user-facing Web services with portals or other intermediary Web applications. (Oasis led initiative)</nowiki>
* [http://ebxml.org/ ebXML Messaging Service Specification] (OASIS led) provides a secure method for exchanging electronic business transactions using the Internet. (This is a rather big project with several sub-specifications). See D. Mertz [http://www-106.ibm.com/developerworks/xml/library/x-ebxml/ "Understanding ebXML"] at developerworks/IBM.
* [http://ebxml.org/ ebXML Messaging Service Specification ] (OASIS led) provides a secure method for exchanging electronic business transactions using the Internet. (This is a rather big project with several sub-specifications). See D. Mertz [http://www-106.ibm.com/developerworks/xml/library/x-ebxml/ "Understanding ebXML"] at developerworks/IBM.
* [http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrf OASIS Web Services Resource Framework (WSRF)]. a generic and open framework for modeling and accessing stateful resources using Web services. This includes mechanisms to describe views on the state, to support management of the state through properties associated with the Web service, and to describe how these mechanisms are extensible to groups of Web services, e.g. used in [[grid computing]] infrastructures.
* [[XPDL]] by the [http://en.wikipedia.org/wiki/Workflow Management Coalition] (WfMC) allows to exchange [[business process modeling|business process]] definitions between different [[workflow]] products, i.e. between different modeling tools and management suites.
* [[BPEL]], also known as WS-PBEL, WSBPEL, or PBEL4WS was an IBM/Microsoft/BEA initiative, standardized in 2007 as [http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel WS-PBEL 2.0] by OASIS. WS-BPEL provides a language for the specification of Executable and Abstract business processes. By doing so, it extends the Web Services interaction model and enables it to support business transactions. WS-BPEL defines an interoperable integration model that should facilitate the expansion of automated process integration in both the intra-corporate and the business-to-business spaces.
 
* There is more .... some still in the specification pipeline, e.g.
** [http://www.w3.org/TR/ws-cdl-10/ Web Services Choreography Description Language] (Candidate recommendation since 2005). The Web Services Choreography Description Language (WS-CDL) is an XML-based language that describes peer-to-peer collaborations of participants by defining, from a global viewpoint, their common and complementary observable behavior; where ordered message exchanges result in accomplishing a common business goal.
 
=== Web service frameworks ===
 
See: [http://en.wikipedia.org/wiki/List_of_Web_service_Frameworks List of Web service Frameworks] (Wikipedia)
 
== Web services in education ==
 
=== Web services in education, Rehak et al. model ===


== Webservices in education ==
{{quotation | The era of monolithic Learning Technology Systems is over. Rather than building large, closed systems, the current focus is on flexible architectures that provide interoperability of components and learning content, and that rely on open standards for information exchange and component integration. The Learning Systems Architecture Lab has developed the concept of a Learning Services Architecture and the Learning Services Stack as a framework for developing the next generation of learning technology systems. We're in the process of developing learning services using Web services and Web services technologies.}} (http://lsal.org/, retrieved 20:58, 23 April 2007 (MEST)).


The stack according to Rehak et al. has three fundamental layers:
* User agents: Authoring, delivery, management
* Learning services: At its heart there are knowledge and content management, user profile and tracking, sequencing. On top of this are various tools for interaction, presentation, lecturing, assessment, simulation, collaboration, etc.
* Infrastructure: Lower level protocols (e.g. HTTP), transport (e.g. SOAP), discovery (e.g. UDDI), description (WSDL), workflow (WSFL)


=== Rehak et al. model ===
[[image: LSAL-CMU-learning-services.stack.gif|frame|none|The LSAL learning services stack, &copy; Carnegie Mellon, Learning Systems Architecture Lab, reproduced without permission for the moment ... ]]


{{quotation | The era of monolithic Learning Technology Systems is over. Rather than building large, closed systems, the current focus is on flexible architectures that provide interoperability of components and learning content, and that rely on open standards for information exchange and component integration. The Learning Systems Architecture Lab has developed the concept of a Learning Services Architecture and the Learning Services Stack as a framework for developing the next generation of learning technology systems. We're in the process of developing learning services using Web services and Web services technologies.}} (http://lsal.org/, retrieved 19:47, 23 April 2007 (MEST)).
An implemented architecture may look like this:


( HTTP -&gt; ) SOAP -&gt; UDDI -&gt; WSDL | WSIF ? -&gt; WSFL ? -&gt; -&gt; ebXML? | WSIL ? -&gt; WSRP? -&gt; Portal
( HTTP -&gt; ) SOAP -&gt; UDDI -&gt; WSDL | WSIF ? -&gt; WSFL ? -&gt; -&gt; ebXML? | WSIL ? -&gt; WSRP? -&gt; Portal


This model has been further developed in the [[e-framework]] model that puts "services" on center stage.
=== IMS ===
* [[IMS]] developed [[IMS General Web Services]]
=== A social software model ? ===


[[User:Daniel K. Schneider|Daniel K. Schneider]] wonders how one could conceptualize and engineer integration of various social software (e.g. blogs, wikis, reference management, etc.) as web services into a portal.


== Organizations ==


== Players ==
There are many players in this field, just a few examples:


: There are many players in this field
; Global players


* The [http://www.w3.org/2002/ws/Activity Web Services Activity Statement and ]the [http://www.w3.org/2002/ws/ Web Services Activity] give an overview of the W3's idea on application to application communication (web services). See also: [http://www.w3.org/TR/ws-desc-reqs/ Web Services Description Requirements] and [http://www.w3.org/TR/ws-gloss/ the Web Services Glossary].
* The [http://www.w3.org/2002/ws/Activity Web Services Activity Statement and ]the [http://www.w3.org/2002/ws/ Web Services Activity] give an overview of the W3's idea on application to application communication (web services). See also: [http://www.w3.org/TR/ws-desc-reqs/ Web Services Description Requirements] and [http://www.w3.org/TR/ws-gloss/ the Web Services Glossary].
* [http://www.oasis-open.org/ Oasis] is an other organization working on xml-based e-business standards
* [http://www.oasis-open.org/ Oasis] is an other organization working on xml-based e-business standards
* [http://msdn.microsoft.com/webservices/understanding/whatsnext/default.aspx "What's Next: The Future of Web Services"] from Microsoft
 
* Most major companies show an interest, e.g. see [http://msdn2.microsoft.com/en-us/library/aa480155.aspx The Future of ASP.NET Web Services in the Context of the Windows Communication Foundation] (Microsoft)
 
* [http://www.xmethods.com/ XMethods] has a long list of publicly available web services , implementations, tutorials, etc.
* [http://www.xmethods.com/ XMethods] has a long list of publicly available web services , implementations, tutorials, etc.


; In educational technology
; In educational technology
* [http://lsal.org/ Learning Systems Architecture Lab]
* [http://lsal.org/ Learning Systems Architecture Lab]


Line 47: Line 95:


* [http://www.w3.org/TR/ws-arch/ Web Services Architecture] (W3C Working Group Note 11 February 2004)
* [http://www.w3.org/TR/ws-arch/ Web Services Architecture] (W3C Working Group Note 11 February 2004)
; Overviews
* [http://en.wikipedia.org/wiki/Web_service Web service] (Wikipedia)


; For education
; For education
* Dig around [http://lsal.org/ lsal.org]
* Dig around in the [http://lsal.org/ lsal.org] [http://lsal.org/lsal/expertise/papers/ papers and presentations]
* The infamous learning services stack diagram [[http://lsal.org/lsal/diagramlibrary/stackarchitecture/stack.pdf PDF] PDF]
* The infamous learning services stack diagram [http://lsal.org/lsal/diagramlibrary/stackarchitecture/stack.pdf PDF]
 
* [http://www.infoworld.com/article/03/02/17/PLelearn_1.html E-learning hits Web services books], InfoWorld, feb 17, 2003, retrieved 20:58, 23 April 2007 (MEST).
; Other
; Other


Line 58: Line 109:
* [http://www.artima.com/webservices/articles/whysoap.html Why Use SOAP? Choosing Between SOAP and Application-Specific XML for Your Web Services] by Frank Sommers, March 17, 2003 (artima.com)
* [http://www.artima.com/webservices/articles/whysoap.html Why Use SOAP? Choosing Between SOAP and Application-Specific XML for Your Web Services] by Frank Sommers, March 17, 2003 (artima.com)


; Tutorials
* [http://www.w3schools.com/webservices/default.asp Web Services Tutorial] at W3Schools
* [http://www.developer.com/services/article.php/2195981 Web Services Tutorial: Understanding XML and XML Schema - Part 1], Ravi Trivedi, developp.com, , retrieved 20:58, 23 April 2007 (MEST).


== References ==
== References ==


* Blackmon, William H. and Daniel R. Rehak (2003). Customized Learning: A Web Services Approach HTML, Proceedings: Ed-Media 2003, June 2003. [http://141.225.40.64/lsal/expertise/papers/conference/edmedia2003/customized20030625.html HTML] - [http://141.225.40.64/lsal/expertise/papers/conference/edmedia2003/process20030625.pdf PDF] (available from http://lsal.org/lsal/expertise/papers/).
* Blackmon, William H. and Daniel R. Rehak (2003). Customized Learning: A Web Services Approach HTML, Proceedings: Ed-Media 2003, June 2003. [http://141.225.40.64/lsal/expertise/papers/conference/edmedia2003/customized20030625.html HTML] - [http://141.225.40.64/lsal/expertise/papers/conference/edmedia2003/process20030625.pdf PDF] (available from http://lsal.org/lsal/expertise/papers/).
* Papazoglou, Michael P. and Dubray, Jean-jacques (2004) A Survey of Web service technologies. Technical Report DIT-04-058, Ingegneria e Scienza dell'Informazione, University of Trento. [http://eprints.biblio.unitn.it/archive/00000586/ Abstract/PDF]
* Vossen, Gottfried and Peter Westerkamp, "E-Learning as a Web Service," ideas , p. 242, 2003. [http://doi.ieeecomputersociety.org/10.1109/IDEAS.2003.1214933 http://doi.ieeecomputersociety.org/10.1109/IDEAS.2003.1214933]


* Wilson, Scott; Kerry Blinco and Daniel Rehak (2004). An e-Learning Framework: A Summary, [http://www.imsglobal.org/altilab/ alt-i-lab 2004:Advancing Learning Technology Interoperability],  [http://141.225.40.64/lsal/expertise/papers/notes/serviceframeworks/elf20040720/elfsummary-20040720.pdf PDF]
* Wilson, Scott; Kerry Blinco and Daniel Rehak (2004). An e-Learning Framework: A Summary, [http://www.imsglobal.org/altilab/ alt-i-lab 2004:Advancing Learning Technology Interoperability],  [http://141.225.40.64/lsal/expertise/papers/notes/serviceframeworks/elf20040720/elfsummary-20040720.pdf PDF]


[[Category: standards]]
[[Category: e-learning tools]]


[[Category: technologies]]
[[Category: XML]]
[[Category: XML]]
[[Category:Networking technologies]]
[[Category: Cloud computing]]

Latest revision as of 18:37, 27 September 2016

Draft

This page hasn't been updated since 2010. In particular, an introduction to REST is missing ....

Definition

According to Wikipedia (retrieved 20:58, 23 April 2007 (MEST)), the W3C defines a Web service as a software system designed to support interoperable Machine to Machine interaction over a network. Web services are frequently just Web APIs that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services.

A Web service is any piece of software that makes itself available over the Internet and uses a standardized XML messaging system. (Top Ten FAQs for Web Services, retrieved 20:58, 23 April 2007 (MEST)

See also: e-science, service-oriented architecture, grid computing, business process modeling, etc.

Web services frameworks

Traditional web services stack components

The Web service protocol stack is an evolving set of protocols used to define, discover, and implement Web services. The core protocol stack consists of four layers:

  • Transport: E.g. HTTP, SMTP, FTP, and newer protocols.
  • XML messaging: E.g. Simple Object Access Protocol (SOAP) or XML-RPC. These define messages containing a service request and a response. SOAP and XML-RPC etc. are independent of any particular transport and implementation technology.
  • Service description: E.g. Web Services Description Language (WSDL) - describes what a service does in a machine readable way
  • Service discovery: E.g. Universal Discovery, Description, Integration (UDDI) - a service to publish available services
List of standards (basic and important ones first)
  • Common Internet protocols (e.g. TCP/IP, HTTP)
  • XML, the formalism
  • Simple Object Access Protocol (SOAP) 1.1, W3C note. "SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses". Note DKS: This is generally the lowest Service Layer (just on top of HTTP) and tells how to describe messages that are sent or received.
  • Web Services Description Language (WSDL), W3C Note. WSDL is an XML format for describing network services as a set of endpoints (methods/calls) operating on messages containing either document-oriented or procedure-oriented information.
  • UDDI (Universal Description, Discovery and Integration) enables organizations to (I) discover each other by a directory of service providers and services, and (II) find out what services are available
  • WSFL - Web Services Flow Language (article from IBM). WSFL is an XML language (compatible with SOAP, UDDI & WSDL) for the description of the overall process logic of Web Services. See also Cover Pages about his.
  • Apache references to the WSIF (Web Services Invocation Framework) . This is a description of APIs to invoke Web Services described in WSDL. (Can, but does not need to be built on top of SOAP).
  • WSIL (Web Services Inspection Language). The WS-Inspection specification provides an XML format for assisting in the inspection of a site for available services and a set of rules for how inspection related information should be made available for consumption (IBM/Microsoft)
  • WSRP (Web Services for Remote Portals): XML and Web services standard that will allow the plug-n-play of visual, user-facing Web services with portals or other intermediary Web applications. (Oasis led initiative)
  • ebXML Messaging Service Specification (OASIS led) provides a secure method for exchanging electronic business transactions using the Internet. (This is a rather big project with several sub-specifications). See D. Mertz "Understanding ebXML" at developerworks/IBM.
  • OASIS Web Services Resource Framework (WSRF). a generic and open framework for modeling and accessing stateful resources using Web services. This includes mechanisms to describe views on the state, to support management of the state through properties associated with the Web service, and to describe how these mechanisms are extensible to groups of Web services, e.g. used in grid computing infrastructures.
  • XPDL by the Management Coalition (WfMC) allows to exchange business process definitions between different workflow products, i.e. between different modeling tools and management suites.
  • BPEL, also known as WS-PBEL, WSBPEL, or PBEL4WS was an IBM/Microsoft/BEA initiative, standardized in 2007 as WS-PBEL 2.0 by OASIS. WS-BPEL provides a language for the specification of Executable and Abstract business processes. By doing so, it extends the Web Services interaction model and enables it to support business transactions. WS-BPEL defines an interoperable integration model that should facilitate the expansion of automated process integration in both the intra-corporate and the business-to-business spaces.
  • There is more .... some still in the specification pipeline, e.g.
    • Web Services Choreography Description Language (Candidate recommendation since 2005). The Web Services Choreography Description Language (WS-CDL) is an XML-based language that describes peer-to-peer collaborations of participants by defining, from a global viewpoint, their common and complementary observable behavior; where ordered message exchanges result in accomplishing a common business goal.

Web service frameworks

See: List of Web service Frameworks (Wikipedia)

Web services in education

Web services in education, Rehak et al. model

“The era of monolithic Learning Technology Systems is over. Rather than building large, closed systems, the current focus is on flexible architectures that provide interoperability of components and learning content, and that rely on open standards for information exchange and component integration. The Learning Systems Architecture Lab has developed the concept of a Learning Services Architecture and the Learning Services Stack as a framework for developing the next generation of learning technology systems. We're in the process of developing learning services using Web services and Web services technologies.” (http://lsal.org/, retrieved 20:58, 23 April 2007 (MEST)).

The stack according to Rehak et al. has three fundamental layers:

  • User agents: Authoring, delivery, management
  • Learning services: At its heart there are knowledge and content management, user profile and tracking, sequencing. On top of this are various tools for interaction, presentation, lecturing, assessment, simulation, collaboration, etc.
  • Infrastructure: Lower level protocols (e.g. HTTP), transport (e.g. SOAP), discovery (e.g. UDDI), description (WSDL), workflow (WSFL)
The LSAL learning services stack, © Carnegie Mellon, Learning Systems Architecture Lab, reproduced without permission for the moment ...

An implemented architecture may look like this:

( HTTP -> ) SOAP -> UDDI -> WSDL | WSIF ? -> WSFL ? -> -> ebXML? | WSIL ? -> WSRP? -> Portal

This model has been further developed in the e-framework model that puts "services" on center stage.

IMS

A social software model ?

Daniel K. Schneider wonders how one could conceptualize and engineer integration of various social software (e.g. blogs, wikis, reference management, etc.) as web services into a portal.

Organizations

There are many players in this field, just a few examples:

Global players
  • Oasis is an other organization working on xml-based e-business standards
  • XMethods has a long list of publicly available web services , implementations, tutorials, etc.
In educational technology

Links

Standards and recommendations
Overviews
For education
Other
Tutorials

References

  • Papazoglou, Michael P. and Dubray, Jean-jacques (2004) A Survey of Web service technologies. Technical Report DIT-04-058, Ingegneria e Scienza dell'Informazione, University of Trento. Abstract/PDF