Connectors/de

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
 
(3 intermediate revisions by one user not shown)
Line 1: Line 1:
{{Quicklinks}}
+
{{Quicklinks|Connectors}}
 
<br />
 
<br />
 
==Überblick==
 
==Überblick==
  
Es gibt bis zu 5 Komponenten in Verbindungs ​​Simulator Code an einem Raster-Service beteiligt.  
+
An der Verbindung von Simulatorcode mit einem Grid-Service sind bis zu 5 Komponenten beteiligt.
  
 
Diese sind:
 
Diese sind:
Line 10: Line 10:
 
!Component!!Location!!Description
 
!Component!!Location!!Description
 
|-
 
|-
| Der Simulator Code selbst || Open Kern oder ein Modul || Dies verweist zunächst den Service zu erhalten oder Daten festgelegt.
+
| Der Simulator Code selbst || OpenSimulator-Core oder ein Modul || Dies verweist zunächst auf den Dienst, um Daten abzurufen oder festzulegen.
 
|-
 
|-
 
| Der Simulator service connector || OpenSim/Region/CoreModules/ServiceConnectorsOut (für ausgehende Verbindungen) und ServiceConnectorsIn (für eingehende Verbindungen) || Diese Anschlüsse Es gibt zwei Arten, lokal und remote. Die lokalen Anschlüsse direkt an den Service und verwendet werden, wenn Anrufer und Service im gleichen Prozess (wie in der Standalone-Konfiguration) sind. Die Remote-Anschlüsse verwenden, um die Service-Anschlüsse in OpenSim / Dienstleistungen / Connectors, um einen Anruf über das Netzwerk zu einem entfernten Prozess.
 
| Der Simulator service connector || OpenSim/Region/CoreModules/ServiceConnectorsOut (für ausgehende Verbindungen) und ServiceConnectorsIn (für eingehende Verbindungen) || Diese Anschlüsse Es gibt zwei Arten, lokal und remote. Die lokalen Anschlüsse direkt an den Service und verwendet werden, wenn Anrufer und Service im gleichen Prozess (wie in der Standalone-Konfiguration) sind. Die Remote-Anschlüsse verwenden, um die Service-Anschlüsse in OpenSim / Dienstleistungen / Connectors, um einen Anruf über das Netzwerk zu einem entfernten Prozess.
Line 23: Line 23:
 
== Beispiel ==
 
== Beispiel ==
  
Let's take a look at the asset service. The asset service connector is available as the Scene.AssetService property in the Scene object (direct references aren't always available - sometimes the connector has to be requested via the Scene.RequestModuleInterface<Interface>() mechanism).
+
Werfen wir einen Blick auf den Asset-Service. Der Asset-Service-Connector ist als Scene.AssetService-Eigenschaft im Scene-Objekt verfügbar (direkte Verweise sind nicht immer verfügbar – manchmal muss der Connector über den Scene.RequestModuleInterface<Interface>()-Mechanismus angefordert werden).
  
A caller executes the method Scene.AssetService.Get() to retrieve an asset synchronously.  
+
Ein Aufrufer führt die Methode Scene.AssetService.Get() aus, um ein Asset synchron abzurufen.
  
Suppose first of all that we're running a standalone configuration where both simulator and service are in the same process. In this case, the simulator's call goes to the LocalAssetServiceConnector.Get(). This first checks the cache, and if the asset isn't found there, then calls AssetService.Get(). The AssetService retrieves the asset from persistent storage and passes it back to the simulator code.
+
Nehmen wir zunächst an, dass wir eine eigenständige Konfiguration ausführen, in der sich Simulator und Dienst im selben Prozess befinden. In diesem Fall geht der Aufruf des Simulators an LocalAssetServiceConnector.Get(). Dadurch wird zuerst der Cache überprüft, und wenn das Asset dort nicht gefunden wird, wird AssetService.Get() aufgerufen. Der AssetService ruft das Asset aus dem dauerhaften Speicher ab und übergibt es an den Simulatorcode zurück.
  
Now let's suppose that we're running in a grid configuration, where the asset service is operating on some other machine. As before, the simulator code calls Scene.AssetService.Get(). This time, the call is routed to RemoteAssetServiceConnector.Get(), which in this case inherits from OpenSim/Services/Connectors/AssetServiceConnector.
+
Nehmen wir nun an, dass wir in einer Grid-Konfiguration arbeiten, in der der Asset-Dienst auf einem anderen Computer ausgeführt wird. Wie zuvor ruft der Simulatorcode Scene.AssetService.Get() auf. Diesmal wird der Aufruf an RemoteAssetServiceConnector.Get() geleitet, das in diesem Fall von OpenSim/Services/Connectors/AssetServiceConnector erbt.
  
AssetServiceConnector.Get() generates an HTTP call to http://yourassetserver/assets/assetId, where assetId is the id of the asset requested.
+
AssetServiceConnector.Get() generiert einen HTTP-Aufruf an http://yourassetserver/assets/assetId , wobei assetId die ID des angeforderten Assets ist.
  
This hops over the network and is handled by OpenSim/Server/Handlers/Asset/AssetServerConnector. It uses its own AssetServerGetHandler to unpack the HTTP request and call the AssetService to retrieve the data. If the asset is found, then it returns the asset as XML ready for the receiving AssetServiceConnector to unpack. If the asset is missing then it returns a 404 HTTP status code.
+
Dies springt über das Netzwerk und wird von OpenSim/Server/Handlers/Asset/AssetServerConnector gehandhabt. Es verwendet seinen eigenen AssetServerGetHandler, um die HTTP-Anforderung zu entpacken und den AssetService aufzurufen, um die Daten abzurufen. Wenn das Asset gefunden wird, gibt es das Asset als XML zurück, bereit zum Entpacken durch den empfangenden AssetServiceConnector. Wenn das Asset fehlt, wird der HTTP-Statuscode 404 zurückgegeben.
  
== Konfiguration ==
+
== Aufbau ==
  
Connectors are configured in OpenSimulator configuration files. For standalone, the configuration is in bin/config-include/Standalone.ini. Standalone users never need to change this file. For grid users, the configuration is in bin/config-include/Grid.ini and GridCommon.ini. In the grid case, GridCommon.ini (after copying from GridCommon.ini.example) is where the user specifies the URLs for each grid service.
+
Konnektoren werden in OpenSimulator-Konfigurationsdateien konfiguriert. Für Standalone befindet sich die Konfiguration in bin/config-include/Standalone.ini. Standalone-Benutzer müssen diese Datei nie ändern. Für Grid-Benutzer befindet sich die Konfiguration in bin/config-include/Grid.ini und GridCommon.ini. Im Grid-Fall ist GridCommon.ini (nach dem Kopieren aus GridCommon.ini.example) der Ort, an dem der Benutzer die URLs für jeden Grid-Dienst angibt.
  
 
=== Standalone ===
 
=== Standalone ===
  
Let's look at Standalone.ini. You'll see that there is a Modules section with the lines
+
Schauen wir uns Standalone.ini an. Sie werden sehen, dass es einen Modulabschnitt mit den Zeilen gibt
  
[Modules]
+
[Module]
    AssetServices           = "LocalAssetServicesConnector"
+
  AssetServices = "LocalAssetServicesConnector"
    InventoryServices       = "LocalInventoryServicesConnector"
+
  InventoryServices = "LocalInventoryServicesConnector"
    NeighbourServices       = "LocalNeighbourServicesConnector"
+
  NeighbourServices = "LocalNeighbourServicesConnector"
    ...
+
  ...
  
This is where the connectors are specified for each service. As you can see, the asset service here is specified to use the LocalAssetServicesConnector.
+
Hier werden die Konnektoren für jeden Dienst angegeben. Wie Sie sehen können, ist der Asset-Dienst hier so angegeben, dass er LocalAssetServicesConnector verwendet.
  
Further down, you can see the section
+
Weiter unten sehen Sie den Abschnitt
  
[AssetService]
+
[AssetService]
    LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
+
  LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
  
This is where we tell OpenSimulator which DLL to load for the in-process asset service.
+
Hier teilen wir OpenSimulator mit, welche DLL für den In-Process-Asset-Service geladen werden soll.
  
 
=== Grid ===
 
=== Grid ===
  
Compare this with Grid.ini.
+
Vergleichen Sie dies mit Grid.ini.
  
[Modules]
+
[Module]
    AssetServices     = "RemoteAssetServicesConnector"
+
  AssetServices = "RemoteAssetServicesConnector"
    InventoryServices   = "RemoteXInventoryServicesConnector"
+
  InventoryServices = "RemoteXInventoryServicesConnector"
    GridServices     = "RemoteGridServicesConnector"
+
  GridServices = "RemoteGridServicesConnector"
    ...
+
  ...
  
In this case, the asset service connector is specified as the RemoteAssetServicesConnector class.  
+
In diesem Fall wird der Asset-Service-Connector als RemoteAssetServicesConnector-Klasse angegeben.
  
The [AssetService] section isn't in this file because we don't load a service class directly (seeing as the service is hosted remotely). Rather, we need to specify the URL where the asset service is found. Since this will be different for various grid installations, it's in the user configurable GridCommon.ini file instead.
+
Der Abschnitt [AssetService] befindet sich nicht in dieser Datei, da wir eine Dienstklasse nicht direkt laden (da der Dienst remote gehostet wird). Stattdessen müssen wir die URL angeben, unter der der Asset-Dienst gefunden wird. Da dies für verschiedene Grid-Installationen unterschiedlich sein wird, befindet es sich stattdessen in der vom Benutzer konfigurierbaren GridCommon.ini-Datei.
  
[AssetService]
+
[AssetService]
    ...
+
  ...
    ;   
+
  ;   
    ; change this to your grid-wide asset server
+
  ; Aendern Sie dies auf Ihren Grid-weiten Asset-Server
    ;   
+
  ;   
    AssetServerURI = "http://myassetserver.com:8003"
+
  AssetServerURI = " http://myassetserver.com:8003 "
  
 
== Referenzen ==
 
== Referenzen ==
  
For some more extensive but somewhat outdated documentation on services and connectors, please see [[OpenSim Services and Service Connectors]]
+
Eine ausführlichere, aber etwas veraltete Dokumentation zu Diensten und Konnektoren finden Sie unter [[OpenSim Services and Service Connectors]]
  
See [[Services]] for a summary of services.
+
Eine Zusammenfassung der Dienste finden Sie unter [[Services]]
 +
 
 +
[[Category:German Translations]]

Latest revision as of 11:51, 21 February 2023


Contents

[edit] Überblick

An der Verbindung von Simulatorcode mit einem Grid-Service sind bis zu 5 Komponenten beteiligt.

Diese sind:

Component Location Description
Der Simulator Code selbst OpenSimulator-Core oder ein Modul Dies verweist zunächst auf den Dienst, um Daten abzurufen oder festzulegen.
Der Simulator service connector OpenSim/Region/CoreModules/ServiceConnectorsOut (für ausgehende Verbindungen) und ServiceConnectorsIn (für eingehende Verbindungen) Diese Anschlüsse Es gibt zwei Arten, lokal und remote. Die lokalen Anschlüsse direkt an den Service und verwendet werden, wenn Anrufer und Service im gleichen Prozess (wie in der Standalone-Konfiguration) sind. Die Remote-Anschlüsse verwenden, um die Service-Anschlüsse in OpenSim / Dienstleistungen / Connectors, um einen Anruf über das Netzwerk zu einem entfernten Prozess.
Der remote service connector OpenSim/Services/Connectors Diese machen die Arbeit der die Daten tatsächlich Rangier- und machen Sie den entsprechenden Anruf zu einem Remote-Datendienst. Diese sind nicht für die In-Prozess-Verbindungen verwendet.
Der remote service handler OpenSim/Server/Handlers Diese sind nicht für die In-Prozess-Verbindungen verwendet. Diese entpacken den Anruf von einem Simulator-Anschluss empfangen und geben sie nicht an den Dienst selbst.
Der Service Jeder Haupt Service hat sein eigenes Paket (e.g. OpenSim/Services/AssetService). Der Service-Leistungen tatsächlich den Anruf entgegen und gibt die Daten an den Anrufer, falls zutreffend.

[edit] Beispiel

Werfen wir einen Blick auf den Asset-Service. Der Asset-Service-Connector ist als Scene.AssetService-Eigenschaft im Scene-Objekt verfügbar (direkte Verweise sind nicht immer verfügbar – manchmal muss der Connector über den Scene.RequestModuleInterface<Interface>()-Mechanismus angefordert werden).

Ein Aufrufer führt die Methode Scene.AssetService.Get() aus, um ein Asset synchron abzurufen.

Nehmen wir zunächst an, dass wir eine eigenständige Konfiguration ausführen, in der sich Simulator und Dienst im selben Prozess befinden. In diesem Fall geht der Aufruf des Simulators an LocalAssetServiceConnector.Get(). Dadurch wird zuerst der Cache überprüft, und wenn das Asset dort nicht gefunden wird, wird AssetService.Get() aufgerufen. Der AssetService ruft das Asset aus dem dauerhaften Speicher ab und übergibt es an den Simulatorcode zurück.

Nehmen wir nun an, dass wir in einer Grid-Konfiguration arbeiten, in der der Asset-Dienst auf einem anderen Computer ausgeführt wird. Wie zuvor ruft der Simulatorcode Scene.AssetService.Get() auf. Diesmal wird der Aufruf an RemoteAssetServiceConnector.Get() geleitet, das in diesem Fall von OpenSim/Services/Connectors/AssetServiceConnector erbt.

AssetServiceConnector.Get() generiert einen HTTP-Aufruf an http://yourassetserver/assets/assetId , wobei assetId die ID des angeforderten Assets ist.

Dies springt über das Netzwerk und wird von OpenSim/Server/Handlers/Asset/AssetServerConnector gehandhabt. Es verwendet seinen eigenen AssetServerGetHandler, um die HTTP-Anforderung zu entpacken und den AssetService aufzurufen, um die Daten abzurufen. Wenn das Asset gefunden wird, gibt es das Asset als XML zurück, bereit zum Entpacken durch den empfangenden AssetServiceConnector. Wenn das Asset fehlt, wird der HTTP-Statuscode 404 zurückgegeben.

[edit] Aufbau

Konnektoren werden in OpenSimulator-Konfigurationsdateien konfiguriert. Für Standalone befindet sich die Konfiguration in bin/config-include/Standalone.ini. Standalone-Benutzer müssen diese Datei nie ändern. Für Grid-Benutzer befindet sich die Konfiguration in bin/config-include/Grid.ini und GridCommon.ini. Im Grid-Fall ist GridCommon.ini (nach dem Kopieren aus GridCommon.ini.example) der Ort, an dem der Benutzer die URLs für jeden Grid-Dienst angibt.

[edit] Standalone

Schauen wir uns Standalone.ini an. Sie werden sehen, dass es einen Modulabschnitt mit den Zeilen gibt

[Module]

  AssetServices = "LocalAssetServicesConnector"
  InventoryServices = "LocalInventoryServicesConnector"
  NeighbourServices = "LocalNeighbourServicesConnector"
  ...

Hier werden die Konnektoren für jeden Dienst angegeben. Wie Sie sehen können, ist der Asset-Dienst hier so angegeben, dass er LocalAssetServicesConnector verwendet.

Weiter unten sehen Sie den Abschnitt

[AssetService]

  LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"

Hier teilen wir OpenSimulator mit, welche DLL für den In-Process-Asset-Service geladen werden soll.

[edit] Grid

Vergleichen Sie dies mit Grid.ini.

[Module]

  AssetServices = "RemoteAssetServicesConnector"
  InventoryServices = "RemoteXInventoryServicesConnector"
  GridServices = "RemoteGridServicesConnector"
  ...

In diesem Fall wird der Asset-Service-Connector als RemoteAssetServicesConnector-Klasse angegeben.

Der Abschnitt [AssetService] befindet sich nicht in dieser Datei, da wir eine Dienstklasse nicht direkt laden (da der Dienst remote gehostet wird). Stattdessen müssen wir die URL angeben, unter der der Asset-Dienst gefunden wird. Da dies für verschiedene Grid-Installationen unterschiedlich sein wird, befindet es sich stattdessen in der vom Benutzer konfigurierbaren GridCommon.ini-Datei.

[AssetService]

  ...
  ;   
  ; Aendern Sie dies auf Ihren Grid-weiten Asset-Server
  ;   
  AssetServerURI = " http://myassetserver.com:8003 "

[edit] Referenzen

Eine ausführlichere, aber etwas veraltete Dokumentation zu Diensten und Konnektoren finden Sie unter OpenSim Services and Service Connectors

Eine Zusammenfassung der Dienste finden Sie unter Services

Personal tools
General
About This Wiki