![]() |
WebService, Aber Ordentlich. Machbarkeitsfrage.
Hallo Forum!
Ich überlege seit einiger Zeit ein mittlerweile großes System (~Auftragbetreuung) über Webservice internettauglich zu machen. Dass es internettauglich gemacht werden muss ist keine Frage. Nur wie? Ich habe mich entschlossen das Ganze mit Webservices aufzuziehen. Jetzt habe ich aber nur so einfache Tutorials im Netz gesehen wo Funktionen wie
Delphi-Quellcode:
vorgestellt werden.
Result:=a+b;
In meinem Falle braucht das System aber ca 20 Sekunden um hochzufahren. Die Daten können also nicht bei jeder User-Anfrage extra aufbereitet werden. Ist es denn auch möglich eine Art Dauer-Server am laufen zu halten? Leider habe ich noch keine Erfahrung mit Webservices, hoffe aber dass diese Frage trivial ist und das ja auhc der Sinn von Webservices ist. Vielen Dank für jegliche Antoworten! Gruß |
Re: WebService, Aber Ordentlich. Machbarkeitsfrage.
Sollen mehrfach dieselben Antworten an verschiedene User geliefert werden?
Grundsätzlich kann natürlich ein Programm gestartet werden, das irgendwelche Daten einliest, Datenbankzugriffe durchführt und so weiter, ein Ergebnis berechnet und dieses Ergebnis irgendwo zwischenspeichert (Datei, RAM). Dieses Programm würde nun einen Webservice bereitstellen und sobald die Abfrage reinkommt, würde das vorberechnete Ergebnis zurückgeliefert werden. Ein in Delphi programmierter Webservice ist ja nun kein Skript, das jedes Mal komplett neu ausgeführt wird. Vielleicht helfen Dir meine Kommentare schon ein wenig weiter? Eventuell müsstest Du ein paar zusätzliche Details liefern (Datenbank? Unterschiede zwischen den Requests?) Auch, wie das bisherige Programm arbeitet -- wenn das bisherige Programm zu langsam wäre, dann müsste man sich erst mal was einfallen lassen, um den Webservice schneller zu programmieren. |
Re: WebService, Aber Ordentlich. Machbarkeitsfrage.
Hallo Programmierer! :)
Also Zitat:
Zitat:
Kann ich mir das denn so vorstellen, dass ich ein "gewöhnliches" Programm schreibe, welches automatisch mit Apache gestartet wird und welches "einfach" auf anfragen von aussen reagiert? Also die Requests werden von jedem User unterschiedlich sein. Es sollen userspezifische Daten abgefragt werden. Wie z.b. Einkaufswert oder Rechnungen. Das Programm an sich arbeitet ja nicht langsam. Nur der Start. Viele Daten müssen aufbereitet werden. Kann man sich wie eine Linked List vorstellen, wo alles mit einander zusammenhängt. ich benutze interbase. :) Danke für die antwort! grüße! |
Re: WebService, Aber Ordentlich. Machbarkeitsfrage.
Schon mal überlegt die Webservices in ASP.NET zu implementieren. Das läuft eigentlich recht problemlos bei mir.
|
Re: WebService, Aber Ordentlich. Machbarkeitsfrage.
Hallo Jelly,
leider muss es unbedingt delphi sein. Ich muss doch meine bereits bestehenden Classen benutzen. Diese neuzuschreiben wäre der wahnsinn... Gruß. |
Re: WebService, Aber Ordentlich. Machbarkeitsfrage.
Naja, mit Delphi.NET sollte auch der Aufwand sich in Grenzen halten. Deine Klassen kannst Du unter gewissen Bedingungen weiterhin nutzen.
|
Re: WebService, Aber Ordentlich. Machbarkeitsfrage.
Oder die Entwicklueng einer ISAPI (IIS, Apache mit ISAPI-Modul) bzw einer DSO (APACHE)
|
Re: WebService, Aber Ordentlich. Machbarkeitsfrage.
hallo mkinzler,
wie sieht es bei den genannten möglichkeiten mit den schnittstellen aus? (xml?) Ist da auch eine zustandsorientierte kommunikation möglich? (einloggen, und dann erst daten abfragen können...) das gute an webservices ist ja z.b. , dass man das von überall und von allem ansprechen kann... ajax, flex etc, etc... grüße |
Re: WebService, Aber Ordentlich. Machbarkeitsfrage.
Es sind dann Module, welche vom Webserver mitgestartet werden. Diese können auch asynchron Daten empfangen ( AJAX) wobei normalerweise zustandslos gearbeitet wird (selbiges gilt natürlich auch für ASP.Net)
|
Re: WebService, Aber Ordentlich. Machbarkeitsfrage.
Wir haben zunächst einen Applicationserver erstellt
Wir haben das so gemacht das wir unser Originalprogramm von sichtbaren Fenstern befreit (unsichtbar gemacht) haben und ihm einen zugriff auf Funktionen per TCP/IP geschaffen haben Es kann sich also ein Programm von aussen oder auch auf dem Rechner per Socket anmelden und mittels Text befehlen Ausgaben erhelten oder Funktionen anstoßen z.b. "Send_Report_by_email(Name,Email)". Große Text Rückgaben werden in Hexcodierten Strings zurrück geliefert also "0D0AFF4fD3" so. Diesem Application Server haben wir einen Webserver zur Seite gestellt. Das Schöne an der Geschichte ist, daß das ursprüngliche Programm nicht sonderlich komplizierter wird oder großartig umgebaut werden muss. Schön ist auch das der Webserver ganz für sich programmiert werden konnte. Wir haben dafür die IW-komponenten von AtoZed genommen. |
Re: WebService, Aber Ordentlich. Machbarkeitsfrage.
Kiek dir mal das
![]() Damit lassen sich relativ einfach alle Arten von Diensten implementieren. Eines darf ich über die kommende Version 5 schon sagen: Sie wird FreePascal auch für andere Plattformen als Windows unterstützen. (Mir sind öffentliche Services auf Windowsmaschinen alles andere als geheuer ;) ) |
Re: WebService, Aber Ordentlich. Machbarkeitsfrage.
Ola!
Ersteinmal vielen Dank für die vielen Anregungen! ok. also es geht hier vieles in richtung server-modul implementierung. Habe mir das einleitungsvideo von RemObjects angeschaut und mich auf der seite ein wenig umgesehen... das ist echt mal der hammer! Das ding scheint ja alles in einem zu unterstützen....! sie wollten sogar bald embedded systeme anvisieren...krasse geschichte! nur leider (oder vielleicht zum glück!) nicht kostenlos hätte aber noch eine kurze frage dazu.. elvis, vielleicht kannst du mir sie beantworten. :) im tutorial video wird ein kommunikationsobjekt erzeugt (mit create). was passiert bei diesem create im hintergrund? wird "nur" die verbindung zum server hergestellt? Viele Grüße! |
Re: WebService, Aber Ordentlich. Machbarkeitsfrage.
Zitat:
Die Kommunikation erfolgt über sog. Channels. Da gibt es alles Mögliche, vom klassischen IndyHTTP bis zum neuen HTTPSysChannel oder den 2-Wege-Channel SuperTCPChannel. Wenn du als Message-Format SOAP nimmst bekommst du einen normalen, konformen WebService. Du kannst aber auch eine weitere Message benutzen, wodurch Delphi/.Net Clients schnellere, binäre Kommunikation verwenden können. Einfach mal hier weiterlesen:
Wobei ich ehrlich gesagt weder ![]() ![]() Sie sind teilweise nicht RAD genug, und/oder sie vergessen vor lauter RAD, dass man auch ordentlichen Code haben will, gegen den man programmiert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz