Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Nach erfolgreichem Abschluss der Programmier-LVA besuch ich jetzt schon den nächsten Kurs..
danke nochmal für eure tatkräftige Unterstützung!
Ohne java-forum.de hätt ich das wahrscheinlich nicht geschafft!
dieses Mal wartet echt eine sehr schwere Aufgabe auf mich!
Bin ich da richtig bei euch, wenn es ums Thema OSGI geht?
(Open Service Gateway Initiative)
Kennt sich damit jemand aus bzw. hat sich schon mal jemand damit beschäftigt?
Wir müssen alles in Java programmieren.
also OSGI ist ein Framework, das in Knopflerfish implementiert ist..
naja...das lässt sich ehrlich gesagt ein bissl schwer erklären...
da gibt es ein Programm, welche Regeln erstellt:
man gibt als User Bedingungen an und das Programm führt dann Aktionen aus!
z.B.:
man kann beliebige Inputwerte festlegen:
length (int) >0
width (int) <10
und dann kann man sagen, was er berechnen soll(er soll eine Aktion ausführen)
area=length*width
also das ist die Aktion
und dann geht ein Fenster auf, in dem man das eben testen kann:
dann gibt man Werte für l und w ein, also
length=5
width=5
und er berechnet die Area mit 25
ist ganz simpel an und für sich...
soetwas ist 1 (!) Regelwerk, ok?
jetzt kann man in diesem Programm unbegrenzt viele verschiedene Regelwerke anlegen.
Dieses Programm, das letztes JAhr entwickelt wurde, wurde ein eigenes Compiler eingebaut, der aus dem Regelwerk ein JAVA-File generiert..also das steht in etwas drinnen, wie die Auswertung statt gefunden hat:
hier ein kleiner Einblick:
also dieses JAVA-File ist eigentlich der Ausgangspunkt für meine Aufgabenstellung:
Die Klasse erbt von JRuleSet, das ist auch wichtig..die kann ich bei Bedarf noch reinstellen
JRuleSet ist ein abstrakte Klasse, von der eben alle erstellten Regelwerke erben...
Wichtig ist noch, dass eben verschiedene Regelwerke angelegt werden können...aber jedes Regelwerk für sich allein soll in ein Bundle kommen, ok?
UNSERE Aufgabe ist nun:
wir müssen jedes Regelwerk so erweitern, dass es in einem Bundle gespeichert wird und dann in Knopflerfish installiert werden kann!
Außerdem sollen über das Bundle verschiedene Informationen abgefragt werden könnnen, wie z.B.
wer hat es installiert, wie oft wurde es schon installiert, über welchen Zeitraum war es installiert etc.
Ich hoff, ich hab das jetzt nicht zu verwirrend erklärt...
Die Frage, die sich jetzt stellt ist, wie man das hinkriegt, dass man das JAVA-File, das vom jeweiligen Compiler kompiliert wird, so erweitert, dass daraus ein Bundle wird...
kann mir da jetzt jemand folgen?
soll ich noch detaillierte Informationen darüber geben?
Möchte mir jemand helfen?
Ich weiß, das klingt jetzt alles verwirrend, aber ich wär wie gesagt echt dankbar, wenn mir da jemand ein paar Tipps geben könnte..
irgendein Programm (nicht wichtig für dich) erstellt verschiedene Regelwerke, d.h. man gibt Inputwerte rein und bekommt irgendwelche Outputwerte raus!
Der interne Compiler dieses Programms generiert dann folgenden Code:
diesen Code müssen wir hernehmen(also pro Regelwerk wird so ein Code generiert) und in ein Bundle verpacken!
Das heißt 1 Bundle enthält 1 Regelwerk
der vom internen Compiler generierte Code schaut folgendermaßen aus
hier beispielhaft für Regelwerk1 mit den Inputwerten length und width und den Outputwert area (es soll die Fläche berechnet werden):
alle Regelwerke erben von der Klasse JRuleSet, die folgendermaßen aussieht(ist nur abstrakte Klasse)
Code:
public abstract class JRuleSet {
/* Instance variables */
protected boolean isInterpretative; // if true, don't skip the breakpoints
protected boolean canContinue = true; // if true, return after breakpoint
protected int rule_id; // holds the id of the rule, which is beeing executed
protected boolean isMain = false; // this variable is false, if the RuleSet beeing executed is triggered from other RuleSet.
public abstract JRuleSet execute();
public void setContinue(boolean canContinue) {
this.canContinue = canContinue;
}
public boolean isInterpretative() {
return isInterpretative;
}
public int getRuleId() {
return rule_id;
}
public boolean isMain() {
return isMain;
}
}
das heißt : jedes Bundle(das jeweils nur 1 Regelwerk enthält) wird wohl folgendes enthalten müssen:
1. java-File des jeweiligen Regelwerkes (hier Regelwerk1 )
2. java-File der Klasse JRuleSet
3. irgendeine Activator-Klasse mit start und stop, die das Regelwerk in der Registry registiert oder so...
4. Manifest-Datei
stimmt das?
weißt du ungefähr was ich meine?
am Schluss soll dann das ganze automatisch in eine jar-Datei umgewandelt werden, damit es im Knopflerfish lauffähig ist..
vielleicht kannst du mir ein paar Tipps bzw. Ansätze geben..
ich wär dir echt sehr sehr dankbar!
PS: Das ist nur ein sehr kleiner Teil unserer gesamten Aufgabe in diesem PRojekt... ist ne MEnge Arbeit!