Discovery Process for Automatically Launched Servers|OPC UA Standard|Forum|OPC Foundation

Avatar
Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
sp_Feed sp_PrintTopic sp_TopicIcon
Discovery Process for Automatically Launched Servers
Avatar
Chris Carew
New Member
Members
Forum Posts: 1
Member Since:
04/10/2014
sp_UserOfflineSmall Offline
1
11/27/2020 - 11:29
sp_Permalink sp_Print sp_EditHistory

Good afternoon! I should start this off by stating that I am not a programmer, so much of the specification is beyond my scope. I do, however, work with some very knowledgeable developers and I always take these types of questions to them before going any further. As a technical trainer I develop training modules for OPC UA users, and this often involves interpreting the functionality defined in the spec and expressing it in terms that are easily understood by non-programmer students. This issue is one I came across in a recent training project.

This Discovery process is described in 1.02 and further amplified in 1.03. It is still part of 1.04. I was under the impression that OPC UA clients do not have the ability to launch an OPC UA server as this is a feature of specific technology, such as CoCreateInstance in COM. Further, this functionality of the client launching a server on “connect” is not defined in the OPC UA specification under the services (Part 4) or the Service Mappings (Part 6). I have discussed this with our developers and they have assured me that the specification does not define this capability and that the process defined in the spec (Part 4 para 5.4.5.1, p 16/17) is only one way in which to accomplish this functionality. If this is an example of a specific implementation, why is it included in the specification? Should it not at least be identified as such?

Avatar
Randy Armstrong
Admin
Forum Posts: 1579
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
2
11/27/2020 - 15:34
sp_Permalink sp_Print

The ‘launch on connect’ feature is a security nightmare that resulted in numerous exploits to DCOM. It is not in OPC UA by design.

Similarly, OPC UA servers need to be assigned a port in advance so it is not necessary to poke large holes in a firewall to allow OPC UA communication.

The discussion in https://reference.opcfoundatio…..5/#5.4.5.1 refers to Servers being automatically launched by the OS or the applications running on the same machine, such as an HTTP server. It is not intended to describe a mechanism where clients launch servers. The only analog you could find is a UA Server designed to accept HTTP requests and runs inside an app pool managed by the HTTP server. The HTTP server could automatically launch the UA server in response to a client request if it is not already running. In this scenario, the HTTP server is already running an listening on a known port and all communication to the UA server is via the HTTP server.

Forum Timezone: America/Phoenix
Most Users Ever Online: 510
Currently Online:
Guest(s) 24
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Forum Stats:
Groups: 2
Forums: 10
Topics: 1445
Posts: 4889