The question about SoA promotion strategies is the most frequently asked question recently. There is a management expert who uses Tao, method, and technique to compare several aspects of SOA, which is very interesting. The hierarchy of "Tao" can be considered as management goals such as business agility and it flexibility. "law" refers to the management and control rules of SOA ", it refers to various specific standards and technical specifications.
Since the beginning of this year, countless technical vendors, application software companies, and even hardware companies in the media have put SOA as a fashionable label for market promotion. I have to laugh at myself and think that I am also a fan tu, sell pork. When a technology trend is emerging, hypes and content-based content have become a tradition in the IT field. Moving from interest to real project promotion is truly valuable. However, those who have carefully considered the concept of SOA architecture will soon find that if they want to implement it seriously, a lot of problems will come to their minds:
· If the business strategies of enterprises are constantly changing, Will traditional IT planning still have value?
· How to Develop application systems and establish enterprise-level service control rules?
· Existing production systems are outdated. How can they be incorporated into the new SOA architecture?
· How to Integrate SOA into new cross-business applications?
· SOA seems to be a better integration technique than EAI. What is the difference?
Next, I will try to use the encounter strategy as a feasible method to answer some questions. Some enterprises adopt a "top-down" approach in promoting SOA implementation, that is, starting from the enterprise's strategy and gradually expanding down; others adopt another approach, is the "bottom-up" method. The "bottom-up" mentioned here is not to say that the underlying technology promotes the business, but to start from a small project, accumulate experience, then expand the project, and finally rise to the strategic level.
However, both the "top-down" and "bottom-up" SOA implementation strategies have their own advantages and disadvantages and it is difficult to achieve the desired results.
"Top-down" is a strategic strategy for enterprises to implement SOA. Its core idea is to make overall planning for SOA implementation at the enterprise level. The advantage of SOA is that enterprises can make an overall SOA implementation plan based on their business development and existing IT situations. This will promote the standardization of the entire enterprise, and all service modules will be based on the same standards to facilitate future reuse. However, the risk is not small: on the one hand, the scope is large, the cycle is long, and the initial investment is large; on the other hand, it requires the entire enterprise to have relatively high discipline and skills, A complete set of organizational structures and management processes.
The implementation method of "bottom-up" is tactical, and it emphasizes starting from the ground up and implementing SOA from a department-level application. The advantage of this method is quick effect, low risk, and low initial investment. However, this implementation method is relatively less flexible, especially when enterprises need to implement SOA at a higher level, there may be some convergence problems.
Combined with years of experience helping customers successfully implement SOA, a more practical SOA implementation strategy is meet in the middle. In the implementation of SOA, we combine the "top-down" and "bottom-up" methods to find the combination of the two, in order to implement SOA most effectively and successfully. For the vast majority of enterprises or organizations, there are many uncertainties at the early stage of the implementation of the Business System, including the uncertainty of the business needs and the development technology and platform selected by the project. Following the "Intermediate encounter" principle, both business personnel and developers work in a step-by-step manner and constantly communicate during the process, so that business changes can be quickly responded, it does not affect the development efficiency. In the end, the two can meet each other to build a system that meets the requirements. In layman's terms, the principle of "encounter in the middle" is what we often say: "focus on the big aspects and start on the small aspects". When we create a project, we not only focus on the ongoing project, it also takes into account the overall planning of enterprise IT systems and business development.
So what kind of software engineering is used as the implementation strategy to guide the process of meeting?
Many traditional software engineering projects were invented before SOA. Most of the methods here cannot be simply tained and directly used to guide SOA software development. The PMO method can be used for the overall planning of the project group. However, in view of the advancement of SOA application development, we need a method that can not only meet the characteristics of SOA implementation, but also take into account the management mode and software development habits of specific enterprises.
Many large enterprise application systems are large-sized and complex business systems. Now all architects are considering SOA-based software engineering. Based on the "intermediate encounter" implementation strategy, after planning the IT strategy and reference architecture from top to bottom, enterprises need to find a representative application project. Introduce SOA service engineering to start the implementation of this specific project. Through this SOA service engineering promotion method, enterprises can establish their own unique SOA service engineering framework in the following three directions:
Establish an SOA management architecture that complies with the enterprise management model: Each enterprise's organizational structure and management policies are different. Through the advancement of SOA service engineering, we can establish management principles and disciplines for specific organizations, operation and Control
Establishing a service engineering that conforms to the company's habits: SOA service engineering can be seen as an expansion of the company's original software engineering. It is leveraging the reuse, flexibility, and agile business of SOA services, and return on investment added some enterprise-level project group management service projects, such as SOA development, SOA requirement management, service identification and discovery, version planning, service definition, design, implementation, deployment, and management. The methods and principles summarized in the previous two projects can serve as benchmarks for development of other projects.
To build an SOA infrastructure, select one or two representative applications that cover a wide range of technical architectures. At the same time, it also verifies the architecture of specific applications. In this process, some similar ESB, BPM, data services, service libraries, and other SOA infrastructure are also established.
The following is an example: (Project 1, Project 2, and project 3 can also be considered as three typical business scenarios ):
Before implementation of a specific project, enterprises first need to determine a reference architecture for the enterprise, which is equivalent to the top-level design we often call, subsequent projects must be targeted at this reference architecture. Next we will analyze project 1 and project 2. Although both projects are implemented from the underlying code, project participants are consciously using the SOA idea and reference architecture, and follow the implementation method of service contract design. The selection of project 1 and project 2 is an important issue. Because it is in the trial phase, the first two projects usually choose a more urgent method that can reflect some user needs and quickly achieve ROI. Although project 1 and project 2 both start from coding, they do not do it from the bottom up, but follow the idea of "Intermediate encounter, this is also a safer promotion method summarized in practice. From project 3, participants began to consciously construct those important service layers and related management and control policies to form enterprise assets. The services in the first two projects may be reused in the later projects with discounts. For example, the Reuse Rate of services may reach 70-80%, rather than the ideal 100%. However, in the implementation process, the advantages of SOA may have been reflected, so that it is easy to win the approval of the Decision-Making layer of the enterprise, and thus support the advancement of Project 3.
Project 3 is a key step. in the implementation process, some management knowledge and rules related to the strategic layer need to be formed. From project 3, we need to abstract a service layer: that is, we need to add a service layer between the business layer and the technology layer to bridge the gap between the business and technology. It is precisely because of the formation of the service layer that it can ensure that the business needs are not directly affected when the technology changes.
When we started the initial SOA project, we first solved urgent business problems, and then implemented one or two projects based on these business problems using SOA methods, such as layered structure and ESB structure. In this case, focus on the value of the project to the specific business. After the implementation of these two projects, we can bring confidence to the entire Organization, especially the management leadership. Then, we will consider introducing a rule for managing SOA, standardizing the experience summarized in the first two projects and packaged services, and applying them in subsequent construction as much as possible, that is, introducing SOA control. Therefore, this is a gradual process. However, when we were working on the third project, we began to break through the rules of the control center of the SOA Implementation Team and the first two projects, which produced the middle layer of the service, including the specific architecture of the service.
During the whole process of promoting SOA, everything is continuously iterated. The architecture, service definition, and implementation technologies can be continuously iterated, it is precisely because of the loose coupling design of SOA that multiple iterations are possible.
Return to the "Tao", "method", and "skill" logic of SOA at the beginning of the article. Focus on the business-oriented enterprise architecture "Dao" and start with the "techniques" of specific implementation projects, in SOA service engineering, the "method" of service encounter is the basic concept of the intermediate encounter strategy.