Zum Inhalt springen
  • 0

Erweiterung eines Frameworks


seppi01

Frage

Guten Tag,

ich versuche zur Zeit ein Framework für Network Function Virtualization zu erweitern. Ich möchte ein Plugin hinzufügen und muss dementsprechend alle beteiligten Softwarekomponenten erweitern. Es soll jetzt nicht um das bestimmte Framework gehen, sondern weiß ich nicht wie meine Herangehensweise sein soll.

Mich würde es interessieren, was ihr als erstes machen würdet. Ich habe mir schon die ganze Dokumentation durchgelesen, aber habe trotzdem keinen richtigen Ansatz wie ich anfangen soll. Da ich auch zudem noch sehr unerfahren bin, wäre ein Rat von einem erfahrenen Programmierer sehr wertvoll.

lg Sepp

Link zu diesem Kommentar
Auf anderen Seiten teilen

6 Antworten auf diese Frage

Empfohlene Beiträge

  • 1

Ich verstehe deine Frage nicht. Ohne zu wissen, worum es sich genau handelt, wird dir wohl keiner helfen können. Um ein Framework zu erweitern, ist erstmal überhaupt kein Plugin von Nöten. Ein Plugin funktioniert auch nur, wenn das Framework Schnittstellen besitzt, die von Außen implementiert und registriert werden können.

Wenn es eine Objektorientierte Sprache ist, machst du einfach eine neue Klasse und implementierst deine Erweiterungen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1

Ich kann @Whiz-zarD auch nur zustimmen. 

Zusätzlich sehe ich noch folgendes Problem:

vor 45 Minuten schrieb seppi01:

Da ich auch zudem noch sehr unerfahren bin, wäre ein Rat von einem erfahrenen Programmierer sehr wertvoll.

Was heißt sehr unerfahren? Als Erstes Projekt würde ich sowas wohl nicht empfehlen, aber auch das ist weider abhängig vom Framework.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

Ja ich kann euch da auch nur zustimmen. Eigentlich macht die Frage überhaupt kein Sinn. Ich dachte nur, dass es evtl. eine bestimmte Vorgehensweise gibt, die ich noch nicht kenne.

Das Framework besteht aus mehreren Modulen mit mehreren Programmiersprachen. Einfach nur eine neue Klasse implementieren wäre herrlich ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0
vor 12 Minuten schrieb seppi01:

Das Framework besteht aus mehreren Modulen mit mehreren Programmiersprachen. Einfach nur eine neue Klasse implementieren wäre herrlich

Wo ist das Problem? Irgendwie musst du ja die Module ansprechen, also baust du dir eine Klasse, die mit den Modulen spricht. Das ist kein Hexenwerk. Wie verwendest du denn das Framework?

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

Das Framework wird benutzt um VNFs  (Virtual Network Functions) aufzusetzen und zu überwachen. Das ist ein Teil des Frameworks: https://github.com/sonata-nfv/son-mano-framework

Dort will ich in dem Plugin directory ein neues Plugin hinzufügen, welches AWS (Amazon Web Services) Support hinzufügt. Alle Plugins laufen über das sogenannte son-mano-base. Es ist sozusagen die Superklasse und ich muss bei meinem Plugin nur davon erben und meine Funktionen hinzufügen.

Das ist bis jetzt nicht der schwierige Teil, da ich ja durch son-mano-base eine ziemliche Erleichterung bekommen habe.

Alle Anfragen, die das son-mano-framework erreichen laufen erstmals über dein sogenannten Gatekeeper https://github.com/sonata-nfv/son-gkeeper

Mein Problem ist, dass ich an diesem Punkt überhaupt keinen Plan habe wo ich da einen Ansatz finden soll. Die Schnittstelle nach außen ist erstmal son-gtkapi. Das ist also für mich der erste Ansatz den ich habe. gtkapi bekommt Anfragen von der Northbridge nach routes. Diese werden dann weitergeleitet Models. Models leitet sie an die Southbridge weiter. Ich muss den code jetzt also so erweitern, dass Anfragen mit meinem AWS Descriptor angenommen werden (ich will jetzt nicht allzusehr in die Materie gehen).

Jetzt ist es etwas konkreter. Wie würdet ihr da jetzt vorgehen?

 

edit: Ich will jetzt nichts konkretes, sondern mir würden Gedankespiele oder Denkansätze reichen.

 

 

Bearbeitet von seppi01
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

Na ja, da bin ich wohl sowieso raus. Scheint etwas recht spezielles zu sein. Ich kenne das Framework nicht. So, wie ich das aber sehe, sind die einzelnen Module aber sog. Microservices, die dann über RabbitMQ kommunizieren. Wie genau die Kommunikation aussieht, weiß ich auch nicht. Das müsste man dann direkt unter RabbitMQ analysieren oder vielleicht gibt es auch eine Dokumentation. Ob man da überhaupt Plugins einbinden kann, weiß ich nicht. Da aber RabbitMQ für die Kommunikation läuft, kann man vielleicht die Messages abgreifen oder sogar welche versenden.

Und nein, das Thema kann man nicht allgemein behandeln. Es gibt keine allgemeingültige Lösung für unterschiedliche Probleme. Jedes Problem in der Softwareentwicklung muss man sich separat anschauen, um dann entscheiden zu können, wie man das Problem löst. Wenn also das Framework keine Möglichkeit bietet, sich irgendwo ranzuhängen, um die Funktionalität zu erweitern, wirst du keine Plugins schreiben können. Du könntest dann höchstens nur Erweiterungen schreiben, die wiederrum nur die APIs des Frameworks aufrufen. Das Framework wäre aber von deinen Erweiterungen weiterhin unberührt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Diese Frage beantworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...