V enterprise integraci je SOAP web service standard. REST je trendy, ale pri integraci bankovnich systemu je SOAP s WS-* standardy stale bezpecnejsi volba. Po dvou letech intenzivniho nasazovani sdilime best practices.
WSDL-first pristup¶
WSDL je kontrakt. Pokud zacnete od kodu, kontrakt je vedlejsi produkt implementace. Pravidla: Document/literal wrapped binding, verze v namespace, spolecne typy v separatnim XSD, operace jako slovesa.
Implementace v Java EE¶
Z WSDL generujeme Java tridy pomoci wsimport. Server implementuje vygenerovany interface jako @Stateless EJB. GlassFish se postara o SOAP stack a WSDL publikaci.
WS-Security¶
X.509 certifikaty pro vzajemnou autentizaci a podpis zprav. Username/password token pouze pres HTTPS. Konfigurace na GlassFish je komplikovana, ale nutna pro enterprise.
Error handling a verzovani¶
Custom fault elementy pro business chyby. Nikdy stack trace na produkci. Minor verze zpetne kompatibilni, major verze = novy namespace a paralelni provoz.
Zaverem¶
SOAP neni sexy, ale v enterprise je nenahraditelny. WSDL-first, WS-Security a jasna verzovaci strategie usetrni hodiny debugovani.