2016-04-04 5 views
0

Ich mache ein Web-Projekt mit mehreren Servern. Ein Bank Kontoinhaber kann Konten in mehreren Banken haben. Ich habe eingerichtet, dass jede Bank ihren eigenen Server hat. Bank A enthält ihre Daten in Bank A Server. Bank B enthält ihre Daten in Bank B Server und so weiter. Beim Login eines Kontoinhabers überprüfe ich seine Benutzerauthentifizierung auf einem Webserver und finde in welcher Bank er das Konto hat. Sobald ich die Bank gefunden habe, muss ich eine Anfrage an einen geeigneten Bankserver für seine Kontodaten senden. Bank Server muss meine Abfrage ausführen und die Daten an den Webserver übergeben. Dann sammelt der Webserver die Daten vom Bankserver und gibt die Daten an den Client-Browser zurück.SOAP In C++ CGI

Client -> Web Server (Authentication + Finden Bank) -> Bank Server

Bankrechner -> Web-Server -> Client

oder

Bankrechner -> Client

Ich benutze CGI in C++. Ich habe gerade untersucht, wie ich diese Aufgabe machen kann? Ich habe festgestellt, dass ich dies per SOAP oder RESTful tun kann. Aber ich wusste nicht, wie ich unter Verwendung von C++ zwischen den Bankservern kommunizieren sollte. Till und jetzt ist meine Arbeitsweise,

Client-Browser -> Cgi Aufruf -> Run CGI, die von C++ kompiliert wird.

CGI (Textformat: Content-Typ: Text/plain oder Content-Typ: Text/HTML) -> Client-Browser.

Jetzt brauche ich,

anfordern: Client-Browser -> Web-Server CGI -> Bank CGI Server

Antwort: Bank Server CGI -> Web-Server CGI -> Client-Browser.

Wie kann ich dies mit SOAP oder RESTful tun? Gibt es einen Beispielcode oder ein Tutorial?

+0

Dies ist eine ziemlich allgemeine Frage. Welchen Webserver benutzen Sie? Warum verwenden Sie CGI? Erzeugen Sie Ihre eigenen HTTP-Listener? – Dennis

+0

Apache-Webserver.Warum verwenden Sie CGI? Es ist nur ein Versuch. –

Antwort

0

Okay, nun sollten Sie mehr über SOAP und REST lesen, bevor Sie Ihre Entscheidung treffen. REST ist nur ein Design-Prinzip, SOAP ist ein Mechanismus für den Aufruf von Remote-Verfahren über Web-Technologie. Beide könnten mit CGI arbeiten, aber insbesondere SOAP ist wahrscheinlich übertrieben.

CGI ist ein Skript/exe, das Sie von Ihrem Server aufrufen, um eine Ausgabe zu generieren, aber es wird jedes Mal einen Prozess erzeugen. Der Prozess gibt eine Ausgabe zurück und stirbt ab, wobei Speicher mitgenommen wird. Sie werden normalerweise zum Generieren von Ausgaben verwendet, die nicht von einem Status abhängig sind.

In diesem Fall benötigen Sie einen zentralen Prozess, der als gemeinsamer Speicher für die CGI-Prozesse fungiert. Das kann eine Datenbank sein, auf die Sie über CGI-Aufrufe zugreifen, oder ein anderer Prozess, von dem Sie wissen, wie er "anruft" (z. B. über einen Messaging-Dienst).

Normalerweise würde ich einen eingebauten Erweiterungsmechanismus verwenden (eingebaut in den Server), um dies zu handhaben. Meistens würde ich für Artikel dieses Typs Tomcat und einen Java Rest Service verwenden. Ich habe auch gSoap als eigenen Service gehostet.

+0

Gibt es ein Tutorial zu studieren, um meine Aufgabe mit gSoap abzuschließen? –

+0

Google ist dein Freund für diesen Dwayne. Es ist keine fantastisch einfach zu bedienende Bibliothek IMO, und die Lizenz ist nicht frei für die kommerzielle Nutzung. Sie können auch unsere cpprestdk von Microsoft überprüfen. Es ist kostenlos und es sieht anständig aus. – Dennis