[Delphi & SOAP] Geschikt voor client/server?

Pagina: 1
Acties:

  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Topicstarter
Ik ben bezig met een onderzoekje naar de mogelijkheden om een client/server applicatie. We maken gebruik van Delphi 7. Aan de hand van een aantal artikelen op de community van borland en andere delphi sites heb ik een hele kleine applicatie gemaakt met SOAP die nog niets anders doet dan het weergeven van drie tabellen die met elkaar in relatie staan. Gebruikte DBMS is MySQL, maar de snelheid waarmee de records worden weergegeven valt echt vies tegen (als SOAP gebruikt wordt). Als er geen gebruik gemaakt van een tussen applicatie maar direct de MySQL database gequeried wordt, is die echt supersnel.

Omdat de voorkeur ligt bij het gebruik van MySQL (nu nog versie 3.23) lijkt het mij toch het beste om een 3-laags applicatie te maken. Het DBMS, een server applicatie en uiteraard een client. De server applicatie krijgt dan de verantwoordelijkheid om te zien dat niet twee clients dezelfde records bewerken (met InnoDB kun je inderdaad op recordniveau locken) en de transacties. Nadeel natuurlijk is dat je dit allemaal zelf moet maken.

Andere mogelijkheden zijn direct op de database programmeren, dan moet er wel gebruik gemaakt worden van een database die transacties ondersteunt. Hier komt Interbase in beeld (standaard bij Delphi), maar deze is echt super traag (dit hebben we uitgeprobeerd door verschillende queries uit te voeren zowel lokaal als over een netwerk en zelfs internet).

Mijn vraag is of SOAP wel geschikt is om te dienen als communitie-onderdeel voor database gerelateerde applicaties. Met Delphi kun je datamodules en datasets via SOAP beschikbaar maken voor applicaties. Maar is dit wel de manier? Er zijn een aantal artikelen die laten zien hoe je een dataset op de server kunt verbinden aan een client, maar hierbij gaat het om voorbeelden. Niet om serieuze applicaties. Ik krijg steeds meer het idee dat SOAP geschikt is voor korte interactie, bijvoorbeeld het Google Search API via SOAP.


Gebruikte links:
http://www.drbob42.com/soap42.htm
http://www7b.software.ibm...212swart1/0212swart1.html

www.fendt.com | Nikon D7100 | PS5


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

SOAP is daar zeker voor geschikt, sterker nog, het is er voor bedoelt.

Jij praat hier nu over een specifieke toepassing van Client/Server, namelijk het verbinden met tabellen. Dat is natuurlijk een mogelijke toepassing in een n-tier, maar vaker gebeurt het dat er met Business Objects gewerkt wordt. De client zal dan nooit een tabel zien, maar ziet in termen van Customer.Orders[1].Quantity bijvoorbeeld.

Aangezien SOAP gewoon gebruikt maakt van XML is het langzamer dan hun binaire alternatieven zoals DCOM, COM+, CORBA of het protocol waar RDBMssen gebruik van maken. De voordelen van SOAP liggen ergens anders. SOAP is een open standaard en is vanwege XML gemakkelijk te implementeren. Je hebt dus een grote kans dat je kan praten met welk platform of programmeertaal dan ook. De binaire alternatieven hebben vaak als nadeel dat ze vele en random ip sockets gebruiken. Das erg lastig te beveiligen en te configureren over internet. Als je SOAP over HTTP gebruikt heb je als voordeel dat alleen poort 80 gebruikt wordt, dat die veel gebruikt wordt en dat je van alle voordelen (zoals proxies, loadbalancing, authentication, encripty en compressie) gebruik kan maken. Als een klant een internetpagina kan openen is er een grote kans dat ie bij je server kan.

Aangezien SOAP langzamer is zal je daar rekening mee moeten houden. Het liefst dus alleen data oversturen die je echt gaat gebruiken en alleen als je het nodig hebt. Aangezien het connectie opbouwen relatief veel tijd kost is het ook van belang dat je niet veel kleine aanroepjes doet, maar enkele grotere.

Kortom: SOAP is zeker geschikt en heeft enkele voor en nadelen, netzoals de alternatieven. Wat voor jouw het beste is zal je moeten nagaan.

[ Voor 4% gewijzigd door LordLarry op 31-10-2003 13:23 ]

We adore chaos because we like to restore order - M.C. Escher