Pattern 4: Virtual provider
You may have a service adaptor (or more) and service proxy in place. Now you can start building your virtual provider.
Context and problems: You are in an ecosystem with service consumers that rely on you for services. Likewise you rely on the services provided by service providers. However, in the real world, this ecosystem develops gradually -- not all services you require are available as Web services or through a service specification, yet. You need to develop the critical mass of services that enable your line of business, enterprise, or ecosystem.
Forces: You want to obtain the functionality of existing providers you depend on not as API calls, but as services; but they are not ready to be exposed as services yet. You need to negotiate with the potential providers to obtain the services you need, not only functionally, but with the required service level agreements or non-functional requirements, all based on a service specification or description you provide (plus, perhaps, a service policy). You may face challenges because the providers may not provide services in the way you require them. You may ultimately face problems such as: a) the providers may not provide the services in a timely fashion for your immediate needs, b) they may provide different functionality not matched to your granularity, or c) they may not deliver the non-functional requirements you need.
You want to have someone provide you with a service, but no one is prepared to do so yet.
Solution: Create a virtual provider by specifying the service you need and assuming it is being provided. Create the provider yourself by using a proxy to communicate with the legacy system, while using an adaptor to transform the protocol used to one you want/need/have specified in your service description/contract. You encapsulate the proxy and adaptor in a façade because the number of adaptors may increase at random based on new systems and protocols that have to be transformed in the future. Therefore, use a façade to encapsulate the set of adaptors that will allow communication with existing API?s.
Find out what early adopters are thinking about SOA financial justification! Where do they see the costs and benefits? The most significant...Learn More