30 Nisan 2019 Salı

Yazılım Mimarisi - Service Oriented Architecture (SOA)

Giriş
Açıklaması şöyle. Yani ilk mimaride SOAP kullanılması öngörülmüş.
In 2005, Dr. Peter Rodgers addressed micro web services during a presentation at a Web Services Edge conference, where the first generation of micro web services was based on service-oriented architecture (SOA). SOA is a "self-contained" software module that performs as a task, and this allows the service to communicate based on SOAP (Simple Object Access Protocol). The main SOAP idea is, "Do the simplest thing possible."
Bu mimarideki amaç şirketteki ortak yapılan şeyleri bir servis yapısına dönüştürmek. Açıklaması şöyle.
When the concept of a Service Oriented Architecture was launched, the idea was that if you build a service that provides a common function, it would be a waste to keep it from others in the organization. The underlying premise is that writing software is expensive, and multiple implementations allow for different interpretations of what actual services should be provided. By making your services available to the entire organisation you get a single source of truth, and nobody needs to re-invent the wheel. As such, SOA is more about responsibilities and where they lie in the organization, rather than things like application size and the technologies used.
Şeklen şöyle


SOA Manifesto
Açıklaması şöyle
Business value over technical strategy
Strategic goals over project-specific benefits
Intrinsic interoperability over custom integration
Shared services over specific-purpose implementations
Flexibility over optimization
Evolutionary refinement over pursuit of initial perfection
Servis Nedir?
Açıklaması şöyle
Applying service-orientation results in units of software partitioned into discrete, autonomous, and network-accessible units, each designed to solve an individual concern. These units qualify as services
Service Layer
Açıklaması şöyle
In service-oriented architecture (SOA), the service layer is the third layer in a five-abstraction-layer model. The model consists of 

1. Object layer, 
2. Component layer, 
3. Service layer, 
4. Process layer and 
5. Enterprise layer.

The service layer can be considered as a bridge between the higher and lower layers, and is characterized by a number of services that are carrying out individual business functions. 
Ara Katman Yazılımı
SOA sayesinde middleware (ara katman yazılımı) da önem kazandı. Açıklaması şöyle.
That said, “doing” SOA has become synonymous with the use of communication protocols like SOAP (the Simple Object Access Protocol) over HTTP, tools like an Enterprise Service Bus, and messages encoded in XML, all of which has little to do with organizational structure, and everything with technology. Looking further along those lines, you could say that Service Oriented Architectures led to the popularization of “Middleware” as a separate layer, and products targeting it became powerful platforms for application integration. It also helped cement the importance of “Enterprise” standards, most notably centralized data dictionaries and Enterprise Architecture.
Problemler
Her zamanki gibi servisin biraz daha farklı çalışan sürümü istendiği zaman sıkıntı çıkıyor. Açıklaması şöyle
With application development you will soon be confronted with the need for change; either the “customers” want a slightly different service interface, or you yourself want to incorporate new functionality and lessons learned. This causes friction, because you can no longer consider the service interface as fully your own, and unexpected (from the viewpoint of the users) changes may break other applications. You are left with basically two alternatives: create different versions of the interface, or coordinate releases over the boundaries of applications or even departments.

Hiç yorum yok:

Yorum Gönder