Transport
JSON or XML
You can POST the following text for the simplest LISS call:
{
"method": "liss.hello",
"params": [],
"id": 1
}
LISS is available in 2 flavours: JsonRpc and XmlRpc (see http://www.xmlrpc.com/) JsonRpc and XmlRpc are essentially replacements for each other, protocols for sending arrays & structs etc. over HTTP. Both these protocols can use HTTP or HTTPS. Since there is no formal certification process for LISS compliance, you can claim LISS compliance if you support either, but you should check that your integration partners support the chosen flavour. If the integration partner supports only the opposite flavour then the TS (Timetabling System) should implement both flavours.
JsonRpc and XmlRpc are interchangeable to the extent that there is very little to explain in terms of how things are done differently. The only thing to explain is the date format in JsonRpc, since JsonRpc does not specify a particular time/date format. We use the format: YYYYMMDD'T'HH:mm:ss
e.g. 20160303T9:00:00
It is also worth saying that JsonRpc is a very simple addition to JSON.
JSON is better than XmlRpc, in the sense of having lower bandwidth requirements and being easier to debug, but as of 2015, most SIS's are supporting the XmlRpc version.
JSON is strongly recommended over XML.
HTTP or HTTPS
LISS recommends that LISS implementations all use HTTPS. It is not a requirement to use HTTPS in any given context, but it is a requirement that your software supports HTTPS in order to claim that you are LISS-compliant. Some SIS vendors may mandate HTTPS.
Setting up
To configure an instance of a satellite system to use LISS, the user is required to enter the following 3 items:
- Username
- Password
- URL, e.g.
https://www.denfort.nsw.edu.au:9001/liss.php
URL’s are used just as they are used in browsers, except that browser don’t understand the XmlRpc protocol. A URL identifies:
- The protocol: HTTP or HTTPS
- The port, in this example is 9001. If not specified, it defaults to 443 (Https) or 80 (Http)
- The server – can be a domain name or IP address
- The ‘object’ on the server which responds to the request.
liss.xxx
is preferred for consistency, wherexxx
isphp
,asp
,jsp
etc.