SOA and Business Architecture
Businesses are now having to think a lot more seriously about how to best assemble their systems out of common parts. Service Oriented Architecture has caused this change in the way such systems are thought of. It requires a lot more planning and investment at the outset, but it also enables Businesses to build faster systems in the long run as the inventory of reusable parts grows at a frantic pace.
In such architectural programs, systems tend to be composed of reusable elements, which are referred to as services. A services can be thought of as a software building block that performs a specific function – one of them might be retrieving data about a customer from a database. These functions are performed via well defined interfaces, which are electronic descriptions of how to call on a service from other services.
Service Oriented Architecture represents in many ways an evolution of client server architectures. In such architectures, the functions of application logic, data management, and user interface are all separate, enabling each one to be implemented via the use of technologies and platforms that are most appropriate for a given task.
When it comes to Service Oriented Architecture, on the other hand, such functions are decomposed on a further level – particularly the application logic. So, for instance, instead of having Business logic be implemented in a monolithic application server, a Service Oriented Architecture based system is able to clearly incorporate services running on several different software platforms – even if those services happen to be hosted externally buy third party providers of services.
In truth, there is not a universally agreed upon definition of Service Oriented Architecture, other than the fact that it is an architecture that literally relies upon service orientation as its main principle of design. Service orientation is the description of an architecture that makes use of loosely coupled services as a means of supporting the requirements of users and corporate processes.
Network resources in a Service Oriented Architecture environment are made available as independent services that one can access without having knowledge of the underlying platform implementation. Such concepts can be applied to software, Business, as well as other kinds of systems that rely on producers and consumers.
In 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 to 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 Service Oriented Architecture 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 Service Oriented Architecture 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: first, the providing of a common model for the control of relationships among services; secondly, allowing developers to implement robust web services utilizing familiar Java objects.
One arena where Service Oriented Architecture has been excelling is in its ability to function as a mechanism for the definition of Business services and operating models. Service Oriented Architecture thus provides a structure of Information Technology to deliver against the actual Business requirements, while also adapting to the Business’s needs.
The point of utilizing Service Oriented Architecture as a Business mapping tool is as a means of ensuring that the services created properly should be representative of the Business view and not just what the technological side of the Business thinks is beneficial.
The focal point of Service Oriented Architecture planning is the process whereby articles are defined for the utilization of information that supports the Business, as well as the plan for the implementation of such architectures. Enterprise Business architecture must always be representative of the highest architecture, as well as the most dominant one. Every service has to be created with the intent of bringing value to the Business in some fashion, while also being traceable back to the original Business architecture.
Within this field Service Oriented Modeling Architecture has been introduced by IBM as the very first Service Oriented Architecture related methodology. It came to the forefront of Service Oriented Architecture debates in the year 2004. Ever since then, a tremendous amount of effort has been made to move towards greater standardization as well as the involvement of Business objectives, especially within the context of the OASIS standards group as well as the Service Oriented Architecture Adoption Blueprints group. All such approaches take on a fundamentally structured approach to Service Oriented Architecture that focuses on the Architecture and Services aspects, thus leaving the implementation component to the more technically focused standards.
Business Driven Development
Business driven development is a method for the development of Information Technology solutions that immediately satisfy the requirements of a Business. This goal is attained through the adoption of a model driven approach that effectively begins with the Business strategy, goals, and requirements, and then transforms these components in to an Information Technology solution. Such a transformation is usually attained through the application of model transformations.
Owing to the alignment of Business and Information Technology layers, it is often possible for the propagation of changes in the Business to take place automatically in the Information Technology systems. The result is an increase in flexibility as well as shorter turnaround times during the period that the Information Technology system is being adapted. Business Driven Development shares these objectives with both Service Orientated Analysis and SOAD. This makes it one of the premiere methodologies for Service Oriented Architecture design. Business Driven Development and SOMA can be used together, as well.