SOA project implementation process and key points)

Source: Internet
Author: User

The SOA concept has been well known to most users and enterprises. At the same time, many enterprises have begun to practice SOA and continuously improve the SOA technology and implementation methods in the project implementation process. Users, software enterprises, and research institutes within Changfeng Alliance have formed several SOA working groups during SOA technology research, product R & D, and project implementation, they jointly studied and exchanged SOA-related technologies and standards, and also formed some practical experiences in implementing SOA support products and projects.
In this paper, the Alliance SOA reference Architecture Working Group (SOA-RA-TF, composed of China East Tong, Institute of computing, huadi, Tongfang, youshengda, shenzhoudigital, etc) based on the research on SOA technical standards, the formulation of SOA reference architecture specifications, the R & D of SOA technology supporting products, and the application experience of research results in actual SOA projects, this article summarizes and introduces the key issues that need to be paid attention to during the implementation of the SOA project, and tries to share experiences and develop together with various SOA practitioners for the application and promotion of SOA.
Process and characteristics of SOA project implementation
SOA projects, like other IT projects, have similar implementation processes. A possible implementation process is shown in:

 
SOA project implementation process

From the surface of several processes, there is nothing special about the implementation of the SOA project. What can reflect the characteristics of SOA is in every specific step of the project implementation process, such as the consideration of standards in the planning stage, the detailed description and definition of the business in the analysis phase, and the definition of the technical architecture (including the logical and physical architecture) in the design phase. The implementation phase is more dependent on definition rather than coding, the O & M stage focuses on service running conditions.
The following describes the key points in the implementation process.
PLANNING PHASE
There are many important things to do at this stage, which will determine the success or failure of SOA project implementation.
First, we need to determine the target, and the functional objectives of the system should be clear. In addition, we need to focus on why we should adopt the SOA idea for what purpose. At this time, we need to know what SOA can bring to us, what we want to get, and whether the two match. We also need to know what SOA is suitable for and not suitable, whether our construction project and SOA are suitable for adaptation. If these matches are consistent, we can proceed with the next step with peace of mind. Otherwise, we have to consider whether we must adopt SOA and whether other ideas and technical architecture are enough to solve the problem.
Here, let's look at the characteristics of SOA:
Emphasize the reuse of business services
Support flexible business restructuring
Loose coupling
Emphasis on standard adoption
We also need to know what SOA is not suitable:
Do not use SOA when developing a single application.
To build high-throughput or real-time applications, do not use SOA.
If the network speed is slow and the network is unreliable, do not use SOA
When the service interface is uncertain (that is, when the service functions are unstable), do not use SOA.
When security is critical, do not consider SOA for the moment
We recommend that you do not use SOA for the time being when business processing has strict transaction integrity requirements.

Second, we need to consider the system scale. We recommend that you do not select too large for the first SOA project. You need to limit the project size to ensure smooth implementation and project success in a short period of time. Through the accumulation of project experience, it creates a good situation and environment for the subsequent SOA projects. SOA itself features support progressive implementation of projects and can be implemented in a rolling and improved manner.
Next, we will consider the standards. The standards here include two aspects: business standards and technical standards. Standard validation is always a problem that needs to be taken into account during the process. standards need to be taken into account during the analysis and design stages, and the criteria to be adopted and formulated by the project are finally determined.
Business standards can standardize services, processes, and data. Technical standards can help determine the technical architecture and technologies used to ensure the reuse, assembly, and operation and maintenance of services/components.
Finally, we need to build a team. To implement the SOA project well, we need to ensure reasonable team members. The first step is to ensure the success of the project. SOA projects generally involve collaboration between multiple departments or enterprises without the participation and attention of leaders, the success of such projects is very low.
The participation of business personnel is also an important factor. The service emphasized in SOA is the service of the business, rather than the service implemented by technology. The definition and classification of business services, the determination of business processes, and the analysis of business data cannot be carried out without the participation of business personnel. At this stage, it is not a special reality to allow business personnel to directly participate in the design and implementation. However, with the maturity of SOA technologies and products, it is also possible for business personnel to participate in the design and even implementation stages, only in this way can we better ensure the success of SOA project implementation and better reflect the value of SOA.
Analysis Phase
The analysis phase mainly analyzes and sorts businesses, including business service definition, business process definition, business data analysis, and organizational structure. At this stage, it is necessary to determine which services need to be implemented in the SOA project, how to reuse the services, and how to concatenate the services to complete a workflow, what data needs to be used during the execution of business and business processes, and the relationship between the data.
Consider the following factors when defining a business:
Who owns Service
Who needs to use the service and how to perform authorization management
Basic Business ID information
Business Service Function Description
Restrictions on the use of business services
Data used by business services
Quality features of business services, such as reliability, security, and transactional
Service level information of the business service, such as the service response time, service time available, and whether the service is charged
Service Lifecycle
Information that needs to be paid attention to when the business service is running
The following factors must be taken into account during organizational structure analysis:
Actual Organizational Structure
Roles in the organizational structure
Permissions for roles to manage and use services, processes, and data. You can use a table to describe and define
Next, we need to define a business process based on the organizational structure and services to determine which services are included in a business process and which department/role these services are used, this can be defined using a Graphical description. At the same time, you need to define the business process and business rules.
Design Phase
The design phase has actually entered the technical category. In the design phase, you must first determine the technical architecture used and the specific technologies, tools, and products to be used, to adopt the technical standards to be developed, you also need to define the physical environment of the SOA project and the ing between the logical architecture and the physical environment. At last, you need to refine the design details of the entire project.
When determining the technical architecture, you can refer to the "reference architecture specifications for SOA" developed by the Changfeng Alliance SOA-RA-TF Working Group ". Consider the following factors when determining the technical architecture
Service Description how to store and use
How to implement services is to encapsulate existing business systems as services, re-implement them, or assemble several services to form new services.
Define how services are used, how to assemble new services or apply them in a business process
How to Implement inter-service communication, what communication protocols are used, whether reliability is required, and whether efficiency is concerned
What security factors should be considered throughout the project?
How to obtain service running information and how to apply Service Running Information
Specific technologies should be determined during the design phase. Traditional technologies or Web Services technologies can be used to implement SOA projects.
In SOA, Services and Web Services do not use equal signs. Web Services are generally considered from the perspective of standardization. In order to achieve the interconnection of heterogeneous systems, they are more used between multi-department systems, or intercommunication between enterprise systems. SOA can also adopt mature technologies. For example, message communication through JMS can ensure efficiency and transmission reliability.
The second aspect of implementation technology is to consider whether BPM systems are required for business process implementation, or whether several services are combined and applied by coding through service assembly technology. BPM is generally used for business process processing with low real-time requirements. business processes that require continuous operation and processing can be implemented through service assembly.
In the third aspect of technology implementation, we need to consider how to implement services by using existing IT systems through service-oriented encapsulation or re-implementation. Service encapsulation of existing systems does not have to be encapsulated into Web serivces. service descriptions are generally uniform. The specific implementation can be Web Serivces, EJB, or BPEL, or a common JAVA or C/C ++ program.
During the design phase, you need to map the logical architecture to the physical architecture. In the overall system architecture design, we generally consider more from the logic perspective and need to transform the business into IT architecture. You also need to plan the physical architecture and determine the ing between the logical architecture and the physical architecture.
The physical architecture needs to consider how many independent operating nodes, how many existing business systems, and the new business systems to be established in the system, consider the nodes on which these existing or new business systems are running. Second, we need to consider how to communicate between business systems and how to convert communications between business systems to communications between nodes.
The number of required BPM systems must be considered in the business process. Generally, a BPM system has an independent server engine that can run multiple business processes. Under the existing technical conditions, a business flow is generally executed on a server engine. to execute a business flow across multiple server engines, you need to define a process as a subprocess, it is encapsulated as one service for use by another business process.
In the physical architecture, you need to consider whether there is an independent service registration center. You need to determine whether the service registration center is online or offline with the running node.
The most important task in the design phase is to refine the system design. The details include:
Service Definition details, including service interfaces, quality attributes, and service levels. Other deployment information can be defined during implementation and deployment.
In the design phase, we need to determine which services are atomic services (which cannot be split), which services are assembly services, and which are process services. At the same time, you need to define the service implementation method (original system encapsulation, re-implementation, service organization, and service process)
Define business processes, and define detailed business processes, including Exception Handling, through tools.
Define the data object to which the service is applied.
In the design refinement stage, you need to effectively manage the services so that you can easily find the relevant services, and ensure that authorized personnel can use the services or modify the services.
Implementation, debugging, and deployment
The implementation of SOA projects is significantly different from that of traditional IT projects. In traditional projects, almost all code needs to be written or implemented, or the existing public code library is used. In SOA implementation, a lot of work is done through definition. For example, when defining service interfaces and service flows in the design phase, these tasks do not need to be manually encoded, but more is to define information through graphical operations through tools.
Some other definition work needs to be carried out in the implementation phase, such:
Definition of Data Object conversion. Data Objects used by different services may be different. To achieve smooth communication between services, data objects must be converted. These tasks can also be implemented through tool definition, of course, data objects can also be converted by encoding.
Service adapter definition, which encapsulates an existing business system as a service interface.
Definition of Runtime Environment
Package and deploy service programs
In the SOA implementation phase, some programming work may be involved, such as the implementation of new services, the conversion between complex data objects, and the service-oriented encapsulation of business systems.
In an SOA project, system debugging is complicated and difficult. Different from general application systems, you can debug the entire system through one-step tracking. Some tools can be used in SOA projects to implement some tracking debugging functions (such as BPM debugging). There is also a lot of work to be done to track and check whether the operation meets the design requirements by writing logs.
SOA project deployment can be automatically deployed by means of product tools. Without the help of these tools, the deployment would be complicated because multiple distributed nodes are involved and different existing systems need to be connected.
The tool can also be deployed in two modes: automatic online deployment and offline deployment. During automatic online deployment, you can use the tool product in the center to automatically deploy the packaging file to the running node. The system can automatically expand and run the package. For manual deployment, You need to manually install the package file on the running node and run the expand and execute commands to make the system run normally.
During deployment, You need to define the runtime environment, the relationship between services and running nodes, and relevant running parameters.
O & M phase
The operation and maintenance phase of the SOA project is also an important part of the entire project.
By tracking the running process, you can understand the running status of the entire system, such as which services are requested most frequently and which services are most stable, which services are not well designed (for example, the response time exceeds the requirement)? You can know which nodes have high running load and the data communication traffic. Through this information, we can know whether the entire system meets the initial requirements of the system, and also provide data basis for system optimization. Through these monitoring data, the system can be better optimized and improved, reflecting the characteristics of SOA gradual improvement.
In short, the implementation of the SOA project is quite different from that of the traditional IT project. In the project, the first focus is on services, from service definition, use to operation management; second, we emphasize the standard and model-based development processes. Second, we emphasize the defining activities in the implementation process, and shorten the system construction cycle through the combined application of services, these need to be focused in the project implementation process.

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.