Skip to end of metadata
Go to start of metadata

Web Services Module Overview

The Web Services module enables your Ignition Gateway to communicate with other systems using web services over the web or private network. Turn your Ignition Gateway into an information hub. Web Services 2.0 module supports both RESTful & SOAP web service providers and consumers. Easily configure web service operations and data types visually, then invoke web service operations from the HMI, SCADA or MES application to read or write data to an ERP or any other system that supports web services. It shares information that is detailed as work orders, schedules, product definitions, and asset information, or as simple as the weather forecast.

                                                      

Watch the Video



 

What Are Web Services

A web service is any piece of software that makes itself available over the internet and uses a standardized XML messaging system. XML is used to encode all communications to a web service. For example, a client invokes a web service by sending an XML message, then waits for a corresponding XML response. Because all communication is in XML, web services are not tied to any one operating system or programming language--Java can talk with Perl; Windows applications can talk with Unix applications.

Web Services are self-contained, modular, distributed, dynamic applications that can be described, published, located, or invoked over the network to create products, processes, and supply chains. These applications can be local, distributed, or web-based. Web services are built on top of open standards such as TCP/IP, HTTP, Java, HTML, and XML.

The W3C (World Wide Web Consortium) defines a web service as a software system designed to support inter-operable 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.

There are two major classes of web services:

  • RESTful (Representational state transfer)-compliant Web services, in which the primary purpose of the service is to manipulate XML representations of Web resources using a uniform set of stateless operations.
  • Arbitrary Web services, in which the service may expose an arbitrary set of operations. Arbitrary Web Services are implemented via SOAP (Simple Object Access Protocol).

 

Web Service Technologies

XML

XML (eXtended Markup Language) is a standard that defines the textual representation of data and is used for all web services. If two systems are sending date values to each other, and one system is using the ISO 8601 standard and the other system only understands RFC 5322, then the date values will be incorrect. This is like two people talking to each other and one is speaking English and the other is speaking French. There will be some misunderstandings. XML supports organizing data into records as you can see in the XML sample below. There are multiple material items each having name, category and allergent values.

TechnologyCode BlockResult
HTML

<html>

   <div>

       Below is my smiley image.

   </div>

   <img src=“smiley.png”/>

</html>

WS_XML1
XML

<xml>

   <material>

       <name>Almond</name>

       <category>Nuts</category>

       <allergent>no</allergent>

   </material>

   <material>

       <name>Walnut</name>

       <category>Nuts</category>

       <allergent>yes</allergent>

   </material>

</xml>

name

category

allergent

Almond

Nutsno

Walnut

Nuts

yes

 

HTTP

HTTP is oriented around verbs and resources. The two verbs in mainstream usage are GET and POST however, the HTTP standard defines several others such as PUT and DELETE. These verbs are then applied to resources, according to the instructions provided by the server.

HTTP MethodDescription
GETThe GET method is used to retrieve information from the given server. Requests using GET should only retrieve data and should have no other effect on the data.
POSTA POST request is used to send data to the server using HTML forms.
PUTReplaces all current representations of the target resource with the uploaded content.
DELETERemoves all current representations of the target resource.



 

JSON

JSON (JavaScript Object Notation) is a lightweight data-interchange format based on text that is easy for humans to read and write, and for machines to parse and generate. It is based on a subset of the JavaScript Programming Language. JSON is built on two structures:

  • A collection of name/value pairs.
  • An ordered list of values.

The Web Services module receives its data as JSON and provides functions for parsing out the name/value pairs and also for accessing nested child data. An example of JSON would be "name":"John"  "age":31"city":"New York" }.

For more information, refer to http://www.json.org/.


 

RESTful

In a Representational State Transfer (REST) Web Service, data and operations are considered resources that can be accessed via URLs. With REST, clients (browsers) and servers can interact without the client knowing anything beforehand about the server and the resources it hosts. The only requirement is that the server and client must both agree on the media used, which in the case of the web is HTML. The server provides information on how the client should interact with the service. 

As an example, imagine that we have a user database that is managed by a web service. Our service uses a custom hypermedia based on JSON, for which we assign the mimetype application/json+userdb (There might also be an application/xml+userdb and application/whatever+userdb - many media types may be supported). The client and the server have both been programmed to understand this format, but they don't know anything about each other.


 

SOAP

SOAP (Simple Object Access Protocol) is a protocol specification for exchanging structured information in the implementation of web services in computer networks. It relies on XML information set for its message format, and usually relies on other application layer protocols, most notably Hypertext Transfer Protocol (HTTP) or Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission. In MES, whenever information is required, the application client invokes remote functions on the server to send and receive data using SOAP.


 

WSDL

WSDL (Web Service Description Language) describes information about the specific web service (when that web service is implemented using SOAP). This includes, the operations (functions or methods) that are available and data types. It is used by the Web Services Module to find out information about the web service provided by another system. The only way to know what operations are available and what data types to use is to read the WSDL file from the other system. Once we have the details, then the Web Services Module can show the appropriate setting options.


The data types can be simple or complex. Simple data types are the basic types like integer, string, float, etc. Complex data types are just a collection of simple data types or another complex data type.

Click here for more information on WSDL.

 

WS_WSDL1


 

Scripting

There are no components provided by the Web Services module. Scripting functions instead are used to access the functionality provided. The web service scripting functions can be found at system.ws.


 

  • No labels