Socketproblem - Schnittstellen ermitteln



  • Hey C++ Communityfreunde,

    Wie erkenne ich im c / c++ Code das eine Klasse, Funktion bestehend aus vielen Dateien zum einen untereinander kommuniziert und zum anderen mit externen Quellen kommuniziert? Bspw. Datenbank, Applikationsserver usw.?

    1. Wie erkenne ich diese Schnittstellen?
    2. Gibt es ein Programm da ggf. diese automatisch erkennt oder kann man sich ggf. ein Tool basteln das nach bestimmten Begriffen im Code sucht um diese zu erkennen?

    Danke watercase



  • Hi,

    Das hier ist das C++/CLI Forum.

    Ich gehe davon aus, dass Du im WinAPI Forum besser aufgehoben bist.
    Dein Beitrag wird hoffentlich bald verschoben.

    Zum eigentlich Problem:
    Automatisieren dürfte schwierig sein.
    Wie und wo kommuniziert wird kann an den verwendeten Libraries und (API) Funktionen erkannt werden.

    Dazu würde ich am besten mit einem erfahrenen Kollegen den Code durchsehen.

    Simon



  • Dann frage ich mich nur, wo finde ich diese Biblioteken und welche gibt es?
    PS: In den Anwendungen wird über Sockets kommuniziert.
    + Gibts da Unterschiede? 😮



  • Ja, gibt schon unterschiede.
    Wird die Winsock API benutzt oder die MFC Sockets (was letzt endlich auf daselbe hinausläuft)?

    Oder die Boost::Asio Geschichte oder sonst irgendeine proprietäre Socket Kappselung?

    Ist schon für Windows, oder?
    Simon



  • Ist ziemlich blöd, da die Server anscheinend UNIX, VMS sind und ggf. paar Windows Server. Da es sich um eine ältere Programmierung handelt, ist es schon ein etwas verwirrent und somit ein misch masch von beiden.

    Über ein Headerfile habe ich etwas herausbekommen.

    Alle Systeme hängen an einer alten Middelware und hinzu kommt das habe ich die Schnittstellenbeschreibung gefunden habe.

    Die Frage was wird diese mir bringen? Werde ich darüber jetzt alle Schnittstellen finde? Mal schauen.

    Grüße und danke für die AW



  • Was ist es denn für eine Middleware?
    Warum möchtest Du überhaupt herausfinden, wie und wo kommuniziert wird?
    Simon



  • 1. Die Middelware müßte RT Worker (Broker) heißen.

    2. Dies ist Teil der Aufgaben für das Reengineering.
    Erst einmal wird ein reverse engineering durchgeführt, dannnach wird entschieden welche Teile ggf. weiter genutzt werden und welche nicht.
    Wenn man die Kommunikationsschnittstellen "Interface" kennt, kann zum einen besser geplant / der Schaden besser eingegrenzt werden.

    Bsp. du hast 3 x Bäume mit vielen Äpfeln pro Baum, gehen wir davon aus das die Äpfel=Funktionen/Klassen/Modulle sind. Wenn du jetzt bestimmte Apfelgruppen entfernst, weist du tatsächlich nicht an welchen Ästen Sie gehangen haben. In Programmcode ist es etwas komplexer da du ggf. mehrere Äste an einem Apfel hättest. Wenn du mit der Erkenntnis bspw. die Apfelgruppe entfernst, musst du eben nur was neues aufbauen das genau diese Äste besitzt (da die Schnittstellen bekannt sind). 👍


Anmelden zum Antworten