Audit an SOA to replace part of it
This pattern is provided courtesy of a customer and upcoming partner entreprise, where it has been put in use in 2011.
- retrieve, make available and export information about existing services (as definitions and endpoints), so that part of existing implementations (applications or integrations) can be replaced based on this information.
- easy retrieval, easy export
For SOAP services, download WSDLs by targeting known endpoints and using a browser or CLI command (wget). Endpoints can be known :
- from configuration of existing application providing or consuming them
- from a generated web page usually provided by your service platform(s), where are gathered links to service definitions (by default, for instance under /cxf/ when for the cxf service platform, under /WS/ when it’s MS .NET…)
- from architecture documents…
Even easier with EasySOA :
- Use EasySOA to discover existing services. Here are a few examples. Using discovery by browinsg, browse to those generated web pages provided by service platforms, and all WSDLs will line up in the UI, waiting your command to be registered in the EasySOA registry. Configure your service platforms to use the HTTP monitoring discovery proxy to automatically register services whose exchanges transit in it.
- From the EasySOA registry, do a bulk export to get all WSDLs (including endpoints they are deployed at) sorted by application (server) in a single zip, that will contain all that is needed to reimplement all or part of it.
A fews ideas for scaling it up with EasySOA :
- Define your architecture using the SCA standard, so it can be imported and its services registered right away
- Or import from existing data sources by scripting on the EasySOA Remote API. Later Talend jobs will also be available. These ways can also be used to script information export where and how you want.
- Configure your runtime by EasySOA-generated properties (see Simple service registry for routing) to take advantage of retrieved service information.