Po przeczytaniu strony Service Oriented Architecture Principles i odpowiedniej Wikipedii article pomyślałem: platformę Erlang/OTP można uznać za platformę SOA i można na niej budować aplikacje SOA.SOA: Dlaczego nie używać serwerów internetowych Erlang/OTP jako usług?
Jedyną rzeczą jest to, że Service Contract dla każdej usługi w takim systemie jest bardzo specyficzny: aby wywołać usługę w Erlang/OTP, warstwa Orchestrating będzie musiała wykonywać połączenia za pośrednictwem komunikatów Erlang lub wywołań do serwera gen_server (zależy od implementacja).
To nie pozwala na wykonywanie żadnych połączeń z usługami poza zasięgiem platformy Erlang/OTP.
Co jednak zrobić, jeśli spróbujemy zbudować każdą usługę, przenosząc wszystkie funkcje usługi do serwera sieciowego Erlang, takiego jak Mochiweb i zasadniczo zmieniając interfejs każdej usługi z serwera_głównego: wywołanie XML?
Umożliwi to komponowanie różnych aplikacji ze standardowych "klocków" z uniwersalnymi umowami serwisowymi opartymi na WSDL.
Co więcej, takie podejście pozwoli nam nadal korzystać z usług nadzorców OTP i innych funkcji OTP, ponieważ taka Usługa nadal będzie aplikacją OTP.
Pytanie brzmi: Czy uważasz, że budowanie aplikacji o architekturze opartej na architekturze usługowej przy użyciu serwerów internetowych OTP (Mochiweb) jako usług to dobry pomysł? Czy dodatkowa warstwa przetwarzania XML może zniszczyć wszystkie zalety takiego podejścia?
webmachine (http://wiki.basho.com/Webmachine.html) może być wart obejrzenia dla Twojego środowiska niezwiązanego z OTP. Zasadniczo nie ma powodu, dla którego OTP nie może zapewnić tego, czego szukasz - przynajmniej na poziomie ogólności, który opisujesz. – sfinnie
Myślałem dokładnie to samo :-) –
sfinnie, jaka jest różnica między Webmachine i Mochiweb w tym konkretnym przypadku? – skanatek