<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=Web_Services</id>
	<title>Web Services - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=Web_Services"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=Web_Services&amp;action=history"/>
	<updated>2026-04-14T23:42:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://training-course-material.com/index.php?title=Web_Services&amp;diff=12114&amp;oldid=prev</id>
		<title>Łukasz Sokołowski: /* XML ⌘ */</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=Web_Services&amp;diff=12114&amp;oldid=prev"/>
		<updated>2013-07-21T08:38:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;XML ⌘&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Draft}}&lt;br /&gt;
{{Cat|SOA}}&lt;br /&gt;
{{Soa Links}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;slideshow style=&amp;quot;nobleprog&amp;quot; headingmark=&amp;quot;⌘&amp;quot; incmark=&amp;quot;…&amp;quot; scaled=&amp;quot;false&amp;quot; font=&amp;quot;Trebuchet MS&amp;quot; &amp;gt;&lt;br /&gt;
;title: WebServices with SOAP and WSDL Basics&lt;br /&gt;
;author: Lukasz Sokolowski (NobleProg Ltd)&lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WebServices with SOAP and WSDL Basics ==&lt;br /&gt;
WebServices with SOAP and WSDL Basics Training Materials&lt;br /&gt;
&lt;br /&gt;
{{Can I use your material}}&lt;br /&gt;
&lt;br /&gt;
== Overview of Web Services ⌘==&lt;br /&gt;
&lt;br /&gt;
What are they?&lt;br /&gt;
* application components&lt;br /&gt;
* communicate using open protocols (HTTP,SMTP,FTP,JMS,..)&lt;br /&gt;
* self-contained and self-describing&lt;br /&gt;
* can use SOAP (Simple Object Access Protocol)&lt;br /&gt;
* can be described using WSDL (Web Services Description Language)&lt;br /&gt;
* can be discovered using UDDI (Universal Description, Discovery and Integration)&lt;br /&gt;
* can be used by other applications&lt;br /&gt;
* use XML as the basis&lt;br /&gt;
&lt;br /&gt;
=== Definitions ⌘===&lt;br /&gt;
&lt;br /&gt;
* w3c&lt;br /&gt;
* from book&lt;br /&gt;
* w3schools&lt;br /&gt;
* examples&lt;br /&gt;
&lt;br /&gt;
==== w3c ⌘====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;( http://www.w3.org/TR/ws-gloss/#webservice )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;“A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.”&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== book ⌘====&lt;br /&gt;
&amp;lt;small&amp;gt;( &amp;#039;&amp;#039;&amp;quot;Web Services Essentials&amp;quot;&amp;#039;&amp;#039;, Ethan Cerami )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;quot;A web service is any service that is available over the Internet, uses a standardized XML messaging system, and is not tied to any one operating system or programming language.&amp;quot;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Two additional properties of WS (not required, but desirable):&lt;br /&gt;
* self-describing with a general XML syntax&lt;br /&gt;
* discover-able by a plain find mechanism&lt;br /&gt;
&lt;br /&gt;
==== w3schools ⌘====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;( http://www.w3schools.com/ )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;quot;Web Services can convert your application into a Web-application, which can publish its function or message to the rest of the world.&amp;quot;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The basic Web Services platform is XML + HTTP.&lt;br /&gt;
Web Services can convert your applications into Web-applications.&lt;br /&gt;
Web Services are published, found, and used through the Web.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Examples of use ⌘====&lt;br /&gt;
# Google services (translator, maps, etc.)&lt;br /&gt;
# Amazon FWS&lt;br /&gt;
# Oracle Courses for their partners (for example our NP site oracle-training-courses.com)&lt;br /&gt;
# Sharing calendars&lt;br /&gt;
# NobleProg Course Outlines&lt;br /&gt;
# rss news&lt;br /&gt;
# tracking (package, portfolio)&lt;br /&gt;
# credit card verification&lt;br /&gt;
&lt;br /&gt;
=== Why do we need Web Services? ⌘===&lt;br /&gt;
&lt;br /&gt;
What are the benefits of using Web Services?&lt;br /&gt;
# The existing function is exposed on to network&lt;br /&gt;
# Interoperability - connecting different applications&lt;br /&gt;
# Standardized Protocol&lt;br /&gt;
# Low cost of communication&lt;br /&gt;
&lt;br /&gt;
Two Types of Uses&lt;br /&gt;
# Reusable application-components&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
There are things applications need very often. So why make these over and over again?&lt;br /&gt;
Web services can offer application-components like: currency conversion, weather reports, or even language translation as services.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
# Connect existing software&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Web services can help to solve the interoperability problem by giving different applications a way to link their data.&lt;br /&gt;
With Web services you can exchange data between different applications and different platforms.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Service-Oriented Architecture Principles (SOA) ⌘===&lt;br /&gt;
&lt;br /&gt;
Service Oriented Architecture properties:&lt;br /&gt;
* Sensible view&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** separated, logical view of actual programs, databases, business processes, etc.&lt;br /&gt;
** stated according to what it does&lt;br /&gt;
** executing a business-level operation.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Information orientation&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** stated according to the messages traded between providers and requesters, and not the properties of the agents themselves. &lt;br /&gt;
** The internal structure of an agent, including features such as its implementation language, process structure and even database structure, are deliberately abstracted away in the SOA: using the SOA discipline one does not and should not need to know how an agent implementing a service is constructed.&lt;br /&gt;
** A key benefit of this concerns so-called legacy systems. By avoiding any knowledge of the internal structure of an agent, one can incorporate any software component or application that can be &amp;quot;wrapped&amp;quot; in message handling code that allows it to adhere to the formal service definition.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Description orientation&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** A service is described by machine-processable meta data.&lt;br /&gt;
** The description supports the public nature of the SOA: only those details that are exposed to the public and important for the use of the service should be included in the description.&lt;br /&gt;
** The semantics of a service should be documented, either directly or indirectly, by its description.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Granularity&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Services tend to use a small number of operations with relatively large and complex messages.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Network orientation&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Services tend to be oriented toward use over a network, though this is not an absolute requirement.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Platform neutral&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Messages are sent in a platform-neutral, standardized format delivered through the interfaces.&lt;br /&gt;
** XML is the most obvious format that meets this constraint.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== w3c Web Service Architecture Working Group ⌘====&lt;br /&gt;
&lt;br /&gt;
[[File:soa_group.png]]&lt;br /&gt;
&lt;br /&gt;
==== Web Service Architecture ⌘====&lt;br /&gt;
&lt;br /&gt;
# Essential part&lt;br /&gt;
#* Interact between service provider and service requester&lt;br /&gt;
#** This is the Web Service&lt;br /&gt;
# Discover services need not be used&lt;br /&gt;
#* They will become the interface to a world of data and query services&lt;br /&gt;
#** Not just Web service&lt;br /&gt;
&lt;br /&gt;
==== Web Service Stack ⌘====&lt;br /&gt;
&lt;br /&gt;
[[File:ws_stack.png]]&lt;br /&gt;
&lt;br /&gt;
=== HTTP and XML - what is the whole buzz about? ⌘===&lt;br /&gt;
&lt;br /&gt;
XML messaging can be done in several ways:&lt;br /&gt;
* XML Remote Procedure Calls (XML-RPC)  &lt;br /&gt;
* SOAP&lt;br /&gt;
* using just HTTP GET/POST and passing high-handed XML documents&lt;br /&gt;
&lt;br /&gt;
==== XML ⌘====&lt;br /&gt;
&lt;br /&gt;
eXtensible Markup Language.&lt;br /&gt;
&lt;br /&gt;
Transports and stores data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of code&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;note&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;My grandma&amp;lt;/to&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;Me&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;heading&amp;gt;Reminder&amp;lt;/heading&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;Don&amp;#039;t forget about grandpa&amp;#039;s birthday!&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/note&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simple Object Access Protocol (SOAP) ⌘===&lt;br /&gt;
&lt;br /&gt;
SOAP is an XML-based protocol and allows applications to exchange information over HTTP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are two different ways of interpretation: &lt;br /&gt;
# Service Oriented Architecture Protocol&lt;br /&gt;
#* in general, represents the information needed to invoke a service or reflect the results of a service invocation&lt;br /&gt;
#* contains the information specified in the service interface definition&lt;br /&gt;
# Simple Object Access Protocol &lt;br /&gt;
#* with SOAP RPC Representation, it&amp;#039;s a method invocation on a remote object&lt;br /&gt;
#* serialized list of arguments from this method, moved from local to remote environment&lt;br /&gt;
&lt;br /&gt;
==== SOAP properties  ⌘====&lt;br /&gt;
* communication protocol&lt;br /&gt;
* format for sending messages&lt;br /&gt;
* designed to communicate via Internet&lt;br /&gt;
* platform independent&lt;br /&gt;
* language independent&lt;br /&gt;
* based on XML&lt;br /&gt;
* simple and extensible&lt;br /&gt;
* allows you to get around firewalls&lt;br /&gt;
* W3C standard&lt;br /&gt;
&lt;br /&gt;
=== Web Service Description Language (WSDL) ⌘===&lt;br /&gt;
&lt;br /&gt;
Web Services Description Language (WSDL) files are XML documents that provide metadata for a SOAP service.&lt;br /&gt;
&lt;br /&gt;
They contain information about the functions or methods the application makes available and what arguments to use.&lt;br /&gt;
&lt;br /&gt;
By making WSDL files available to the consumers of your service, it gives them the definitions they need to send valid requests precisely how you intend them to be.&lt;br /&gt;
&lt;br /&gt;
You can think of WSDL files as a complete contract for the application’s communication.&lt;br /&gt;
&lt;br /&gt;
If you truly want to make it easy for others to consume your service you will want to incorporate WSDL into your SOAP programming.&lt;br /&gt;
&lt;br /&gt;
=== Universal Description, Discovery and Integration (UDDI) ⌘===&lt;br /&gt;
&lt;br /&gt;
=== The WS-* profiles - what are these? ⌘===&lt;br /&gt;
&lt;br /&gt;
=== REST ⌘===&lt;br /&gt;
&lt;br /&gt;
== The XML Technology ⌘==&lt;br /&gt;
=== Why XML with Web Services? ⌘===&lt;br /&gt;
&lt;br /&gt;
=== The XSD Schema ⌘===&lt;br /&gt;
&lt;br /&gt;
=== Data representation in XML ⌘===&lt;br /&gt;
&lt;br /&gt;
=== XSLT based XML transformations ⌘===&lt;br /&gt;
&lt;br /&gt;
=== HTTP / XML Web Services case study ⌘===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Simple Object Access Protocol ⌘==&lt;br /&gt;
=== Messaging Model ⌘===&lt;br /&gt;
&lt;br /&gt;
=== Namespaces ⌘===&lt;br /&gt;
&lt;br /&gt;
=== SOAP over HTTP ⌘===&lt;br /&gt;
&lt;br /&gt;
=== The SOAP Envelope ⌘===&lt;br /&gt;
&lt;br /&gt;
=== The Message Header ⌘===&lt;br /&gt;
&lt;br /&gt;
=== The Message Body ⌘===&lt;br /&gt;
&lt;br /&gt;
=== SOAP Faults ⌘===&lt;br /&gt;
&lt;br /&gt;
=== Attachments ⌘===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Web Services Description Language ⌘==&lt;br /&gt;
=== Web Services as Component-Based Software ⌘===&lt;br /&gt;
&lt;br /&gt;
=== The Need for an IDL - history of Distributed Computing ⌘===&lt;br /&gt;
&lt;br /&gt;
=== Web Services Description Language ⌘===&lt;br /&gt;
&lt;br /&gt;
=== WSDL Information Model ⌘===&lt;br /&gt;
&lt;br /&gt;
=== The Abstract Model -- Service Semantics ⌘===&lt;br /&gt;
&lt;br /&gt;
=== Message Description ⌘===&lt;br /&gt;
&lt;br /&gt;
=== Messaging Styles ⌘===&lt;br /&gt;
&lt;br /&gt;
=== The Concrete Model -- Ports, Services, Locations ⌘===&lt;br /&gt;
&lt;br /&gt;
=== Extending WSDL -- Bindings ⌘===&lt;br /&gt;
&lt;br /&gt;
=== Service Description ⌘===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Binary Content ⌘==&lt;br /&gt;
=== The WS-I Attachments Profile ⌘===&lt;br /&gt;
&lt;br /&gt;
=== Using base64Binary ⌘===&lt;br /&gt;
&lt;br /&gt;
=== MIME Attachments ⌘===&lt;/div&gt;</summary>
		<author><name>Łukasz Sokołowski</name></author>
	</entry>
</feed>