SOA Architectural features and practical aspects
Service-oriented architecture (service-oriented architecture, SOA) — a development approach of the software which cornerstone services with the standardized interfaces are.
The directory of SOA solutions and projects is available on TAdviser
Content |
Using SOA three aspects of IT services are implemented, each of which promotes receiving the maximum return from IT in business:
- Services of business functions. The essence of these services consists in automation of components of the specific business functions necessary for the consumer.
- Infrastructure services. These services perform the carrying-out function, by means of the platform through which services of business functions are delivered.
- Services of lifecycle. These services are some kind of "wrapper" which in most cases delivers to IT users "these services". Services of lifecycle are responsible for design, implementation, management, change of infrastructure services and business functions.
World market of SOA
The average cost of SOA project is estimated by AMR Research approximately at 500 thousand dollars. At the same time large platforms which are the full-function tool for business present at the market only several firms - IBM, Oracle, Tibco, Sun Microsystems, Software AG, Microsoft, SAP AG. Read article "SOA (world market)"
Russian market of SOA
Today in the Russian market there are several partially open SOA products, and the leading razrabotchka of ERP systems, such as SAP and Oracle promise to equip this (2009) them with libraries of SOA solutions. Some Russian developers (1C, Diasoft, etc.) also announced that they made the products SOA open. Read article "SOA (market of Russia)"
Development of SOA
The concept of SOA which appeared a few years ago first was perceived as some new approach to application integration on the basis of the unified industry standards. In a revolutionary way the new solution of SOA is a new view on modification and development of functionality of applied corporate systems.
The Enterprise Service Bus technology providing the unified mechanism of interaction of applications became some kind of predecessor of SOA. Complemented with some other technologies, ESB allowed to create a single integration platform. Apparently, high-quality transition to SOA began while there was an opportunity to create over this integration layer new application solutions using already existing functionality.
Until recently we used traditional web resources, without assuming that in this plan it is possible cardinally to change something. It appeared – it is possible, and appeared web two - zero. The trend turned out so successful and attractive that it was instantly adopted by marketing specialists. The label 2.0 appeared on many software solutions and in most cases its use is very disputable. Such general trend did not manage to avoid also to service-oriented architecture. Read article "SOA 2.0"
Service-oriented and object-oriented programming
Emergence of service-oriented approach made the next reform in the theory of software development, having left the concept of object-oriented programming in the past.
As you know, reuse of a program code simplifies development of big information systems. Until recently for this purpose the object-oriented approach meaning tough consolidation of components and application objects in a single whole was traditionally applied. In an OOP paradigm from the developer knowledge of the application programming interface in which the attributes and methods together implementing necessary functionality are integrated is required. But as the object systems are usually created on the basis of some one programming language (Delphi, the C Yayk of programming ++, the C Yayk программирования#, Java, etc.) and the fixed information exchange mechanisms between objects and modules of an information system, and in OOP all dependences and restrictions remain. Such approach is convenient not always — in particular, it does not allow to react quickly to change of a situation and, for example, to project the modern systems relying on the concept "resources on demand". Besides, for modification of the object systems quite often it is necessary to rewrite codes of linked objects and methods.
The SOA technology which is already recognized many as revolution in technology of programming allows to reduce these restrictions to a minimum.
Analysts about service-oriented architecture
Analysts are sure that they in process of development of the SOA standards of the company will develop this area, and vendors upgrade the products according to its requirements. According to them, serious judgment of SOA and its promotion in practice of IT still ahead though, perhaps, in Russia — unlike a world situation — the deepest recession of interest in a subject will be recorded a little later. Anyway today it is quite definitely possible to tell that "the wave crest" is passed in public discussion of the subject SOA. Now there is active practical application of the concept of SOA and judgment of experience of the implemented projects.
Architectural features of SOA
A number of architectural features of SOA allows to reduce degree of coherence of different elements of a system. For component interaction rather small set of simple interfaces which have only the most general semantics is used and are available to all providers and consumers. The messages limited to some dictionary are transmitted through these interfaces. And as only the general structure of a corporate system and the dictionary, all semantics and business logic specific to applications are given it is described directly in these messages.
The corporate information system constructed on the basis of SOA consists of a set of the entities available via application programming interfaces. The built-in search mechanism and detection of services in the general register allows the consumer to contact the operator offering required function.
The architecture of web services also is service-oriented. Moreover, web services are an essence of SOA with two additional restrictions: interfaces are based on Internet protocols (HTTP FTP SMTP Simple Mail Transfer Protocol - Simple mail transfer protocol TCP), and all messages are described in a format XML. Detailed descriptions of the standard of web services and the SOA specifications are provided on the websites of consortium W3C and organization OASIS.
Practical aspects of application of SOA
Practical aspects of service-oriented technology allow to solve problems of scalability, to integrate data networks and voices, to simplify design procedures and managements of networks and also to create other distributed applications, is transparent interacting with resources of systems by means of application programming interfaces and open standards.
The competent and full-fledged management is impossible without complete understanding of those components, or pillars which support the mature SOA project. Of course, the SOA project can be built only on main engines (mechanism) of support, however the mature project means the bigger level of support with growth of level of responsibility which lays down on the SOA project. Each data domain requires different approach to management of SOA that, respectively, affects in a different way in "policy".
It is also necessary to note that the policy is crucial for management of SOA as it will define the SOA policy of the enterprise and also the one who creates the policy of SOA where these politicians are stored as the SOA policy will be updated or change where it can be traced what systems / tools are used for implementation of SOA policy and what departments perform it manually.
There are six mechanisms using which the SOA policy is supported:
- Operational model of lifecycle of SOA
- SOA organization
- SOA process
- Asset portfolio for service integration into SOA
- SOA tools
- SOA technologies
These mechanisms are used by both development approaches and to management of SOA. The first approach is a management of SOA on type "from top to down". It means that management in essence is strategic and begins with model and certain projects. Moving ahead down, "strategic management" defines people, processes, services, tools and technologies which will be attracted for support of the corporate SOA project. The second approach – "from below up" - respectively means "tactical management" which, on the contrary, builds the SOA project on the basis of the created technologies, tools and services. Most the enterprises goes the way "from below up", starting with specific service - the focused steps directed to certain data domains. Very seldom the organizations in which strategy creation initially in relation to creation of necessary departments and business divisions, initial SOA technologies and tools meet. Such approach in general only complicates process of establishing management of SOA.
See Also
Links
- Logical structure of a concept of services within SOA
- SOA: transition from the theory to practice
- Advantages of SOA to business
- Management of the service-oriented architecture