SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Proxifier
ProxifierProxifier
Proxifierraza530
 
Java Networking
Java NetworkingJava Networking
Java NetworkingSunil OS
 
Networking Java Socket Programming
Networking Java Socket ProgrammingNetworking Java Socket Programming
Networking Java Socket ProgrammingMousmi Pawar
 
Important Terms that are Encountered Frequently by cPanel Users
Important Terms that are Encountered Frequently by cPanel UsersImportant Terms that are Encountered Frequently by cPanel Users
Important Terms that are Encountered Frequently by cPanel UsersHTS Hosting
 
Converged office engineering detail
Converged office engineering detailConverged office engineering detail
Converged office engineering detailGeorge Vlismas
 
802.1x authentication
802.1x authentication802.1x authentication
802.1x authenticationXiaoqi Zhao
 
OTechs Mail system proposal
OTechs Mail system proposalOTechs Mail system proposal
OTechs Mail system proposalOsman Suliman
 
802.1x Implementation Plan for Seacoast
802.1x Implementation Plan for Seacoast802.1x Implementation Plan for Seacoast
802.1x Implementation Plan for SeacoastSithideth Banavong
 
Socket Programming - nitish nagar
Socket Programming - nitish nagarSocket Programming - nitish nagar
Socket Programming - nitish nagarNitish Nagar
 
ID304 - Lotus® Connections 3.0 TDI, SSO, and User Life Cycle Management: What...
ID304 - Lotus® Connections 3.0 TDI, SSO, and User Life Cycle Management: What...ID304 - Lotus® Connections 3.0 TDI, SSO, and User Life Cycle Management: What...
ID304 - Lotus® Connections 3.0 TDI, SSO, and User Life Cycle Management: What...Luis Benitez
 
Installing license server
Installing license serverInstalling license server
Installing license serverKang YAyan
 
Implementing 802.1x Authentication
Implementing 802.1x AuthenticationImplementing 802.1x Authentication
Implementing 802.1x Authenticationdkaya
 
Java networking programs - theory
Java networking programs - theoryJava networking programs - theory
Java networking programs - theoryMukesh Tekwani
 
A Short Java Socket Tutorial
A Short Java Socket TutorialA Short Java Socket Tutorial
A Short Java Socket TutorialGuo Albert
 
Simple chat room using python
Simple chat room using pythonSimple chat room using python
Simple chat room using pythonVISHAL VERMA
 

La actualidad más candente (19)

Ieee 802.1 x
Ieee 802.1 xIeee 802.1 x
Ieee 802.1 x
 
Proxifier
ProxifierProxifier
Proxifier
 
Java Networking
Java NetworkingJava Networking
Java Networking
 
Networking Java Socket Programming
Networking Java Socket ProgrammingNetworking Java Socket Programming
Networking Java Socket Programming
 
WebKilit Manual
WebKilit ManualWebKilit Manual
WebKilit Manual
 
Important Terms that are Encountered Frequently by cPanel Users
Important Terms that are Encountered Frequently by cPanel UsersImportant Terms that are Encountered Frequently by cPanel Users
Important Terms that are Encountered Frequently by cPanel Users
 
Converged office engineering detail
Converged office engineering detailConverged office engineering detail
Converged office engineering detail
 
802.1x authentication
802.1x authentication802.1x authentication
802.1x authentication
 
OTechs Mail system proposal
OTechs Mail system proposalOTechs Mail system proposal
OTechs Mail system proposal
 
802.1x Implementation Plan for Seacoast
802.1x Implementation Plan for Seacoast802.1x Implementation Plan for Seacoast
802.1x Implementation Plan for Seacoast
 
Socket Programming - nitish nagar
Socket Programming - nitish nagarSocket Programming - nitish nagar
Socket Programming - nitish nagar
 
ID304 - Lotus® Connections 3.0 TDI, SSO, and User Life Cycle Management: What...
ID304 - Lotus® Connections 3.0 TDI, SSO, and User Life Cycle Management: What...ID304 - Lotus® Connections 3.0 TDI, SSO, and User Life Cycle Management: What...
ID304 - Lotus® Connections 3.0 TDI, SSO, and User Life Cycle Management: What...
 
Installing license server
Installing license serverInstalling license server
Installing license server
 
Implementing 802.1x Authentication
Implementing 802.1x AuthenticationImplementing 802.1x Authentication
Implementing 802.1x Authentication
 
Java networking programs - theory
Java networking programs - theoryJava networking programs - theory
Java networking programs - theory
 
Networking in java
Networking in javaNetworking in java
Networking in java
 
A Short Java Socket Tutorial
A Short Java Socket TutorialA Short Java Socket Tutorial
A Short Java Socket Tutorial
 
Simple chat room using python
Simple chat room using pythonSimple chat room using python
Simple chat room using python
 
Ali shahbazi khojasteh dot1X
Ali shahbazi khojasteh dot1XAli shahbazi khojasteh dot1X
Ali shahbazi khojasteh dot1X
 

Destacado

Dorian jones general resume jan 2016
Dorian jones general resume jan 2016Dorian jones general resume jan 2016
Dorian jones general resume jan 2016Dorian Jones
 
Architecture
ArchitectureArchitecture
Architecturem_bahba
 
Falsi dirigenti Sentenza Corte Costituzionale n. 37 anno 2015
Falsi dirigenti Sentenza Corte Costituzionale n. 37 anno 2015Falsi dirigenti Sentenza Corte Costituzionale n. 37 anno 2015
Falsi dirigenti Sentenza Corte Costituzionale n. 37 anno 2015elvira carpentieri
 
Exemples renovables 01
Exemples renovables 01Exemples renovables 01
Exemples renovables 01Suno
 
MSCSA Steering Committee Working Documents Recommendations
MSCSA Steering Committee Working Documents RecommendationsMSCSA Steering Committee Working Documents Recommendations
MSCSA Steering Committee Working Documents RecommendationsBrenna Mohr
 
Becoming a MSCSA Leader
Becoming a MSCSA LeaderBecoming a MSCSA Leader
Becoming a MSCSA LeaderBrenna Mohr
 
MSCSA - New Student Orientation 2015-16
MSCSA - New Student Orientation 2015-16MSCSA - New Student Orientation 2015-16
MSCSA - New Student Orientation 2015-16Brenna Mohr
 

Destacado (10)

Dorian jones general resume jan 2016
Dorian jones general resume jan 2016Dorian jones general resume jan 2016
Dorian jones general resume jan 2016
 
pema dema
pema demapema dema
pema dema
 
pema dema
pema demapema dema
pema dema
 
Architecture
ArchitectureArchitecture
Architecture
 
Falsi dirigenti Sentenza Corte Costituzionale n. 37 anno 2015
Falsi dirigenti Sentenza Corte Costituzionale n. 37 anno 2015Falsi dirigenti Sentenza Corte Costituzionale n. 37 anno 2015
Falsi dirigenti Sentenza Corte Costituzionale n. 37 anno 2015
 
Daily tasks
Daily tasksDaily tasks
Daily tasks
 
Exemples renovables 01
Exemples renovables 01Exemples renovables 01
Exemples renovables 01
 
MSCSA Steering Committee Working Documents Recommendations
MSCSA Steering Committee Working Documents RecommendationsMSCSA Steering Committee Working Documents Recommendations
MSCSA Steering Committee Working Documents Recommendations
 
Becoming a MSCSA Leader
Becoming a MSCSA LeaderBecoming a MSCSA Leader
Becoming a MSCSA Leader
 
MSCSA - New Student Orientation 2015-16
MSCSA - New Student Orientation 2015-16MSCSA - New Student Orientation 2015-16
MSCSA - New Student Orientation 2015-16
 

Similar a Ulteo Open Virtual Desktop Protocol Documentation

Pandora FMS: Sun One webserver
Pandora FMS: Sun One webserverPandora FMS: Sun One webserver
Pandora FMS: Sun One webserverPandora FMS
 
Hpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago admHpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago admJeffrey Nunn
 
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorTroubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorWSO2
 
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorTroubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorWSO2
 
Observability for Integration Using WSO2 Enterprise Integrator
Observability for Integration Using WSO2 Enterprise IntegratorObservability for Integration Using WSO2 Enterprise Integrator
Observability for Integration Using WSO2 Enterprise IntegratorWSO2
 
Pandora FMS: Exchange Enterprise plugin
Pandora FMS: Exchange Enterprise pluginPandora FMS: Exchange Enterprise plugin
Pandora FMS: Exchange Enterprise pluginPandora FMS
 
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
Monitoring in Big Data Platform - Albert Lewandowski, GetInDataMonitoring in Big Data Platform - Albert Lewandowski, GetInData
Monitoring in Big Data Platform - Albert Lewandowski, GetInDataGetInData
 
Event log analyzer by me
Event log analyzer by me Event log analyzer by me
Event log analyzer by me ER Swapnil Raut
 
FIWARE Wednesday Webinars - How to Secure IoT Devices
FIWARE Wednesday Webinars - How to Secure IoT DevicesFIWARE Wednesday Webinars - How to Secure IoT Devices
FIWARE Wednesday Webinars - How to Secure IoT DevicesFIWARE
 
Fredrik knalstad 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik knalstad   10 ways to trigger orchestrator runbooks in the it jungleFredrik knalstad   10 ways to trigger orchestrator runbooks in the it jungle
Fredrik knalstad 10 ways to trigger orchestrator runbooks in the it junglePer Riis
 
10 ways to trigger runbooks from Orchestrator
10 ways to trigger runbooks from Orchestrator10 ways to trigger runbooks from Orchestrator
10 ways to trigger runbooks from OrchestratorFredrik Knalstad
 
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungleFredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungleNordic Infrastructure Conference
 
FMS Administration Seminar
FMS Administration SeminarFMS Administration Seminar
FMS Administration SeminarYoss Cohen
 
java Servlet technology
java Servlet technologyjava Servlet technology
java Servlet technologyTanmoy Barman
 
16.7_Release_Notes.pdf
16.7_Release_Notes.pdf16.7_Release_Notes.pdf
16.7_Release_Notes.pdfAbhySingh3
 
IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...
IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...
IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...IRJET Journal
 
Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0
Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0	Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0
Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0 Protect724manoj
 
Ovms ops manager_admin
Ovms ops manager_adminOvms ops manager_admin
Ovms ops manager_adminsati1981
 

Similar a Ulteo Open Virtual Desktop Protocol Documentation (20)

Pandora FMS: Sun One webserver
Pandora FMS: Sun One webserverPandora FMS: Sun One webserver
Pandora FMS: Sun One webserver
 
Hpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago admHpe service virtualization 3.8 what's new chicago adm
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 IntegratorTroubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
 
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorTroubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
 
Observability for Integration Using WSO2 Enterprise Integrator
Observability for Integration Using WSO2 Enterprise IntegratorObservability for Integration Using WSO2 Enterprise Integrator
Observability for Integration Using WSO2 Enterprise Integrator
 
Pandora FMS: Exchange Enterprise plugin
Pandora FMS: Exchange Enterprise pluginPandora FMS: Exchange Enterprise plugin
Pandora FMS: Exchange Enterprise plugin
 
It and ej
It and ejIt and ej
It and ej
 
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
Monitoring in Big Data Platform - Albert Lewandowski, GetInDataMonitoring in Big Data Platform - Albert Lewandowski, GetInData
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
 
Event log analyzer by me
Event log analyzer by me Event log analyzer by me
Event log analyzer by me
 
SCOM Tips and Tricks
SCOM Tips and TricksSCOM Tips and Tricks
SCOM Tips and Tricks
 
FIWARE Wednesday Webinars - How to Secure IoT Devices
FIWARE Wednesday Webinars - How to Secure IoT DevicesFIWARE Wednesday Webinars - How to Secure IoT Devices
FIWARE Wednesday Webinars - How to Secure IoT Devices
 
Fredrik knalstad 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik knalstad   10 ways to trigger orchestrator runbooks in the it jungleFredrik knalstad   10 ways to trigger orchestrator runbooks in the it jungle
Fredrik knalstad 10 ways to trigger orchestrator runbooks in the it jungle
 
10 ways to trigger runbooks from Orchestrator
10 ways to trigger runbooks from Orchestrator10 ways to trigger runbooks from Orchestrator
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 jungleFredrik 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
FMS Administration SeminarFMS Administration Seminar
FMS Administration Seminar
 
java Servlet technology
java Servlet technologyjava Servlet technology
java Servlet technology
 
16.7_Release_Notes.pdf
16.7_Release_Notes.pdf16.7_Release_Notes.pdf
16.7_Release_Notes.pdf
 
IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...
IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...
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
Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0	Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0
Logger Forwarding Connector for HPE OM Configuration Guide 7.1.7.7611.0
 
Ovms ops manager_admin
Ovms ops manager_adminOvms ops manager_admin
Ovms ops manager_admin
 

Último

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Último (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

Ulteo Open Virtual Desktop Protocol Documentation

  • 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