(turn) Software architecture design

Source: Internet
Author: User

"One"-Software architecture design process

Software architecture design has not yet all Souls methodological support, is a very new industry, give a personal understanding of the industry software architecture design process, limited by individual level, for reference only:

1. Business Analysis: According to the target industry's business strategy, Blueprint, business function and process analysis, put forward some of the functions can be processed using information technology, through analysis can be obtained information to solve the problem.

2. Solution design: According to the business strategy, the formation of industry-based information solutions. He is a system group that also clarifies the support relationships between the systems.

3. System function Design: Clear the Information system function list and function level (level, such as experience decision-making work, management function, business operation function, etc.), the function is scattered in these levels, according to function and application characteristics form one or more subsystems. Refer to understanding.

4. System Architecture Design: Clear System IT support expression, hierarchical relationship expression and function, technology core element for a certain system

5. Technical system Design: Design for system interface, data storage, technical route, deployment and implementation abstraction

The overall process is as shown

"Two"-system overall architecture design

Overall architecture is very important, but the expression is not the same, the following is a few common system architecture patterns, for reference:

ASSF (Access-service (biz)-standard-fundation) mode : Access-Service (business function)-standard-base, expressed on all levels of the system architecture, but deployment application patterns need to be individually explained, Organize the overall architecture of the system in such a way:

Location mode : Suitable for group-level applications, with a clearer representation of application logic, as shown in:

3 management-level Mode : Express the functions that are used at all levels of the decision-making-management-operations layer. The expression of the system function is more clear, it is good for the customer to agree with the understanding, as shown in:

It is recommended that the ASSF mode be the main architecture, while the location mode and the 3management-level mode additional description system are developed, and the system architecture is expressed from all levels.

The design of data distribution in "three"-system architecture

In large-scale systems, data distribution design is very important, sorting out the data distribution design of 6 common strategies, for reference only:

stand-alone schema: When a large system consists of multiple small systems associated with each other, different small systems have distinct database schema definitions. Standalone mode is highly manageable and communication overhead is small.

centralization : A large system must support access from different places, or the system consists of several different small systems, and the data is centralized and stored in a uniform format. Manageability, high data consistency.


 

partitioning : Divided into horizontal analysis and vertical partitioning, when the system provides "same services" for "geographically distributed users", a horizontal partitioning strategy is often used. Vertical partitions are separated by fields and are generally less used. With partitioning, scalability is good.

replication : In the entire distributed system, multiple copies are saved, and data consistency between multiple copies of the data is maintained in some mechanism. The replication method can effectively improve the data reliability.

subset : "Subset" is a special way of "copying", which is a relatively fixed subset of data that a node maintains for functional or non-functional consideration.


 

reorganization : Different data nodes have different features to support, while keeping the data in different schemas---but essentially the same origin. The reorganization is delivered and maintained in a "reorganized" format.


 

6 The policy summary can be used as indicated by:


 

In the application process, the various strategies should be used flexibly, and the generalization principles of policy application are as follows:


 

Summary : In the application process, according to the actual application of analysis, choose the appropriate data distribution strategy, can also be combined with the appropriate data distribution strategy will make the system stability and function to meet the new greatly improved, you can use the following process to determine the data distribution strategy:

6 different data distribution strategies are listed in the table, as shown in the following table:

Name Is that right All right Score
Independent Yes/No 0~100 min  
...    
 

According to the characteristics of the system application, through the above analysis, remove the inappropriate strategy, according to the total score to determine the data distribution strategy used, in some places can also use the combination strategy.

"Four"-the design of data integration in system architecture

In the system architecture design, often faced with multiple business system data integration and sharing issues, the following main sharing data integration design related content.

Data physical concentration : Put all the data together, managed by a unified database server, achieve unified data access, access to high efficiency, suitable for large data volume query decision analysis application its shortcomings are poor real-time, high risk, long time

logical Focus : Applicable to the distribution of business systems in many places, by a unified platform to achieve data sharing between the physical distribution of data, real-time access to the distribution of data everywhere, the implementation of fast, its disadvantage is affected by the network transmission, not suitable for long things.

For example, in the sales industry of customer information integration, if it is a logical focus, that is, customer data still exist in various places, but can be accessed through a unified data integration platform. If it is a physical set, it can be accessed through a centralized database.

It is recommended to combine the advantages of logical concentration and physical concentration, adopt logical centralization in the early implementation, realize unified access and data sharing quickly, realize the physical centralization of data with high access and real-time requirement, and improve the access efficiency, similar to the top-down and bottom-up data integration strategy in BI technology.

Here are three common patterns of data integration design:

Data Federation Mode (datafederation): The distributed data is logically concentrated, the application is accessed through the virtual database accessing the consolidated platform, the data is in different database instances, and the data integration platform is the data access channel.

data Replication: Data replication mode with Data consistency service

Achieve data consistency across multiple data sources, preserving shared data backups for each database.

interface-based data integration mode (Interface level): sharing data between systems via interface adapters is more suitable for applications with higher real-time and smaller data volumes. The interface mode is suitable for partitioning and standalone mode data integration.

In practical application, the corresponding strategy can be flexibly selected according to the characteristics.

"Five"-Application integration Design

System architecture design, multiple systems often need to do application interaction, then need to carry out application integration design, introduce several common application integration concepts:

EAI: EAI (enterpriseapplication integration), an enterprise application integration EAI, is a method and technology for integrating heterogeneous applications based on a variety of platforms and different scenarios. EAI accomplishes the need to seamlessly share and exchange data between ERP, CRM, SCM, database, Data Warehouse, and other important internal systems by establishing the underlying structure to connect disparate systems, applications, and data sources across the enterprise. With EAI, businesses can combine enterprise core applications with new Internet solutions.

mom: Mom refers to the use of efficient and reliable messaging mechanism for platform-independent data exchange, and based on data communication for the integration of distributed systems. The MOM interaction policy looks like this:

SOA: Service-Oriented Architecture (SERVICE-ORIENTEDARCHITECTURE,SOA) is a component model that links different functional units (called services) of an application through well-defined interfaces and contracts between these services. Interfaces are defined in a neutral way, and should be independent of the hardware platform, operating system, and programming language that implements the service. This allows services built on a variety of such systems to interact in a unified and common way.

Common application integration Interaction strategies are as follows:

In the actual application process, only the most suitable strategy, there is no best strategy, need to comprehensively consider the complexity of implementation, theoretically speaking, bus mode is a relatively good application interaction strategy, can achieve full platform independence and service reuse, but relatively the transformation and maintenance is difficult, The complexity of application integration has also been inadvertently increased. Therefore, it is necessary to carefully assess the suitability of the integration scale and integration strategy in the selection process. If only two systems in the enterprise need to interact, a hard-coded approach can also be a very useful strategy.

"Six"-Interface design

Interface design is an important function of the system architect, which first clarifies several concepts

1. Collaborative decision Interface!

2. Subsystem or implementation of the decision interface is wrong!

The general steps to give the interface design are as follows:

(turn) Software architecture design

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.