Tutorials
SOAIn this day and age, enterprise applications have already begun the transition from user interface driven applications to assemblies of interoperable services that are also reusable. Such services are representative of the easy business functions that are intended to be assembled together in the form of new applications.
One of the main advantages of such a change in application architecture is that services can now be reused in the evolution of business processes. At the same time, users should keep in mind that such an approach to the construction of composite applications and business processes will not work in the absence of a standards compliant platform for the construction of such services. Interoperability can be quite a challenge owing to the fact that Web services protocols for such activities as messaging, optimization, and reliability can be quite complicated.
Services may in fact be hosted across a number of different platforms. Without a platform that has been designed around standards and targeted towards achieving interoperability, it may not be possible to quickly weave services together as a means of meeting rapidly evolving business requirements.
One type of middleware developed by Oracle, Oracle Fusion Middleware, has been constructed on a common service infrastructure. It is designed to utilize industry standards for all its SOA capabilities. Service quality protocols and optimization of messages are provided as a means of improving functionality. Such tools can be utilized outside of business logic as well as the implementation strategy for services.
Businesses will also benefit from standards that describe not merely how applications cooperate, but how they are constructed. Through the usage of SOA standards, businesses can escape platform lock-ins, while developers will be brought up to speed with skills that are easily transferable. In short, the next generation of development standards are going to focus on two main areas:
One question that people commonly ask after being introduced to SOA concepts is, why haven’t people been using this for the last twenty years?
People tend to forget that one of the main things you need in order to build a system out of parts is a standard method of representing software parts. If no such standard exists, then things can be incredibly difficult. SOA is not exactly a new thing. Businesses have spent the last fifteen years trying to come up with a set standard. While CORBA and DCOM have been in existence for a while, they never became world wide standards. It is the Internet that has in many ways set up standards – namely HTTP and HTML – that link together people all over the globe. Businesses witnessing the growth and the development of the Internet decided to use similar strategies to link their own computer systems together.
Such businesses first came up with Web services standards. Such services are based on technologies that originated on the Internet and make use of such technologies as XML and HTTP as a means for representing software parts and linking together a number of different computer systems.
In recent years, there has been an adoption of web services as the standards upon which to base Service Oriented Architecture. Software vendors such as webMethods have brought out on to the market a variety of products that have made SOA quite useful.
Why is SOA promoted at such a level of granularity? The answer is fourfold.
1. SOA tends to be considered in terms of web services.
2. Web services technology on the performance level is currently inappropriate at the lower levels of granularity.
3. Web services come from request and reply patterns; thus, they tend to be associated with command and control solutions.
4. EDA models are still not well known – people only look for solutions in more commonly known domains. It is an unfortunate fact that the command and control pattern is inappropriate at this level.
SOA 2.0 can be a good idea in the middle layers of functional composition when it is based on synchronous web services. In those situations, the command and control type of interaction will typically be required, and may in fact be in good balance with the performance of web services.
First Page: SOA 2.0 Event Driven Architecture