2012-08-21 20 views
5

Zajmuję się wykorzystaniem Menedżera API WSO2 dla naszego starszego interfejsu API, który jest obecnie oparty na protokole SOAP. Oczywiście chciałbym udostępnić naszym klientom interfejs RESTful, a API Manager przekonwertować go na żądanie SOAP, które zostanie przekazane do naszego dotychczasowego systemu. Przeszukując witrynę WSO2, widzę, że jest jakiś sposób, aby to zrobić za pomocą transformacji XSLT, ale tylko przy użyciu produktu WSo2 ESB.WSO2 API Manager - czy może konwertować żądania REST na żądania SOAP na zapleczu?

Czy istnieje sposób na obsłużenie tej transformacji w Menedżerze API? W jaki sposób? Jeśli nie, czy mogę w jakiś sposób skorzystać z produktu ESB i połączyć go z produktem API Manager? A może to przesada?

Dzięki!

Odpowiedz

2

Konwersja REST na SOAP jest wyjątkową cechą WSO2 ESB. Aby dowiedzieć się więcej na ten temat, spójrz na próbkę podaną w [1]. Mediator Payload Factory użyty w tej próbie jest znacznie nowszym rodzajem mediatora niż Mediator XSLT i jest także bardziej wydajny w obsłudze komunikatów SOAP niż XSLT Mediator.

Menedżer WSO2 API to platforma do publikowania, zarządzania i zarządzania interfejsami API. Menedżer WSO2 API zbudowany jest na bazie skom- plikalizowanego szkieletu węglowego, do którego wykorzystuje się prawie wszystkie komponenty WSO2 ESB. Dlatego technicznie wszystko, co można zrobić z WSO2 ESB, może być wykonane przez WSO2 API Manager; jednak bez pomocy interfejsu GUI znalezionego w WSO2 ESB; będziesz musiał użyć widoku źródłowego konfiguracji opartej na XML. Jednak aby omijać tę przeszkodę, zawsze możesz pobrać produkt WSO2 ESB (który jest również darmowy i open-source) i utworzyć wszystkie niezbędne sekwencje mediacji za pomocą GUI i skopiować i wkleić konfigurację z WSO2 ESB do WSO2 Menedżer API i gotowe.

Moim zdaniem jest to ESB WSO2, którego potrzebujesz. W twoim przypadku zakładam, że masz tylko jeden lub kilka API SOAP, które musisz ujawnić jako API REST; szukasz raczej funkcji konwersji REST-SOAP niż możliwości zarządzania setkami interfejsów API. Jeśli nie potrzebujesz podstawowych funkcji Menedżera API, takich jak publikowanie interfejsów API, wersjonowanie, uwierzytelnianie klientów, ograniczanie na podstawie zasad i monitorowanie użycia interfejsu API (pełna lista funkcji znajduje się na stronie głównej produktu w [2]), a następnie naprawdę nie chcesz Menedżera API. Ale jeśli masz wymagania zarządzania API, możesz skorzystać z WSO2 API Manager. Nie sądzę, że powinieneś pójść z Menedżerem API WSO2 tylko dlatego, że przewidujesz spełnienie wymagań dotyczących zarządzania API.

Równie dobrym rozwiązaniem jest wykorzystanie WSO2 ESB fronted WSO2 API Manager. WSO2 zaleca nawet tę architekturę, jeśli wykonujesz intensywną mediację w warstwie zapośredniczenia. Możesz nawet zacząć od samego WSO2 ESB, a później, gdy nadejdą właściwe wymagania, zdecyduj się na jego przejście z Menedżerem WSO2 API. Fronting WSO2 ESB z WSO2 API Manager to pestka.

[1] http://docs.wso2.org/wiki/display/ESB403/Sample+800+Introduction+to+REST+API

[2] http://wso2.com/products/api-manager/

+0

doskonały - to jest odpowiedź potrzebne. Dzięki! –