What's a SOA?

Source: Internet
Author: User

SOA (service-oriented Architecture), Chinese full name: Service-oriented architecture.


SOA enables the separation of systems into different services, using interfaces for data interaction, and ultimately the purpose of integrating systems.


Professional words always make people mengmengdongdong, look tall on, but just don't know what in BB .... Let's change the FA.


A lot of developers, when doing the system is this cooperation:

Xiao Ming is responsible for "attendance", Xiao Wang is responsible for "salary".

Xiao Wang said: Xiao Ming, I want to use the "time attendance" data, you do not?

Xiao Ming said: Good morning, the table named Attenance, field a for the employee ID, field b for .... Go to the database to check it yourself.


Believe that many people see this scenario is familiar, data interaction completely through the database, module pieces are not completely separated, intricate! It won't take long for your system to become a bowl of delicious pasta.



To illustrate, this development is not in line with the SOA philosophy, so how is SOA handled?


1. Attendance as a separate module, to become an attendance service, released a Time Attendance Data interface (webservices)

2. Xiao Wang needs to use the attendance data, call the attendance service interface can


SOA is a module separation, the module to interact with the data, through the interface to complete!


Many programmers look at the estimates will be dismissive, we never SOA, and after so many years, and there is no problem! It seems that SOA doesn't have any eggs!


If you think so, let's take a look at the next few needs and how to cope.


1. The platform is becoming more and more large, and there are 10 developers who will use your data for the module.

If you don't have a unified interface, you have to talk to everyone about your database structure. Once you change it, you have to notify everyone.


2. The system is running more and more slowly, the boss said separate "attendance" and "payroll" use different databases and servers

Since there is no strict separation between functions, data interaction is directly through the database. The spin-off system is basically impossible, so there's no talking about separate deployments.



3. Other systems of the customer need to call the platform's data for calculation, do you want to open the database structure?


function is not strictly separated, when the system developed to a certain level, the development will feel more and more arduous, often reaching, also does not conform to the software design principle!

But if your system itself is small, it will be done in a week! It takes one months to build an architecture to implement SOA, which is not worth the candle!


Whether the implementation of SOA, is based on the positioning of the platform to adjust! If your platform is not high, enforce SOA, like anti-aircraft fight mosquitoes, not only wasted cannon, but also TMD can not hit the mosquitoes! So do not "over-design", "appropriate" is very important.



Here, we all know the main idea of SOA: to strictly separate modules, to link through interfaces. So, how to link it?


The webservices I'm talking about is a common way of linking. In addition to WebServices, ESB,JMS, and the rest of the great heat of the last few years.


Specific link way, we will not talk more. Be interested to check Baidu Encyclopedia.










Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.

What's a SOA?

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.