Ablieferungstermin und erreichbare Punktzahl für diese Aufgabe, sowie Voraussetzungen für die Prüfungszulassung entnehmen Sie bitte http://sar.informatik.hu-berlin.de. Aufgabe 2 – CORBA File System BrowserZur Einführung soll ein einfacher Dateisystem-Browser mit Hilfe von CORBA realisiert werden. Die Anwendung gliedert sich in eine Server-Komponente, der Informationen über ein Dateisystem bereitstellt, und eine Client-Komponente, der diese Informationen benutzt. Teil A - Modellierung einer Dateisystem-Schnittstelle mit Hilfe von CORBAIn der betrachteten Anwendungsdomäne lassen sich die Entitäten File, FileDirectory und Directory identifizieren. Entwerfen Sie für diese Entitäten CORBA-Interfaces, die die folgenden Ausführungen berücksichtigen.
Teil B - ServerImplementieren sie die im Teil A entworfenen Interfaces und realisieren sie einen Server. Der Server erzeugt beim Start ein Directory Element als Startknoten. Lösen Sie das Problem, wie der Client eine Referenz auf diesen Startknoten erhält. Der Server besitzt einen obligatorischen Kommandozeilen-Parameter, der den Startpunkt im Dateisystem angibt. Beim Start des Servers soll dafür ein FileDirectory Element angelegt und am Startknoten registriert werden. Der Server besitzt einen zweiten, optionalen Kommandozeilen-Parameter, mit dem sich der Startknoten eines anderen Servers referenzieren lässt. Der Server startet daraufhin wie bereits beschrieben, registriert aber zusätzlich seinen lokalen Startknoten am entfernten Startknoten unter dem Namen "<Hostname>:<abs. Pfad des lokalen Startordners im Dateisystem>". Teil C – ClientDer Klient ist eine Konsolenanwendung, die dem Nutzer eine einfache Kommandozeile bietet. Es soll als Prompt das aktuelle Arbeitsverzeichnis im CORBA Dateibaum angezeigt werden. Realisieren Sie folgende Kommandos:
Abgabe und BewertungBegründen Sie die von Ihnen getroffenen Entscheidungen und beschreiben Sie aufgetretene Besonderheiten und Probleme. Benutzen Sie dafür eine HTML Datei mit dem Namen index.html. Abzugeben sind weiterhin die Quelltexte der Lösung und ein Makefile, das die Quellen mit den gängigen Werkzeugen automatisiert übersetzt (Verwenden Sie dabei keine absoluten Pfade, sondern die Umgebungsvariable MICO_HOME, die auf das Installtionsverzeichnis des MICO ORB gesetzt ist). Bitte reichen Sie die geforderten Dateien in ein ZIP Archiv gepackt ein. Verwenden Sie für die Lösung der Aufgabe die CORBA Implementierung MICO unter Linux. Behandeln Sie auch Fehler- und Ausnahmesituationen entsprechend. Bedenken Sie, dass unter umständen auch mehrere Clients gleichzeitig auf den Server zugreifen können. Benötigte SoftwareMICO lässt sich mit GCC/Linux oder unter Windows mit GCC/Cygwin
oder dem MS Visual C++ Compiler übersetzen.
Nach erfolgreicher Installation sind in MICO_HOME/bin Wrapper-Scripe für die Aufrufe von Compiler, Linker & Co. zu finden. Diese Scripte haben den Prefix "mico-", beispielsweise mico-c++ für den C++-Compiler. Für die Übersetzung sollten möglichst diese Scripte verwendet werden, da sie die benötigten Pfade, Bibliotheken usw. an die zugrunde liegenden Werkzeuge weitergeben. Ressourcen
|
|