A detailed explanation of the how and why of it.
Software as a Service (SaaS) and Service Oriented Architecture(SOA) is the latest buzz amongst many of the software vendors. Not just a buzz but it’s the logical next step with all the latest technologies. A detailed description about the how and why of it. An explanation of the architecture and the reasons behind why it should be this way and not any other way would be most appropriate at this juncture.
Appreciating the people who interpreted the ideas in a perfect way and set the ball rolling ( Google to : Fairisaac Teradata Alliance) , the following paragraphs explain the ideas in a brief way reasoning every aspect of my interpretations of the architecture. Since most of the projects have been implemented and are live, the explanations below would be easy to understand now unlike before their implementation when every reasoning was questioned with a big “WHY ?”.
Why Software as a Service ?
Since decades software is being developed as a single block of code and bundled as packages for the consumers. Nothing wrong with it, but the size and cost is simply exorbitant and at a stage every consumer thinks twice before buying anything. And one can always imagine how it would have been in the future with the ever increasing size of each of the packages.
It is easy to learn. When the software is broken into functional modules or services, it becomes easy for the learner to decipher the code and find purpose in each and every aspect in the intended way. Unlike in a packaged software where its only the set of developers who can really make out what does what.
A service is not a piece of stray code, it comes with a unique functionality and can stand on its own.
One can always pick a service he wants instead of a package for every small need.
A group of services when put together can form a knowledge base for a specialized purpose. A person with a finance background can easily associate himself with a set of services. He can always find what’s missing and can add the requirements without much experience with programming.
Quality of a service can be improved unhindered. Without worrying about the integrity of a complete package. Making it scalable. A service can run on a supercomputer yet its benefits can be utilized by the lame user. Unlike with a packaged software where a lame user would be expected to sit in front of a supercomputer.
A service is middleware independent. A service which can be implemented in the language of choice can be easily integrated to either Microsoft or Java Technologies, Windows or Linux systems. Thus making it agile and platform independent.
A service that implements the business logic as a pure language code, can be scaled to bigger hardware when the complexity increases making it flexible too. Which makes the entire application resilient from adversity.
A service can be treated like a formula, for example formula for the volume of a cube x^3, which remains the same for a small or a big cube.
Inherently a service relies on the latest advances in web technologies. Hence futuristic too.
What’s the difference between services and components?
A service is reusable. And most of the components within a service can be reused by other services.
Simple Interest(SI) and Compound Interest(CI) are the two types of interests which a bank gives on its deposits. Various deposits like fixed and recurring can be considered as services , which in turn use the components SI and CI.
Interpreted statistically. Every formula involves a mean/average which can be considered a component and the formula itself a service.
It is Data Management.
Every business big or small does the same thing buying and selling of their products. A software that implements the business processes is independent of the product type and all that software represents about the product is in numbers. A costly product in single digits and a cheap product in hundreds. Numbers is all that matters.
It is the analysis of these numbers that gives insights. And the analysis, the formulas implemented as services, remains the same independent of the product. Hence a service designed for one product can be reused by another product.
Hence Data Management is the trick here.
Managing business data gives immediate returns for money spent. The profits thus can be used for improvements in the technology.
More data better insights. Analyzing a decade’s data gives better insight than analyzing a year’s data. Hence analyze a data warehouse, yet it’s the same application/service that is applied to the data. Only the hardware configuration changes.
Scaling up the applications further. In any field of knowledge, either medical diagnostics or oceanography or geology, it is the data collected that is analyzed in various ways using the most complex of formulas to get the required results.
Decisions made by analyzing data is the first step in any Decision Support System. Which can be improved further by mathematical modeling and still more by applying neural networks and simulations. (DSSresources.com).
Hence data management when applied to a particular field of knowledge adds more intelligence to the software.
Also the present day technologies support and make the task of data management easier.
Therefore, it is fundamental to understand the reasons behind a data management strategy. So that futuristic software is developed which can last the test of time.
Why a business analytics approach?
Realistically speaking, not every business gains huge profits. There are losses and wastage. It is essential to minimize the losses and wastage to be successful. Analytics comes as a big help to their rescue.
Applying an operations strategy by using the best of formulas from operations research one can optimize the product development basing the supply on the demand. And a services based model makes such technologies affordable for the smallest of the businesses.
Using similar analytics one can predict the demand before embarking on production. Optimize raw material procurement. And thus cut costs.
Utilize analytics for optimum employee base and remuneration.
All at a fraction of the cost, by cutting down the number of soft wares bought solving each of the above problems.
By scientifically analyzing the data in various ways it gives an innovative edge.