Ressourcenproxys abrufen

Die Klasse Provider erstellt in Reaktion auf Clientanforderungen Proxys. Der Client kann dann Methoden für den Proxy aufrufen, um mit der angegebenen Ressource zu arbeiten. Wenn Clients einen Proxy für eine Ressource an einer bestimmten Position benötigen, müssen sie bei der Klasse Provider die Erstellung und Rückgabe eines Proxys für die Ressource an dieser Position anfordern. Die folgenden Beispiele erstellen jeweils einen Proxy für eine Ressource an der von der Variablen location angegebenen Position:
Resource my_resource = provider.resource(location);
 
CcActivity my_activity = ccProvider.ccActivity(location);

Mit den Proxy-Factory-Methoden kann ein Proxy abgerufen werden, der eines der Proxyinterfaces implementiert. Jeder domänenspezifische Provider definiert Methoden für die Erstellung von Proxys für Ressourcen in seiner Domäne. Für die einzelnen Factory-Methoden gilt die Namenskonvention, dass der Methodenname mit Aunahme des ersten Buchstabens, der klein- statt großgeschrieben wird, dieselbe Schreibweise wie die Proxyklasse hat. CqProvider.cqRecord() gibt beispielsweise eine CqRecord-Instanz zurück.

Alternativ dazu kann mit der Methode Provider.buildProxy für eine Ressource an einer angegebenen Position ein neuer Proxy eines bestimmten Typs erstellt werden. Darüber hinaus können Sie mit der Methode StpProvider.buildProxy(Klasse, Zeichenfolge) einen Proxy direkt aus einer Zeichenfolgendarstellung seiner Position abrufen, ohne den Weg über StpLocation gehen zu müssen.

Proxys sind nicht als langlebige Zwischenspeicher für Informationen zu einer Ressource auf dem Server gedacht. Ihr Zweck ist es, die für die Ausführung einer Serveroperation erforderlichen Daten vor ihrer Instanziierung zu serialisieren und zu deserialisieren und einen Container bereitzustellen, in dem die Ergebnisse der Operation an einen Client zurückgegeben werden können. Bei einer Client-Server-Anwendung birgt das Speichern von Daten auf dem Client das Risiko, dass die Daten nicht mit dem Server synchron sind. Aus diesem Grund gibt die Rational CM API für jede do-Methodenoperation immer einen neuen Proxy zurück.

Weitere Informationen hierzu finden Sie im Artikel Positionssyntax.