150 likes | 259 Views
Welcome. Communication between Dutch notaries and banks through WebServices Emil Stojanov Quantaris. Who is Quantaris?. Founded in November 1992 Dedicated to notary software End of 1993 – 7 customers End of 1994 – 96 customers First VDF version October 2000 End of 2004 – 240 customers
E N D
Welcome Communication between Dutch notaries and banks through WebServices Emil Stojanov Quantaris Quantaris B.V.
Who is Quantaris? • Founded in November 1992 • Dedicated to notary software • End of 1993 – 7 customers • End of 1994 – 96 customers • First VDF version October 2000 • End of 2004 – 240 customers • Approx. 3800 users (11500 total) = 33% Quantaris B.V.
ECH • Electronic communication between banks and notaries • Streamlining mortgage process • Eliminate all ‘paper’ communication • Safe communication by Client Certificates • Process control • Data exchange Quantaris B.V.
Mortgage process Client Bank Notary Transfer Mortgage Exchange Orientation Advise - Offreren money - deed Quote Acceptance information Quantaris B.V.
What is ECH Mortgage banks Notary offices Backoffice Mortgage bank Messages ECH server Backoffice Mortgage bank Messages Backoffice Mortgage bank Security Quantaris B.V.
Goals • Should work with both CM and VDF(9) • Shield user from communications • Foolproof • Integration with database Quantaris B.V.
Structure ECH ECH Case BANK Notary Tasks Data Quantaris B.V.
Implementation • VDF 11 for the webservices • Separate communication module • Main application uses a queue • Offline storage of data in application database Quantaris B.V.
Implementation Database Q-BIS Webservice client ECH Queue Quantaris B.V.
Pitfalls • Bad documentation • Not all functions documented • Different names in WSDL and documentation • Recursive structures • WSDL not compliant with service • One function returns different structures • Server returns either DateTime or Date • Sequence of elements in WSDL not conform server • Optional attributes are required • Server requires all typedefinitions to be passed • Complex web service • 2 WSDL • 162 complex datatypes (structures) • 88 functions Quantaris B.V.
Recursive structures Struct tWSKlantValueBean String naamGegevens String bedrijfsNaam Boolean indicatieMan tWSKlantAdresValueBean[] klantAdressen String telefoonWerk tWSKlantAdresValueBean[] klantAdressenAtPosition tWSBurgerlijkeStaatValueBean burgerlijkeStaat tWSSoortKlantValueBean soortKlant Boolean indicatieEerderGehuwd String bedrijfsKvKPlaats tWSTitelValueBean titel tWSKlantValueBean vertegenwoordiger String vertegenwoordiger String tussenvoegsel bigint bedrijfsKvKNummer Boolean indicatieSchuldenaar String telefoonMobiel String telefoonThuis String achternaam Boolean indicatieHypotheekGever DateTime geboorteDatum String bedrijfsTelefoon String voorletters String bedrijfsFax Boolean indicatiePandGever String email2 String email1 Boolean indicatieBorg tWSSoortLandValueBean nationaliteit String geboortePlaats End_Struct // tWSKlantValueBean Quantaris B.V.
One function returns different structures Function wsgetSoortValueBeans string llin0 returns tWSSoortValueBean[] Struct tWSSoortValueBean String omschrijving String code End_Struct // tWSSoortValueBean Struct tWSSoortAflosNotaBedragValueBean String omschrijving String code Boolean isCredit End_Struct // tWSSoortAflosNotaBedragValueBean Struct tWSSoortSluitnotaBedragValueBean String omschrijving String code Boolean isCredit Boolean indicatieNotaris End_Struct // tWSSoortSluitnotaBedragValueBean Quantaris B.V.
Server returns either DateTime or Date Struct tWSTaak (as defined in WSDL) Boolean indicatieUrgent bigint taakNummer String behandelaar Boolean indicatieEigenTaak String klant tWSZaakReferentie zaakReferentie tWSKeuzeVeld status Boolean indicatiePasseerZaak tWSKeuzeVeld soortTaak DateTime rappelDatum DateTime afhandelDatum End_Struct // tWSTaak Struct tWSTaak (as returned by server… sometimes) Boolean indicatieUrgent bigint taakNummer String behandelaar Boolean indicatieEigenTaak String klant tWSZaakReferentie zaakReferentie tWSKeuzeVeld status Boolean indicatiePasseerZaak tWSKeuzeVeld soortTaak Date rappelDatum Date afhandelDatum End_Struct // tWSTaak Quantaris B.V.
Sequence of elements in WSDL not conform server Struct tWSAdres (as defined in WSDL) tWSStraatGesplitst gesplitst String postcode String plaats String samengesteld tWSKeuzeVeld land tWSKeuzeVeld soortAdres End_Struct // tWSAdres Struct tWSAdres (as returned by the server) tWSStraatGesplitst gesplitst tWSKeuzeVeld land String postcode tWSKeuzeVeld soortAdres String plaats String samengesteld End_Struct // tWSAdres Quantaris B.V.
The End Questions? Quantaris B.V.