Jak sie nauczyc SOAP?

0

Probowalem czytac blogi, ale w kazdym jest inaczej. Raz pisza xsd, a raz annotacjami javax.jws a potem znajduje jeszcze inne sposoby. Straszny metlik, nie wiem o co chodzi.
Probowalem zapodac sobie jakies kursy z jutuba, ale nie jestem w stanie tego zdzierzyc, to jest tak nudne, ze zasypiam. Robienie prostych rzeczy naokolo. Jakbym ogladal poradnik "jak utrudniac sobie zycie".

1

Po prostu to są dwa podejścia tworzenia webserwisów.
Jeden z nich to Contract first, czyli:
Tworzysz WSDL i generujesz z nich klasy Javowe, a potem implementujesz.

Drugi z nich to Code first, czyli:
Najpierw tworzysz klasy Javowe, konfigurujesz je np. annotacjami i generujesz z nich WSDL + jakieś interfejsy Javowe.

2

Podejście pierwsze jest zdrowsze, bo wtedy API projektuje się pod użytkownika API.
Wiele razy widziałem jak podejście drugie prowadziło do dziwnego API, które było wygodne dla programisty serwisu (detal implementacyjny miał główny wpływ na wygląd API), a nie użytkownika API.
Nie twierdze, że to jest ścisła reguła, to jest tylko taka moja obserwacja.

1
Julian_ napisał(a):

Probowalem zapodac sobie jakies kursy z jutuba, ale nie jestem w stanie tego zdzierzyc, to jest tak nudne, ze zasypiam. Robienie prostych rzeczy naokolo. Jakbym ogladal poradnik "jak utrudniac sobie zycie".

Bo ogólnie są to rzeczy nudne.
Co do robienia rzeczy na około to zaproponuj lepszy sposób na połączenie kodu w Javie z kodem w C# lub Delphi. I to dla utrudnienia 15 lat temu. Dziś mamy REST i protocol buffers. Wtedy takich cudów nie było

0

Zacznij od WSDL, bo przed implementacją musicie dogadać kontrakt, a na to się schodzi najwięcej czasu. No i nie będzie korciło, żeby adnotować encje :D

0

Jak sie robi na produkcji?

Jeśli jest podejście my wystawiamy usługę a niech martwią się ci co korzystają to podejście przez adnotacje jest częściej wybierane bo jest szybsze.

Zacznij od WSDL, bo przed implementacją musicie dogadać kontrakt, a na to się schodzi najwięcej czasu.

Jeśli jest po drugiej stronie jest sam język programowania, czyli w naszym przypadku java, to raczej będą chcieli projektować na poziomie DTO i metod a nie rzeźbić WSDLa.

3

Ja zadam inne pytanie: po co się w obecnym czasie uczyć soapa?Jak gdzieś pojawi się wymóg użycia to po prostu ogarnąc na szybko wersje jaka tam jest używana i wykorzystać, ale to tyle. Przecież dziś wszystko co nowe robi się na rest lub graphql.

0

Ok, powiedzmy ze przeklikalem tego WSDL. Jak to sie ma do XSD? Xsd jest niepotrzebne, tak? To tylko generator klas?
Bo znalazlem jakis tutorial gdzie koles nie pisal zadnych Wsdl ani tych adnotacji tylko xsd.

2

jakis tutorial

:D to jak te tutoriale pod MVC gdzie kontroler woła serwis który woła repoozytorium i ludzie pytają po co jest ten serwis w ogóle skoro nic nie robi. Podobnie tutaj. XSD opisuje strukturę XMLa i pozwala go walidować. Jeśli twój SOAP przesyła customowe obiekty zserializowane do XMLa to fajnie byłoby dać użytkownikowi informacje o tym jak takie XMLe mają wyglądać.
No ale tak, XSD nie jest "konieczne", mniej więcej tak samo jak nie musisz nikomu mówić jakie parametry przyjmuje twój RESTowy endpoint ;)

0

W tym tutorialu nie ma zadnego xml. Wygenerowal klasy z tego xsd.

1

Właśnie jestem po prezentacji, i jestem podjarany GraphQL.

W kontekście tego wątku, wydaje mi się być pomiędzy SOAP a REST, jest lepiej od endpointów RESTa zorganizowany (schema, walidacja, te klimaty).

Sugeruję się troszkę zainteresować.

1 użytkowników online, w tym zalogowanych: 0, gości: 1