Whatever-as-a-Service
Since my posting last month regarding Software-as-a-Solution I’ve noticed a number of additional variations on SaaS, and I find the many options being discovered and used in the real-world very interesting. In this article I cover various other forms of XaaS (X-as-a-Service) or WaaS (Whatever-as-a-Service).
Various forms of service offerings have appeared on the Enterprise scene, solutions, information, applications, hybrids, infrastructure, etc. The continual evolution of SOA related to services continues to expose new and interesting domains. If you define Software-as-a-Service as merely a hosted web-application delivered in a subscription model (pay-as-you-go), you’re missing an entire movement that is appearing to grow ever more prevalent in many Enterprise-SOAs.
Information-as-a-Service, for example is access to business entity information (at real-time). In Financial Services this may be customer portfolio information, market data, security master, etc. The information sources are diverse (multiple disparate locations) but abstracted so the information service provides an abstraction to the original location and format, allowing the information to be accessed in a SOA way. Formats may include XML, SQL, files or other domain specific formats such as FIX, SWIFT, etc. Web-oriented information used in mashups and other compositions may be WSDL via SOAP over HTTP, or REST, RSS, etc.
Infrastructure-as-a-Service is yet another twist, which focuses on low-level capabilities (plumbing, or the stuff required to be there for any application to run, yet non-specific to applications). These services include identity services, logging services, reporting services, etc. This form of service shouldn’t be confused with the comprehensive footprint of the information fabric (the virtualized data layer). I’m not sure the data layer can be a service (it’s in the information management domain).
Business services, application services, etc… (the list goes on) are yet other types of services showing up in the SOA scene. Business services deliver a business capability, like a web service that submits a trade to an ORM, or a service that invokes a rules engine to check the suitability of a trade, these would be business services. Application services would be those necessary components required for an application to function without relevancy to the business domain, but specific to the application.
These services even get sub-classed further, for example Information-as-a-Service may have to assume a common data model for highly shared data, as opposed to passing around huge amounts of data (imagine a data feed containing real-time exchange data replicated to every service requiring a price, as opposed to a shared master table). Said common data may need to be the ‘context’ for a service to execute, and may contain results; therefore the model is an attribute or characteristic of the service, perhaps sub-classing the service.
My whole point is that there are all kinds of services. I’m amazed at how simplistic most SOA approaches try to normalize services into the same thing, (like how many Registries treat every service as basically a simple invocation of something, where a little data is provided and an output is expected). In order for services to be useful in real-world business solutions, the realization of the reality of the various kinds of services is essential.