genControl
Schnittstellen
Module
Einheiten

Schnittstellen

genRob®-genControl bietet zwei Schnittstellen für Software-Entwickler an: Über die Einheiten-Schnittstelle kann der Entwickler einer Roblet®-Anwendung, auf die von genRob®-genControl selbst bereitgestellte Funktionalität zugreifen.  Beispiel dafür ist das Logging.

Die Modul-Schnittstelle erlaubt einem fortgeschrittenen Entwickler eigene Einheiten für den Zugriff auf beliebige Resourcen zu entwickeln, die dann per genRob®-genControl bereitgestellt werden können.


Einschränkungen für Roblets®

Folgende Einschränkungen sind beim Entwickeln von Roblets® für die vorliegende Version von genRob®-genControl zu beachten:
  • Kein Beenden der JVM (System.exit(...))
  • Kein Abfangen von Throwable
  • Kein Abfangen von Error und Ableitungen
  • Kein Starten von Threads in übergeordneten ThreadGroup's
  • Keine Verwendung von Prioritäten höher als die initiale
  • Insbesondere bei im Roblet® aktiven RMI-Servern:  Threads die aus einem eingegangenen RMI-Aufruf heraus gestartet werden, haben ohne Behandlung die ThreadGroup und Priorität der RMI-Laufzeitumgebung
  • Keine Verwendung von finalize()
  • Keine Verwendung von native
  • Vorsichtige Verwendung von finally (Endlos-Schleifen)
  • Kein direktes Benutzen von Resourcen ohne Kontrolle durch den Server:
    • Terminal-E/A (System.in/out/err)
    • Prozesse (Process u.a.)
    • Dateisystem (File u.a.)
    • Netzwerk (Sockets, RMI, Corba u.a.)
    • Serielle-/parallele Schnittstellen
    • u.a.m.
  • Keine Verwendung von Bibliotheken, die die Ressourcen direkt benutzen, anstatt über Einheiten zu gehen
  • Vorsicht bei den Klassen java.lang.Runtime und java.lang.System insgesamt
  • Bei der Arbeit mit unbekannten Server ist zu beachten:  Roblets sollten keine Instanzen zur Anwendung zurücktransportieren, deren Code sie dort nicht schon haben. - Dies birgt ein Sicherheitsrisiko, welchem natürlich mit einem geeigneten Security-Manager begegnet werden kann.
Diese Einschränkungen sind im wesentlichen bedingt durch die Implementierung von genRob®-genControl bzw. der JVM's.  An der Aufhebung der Einschränkungen wird gearbeitet.

 

© 2002-2008 Hagen Stanek, genRob®
genSite 2.1.2