Up: Aplikacje

Chat

Dzięki prostej wersji systemu Chat użytkownik może wysyłać wiadomość do osoby korzystającej z tej usługi oraz odbierać wiadomości skierowane do niego. Schemat elementów aplikacji można zobaczyć na rys. 6.4. Aplikacja składa się z:

Rysunek 6.4: Schemat modułów aplikacji CoSMoL@Chat
\includegraphics[scale=0.4]{rys_B41.eps}

Na początku użytkownik loguje się do systemu wybierając pseudonim. Informacja z pseudonimem zostaje wysłana do serwisu poprzez serwer proxy, który w postaci krotki wstawia ją do przestrzeni krotek. Dzięki temu użytkownik otrzymuje swój identyfikator. Serwis Chat rejestruje nowego użytkownika i generuje formularz opisany w języku MXML (patrz rys. 6.6). Wstawia do opisu identyfikator użytkownika, który zgłosił się do serwisu i przesyła go do przestrzeni krotek w postaci krotki. Klient pobiera opis formularza przez serwer proxy z przestrzeni krotek i interpretuje go, w wyniku czego otrzymuje formularz (patrz rys. 6.5), za pomocą którego ma możliwość odbierania i wysyłania wiadomości. Użytkownik, aby wysłać wiadomość, podaje nazwę użytkownika i treść wiadomości, którą wysyła jako krotkę

[CHAT, nazwa użytkownika, nazwa odbiorcy, wiadomość],
do przestrzeni krotek za pomocą serwera proxy. Wiadomość w postaci krotki oczekuje na odbiorcę w przestrzeni krotek. Aby odebrać wiadomość można podać nazwę użytkownika, od którego chcemy odebrać wiadomość lub pobrać dowolną wiadomość z przestrzeni krotek. Gdy w przestrzeni nie ma wiadomości, nic nie zostanie wyświetlone, jeśli jest wiele wiadomości, zostanie pobrana jedna z nich i skasowana z przestrzeni. Po odczytaniu wiadomość ginie. Po naciśnięciu przycisku Receive, klient wysyła do serwera proxy polecenie pobrania krotki -- take, która pasuje do szablonu:
[CHAT, String, nazwa użytkownika, String],
lub jeśli została podana nazwa nadawcy wiadomości
[CHAT, nazwa nadawcy, nazwa użytkownika, String],

Rysunek 6.5: Klient aplikacji CoSMoL@Chat
\includegraphics[scale=0.9]{chat.eps}

Na rysunku 6.5 przedstawiam formularz do wysyłania i odbierania wiadomości. Formularz składa się z pola tekstowego To:, do którego użytkownika wpisuje nazwę odbiorcy wiadomości, a pod nim pole tekstowe na wpisanie wiadomości. Pole testowe From: wyświetla nazwę użytkownika, od którego przyszła wiadomość i treść wiadomości. Można określić nazwę użytkownika, od którego chcemy odebrać wiadomość, przez wpisanie go w pole From:. Przycisk Send służy do wysłania wiadomości, przycisk Receive -- do odbioru wiadomości, zaś przycisk Exit powoduje zakończenie aplikacji i wylogowanie.

Na rysunku 6.6 przedstawiam opis interfejsu użytkownika dla aplikacji CoSMoL@Chat. Znacznik TUPLE z parametrem name o wartości to to definicja krotki, która jest wstawiana do przestrzeni krotek, gdy jest wysyłana wiadomość przez klienta, zaś znacznik TUPLE o wartości from parametru name określa krotkę-szablon, służącą do odbioru wiadomości z przestrzeni krotek. Znacznik

   <ACTION type="take" name="from"/>
opisuje pobieranie krotki o nazwie from z przestrzeni krotek.

Rysunek 6.6: Opis interfejsu klienta aplikacji CoSMoL@Chat w języku MXML
\begin{figure}\centering\begin{verbatim}<MXML name=''chat''>
<ATTR name=''lab...
...R>
<ACTION type=''exit''/></OBJECT>
</PANEL>
</MXML>\end{verbatim}\end{figure}

Znacznik

   <ACTION type="write" name="to"/>
opisuje wstawianie krotki o nazwie to do przestrzeni krotek.
Znaczniki
   <ACTION type="set" object="to">
    <ATTR name="to"><VALUE name="tto" attr="label"/></ATTR>
    <ATTR name="msg"><VALUE name="ttomsg" attr="label"/></ATTR>
   </ACTION>
opisują wypełnienie pola obiektu to -- w tym przypadku jest to krotka do wstawienia do przestrzeni krotek. Zawartość do wstawienia jest pobrana dla pola to z obiektu tto, który jest polem tekstowym i dla pola msg z obiektu ttomsg, który również jest polem tekstowym.


sierpień 2001