- Hands-On Software Engineering with Python
- Brian Allbee
- 328字
- 2021-06-24 18:20:33
Logical architecture
Development is often going to be more concerned with the logical architecture of a system than with the physical. Provided that whatever mechanisms needed are in place for the actual code in a system to be deployed to, live on, connect to, and use the various physical components that relate to the logical components, and that any physical architecture constraints are accounted for, little more information is generally needed, so where any given component lives just isn't as important from that perspective. That often means that a physical architecture breakdown is at best a nice-to-have item, or maybe a should-have at most. That also assumes that the structure in question isn't something that's so commonplace that a need for it to be documented surfaced. There are, for example, any number of systems in the wild that follow the same common three-tier structure, with a request-response cycle that progresses as follows:
- A user makes a request through the Presentation Tier
- That request is handed off to the Application Tier
- The application retrieves any data needed from the Data Tier, perhaps doing some manipulation or aggregation of it in the process
- The Application Tier generates a response and hands it back to the Presentation Tier
- The Presentation Tier returns that response to the user
Diagrammed, that structure might look as follows:
This three-tier architecture is particularly common in web applications, where:
- The Presentation Tier is the web-server (with the web browser being no more than a remote output-rendering component)
- The Application Tier is code called by, and generating responses to, the web server, written in whatever language and/or framework
- The Data Tier is any of several back-end data-store variants that persist application data between requests
Consider, as an example, the following logical architecture for the refueling-tracking system concept mentioned earlier. It serves as a good example of this three-tier architecture as it applies to a web application, with some specifically identified components:
- Mastering Proxmox(Third Edition)
- 數(shù)據(jù)庫原理與應(yīng)用技術(shù)學(xué)習(xí)指導(dǎo)
- AWS Certified SysOps Administrator:Associate Guide
- 網(wǎng)絡(luò)綜合布線設(shè)計與施工技術(shù)
- Moodle Course Design Best Practices
- R Data Analysis Projects
- Visual Studio 2010 (C#) Windows數(shù)據(jù)庫項目開發(fā)
- 網(wǎng)絡(luò)脆弱性掃描產(chǎn)品原理及應(yīng)用
- 大數(shù)據(jù)導(dǎo)論
- 貫通Hibernate開發(fā)
- 基于元胞自動機的人群疏散系統(tǒng)建模與分析
- ROS Robotics By Example(Second Edition)
- 探索中國物聯(lián)網(wǎng)之路
- Qt中的C++技術(shù)
- Kibana 7 Quick Start Guide