| |
2-38 Zusätzliche strukturiereneinheiten für das OTS, v1.0 September 2002 2 2,3 Verteilende KontextcInformationen Die KERN-Spezifikation muß dem IOP-Modul das folgende neue ServiceId hinzufügen Modul IOP {// IDL const ServiceId ActivityService = 16; } Es wird angenommen, daß ein passender beweglicher Auffänger benutzt wird, um das Senden zu beschäftigen und Tätigkeitskontextinformationen erhalten; dieses erfordert den Auffänger zu un/marshal der Kontext from/into die richtige Position in der Service-Kontextstruktur. Wenn Beweglich Auffänger werden nicht benutzt, dann müssen ähnliche Einheiten benutzt werden, um das sicherzugehen Kontextinformationsflüsse implizit zwischen Durchführungsklimas. Sicherstellen Interoperabilität zwischen Tätigkeitsservice-Implementierungen, Einheiten, die nicht bauen nach beweglichen Auffängern sollte in einer ähnlichen Weise zu einem Auffänger sich benehmen und kodieren die Kontextinformationen passend. Es ist die Verantwortlichkeit der Tätigkeitsservice-Implementierung, einen Klienten zu registrieren und seitlicher Auffänger des Bedieners. Dieses wird erzielt, indem man benennt: ? PortableInterceptor::ORBInitInfo::add_client_request_interceptor(in ClientRequestInterceptor) ? PortableInterceptor::ORBInitInfo::add_server_request_interceptor(in ServerRequestInterceptor) Der Auffänger ist für marshalling/unmarshalling jeder möglicher Tätigkeitskontext verantwortlich Informationen an den passenden Abfangenpunkten. Das sending/receiving der Tätigkeitskontextinformationen polizeilich zu überwachen ist vom POA abhängig Attribute beschrieben im folgenden Abschnitt. 2,3,1 Attribute Des TätigkeitscServices POA Der Tätigkeitsservice verwendet eine POA-Politik, um die Eigenschaften zu definieren, die auf Tätigkeiten bezogen werden. Diese Politik wird im IOR als Umbaubestandteil kodiert und exportiert in den Klienten wenn Gegenstandhinweis wird verursacht. Dieses ermöglicht Gültigkeitserklärung, daß ein bestimmter Gegenstand zu fähig ist die Tätigkeitseigenschaften stützen erwartet vom Klienten. typedef nicht unterzeichnetes kurzes ActivityPolicyValue; const ActivityPolicyValue ERFORDERT = 1; const ActivityPolicyValue VERBIETET = 2; const ActivityPolicyValue PASST = 3 an; const ActivityPolicyValue INTERNE = 4; const CORBA::PolicyType ActivityPolicyType = 58; Schnittstelle ActivityPolicy: CORBA::Policy { schreibgeschütztes apv AttributActivityPolicyValue; } |  |
|
| |
|
|