ULTEO OPEN VIRTUAL DESKTOP
V4.0.2
PROTOCOL DESCRIPTION
Ulteo Open Virtual Desktop v4.0.2
Contents
1 List of Protocols 3
1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Hyper Text Transfer Protocol (HTTP) . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Remote Desktop Protocol (RDP) . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Secure Socket Layer (SSL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Server Communication 5
2.1 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 HTTP Return Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 OVD Client Session 6
3.1 Establing a Simple Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 Session Manager Client Web Services . . . . . . . . . . . . . . . . . . . . . 7
3.2.1 applications.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.2 auth.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.3 icon.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.4 logout.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.5 mimetype-icon.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.6 session_status.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.7 userlist.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.8 start.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 API for Web Clients 11
© ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 1
Ulteo Open Virtual Desktop v4.0.2
The purpose of this documentation is to describe the protocols used by Ulteo Open
Virtual Desktop.
© ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 2
Ulteo Open Virtual Desktop v4.0.2
Section 1 List of Protocols
1.1 Overview
Here is a global view of OVD roles, protocols and ports.
1.2 Hyper Text Transfer Protocol (HTTP)
The base communication protocol used in Ulteo OVD for session establishment and
management is HTTP over SSL. This protocol runs over TCP port 443.
Ulteo OVD use also HTTP for communication between servers: Session Manager to
Application Server and vice versa. For this usage, the TCP ports 1111 and 1112 (non
standart service ports) are used.
Several products of Ulteo OVD such as the Administration Console and Web Portal are
purely web-based and use HTTP because the client in this case would normally be a
web-browser.
HTTP on Wikipedia
1.3 Remote Desktop Protocol (RDP)
RDP is the remote display protocol used by Microsoft Corp.® for their Terminal Ser-
vices™ software.
RDP is used by Ulteo Open Virtual Desktop to display desktop and applications on the
client machine.
RDP uses TCP port 3389.
RDP on Wikipedia
© ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 3
Ulteo Open Virtual Desktop v4.0.2
1.4 Secure Socket Layer (SSL)
SSL is an cryptographic layer protocol that provide encryption between server and
client.
SSL is used by Ulteo OVD to tunnel RDP.
SSL on Wikipedia
© ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 4
Ulteo Open Virtual Desktop v4.0.2
Section 2 Server Communication
Servers communicate by using HTTP webservices (hosted by Apache). The Session
Manager listens on TCP port 1111 and Application Servers use port 1112.
The Session Manager identifies an Application Server using its Fully Qualified Domain
Name (FQDN).
Applications Servers only respond to the Session Manager whose address is stored in
their configuration file.
2.1 Security
A server is authenticated using the DNS resolution system.
When an Application Server sends a status, it sends an extra argument named fqdn.
The Session Manager performs 2 authentication tests and 1 authorization.
• FQDN resolution: resolves the FQDN to get an IP address and tests if it matches
the remote server IP ($SERVER[’REMOTE_ADDR’] in PHP). Authentication directly
depends on that result being correct
• reverse resolution: resolves the server IP address and tests if it matches the
FQDN argument. Authentication directly depends on that result being correct.
This test can be disabled in the administration console using the Disable FQDN
checkparameter
• authorization: tests the match of the FQDN with one of the Authorized FQDN
parameters defined in the administration console.
2.2 HTTP Return Codes
Webservices use the standard HTTP return codes to know if the request succeeded.
• 200 OK : request succeeded
• 400 Bad Request : request argument not valid
• 401 Unauthorized : From SM to ApS: ApS detects that the remote address does
not match its configured SM. From ApS to SM: ApS is not registered yet or failed
authentication.
• 500 Internal Server Error : The request failed because of an error in the system
or the system is broken.
© ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 5
Ulteo Open Virtual Desktop v4.0.2
Section 3 OVD Client Session
3.1 Establing a Simple Session
The following schema describe the steps of the establishement of an Ulteo OVD ses-
sion.
In this example, only one Application Server is used, the session does not use File
Servers (internal or external) and the client connects directly to the SM without using
an OVD Gateway.
© ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 6
Ulteo Open Virtual Desktop v4.0.2
3.2 Session Manager Client Web Services
Session Manager client webservices are used by client software to negotiate and man-
age their session.
The base URL to access these services is https://sm.test.demo/ovd.
Here is the list of availables webservices.
3.2.1 applications.php
• method: GET
• arguments: none (except authentication, see auth.php)
• returns: an application list and application details as XML content.
This webservice provides the available application list and application details for the
current authenticated user. The authentication can be done either by the dedicated
service (auth.php) or directly using this one.
XML format:
• user Root node
• login Attribute
• application nodes
• application Node
• id Attribute
• name Attribute
• description Attribute
• mime nodes
• mime Node
• type Attribute
Here is an example:
<?xml version ="1.0" encoding ="utf -8"?>
<user login=" mwilson">
<application id ="1850" name=" AbiWord" description ="Compose , edit ,
and view documents">
<mime type=" application/docbook+xml"/>
<mime type=" application/msword"/>
<mime type=" application/rtf"/>
</application >
© ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 7
Ulteo Open Virtual Desktop v4.0.2
<application id ="1857" name=" Mousepad" description =" Simple text ←
editor">
<mime type="text/plain"/>
</application >
</user >
3.2.2 auth.php
• method: POST
• arguments: XML input (optionnal)
• returns: HTTP default return codes.
This is the dedicated authentication service. The authentication method used de-
pends on the enabled authentication module as defined in the Administration con-
sole.
The XML input is only used for password and token authentication mechanisms.
XML format: the root node and the XML tree doesn’t matter for this webservice.
The system only checks if a user node exists and then attempts to authenticate it.
• user node
• login Attribute
• password Attribute
• token Attribute
If the password module is enabled, it uses the login and password attributes.
If the token module is enabled, it only uses the token attribute.
3.2.3 icon.php
• method: GET
• arguments:
• id: an application identifier
• returns: the application icon as 32x32:32 image/png
This service provide an application icon from an application id.
The authentication can be done either by the dedicated service (auth.php) or di-
rectly using this one. It is also possible to access any icon anonymously by enabling
the Public Webservices access option in the Administration Console.
© ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 8
Ulteo Open Virtual Desktop v4.0.2
3.2.4 logout.php
• method: ANY
• arguments: None
• returns: XML
This webservice can be called to turn logout the user and terminate the session.
3.2.5 mimetype-icon.php
• method: GET
• arguments:
• id: a mime-type name
• returns: the application icon as 32x32:32 image/png
This service provide an mime-type icon building it on the fly from the most appro-
priate application supporting that mime-type.
3.2.6 session_status.php
• method: GET
• arguments: None
• returns: session status as XML content
XML format:
• session Root node
• id Attribute
• status Attribute
3.2.7 userlist.php
• method: GET
© ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 9
Ulteo Open Virtual Desktop v4.0.2
• arguments: none
• returns: a user list as XML content.
This webservice provides the available user list from the user base used by the
Session Manager.
XML format:
• users Root node
• user nodes
• user Node
• login Attribute
• displayname Attribute
The service only respond if the Display users list setting is enable in the Administra-
tion Console.
The service sets a limit of 100 items in the list by default (can be changed in the
Administration Console).
3.2.8 start.php
• method: POST
• arguments: XML content
• returns: session parameters as XML content
This service is the one used by a client to negotiate a session. In the input XML, the
client describes the parameter wanted for the session. According to the Adminis-
tration Console defined policy, the Session Manager returns either a session (with
parameter and access) or an error message explaining why the session cannot be
created.
The error returned message can be:
• auth_failed
• in_maintenance
• internal_error
• invalid_user
• service_not_available
• unauthorized_session_mode
• user_with_active_session
© ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 10
Ulteo Open Virtual Desktop v4.0.2
Section 4 API for Web Clients
Ulteo OVD provides a Javascript API to easily start an application or a desktop from
another web based service.
Here is a simple example HTML page which start a seamless Ulteo OVD application:
<html >
<head >
<!-- Load the Ulteo javascript files -->
<script type="text/javascript"
src="http ://web.test.demo/ovd/media/script/lib/jquery/jquery.js ←
"
charset ="utf -8"></script >
<script type="text/javascript"
src="http ://web.test.demo/ovd/media/script/webclient/external. ←
js"
charset ="utf -8"></script >
<script type="text/javascript">
function start(form_) {
var ovd = new UlteoOVD_session(
’http ://’+ form_.server.value+’/ovd ’,
ULTEO_OVD_SESSION_MODE_DESKTOP
);
ovd.setAuthPassword(form_.login.value , form_.password.value);
ovd.start();
}
</script >
</head >
<body >
<form action ="#" onsubmit ="start(this); return false;">
Server:
<input type="text" name=" server" value="web.test.demo" />
<br/>
Login:
<input type="text" name="login" value ="" />
<br/>
Password:
<input type=" password" name=" password" value ="" />
<br/>
Application id:
<input type="text" name="app" value ="2" />
<br/>
<input type=" submit" value=" Launch" />
</form >
</body >
</html >
© ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 11

More Related Content

PDF
Pandora FMS: Exchange OWA Plugin
PDF
Ibm tivoli access manager for e business tracing http connections redp4622
PPTX
cPanel & WHM Glossary
PDF
OSGi Specification Evolution - BJ Hargrave
PDF
Pandora FMS: Blackberry Exchange Monitoring
PDF
Pandora FMS: Outlook Anywhere Plugin
PDF
PROXY Pro 8.10.2 Remote Desktop Software - Release Notes
PDF
Authentication in microservice systems - fsto 2017
Pandora FMS: Exchange OWA Plugin
Ibm tivoli access manager for e business tracing http connections redp4622
cPanel & WHM Glossary
OSGi Specification Evolution - BJ Hargrave
Pandora FMS: Blackberry Exchange Monitoring
Pandora FMS: Outlook Anywhere Plugin
PROXY Pro 8.10.2 Remote Desktop Software - Release Notes
Authentication in microservice systems - fsto 2017

What's hot (19)

PDF
Ieee 802.1 x
PDF
Proxifier
PPT
Java Networking
PPT
Networking Java Socket Programming
PDF
WebKilit Manual
PPTX
Important Terms that are Encountered Frequently by cPanel Users
DOC
Converged office engineering detail
PPTX
802.1x authentication
PDF
OTechs Mail system proposal
PDF
802.1x Implementation Plan for Seacoast
PPT
Socket Programming - nitish nagar
ODP
ID304 - Lotus® Connections 3.0 TDI, SSO, and User Life Cycle Management: What...
PDF
Installing license server
PPT
Implementing 802.1x Authentication
PDF
Java networking programs - theory
PPT
Networking in java
PPT
A Short Java Socket Tutorial
DOCX
Simple chat room using python
PPT
Ali shahbazi khojasteh dot1X
Ieee 802.1 x
Proxifier
Java Networking
Networking Java Socket Programming
WebKilit Manual
Important Terms that are Encountered Frequently by cPanel Users
Converged office engineering detail
802.1x authentication
OTechs Mail system proposal
802.1x Implementation Plan for Seacoast
Socket Programming - nitish nagar
ID304 - Lotus® Connections 3.0 TDI, SSO, and User Life Cycle Management: What...
Installing license server
Implementing 802.1x Authentication
Java networking programs - theory
Networking in java
A Short Java Socket Tutorial
Simple chat room using python
Ali shahbazi khojasteh dot1X
Ad

Viewers also liked (10)

DOCX
Dorian jones general resume jan 2016
DOCX
pema dema
DOCX
pema dema
PDF
Architecture
PDF
Falsi dirigenti Sentenza Corte Costituzionale n. 37 anno 2015
PPT
Daily tasks
PDF
Exemples renovables 01
PPTX
MSCSA Steering Committee Working Documents Recommendations
PPT
Becoming a MSCSA Leader
PPTX
MSCSA - New Student Orientation 2015-16
Dorian jones general resume jan 2016
pema dema
pema dema
Architecture
Falsi dirigenti Sentenza Corte Costituzionale n. 37 anno 2015
Daily tasks
Exemples renovables 01
MSCSA Steering Committee Working Documents Recommendations
Becoming a MSCSA Leader
MSCSA - New Student Orientation 2015-16
Ad

Similar to Protocol (20)

PDF
Pandora FMS: Sun One webserver
PPTX
Hpe service virtualization 3.8 what's new chicago adm
PDF
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
PDF
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
PDF
Observability for Integration Using WSO2 Enterprise Integrator
PDF
Pandora FMS: Exchange Enterprise plugin
DOCX
It and ej
PDF
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
PPTX
Event log analyzer by me
PDF
CertsOut Checkpoint-156-587 exam dumps pdf
PPTX
SCOM Tips and Tricks
PDF
FIWARE Wednesday Webinars - How to Secure IoT Devices
PPTX
10 ways to trigger runbooks from Orchestrator
PPTX
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
PPTX
Fredrik knalstad 10 ways to trigger orchestrator runbooks in the it jungle
PPT
FMS Administration Seminar
PPTX
java Servlet technology
PDF
16.7_Release_Notes.pdf
PDF
IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...
PDF
Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0
Pandora FMS: Sun One webserver
Hpe service virtualization 3.8 what's new chicago adm
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
Observability for Integration Using WSO2 Enterprise Integrator
Pandora FMS: Exchange Enterprise plugin
It and ej
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
Event log analyzer by me
CertsOut Checkpoint-156-587 exam dumps pdf
SCOM Tips and Tricks
FIWARE Wednesday Webinars - How to Secure IoT Devices
10 ways to trigger runbooks from Orchestrator
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik knalstad 10 ways to trigger orchestrator runbooks in the it jungle
FMS Administration Seminar
java Servlet technology
16.7_Release_Notes.pdf
IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...
Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0

Recently uploaded (20)

PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
DOCX
search engine optimization ppt fir known well about this
PPTX
The various Industrial Revolutions .pptx
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Architecture types and enterprise applications.pdf
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Hindi spoken digit analysis for native and non-native speakers
PPTX
observCloud-Native Containerability and monitoring.pptx
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PPTX
Tartificialntelligence_presentation.pptx
PPT
What is a Computer? Input Devices /output devices
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
A review of recent deep learning applications in wood surface defect identifi...
DP Operators-handbook-extract for the Mautical Institute
Univ-Connecticut-ChatGPT-Presentaion.pdf
search engine optimization ppt fir known well about this
The various Industrial Revolutions .pptx
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Developing a website for English-speaking practice to English as a foreign la...
Architecture types and enterprise applications.pdf
Web Crawler for Trend Tracking Gen Z Insights.pptx
Group 1 Presentation -Planning and Decision Making .pptx
A comparative study of natural language inference in Swahili using monolingua...
Hindi spoken digit analysis for native and non-native speakers
observCloud-Native Containerability and monitoring.pptx
O2C Customer Invoices to Receipt V15A.pptx
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Tartificialntelligence_presentation.pptx
What is a Computer? Input Devices /output devices

Protocol

  • 1. ULTEO OPEN VIRTUAL DESKTOP V4.0.2 PROTOCOL DESCRIPTION
  • 2. Ulteo Open Virtual Desktop v4.0.2 Contents 1 List of Protocols 3 1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Hyper Text Transfer Protocol (HTTP) . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Remote Desktop Protocol (RDP) . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Secure Socket Layer (SSL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Server Communication 5 2.1 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 HTTP Return Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3 OVD Client Session 6 3.1 Establing a Simple Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2 Session Manager Client Web Services . . . . . . . . . . . . . . . . . . . . . 7 3.2.1 applications.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2.2 auth.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.2.3 icon.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.2.4 logout.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2.5 mimetype-icon.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2.6 session_status.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2.7 userlist.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2.8 start.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4 API for Web Clients 11 © ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 1
  • 3. Ulteo Open Virtual Desktop v4.0.2 The purpose of this documentation is to describe the protocols used by Ulteo Open Virtual Desktop. © ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 2
  • 4. Ulteo Open Virtual Desktop v4.0.2 Section 1 List of Protocols 1.1 Overview Here is a global view of OVD roles, protocols and ports. 1.2 Hyper Text Transfer Protocol (HTTP) The base communication protocol used in Ulteo OVD for session establishment and management is HTTP over SSL. This protocol runs over TCP port 443. Ulteo OVD use also HTTP for communication between servers: Session Manager to Application Server and vice versa. For this usage, the TCP ports 1111 and 1112 (non standart service ports) are used. Several products of Ulteo OVD such as the Administration Console and Web Portal are purely web-based and use HTTP because the client in this case would normally be a web-browser. HTTP on Wikipedia 1.3 Remote Desktop Protocol (RDP) RDP is the remote display protocol used by Microsoft Corp.® for their Terminal Ser- vices™ software. RDP is used by Ulteo Open Virtual Desktop to display desktop and applications on the client machine. RDP uses TCP port 3389. RDP on Wikipedia © ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 3
  • 5. Ulteo Open Virtual Desktop v4.0.2 1.4 Secure Socket Layer (SSL) SSL is an cryptographic layer protocol that provide encryption between server and client. SSL is used by Ulteo OVD to tunnel RDP. SSL on Wikipedia © ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 4
  • 6. Ulteo Open Virtual Desktop v4.0.2 Section 2 Server Communication Servers communicate by using HTTP webservices (hosted by Apache). The Session Manager listens on TCP port 1111 and Application Servers use port 1112. The Session Manager identifies an Application Server using its Fully Qualified Domain Name (FQDN). Applications Servers only respond to the Session Manager whose address is stored in their configuration file. 2.1 Security A server is authenticated using the DNS resolution system. When an Application Server sends a status, it sends an extra argument named fqdn. The Session Manager performs 2 authentication tests and 1 authorization. • FQDN resolution: resolves the FQDN to get an IP address and tests if it matches the remote server IP ($SERVER[’REMOTE_ADDR’] in PHP). Authentication directly depends on that result being correct • reverse resolution: resolves the server IP address and tests if it matches the FQDN argument. Authentication directly depends on that result being correct. This test can be disabled in the administration console using the Disable FQDN checkparameter • authorization: tests the match of the FQDN with one of the Authorized FQDN parameters defined in the administration console. 2.2 HTTP Return Codes Webservices use the standard HTTP return codes to know if the request succeeded. • 200 OK : request succeeded • 400 Bad Request : request argument not valid • 401 Unauthorized : From SM to ApS: ApS detects that the remote address does not match its configured SM. From ApS to SM: ApS is not registered yet or failed authentication. • 500 Internal Server Error : The request failed because of an error in the system or the system is broken. © ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 5
  • 7. Ulteo Open Virtual Desktop v4.0.2 Section 3 OVD Client Session 3.1 Establing a Simple Session The following schema describe the steps of the establishement of an Ulteo OVD ses- sion. In this example, only one Application Server is used, the session does not use File Servers (internal or external) and the client connects directly to the SM without using an OVD Gateway. © ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 6
  • 8. Ulteo Open Virtual Desktop v4.0.2 3.2 Session Manager Client Web Services Session Manager client webservices are used by client software to negotiate and man- age their session. The base URL to access these services is https://sm.test.demo/ovd. Here is the list of availables webservices. 3.2.1 applications.php • method: GET • arguments: none (except authentication, see auth.php) • returns: an application list and application details as XML content. This webservice provides the available application list and application details for the current authenticated user. The authentication can be done either by the dedicated service (auth.php) or directly using this one. XML format: • user Root node • login Attribute • application nodes • application Node • id Attribute • name Attribute • description Attribute • mime nodes • mime Node • type Attribute Here is an example: <?xml version ="1.0" encoding ="utf -8"?> <user login=" mwilson"> <application id ="1850" name=" AbiWord" description ="Compose , edit , and view documents"> <mime type=" application/docbook+xml"/> <mime type=" application/msword"/> <mime type=" application/rtf"/> </application > © ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 7
  • 9. Ulteo Open Virtual Desktop v4.0.2 <application id ="1857" name=" Mousepad" description =" Simple text ← editor"> <mime type="text/plain"/> </application > </user > 3.2.2 auth.php • method: POST • arguments: XML input (optionnal) • returns: HTTP default return codes. This is the dedicated authentication service. The authentication method used de- pends on the enabled authentication module as defined in the Administration con- sole. The XML input is only used for password and token authentication mechanisms. XML format: the root node and the XML tree doesn’t matter for this webservice. The system only checks if a user node exists and then attempts to authenticate it. • user node • login Attribute • password Attribute • token Attribute If the password module is enabled, it uses the login and password attributes. If the token module is enabled, it only uses the token attribute. 3.2.3 icon.php • method: GET • arguments: • id: an application identifier • returns: the application icon as 32x32:32 image/png This service provide an application icon from an application id. The authentication can be done either by the dedicated service (auth.php) or di- rectly using this one. It is also possible to access any icon anonymously by enabling the Public Webservices access option in the Administration Console. © ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 8
  • 10. Ulteo Open Virtual Desktop v4.0.2 3.2.4 logout.php • method: ANY • arguments: None • returns: XML This webservice can be called to turn logout the user and terminate the session. 3.2.5 mimetype-icon.php • method: GET • arguments: • id: a mime-type name • returns: the application icon as 32x32:32 image/png This service provide an mime-type icon building it on the fly from the most appro- priate application supporting that mime-type. 3.2.6 session_status.php • method: GET • arguments: None • returns: session status as XML content XML format: • session Root node • id Attribute • status Attribute 3.2.7 userlist.php • method: GET © ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 9
  • 11. Ulteo Open Virtual Desktop v4.0.2 • arguments: none • returns: a user list as XML content. This webservice provides the available user list from the user base used by the Session Manager. XML format: • users Root node • user nodes • user Node • login Attribute • displayname Attribute The service only respond if the Display users list setting is enable in the Administra- tion Console. The service sets a limit of 100 items in the list by default (can be changed in the Administration Console). 3.2.8 start.php • method: POST • arguments: XML content • returns: session parameters as XML content This service is the one used by a client to negotiate a session. In the input XML, the client describes the parameter wanted for the session. According to the Adminis- tration Console defined policy, the Session Manager returns either a session (with parameter and access) or an error message explaining why the session cannot be created. The error returned message can be: • auth_failed • in_maintenance • internal_error • invalid_user • service_not_available • unauthorized_session_mode • user_with_active_session © ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 10
  • 12. Ulteo Open Virtual Desktop v4.0.2 Section 4 API for Web Clients Ulteo OVD provides a Javascript API to easily start an application or a desktop from another web based service. Here is a simple example HTML page which start a seamless Ulteo OVD application: <html > <head > <!-- Load the Ulteo javascript files --> <script type="text/javascript" src="http ://web.test.demo/ovd/media/script/lib/jquery/jquery.js ← " charset ="utf -8"></script > <script type="text/javascript" src="http ://web.test.demo/ovd/media/script/webclient/external. ← js" charset ="utf -8"></script > <script type="text/javascript"> function start(form_) { var ovd = new UlteoOVD_session( ’http ://’+ form_.server.value+’/ovd ’, ULTEO_OVD_SESSION_MODE_DESKTOP ); ovd.setAuthPassword(form_.login.value , form_.password.value); ovd.start(); } </script > </head > <body > <form action ="#" onsubmit ="start(this); return false;"> Server: <input type="text" name=" server" value="web.test.demo" /> <br/> Login: <input type="text" name="login" value ="" /> <br/> Password: <input type=" password" name=" password" value ="" /> <br/> Application id: <input type="text" name="app" value ="2" /> <br/> <input type=" submit" value=" Launch" /> </form > </body > </html > © ULTEO SAS - HTTP://WWW.ULTEO.COM 2014 - 11