Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   3-Schichten Architektur über Internet (https://www.delphipraxis.net/159865-3-schichten-architektur-ueber-internet.html)

DelphiManiac 15. Apr 2011 21:03

3-Schichten Architektur über Internet
 
Hallo,

ich brauche mal einen Rat bezüglich Tools und Technologien.
Ich will ein Buchungsprogramm welches zurzeit lokal als Client Server Lösung läuft über das Internet betreiben.
Als Backend dient zurzeit eine Oracle 10g und der Richclient ist in Delphi XE geschrieben.
Im Prinzip soll folgendes möglich sein:

- Authentifizierung über das Internet (Ein User loggt sich ein) mittels seines Clients
- Er kann Buchungen in seinem Client angucken und bearbeiten / neue hinzufügen...
etc.

Jetzt meine Frage, wie kann ich das am besten lösen, würde sich hier ein Webservice anbieten? Und wenn ja sollte ich diesen auch als Delphiapp. entwickeln, oder lieber eine C# / Java-Implementierung wählen?

Ich habe mich schon so ein wenig mit Webservice beschäftigt, aber noch keinen zumlaufen bekommen. Wäre echt super wenn mir da jemand helfen könnte.

Viele Grüße
DelphiManiac

Phoenix 15. Apr 2011 22:45

AW: 3-Schichten Architektur über Internet
 
Wenn Du Delphi Enterprise hast, dann könntest Du DataSnap benutzen. Das ist aber eigentlich ein gräßlicher PITA, weil es ungeheuer schlecht skaliert und alles was mehr als eine 08/15 Anforderung ist gleich wieder höllisch viel drumrumgewurschtel mit sich bringt.

Wenn Du eine kommerzielle Lösung haben willst, die alles mit einem mal erschlägt, dann schau Dir mal DataAbstract an. Du bist hier am Ende komplett Plattformunbhängig, weil der Server sowohl auf Windows als auch Mac / Linux läuft und für jede Client-Plattform (zumindest fast, Java ist noch im Zulauf und noch nicht fertig) auch ein natives Client-Library zur Verfügung steht. Zur Not drückst Du aber auf ein Knöpfchen und kannst den Server per REST oder auch OData ansprechen. Und DA ist ein klein bisschen günstiger als der Aufpreis von Delphi Prof. auf Enterprise.

In .NET (egal mit welcher Sprache, kannst z.B. auch Delphi Prism nehmen) ist zwar alles was Du brauchst auch drin (zur Datenbank hinten Entity Framework, Kommunikationsschicht WCF, Frontend Windows Forms / WPF), aber man muss trotzdem viel von Hand machen. In Java steckt etwas weniger drin, wobei es für das was in Java fehlt genug Bibliotheken gibt (z.B. Hibernate als ORM), aber auch hier muss man viel Glue-Code schreiben. Beide Ansätze erfordern halt, dass man sich gleichzeitig in mehrere Technologien neu einarbeiten muss.

Das heisst letzlich: Es gibt viele mögliche Ansätze, alle können Dich zum Ziel führen. Die einen kosten, die anderen sind kostenlos, bringen aber mehr Arbeit mit sich.

Wobei ich dazu sagen muss, dass Webservices in .NET ziemlich schnuckelig von der Hand gehen, aber das Datenmodell in den Webservice zu packen ist halt ungeheuer viel Arbeit. In DA nimmst Du das Datenmodell, schreibst ggf. ein paar Filter-Scripte für die Security und hast in Deiner Delphi-Anwendung ein ganz normales Dataset bei dem Du gar nicht merkst, dass da auf dem Server noch logik läuft. Ziemlich elegant wenn man sich in Delphi gut zurecht findet.

mschaefer 16. Apr 2011 08:44

AW: 3-Schichten Architektur über Internet
 
Hört sich von der Aufgabe aber so an, als ob es im Prinzip nur um die Eingabe auf eine Tabelle geht. Phoenix hat jetzt die akuratetsten Lösungen gewählt.

Fange hier mal mit einer kleinen Variante an. Du baust Dir eine Eingabemaske mit PHP auf eine MySQL DB für die exteren Dateneingabe auf dem Webserver (ev. DaDaBik). Für die Auswertung greifst Du dann auf den externen Server über Omata´s PHP-Skript, MySQL-dll Lösung auf die MySQL Datenbank mit Deinem Delphiprogramm zu.

mkinzler 16. Apr 2011 08:49

AW: 3-Schichten Architektur über Internet
 
Wenn er in der Client/Server-Anwendung eine Oracel-DB hat, würde ich diese auch beim Web-Frontend verwenden


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz