Kannst Du mal noch andeuten, wie Du dann
Delphi-Quellcode:
TSchoolManager.Save( ASchoolSubject : TSchoolSubject );
TSchoolManager.SwipNames( APersonSubject : TPersonSubject; AAge : Integer );
implementierst?
Bei einer serviceorientierten Architektur wäre die zweite Methode etwas modifiziert einfacher und schlanker zu lösen:
procedure TSchoolManager.SwipNames( ASchoolSubjectID : TSchoolSubjectID; AAge : Integer );
anstatt dem Service ein "komplettes" Objekt zu übergeben, was unter Umständen wiederum Unterobjekte / Listen von Objekten enthält, würde nur seine ID benutzt (die ein einfaches Integer Feld, eine
GUID oder auch eine aus mehreren Elementen zusammengesetzte Struktur sein kann).
Diese wird serialisiert an den Server gesendet, der dann die gewünschte Operation mit dem Objekt ausführt.
Auftretende Fehler würde ich per (serialisierter)
Exception an den Client zurücksenden.
Bei einer serviceorientierten Architektur wäre der Service, der den TSchoolManager implementiert, komplett zustandslos, das bedeutet das die Anwendungslogik im Client liegt.