Balik FileServer obsahuje nasledujici spustitelne programy:

  1. FileServerServer
  2. FileServerMount
  3. FileServerList
  4. FileServerCP

ad1)

Tento program vytvari vlastni souborovy server. Je k nemu mozne logicky pripojovat dalsi servery a samozrejme pristupovat k poskytovane stromove strukture souboru.

Syntaxe prikazove radky:
FileServerServer server_name local_mount_point
server_name
definuje jmeno serveru pro sluzbu NamingService (pod timto jmenem se k serveru pristupuje z ostatnich programu.
local_mount_point
cesta k adresari, ktery bude tvorit vrchol adresaroveho stromu poskytovaneho timto serverem.

ad2)

Pomoci tohoto programu muzete k hostilskemu serveru do specifikovaneho adresare logicky pripojit jiny server a transparentne tak pristupovat k souborum pripojeneho serveru, pomoci volani na hostitelskem serveru.

Syntaxe prikazove radky:
FileServerMount root_server_name server_to_mount mount_point
root_server_name
jmeno hostilskeho serveru
server_to_mount
jmeno pripojovaneho serveru
mount_point
misto na hostitelskem serveru, do ktereho se pripoji pripojovany server

ad 3)

Tento program slouzi k vypisu obsahu adresare na specifikovanem serveru.

Syntaxe prikazove radky:
FileServerList server_name file_location
server_name
jmeno serveru
file_location
cesta k adresari na serveru jez ma byt listovan

ad 4)

FileServerCP je jednoducha utilitka, ktera provadi kopirovani souboru z jednoho mista na druhe. Zdrojove a cilove misto muze byt bud lokalni soubor, nebo soubor na nekterem serveru. Pokud jsou obe mista lokalni soubory, program vypise hlaseni o pouziti standardni kopirovaci funkce. Cesta k souboru na serveru ma tvar server_name:cesta_na_serveru, kde server_name musi byt delsi nez jeden znak. Pokud cilovy soubor existuje, je o tom podano hlaseni a program konci.

Syntaxe prikazove radky:
FileServerCP source_file destination_file

Priklad pouziti:

  1. Spustime NamingService
  2. Spustime nekolik serveru
    FileServerServer root k:\data
    FileServerServer mount1 c:\another_data

  3. Pripojime server mount1 do adresare mounted_data serveru root
    FileServerMount root mount1 mounted_data

  4. Vypiseme obsah adresare mounted_data\mp3 na serveru root
    FileServerList root mounted_data\mp3

  5. Zkopirujeme soubor mounted_data\mp3\hudba.mp3 na serveru root do lokalniho souboru c:\music.mp3
    FileServerCP root:mounted_data\mp3\hudba.mp3 c:\music.mp3

Implementacni poznamky:

Soubory FileServerList.java, FileServerMount.java a FileServerCp.java jsou klienti, kteri se snazi demonstrovat funkce trid CorbaFile FileFactory. Soubor FileServerServer.java je server poskytujici tyto sluzby.

Soubor fileTools.java obsahuje implementaci vetsiny funkcionality tridy CorbaFile. Trida AFile poskytuje oprace cteni a zapisu do souboru, trida FilesPool vytvari cache techto souboru, nebot kazdy soubor je otevren pouze jednou a operace nad nim jsou synchronizovany. To muze byt zvlaste vyhodne v rozsireni o seek na konec souboru a soucasnem zapisu dvou procesu do jednoho souboru napriklad logu (jednotlive zpravy budou promichany, jen na urovni jednotlivych zapisu, coz vetsinou nemusi vadit).

V implementaci metod tridy FileFactory se pak pouziva hledani prefixu cest a pripadne presmerovani pozadavku na prislusny pripojeny server.

V pripade chyby jsou vyhazovany prislusne uzivatelsky definovane vyjimky.