IT系统物理架构构建指南
立即解锁
发布时间: 2025-08-22 00:53:07 阅读量: 2 订阅数: 6 


软件架构设计的核心实践与指南
# IT系统物理架构构建指南
## 1. IT系统构成与架构师职责
大多数IT系统是现成产品、资产和定制元素的组合。架构师的职责是确保所有这些元素协同工作,同时满足系统的需求。
## 2. 产品采购
### 2.1 采购流程
在确定需要采购哪些组件后,通常需要遵循一定的采购流程,以确保产品的选择方式正确。
### 2.2 可采购的资产类型
如果采用了基于重用的分层策略,可采购的可重用资产可能与架构层相对应,具体可分为以下几类:
- **特定业务元素**:如CRM系统或企业资源规划(ERP)系统。
- **独立于业务的元素**:如安全包(如轻量级目录访问协议服务器和公钥基础设施软件)、系统管理软件、关系数据库管理系统、应用服务器、事务处理监视器和系统软件(如操作系统)。
### 2.3 产品选择考虑因素
- **版本兼容性**:产品的版本号是否与可能使用的其他产品兼容?供应商经常发布新产品版本,可能会导致产品至少在一段时间内与其他产品(无论是他们自己的还是其他供应商的)不兼容。
- **使用参考**:产品是否有可靠的先前(且成功)使用的参考?
- **供应商路线图**:供应商是否有该产品的长期路线图?
- **供应商信誉**:供应商是否可信,是否与用户的发展方向一致?
- **产品发布时间**:产品的发布时间表是否可接受?
- **免费选项**:是否有合适的免费选项,如未授权的开源软件?虽然企业可能认为使用这类软件构建关键任务系统风险太大,但它可能是由专门的在线开发者社区构建的,甚至质量可能高于商业软件。对于某些类型的系统,这种选择可能非常有利。使用开源软件时,要注意即使许可证可能是免费的,但仍会有持续的支持成本。
## 3. 适应特定技术模式
转向特定技术时,手头有一套特定技术的模式是非常好的资源。许多供应商会提供描述如何使用其产品的模式,这些模式可能包含基于开放标准的元素。例如,IBM、Sun和Microsoft都会在其网站上为此提供建议和指导。这些模式可用于了解特定组件的实现方式,如Sun提供的Java EE蓝图,展示了如何应用Java EE构造。
### 3.1 产品选择指南
以下是选择软件产品的简单方法:
1. **审查选择标准**:大多数组织都有首选供应商列表和产品选择标准。如果存在企业架构,该架构几乎肯定包含指导产品选择的政策。应审查这些标准,以确保满足规则和政策。
2. **确定评估标准**:确定用于评估候选产品的标准,其中一些可能被视为强制性的(不满足则导致失败),一些则只是理想的。
3. **确定评分方式**:确定如何对标准进行评分,可以是二进制值(候选产品是否满足标准)、固定值(如“非常好”“好”“一般”或“差”)或值范围(如0到10之间的任何数字)。还要考虑是否应对某些标准应用加权因子,因为在确定产品对正在开发的系统的适用性时,并非每个因素的重要性都相同。
4. **确定候选产品列表**:确定可能满足定义的评估标准的候选产品列表。这一步可能需要大量的研究,包括要求供应商展示其产品,以及访问产品已在使用的站点(参考站点)。
5. **进行实际评估**:通过评估每个候选产品并根据标准记录评估结果来进行实际评估。在某些情况下,可能需要创建原型来评估竞争供应商产品的相对优点。这些原型可以由架构团队或供应商自己构建。
## 4. Java EE示例
### 4.1 Java EE概述
图展示了典型Java EE应用中使用的一些关键技术,按架构层排列,包含以下元素:
- **标记语言**:如HTML或XML,在客户端设备(如Web浏览器)上呈现。
- **Java Servlet**:定义如何处理来自客户端的请求以及如何生成响应,在Web容器中执行。
- **JavaServer Pages(JSP)**:与Servlet类似,描述如何处理请求和生成响应。当需要生成标记语言(如HTML)语句时,JSP是Servlet的替代方案,在Web容器中执行。JavaServer Faces(JSF)框架基于JSP技术构建。
- **Enterprise JavaBeans(EJB)**:负责实现Java EE应用的业务逻辑的一个方面,并在相关时存储持久数据,在EJB容器中执行。
- **Java DataBase Connectivity(JDBC)**:提供对关系数据库的编程访问。
- **Java Persistence API(JPA)**:通过对象 - 关系映射支持数据的持久化,允许将持久对象视为普通Java对象(PoJos)。这是通过Java注解实现的,注解声明对象的持久字段,并本质上提供对象字段与数据库表字段之间的映射。注解是一种元数据,声明平台在运行时通过注入添加某些功能的意图。
- **Java API for XML Web Services(JAX - WS)**:为基于SOAP/XML的Web服务提供支持。
- **Java Message Service(JMS)**:为可靠的异步消息传递实现(如IBM的WebSphere MQ)提供标准接口。
- **Java EE Connector Architecture(JCA)**:企业应用的一个常见需求是连接到外部资源。其中一些资源可能是通过供应商特定协议访问的外部应用程序。JCA为提供资源适配器(更常见地称为连接器)提供了标准方法。
### 4.2 容器概念
J2EE平台的核心概念是容器。容器为在其中执行的应用程序组件(如JSP、Servlet和EJB)提供运行时支持。例如,EJB容器为在其中执行的EJB提供组件生命周期管理(容器根据需要创建和删除应用程序组件)、事务管理、安全性和持久化支持。
### 4.3 EJB接口
客户端通过接口访问EJB。客户端从不直接与EJB实现交互,因为Java EE平台将接口的方法映射到EJB实现的等效方法。EJB接口可以声明为本地(共定位)或远程(分布式)访问。
### 4.4 不同类型的EJB
EJB有三种不同类型:会话Bean、实体Bean和消息驱动Bean。
- **会话Bean**:其状态在用户会话的上下文中有效。Java EE平台指定了两种类型的会话Bean:无状态会话Bean和有状态会话Bean。无状态会话Bean非常轻量级,不维护任何对话状态,通常用作协调其他
0
0
复制全文
相关推荐










