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
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