Verbindung von Website-Applikation-Datenbank



  • Moin!

    Wie würde man heutzutage am besten vorgehen, wenn man über eine Website

    a) Daten aus einer Datenbank darstellen will
    b) Daten in eine Datenbank schreiben will
    c) Diese Daten in einer eigenen Applikation geprüft/verarbeitet werden sollen

    Ich weiss überhaupt nicht wo ich da anfangen soll. Wie wird die Schnittstelle Webserver/Applikation realisiert? Schreibt man da eine eigene Server-Erweiterung? Gibts da fertige "API"s oder sowas?



  • Welche Sprache solls denn sein? Für Java gibts unzählige Web- und Persistenz-Frameworks, um sowas in kürzester Zeit zu implementieren.



  • C# / .NET , Datenbank ist nicht so sicher. Oracle evtl, beim Webserver hab ich zunächst an Apache gedacht.



  • Wenn du C#/.net verwenden willst wäre wohl Asp.Net sinnvoll.
    Ich würde einen ORM nehmen (entity framework oder nhibernate), du kannst aber auch mit den nativen DB-Treibern arbeiten. Dann würde ich mir ein Domain-Modell spezifizieren und die ORM-Objekte darauf mappen. Dann wird die Anwendungslogik dadrin implementiert und das ganze als ein dll-Assembly realisiert falls du mal mit einem anderen Frontend arbeiten willst (Admintool als WinForm-App z.B.)
    Dann kannste z.B. ein Visual-Studio-MVC-Asp.net-Projekt starten, das Assembly dort referenzieren und dann die dortigen Webseiten mit Deiner Logik verknüpfen. Einer von vielen Wegen.



  • Hm, hab mich mal ein bisschen weiter umgelesen aber die meisten Lösungen realisieren einfach nur die Kommunikation mit einer Datenbank. Was ich brauche ist eher die Kommunikation mit meiner Anwendung. D.h, die Website soll nur ein anderes Frontend darstellen.
    Wenn das bisher richtig verstanden habe, läuft es in der Regel so, das meine Applikation irgendwie als "Plugin" per .dll oder sowas in den jeweiligen Webserver eingeklinkt wird und dieser dann Requests an die Anwendung weiterleitet? Also ist das Ganze schon sehr Webserver-spezifisch, oder gibt es einen Standard wie diese Plugins aussehen müssen?



  • Hi Cpp_Junky, wenn ich dich richtig verstehe, willst du nicht die Datenbank ansprechen sondern Dienste einer Anwendung nutzen.

    In diesem Fall muss deine Webanwendung, welche letztendlich den HTML-Code deiner Seite generiert, die Anwendung über irgendeine Schnittstelle ansprechen. Eine Möglichkeit hierfür wäre SOAP. Ob du PHP, Java oder eine andere Sprache dafür nutzt ist eigendlich egal.

    PS: Ein Webserver Modul oder was auch immer dafür zu schreiben halte ich jedoch für übertrieben.



  • Hallo nochmal. Das heisst, ich würde z.B. das PHP Modul auf dem Apache installieren und diese SOAP Erweiterung für PHP. Dann würde die Kommunikation in der Richtung ...

    Apache <-> PHP <-> SOAP <-> Applikation
    

    ... laufen, richtig? Ist diese Konstruktion so üblich? Diese SOAP Schnittstelle muss dann aber möglichst effizient arbeiten. Da müssen nicht nur Befehle durch, sondern auch Daten (z.B aus der Datenbank, bereitgestellt durch meine Anwendung).



  • Cpp_Junky schrieb:

    Hallo nochmal. Das heisst, ich würde z.B. das PHP Modul auf dem Apache installieren und diese SOAP Erweiterung für PHP. Dann würde die Kommunikation in der Richtung ...

    Apache <-> PHP <-> SOAP <-> Applikation
    

    ... laufen, richtig? Ist diese Konstruktion so üblich? Diese SOAP Schnittstelle muss dann aber möglichst effizient arbeiten. Da müssen nicht nur Befehle durch, sondern auch Daten (z.B aus der Datenbank, bereitgestellt durch meine Anwendung).

    Du hast doch oben geschrieben, dass Du C# .NET einsetzen willst. Warum willst du jetzt das Frontend mit PHP frickeln? Guck Dir z.B. ASP.NET an bzw.: http://www.asp.net/mvc/



  • Neee, PHP war nur eine Überlegung von vielen. ASP.NET klingt ja erstmal gut, aber bin ich da nicht wieder auf Microsoft festgenagelt? Die Unterstützung auf z.B. einem Apache soll ja eher rudimentär sein.



  • geht doch auch so?

    Apache <-> PHP+Ajax <-> Applikation (C++, Qt)

    Apache ... Webserver
    PHP+Ajax ... für die Darstellung
    C++, Qt ... um Daten in die Datenbank zu schreiben, Überprüfung der Daten



  • Ich hab jetzt ASP.NET und PHP mal kurz ausprobiert.
    ASP.NET läuft auf meinem Apache 2.2 mit mod_aspdotnet Modul bisher problemlos. Ich hab testweise ne kleine ASP.NET Seite mit dem Visual Studio 2008 zusammengehackt und das Ganze läuft bisher fehlerfrei. Diese Kombination gefällt mir natürlich am besten. So kann ich meinen Applikationscode einfach mit in den ASP.NET Code einfügen und die Webseite kann diese Funktionen direkt abrufen. Das das Ganze auch in C# geht ist natürlich sehr elegant ^^ Irgendwie ist mir aber noch etwas unwohl dabei, meinen Programmcode auf dem Webserver rumliegen zu lassen. Und muss der eigentlich im selben Verzeichnis wie die ASP Seite liegen?



  • Cpp_Junky schrieb:

    Irgendwie ist mir aber noch etwas unwohl dabei, meinen Programmcode auf dem Webserver rumliegen zu lassen. Und muss der eigentlich im selben Verzeichnis wie die ASP Seite liegen?

    Du kannst Deinen Code auch vorkompilieren und in den Bin-Ordner werfen. Im VS gibt's da "Publish website".


Anmelden zum Antworten