[Delphi] SOAP of DCOM of?

Pagina: 1
Acties:
  • 177 views sinds 30-01-2008
  • Reageer

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ik ben bezig met een server applicatie die de koppeling legt tussen de client (Delphi app en in de toekomst misschien een IIS website) en de database (MSSQL 2000), nou moet ik een keuze maken tussen SOAP of DCOM om de verbinding te realiseren tussen de server en de client.

Maar wat is het groote verschil tussen beide, en welke is over het algemeen het snelst icm de MSSQL server?

Graag ervaringen e.d., alvast bedankt.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
SOAP zal niet het snelste zijn, dat heeft nogal wat logische overhead. Maar ja, SOAP heeft wel vele andere voordelen :) . DCOM vond ik persoonlijk niet echt yummie (net als COM) maar het is denk ik een eenvoudigere oplossing als Delphi daar goede libraries voor heeft (SOAP is op de meeste platformen nog niet bepaald uitgekristalliseerd en vaak moet je zelf remote requests opbouwen, soms zelfs in plain XML).

Misschien is .NET Remoting (en dus indirect SOAP) een leuk idee? Vanuit Delphi kan je daar ook wel tegenaan praten als je de .NET kant flink configureert of je aan de Delphi kant flink aanpast.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
de implementatie van SOAP en/of DCOM is geen probleem in Delphi, heb zo'n server zomaar gemaakt.

Snelheid weet ik niet, daarom o.a. dit topic.

Verder vroeg ik me af of DCOM ook via internet goed kan werken?

En of SOAP alleen kan werken icm een webserver?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
jelmervos: Snelheid weet ik niet, daarom o.a. dit topic.
SOAP is zachtjes gezegd nogal verbose en ik vermoed dat dat de snelheid niet echt ten goede komt... Zeker als je complete resultsets even via SOAP over gaat sturen kunnen die messages flink uit de hand lopen.
Verder vroeg ik me af of DCOM ook via internet goed kan werken?
Ik zou niet weten waarom niet, maar heb er niet veel ervaring mee dus wellicht dat er toch nog nadelen aan kleven....
En of SOAP alleen kan werken icm een webserver?
Nee, SOAP is transport-onafhankelijk en hoeft dus niet percee over HTTP. Je kunt het zelfs via POP en SMTP doen :o . Ook kan het in .NET bijvoorbeeld direct over een TCP connectie.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Bedankt voor je reactie. Ik denk dat het DCOM wordt, misschien nog meer mensen?

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Behalve SOAP en DCOM kun je ook nog gewoon de BDE(borland database engine) gebruiken met de sql links driver. Dit werkt prima alleen heeft de bde problemen met cgi's en isapi's dus voor als je dat wilt zou ik geen BDE nemen wil je dat niet dan kan de bde de betere keuze zijn omdat je zo je applicatie heel makkelijk kan ombouwen naar een ander database type.

Een andere mogelijkheid is om speciale MS-SQL delphi componenten te gebruiken, dit is absoluut het snelst en betrouwbaarst maar het maakt de applicatie ook meteen alleen geschikt voor MS-SQL. Deze componenten zijn bijvoorbeelde verkrijgbaar bij http://www.component-store.com

Verwijderd

DCOM is en eenenal ellende qua authorisatie op een normaal lan, denk niet dat je dat fatsoenlijk/betrouwbaar/onderhoudbaar over internet krijgt. ik zou dan idd naar SOAP of XML-RPC (ik ken het niet maar ik ken rpc, ik ken XML, ik heb 'n redelijk vermoeden wat het doet :) ) kijken.

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ik heb er vandaag al even mee gespeeld, en vond DCOM wel meevallen, alleen het verbinden duurde lang. Met de login was het idd even prutsen, maar bij Windows zit standaard een goede tool (dcomcnfg) om te bepalen wie er wel/niet bij de DCOM server mogen.

Toch vind ik SOAP ook wel wat hebben, omdat het zoals ik het heb getest via HTTP werkt. En SOAP is niet platform afhankelijk.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Kent SOAP Fetch-On-Demand?

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Nog een aantal zaken waar rekening mee gehouden moet worden bij gebruik van DCOM.

Het kan dan wel over i'net maar is traag. Bovendien wordt IP-forwarding niet ondersteund, i.v.m. i'net wel heel belangrijk.

Via 56k6 modem inbellen op i'net en dan DCOMmen is traaaag.

Verwijderd

kijk eens op www.msdelphi.com ik gebruik de DSOAP toolkit, dit is een delphi schil rond MS SOAP, deze bevat standaard ook compressie, na enig testen bleek dit sneller dan DCOM (over internet) wij gebruiken dit in een multitier omgeving tussen een database server en applicatie server, applicatie server naar client is bij ons wel DCOM, (omdat dit binnen LAN is en events nodig zijn)
Pagina: 1