Przegląd komponentu Agent Controller

Środowisko gromadzenia danych TPTP udostępnia strukturę, w której aplikacja narzędziowa (klient) może współpracować z jedną lub kilkoma aplikacjami udostępniającymi dane (agentami) w jednolity sposób, niezależnie od ich położenia. Środowisko składa się z interfejsu klienta, procesu zarządzania agentami, interfejsu agenta oraz kilku agentów ogólnego użytku. Proces zarządzania agentami nosi nazwę Agent Controller.  To właśnie ten komponent pozwala aplikacji klienckiej uniknąć konieczności znajdowania i uruchamiania różnych dostawców danych na maszynach lokalnych lub zdalnych, które mogą reprezentować takie same lub różne platformy (architektury i systemy operacyjne), a także używać takich samych lub różnych języków programowania (C/C++, Java).

Aplikacja kliencka używa interfejsu API klienta ze środowiska, aby zażądać usług agenta w konkretnym systemie. Do komponentu Agent Controller należy wyszukanie instancji działającego agenta (lub dołączenie do działającej już instancji), w oparciu o ustawienia konfiguracyjne tego agenta oraz parametry żądania przekazane przez klienta. Szczegóły nawiązania komunikacji i uruchamiania procesu agenta są obsługiwane przez środowisko. Klient korzysta następnie z interfejsu API, aby utworzyć i wysłać żądania do agenta przy użyciu zestawu komend (w formacie XML) zdefiniowanych przez agenta.

Agent (aplikacja udostępniająca dane) nie musi mieć żadnych informacji o kliencie przesyłającym żądanie danych.  Programista agenta definiuje zestaw komend (w formacie XML), na które agent będzie odpowiadał, aby świadczyć udostępniane usługi.  Usługi nie muszą polegać na gromadzeniu danych.  Agent może po prostu przeprowadzać działania na żądanie klienta. 

Aby aplikacja mogła być agentem w tym środowisku, musi się zarejestrować w komponencie Agent Controller, a następnie nasłuchiwać żądań przechodzących przez ten komponent. Środowisko udostępnia implementację na potrzeby ogólne agenta, a więc agent nie musi zajmować się szczegółowym zestawianiem połączeń.  Musi jedynie przyjmować zdefiniowane przezeń komendy oraz wykonywać działania na ich podstawie. Klient i agent mogą korzystać ze środowiska w celu zdefiniowania ścieżki, po której mogą między nimi przepływać dane.  Format tych danych nie podlega ograniczeniom.

Komponent Agent Controller został zaprojektowany tak, aby był elastyczny. Istnieje więc plik konfiguracyjny, który pozwala administratorowi sterować sposobem wykonywania niektórych działań.  Więcej informacji można znaleźć w przeglądzie pliku konfiguracyjnego.

Poniżej przedstawiono obszerniejszy opis komponentów wchodzących w skład środowiska gromadzenia danych:

Agent
Agent to aplikacja, która udostępnia usługi przez komponent Agent Controller. Każda aplikacja, która zarejestruje się w komponencie Agent Controller i może się z nim komunikować za pomocą komunikatów sterujących, jest agentem. Klient uzyskuje dostęp do poszczególnych usług agenta przy użyciu udokumentowanego zestawu komunikatów sterujących, zdefiniowanych przez agenta.  Komponent Agent Controller przekazuje komunikaty sterujące między klientem i agentem, nie wnikając w ich treść.  Agent określa, czy może obsługiwać wiele klientów jednocześnie i czy może być uruchamiany w kilku instancjach.  Agent powinien być zarejestrowany tylko w jednym komponencie Agent Controller.  Agent zazwyczaj gromadzi dane o systemie na którym działa lub aplikacji którą monitoruje. Może też wykonywać działania takie jak uruchamianie aplikacji lub kopiowanie plików.
Klient
Klient to aplikacja (np. środowisko robocze Eclipse*), która umożliwia użytkownikowi usługi interakcję z dostawcą (agentem). Pojedynczy klient może potencjalnie podłączyć się do wielu komponentów Agent Controller jednocześnie.  Klient może też korzystać z usług wielu agentów jednocześnie.  Klient żąda dostępu do agenta za pośrednictwem komponentu Agent Controller.  Jeśli żądany agent nie działa, komponent Agent Controller uruchamia go.  Klient może żądać wyłącznego dostępu do agenta, ale w takim przypadku wszystkie następne żądania usług do tego agenta generowane przez inne klienty będą powodowały utworzenie przez komponent Agent Controller nowej instancji tego agenta. Klient wysyła żądania do agenta przy użyciu podstawowego zestawu komend oraz rozszerzeń zdefiniowanych przez agenta.
Komponent Agent Controller 
Komponent Agent Controller to proces, który działa na każdym systemie docelowym, do którego klienty wysyłają żądania usług.  Agent oraz komponent Agent Controller zawsze współistnieją na tym samym systemie.  Klient i komponent Agent Controller nie muszą rezydować na tym samym systemie.  Komponent Agent Controller zarządza wszystkimi szczegółami związanymi z uruchamianiem agentów oraz komunikacją z nimi. Komponent Agent Controller może równocześnie współpracować z wieloma agentami. Klient nie jest związany z konkretnym agentem, dopóki nie uzyska uchwytu do tego agenta od komponentu Agent Controller.

Czynności pokrewne
Model koncepcyjny gromadzenia danych
Administrowanie komponentem Agent Controller
 

Copyright (C) 2005, 2006 Intel Corporation.