AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Webservice programmieren - wie?
Thema durchsuchen
Ansicht
Themen-Optionen

Webservice programmieren - wie?

Ein Thema von romber · begonnen am 17. Jul 2007 · letzter Beitrag vom 20. Jul 2007
Antwort Antwort
Seite 1 von 2  1 2      
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Webservice programmieren - wie?

  Alt 17. Jul 2007, 18:25
Hallo!

Wir haben heute in der Arbeit eine Datenbank mit Positionskoordinaten für Russland geliefert bekommen. Mithilfe dieser Datenbank müssen wir eine Funktion für die Umkreissuche programmieren. Diese Aufgabe habe ich erhalten. Die wichtigste Voraussetzung ist, dass diese Funktion von überall aufgerufen werden kann.

Die Funktion soll ganz einfach funktionieren: man übermittelt eine PLZ-Index und den Umkreis und als Antwort bekommt man eine ARRAY (wichtig!) mit allen zutrefenden Postleitzahlen. Zur Verfügung steht ein mächtigen Server mit Windows Server 2003 und IIS 7 drauf.

Da habe ich sofort an ein Webservice gedacht. Nun habe ich keine Ahnung wie und mit welchen Mitteln ein Webservice erstellt wird...
Was brauche ich? Wie fange ich an? Was soll ich beachten? Und die wichtigste Frage: kann ich das mit dem normalen Delphi programmieren, ohne gleich auf .NET umsteigen zu müssen?
  Mit Zitat antworten Zitat
Torpedo

Registriert seit: 21. Dez 2003
410 Beiträge
 
#2

Re: Webservice programmieren - wie?

  Alt 17. Jul 2007, 20:53
Wie meinst du das mit dem Array?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Webservice programmieren - wie?

  Alt 17. Jul 2007, 20:57
Du könntest auch eine ISAPI-Dll programmieren.
Markus Kinzler
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Webservice programmieren - wie?

  Alt 17. Jul 2007, 21:53
Zitat von romber:
Und die wichtigste Frage: kann ich das mit dem normalen Delphi programmieren, ohne gleich auf .NET umsteigen zu müssen?
Nirgends ist es einfacher Webservices zu entwickeln als mit .Net.
Nirrgenndsss...

Installier' dir den kostenlosen Chrome-compiler, lege dir ein virtual directory im IIS an und dort eine Textdatei, die du SimpleWebService.asmx nennst.
Da fügst du einfach mal das hier ein und fürhst sie im Browser aus oder importierst sie in irgendeine Sprache in irgendeiner IDE.

Delphi-Quellcode:
<%@ WebService Language="Chrome" Class="SimpleWebService" %>

namespace;

interface
uses
  System.Collections.Generic,
  System.Web.Services.*;
  
type
  [WebServiceBinding(ConformsTo := WsiProfiles.BasicProfile1_1)]
  SimpleWebService = public class
  public
    [WebMethod]
    method BleistiftWebMethod : List<IrgendwelcheDaten>;
  end;
  
  IrgendwelcheDaten = public class
  public
    property Eigenschaft1 : String;
    property Eigenschaft2 : nullable Integer;
  end;
  
implementation

method SimpleWebService.BleistiftWebMethod : List<IrgendwelcheDaten>;
begin
  result := new List<IrgendwelcheDaten>();
  
  result.Add(new IrgendwelcheDaten(Eigenschaft1 := 'test1',
                                   Eigenschaft2 := 1));

  result.Add(new IrgendwelcheDaten(Eigenschaft1 := 'test2',
                                   Eigenschaft2 := 2));

  result.Add(new IrgendwelcheDaten(Eigenschaft1 := 'test3',
                                   Eigenschaft2 := 3));
end;

end.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Webservice programmieren - wie?

  Alt 17. Jul 2007, 22:00
Zitat von Elvis:
Zitat von romber:
Und die wichtigste Frage: kann ich das mit dem normalen Delphi programmieren, ohne gleich auf .NET umsteigen zu müssen?
Nirgends ist es einfacher Webservices zu entwickeln als mit .Net.
Nirrgenndsss...
Ein Glück der späten Geburt

Die Frage ob ein WebService die beste Lösung ist kann aufgrund deiner Vorgaben nicht getroffen werden (Auch wenns Wahrscheinlich ist). Diese Entscheidung kann erst nach Definition/Finden einer Architektur und eines passenden Design von Klassen/"Aufgabenblöcken" mit der Wahl der verwendeten Klassenbibliothek/Sprache/Framework sein. Wenn alles andere im System in Java entwickelt wurde ist und deine Komponente nur von einr andere (Java) Komponente auf dem gleichen Rechner aufgerufen wird ist ein WebServer evtl. fehl am platz/unpassend.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#6

Re: Webservice programmieren - wie?

  Alt 18. Jul 2007, 22:22
Zitat von Torpedo:
Wie meinst du das mit dem Array?
Ich meine ein Array mit den Daten drin.
Die Funktion bekommt als Parameter eine PLZ und eine Zahl für den Umkreis. Zurück werden alle PLZ als strings geliefert, die der Anfrage ensrprechen. Diese strings werden in eine Array gepackt und als result ausgegeben.

Zitat von mkinzler:
Du könntest auch eine ISAPI-Dll programmieren.
Das würde ich sehr gerne. Bis heute hatte ich nicht viel Ahnung von ISAPI. Nun habe ich mich heute über dieses Thema schlau gemacht und sogar einige Tutorials gefunden. Ich weiss jetzt zwar was eine ISAPI ist und wie diese funktioniert. Aber die Tutorials haben sich alle auf eine Web-Seite als Ausgabe beschränkt. Wie ich die Parameter übergebe und eine Array ausgebe, kann ich mir (noch) nicht vorstellen. Über jede Hilfe und jeden Beispiel zu diesem Thema werde ich mich sehr freuen.


Zitat von Bernhard Geyer:
Die Frage ob ein WebService die beste Lösung ist kann aufgrund deiner Vorgaben nicht getroffen werden (Auch wenns Wahrscheinlich ist). Diese Entscheidung kann erst nach Definition/Finden einer Architektur und eines passenden Design von Klassen/"Aufgabenblöcken" mit der Wahl der verwendeten Klassenbibliothek/Sprache/Framework sein. Wenn alles andere im System in Java entwickelt wurde ist und deine Komponente nur von einr andere (Java) Komponente auf dem gleichen Rechner aufgerufen wird ist ein WebServer evtl. fehl am platz/unpassend.
Ich freue mich für jede Idee, die ich für die Lösung meiner Aufgabe gebrauchen kann.
Zu der Architektur kann ich nicht viel sagen, weil da nicht viel zu sagen ist. Ganz einfach:

Ich habe einen Windows Server 2003 mit IIS 7 drauf. Auf einem anderen lokalen Windows-Server läuft einen MS SQL Server 2005. Dort haben wir in einer Datenbank mehrere Tabellen mit den Daten. So. Die Aufgabe lautet wie folgt:

Erstellen einer Funktion, die alle PLZs in einem bestimmten Umkreis zurückgibt. Zwei Parameter:

PLZ = string
Umreis = integer

Ausgabe als Array.

Ich habe bereits alle Datenbankanfragen implementiert und habe am Ende eine Array mit den Daten. Nur wie stelle ich diese jetzt zur Verfügung?
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Webservice programmieren - wie?

  Alt 18. Jul 2007, 23:25
Die von Robert vorgeschlagener Quelltext illustriert doch schon ganz anschaulich, wie ein Webservice aufgebaut ist, unter .NET.

Und falls du nicht "nur" den kostenlosen Chrome Compiler einsetzen willst, so kannst du noch leichter unter Delphi 2006 oder Visual Studio 2005 ein Webservice erstellen.

Lad dir doch mal z.B. die kostenlose Turbo Explorer für .NET runter und erstelle darin ein Webservice Projekt, und du wirst sehen wie leicht das gehen...
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#8

Re: Webservice programmieren - wie?

  Alt 19. Jul 2007, 02:44
Warum das Ganze nicht in PHP oder so umsetzen?
Solange du eine Schnittstelle zur Datenbank hast (und afaik hat PHP ne MSSQL-Schnittstelle) dürfte das kein Problem sein. Man muss ja nicht gleich mit Kanonen auf Spatzen schießen.
Einziges Manko wäre jetzt noch, dass du null Plan von PHP hast. Aber wenn du schon keinen Schimmer von Web-Services hast, nimmt sich das nicht viel.
Oder du verwendest das Beispiel von Elvis.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#9

Re: Webservice programmieren - wie?

  Alt 19. Jul 2007, 08:40
Ich würde dafür auch zu PHP (oder Perl, Ruby etc.) tendieren.
Vorteile:
- nicht an M$-Plattformen gebunden
- von jedem Rechner mit Browser und HTTP-Zugriff auf den Server aufzurufen
- PHP ist recht einfach zu erlernen und unterstützt ab der Version 5 auch die OOP (alles vorher waren eher Krückenlösungen)
- Du kannst auf die PHP-VCL zurückgreifen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Webservice programmieren - wie?

  Alt 19. Jul 2007, 08:53
Zitat von DeddyH:
Vorteile:
- nicht an M$-Plattformen gebunden
- von jedem Rechner mit Browser und HTTP-Zugriff auf den Server aufzurufen
Was ich oben geschrieben habe funktioniert auch mit einem Apache unter Linux, einfach "IIS" mit "Apache" ersetzen.
Du hast die Nachteile vergessen:
  • nicht statisch kompilierbar
  • signifikant langsamer
  • ziemlich hässlich, verglichen mit Hochglanzsprachen wie C# oder Chrome. (Ruby ist nicht ganz so hässlich, aber PHP ist ein effizientes Brechmittel)
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 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