构件与软件重用
一个构件由一组对象构成,包含了一些协作的类的集合,它们共同工作来提供系统功能。是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口。
构件系统架构特性:
(1)构件系统体系结构由一组平台决策、一组构架框架和构架框架之间的互操作设计组成。
(2)构架框架是一种专用的体系结构(通常围绕一些关键的机制),同时,也是一组固定的作用于构件层次机制的策略。
(3)概念框架的互操作设计包括系统体系结构连接之间的所有框架间的互操作规则。
(4)构件是一组通常需要同时部署的原子构件,一个原子构件是一个模块和一组资源,大多数原子构件都不会被单独部署。
构件标准: 构件是软件系统可替换的、物理的组成部分,它封装了实现体(实现某个职能),并提供了一组接口的实现方法。可以认为构件是一个封装的代码模块或大粒度的运作模块,也可以将构件理解为具有一定功能、能够独立工作或与其他构件组合起来协调工作的对象。
软件重用: 软件重用(软件复用)是使用已有的软件产品(如设计、代码、文档等)来开发新的软件系统的过程。
软件重用的范围: 项目计划、成本估计、体系结构、需求模型和规格说明、设计、源程序代码、用户文档和技术文档、用户界面、数据结构和测试用例。
软件重用的形式分为
- 水平式重用:是重用不同应用领域中的软件元素,例如数据结构、排序算法、人机界面构件等。标准函数库是一种典型的原始的水平式重用机制。
- 垂直式重用:是在一类具有较多公共性的应用领域之间重用软件构件。
构件的复用
检索与提取构件 --> 理解与评价构件 --> 修改构件 --> 组装构件
- 检索与提取构件:
- 基于关键字检索
- 刻面检索法
- 超文本检索法
- 理解与评价构件 :构件详细的描述
- 修改构件:借助设计信息和文档修改构件
- 组装构件:
- 基于功能的组装技术:采用子程序调用和参数传递的方式组装构件,要求构件以子程序、过程、函数的形式出现;
- 基于数据的组装技术:根据核心数据设计一个框架,根据框架中各节点的需求提取构件并修改,此后的组装方式同上,依赖面向数据设计方法,如jackson系统开发方法;
- 面向对象的组装技术:更适合软件复用,基于父类,生成子类;
构件组装阶段失配问题:
- 由构件引起的失配:由于系统对构件基础设施、构件控制模型和数据模型的假设存在冲突引起的失配;
- 由连接子引起的失配:由于系统对构件交互协议、连接子数据模型的假设存在冲突
- 由于系统对全局体系结构的假设存在冲突引起的失配
中间件技术
中间件处在操作系统、网络和数据库之上,应用软件的下层,也有人认为它应该属于操作系统中的一部分。

中间件的概念
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源;
中间件位于客户机、服务器的操作系统之上,管理计算资源和网络通信。它们具有标准的程序接口和协议,并有符合接口和协议规范的多种实现。
中间件为处于上层的应用软件提供运行环境,帮助高效开发和集成复杂的应用软件。
中间件的特点:
- 满足大量应用的需要
- 运行于多种硬件和 OS 平台
- 支持分布计算,提供跨网络、硬件和 OS 平台的透明性的应用或服务的交互
- 支持标准的协议
- 支持标准的接口
中间件的十大优越性:
- 缩短应用的开发周期
- 节约应用的开发成本
- 减少系统初期的建设成本
- 降低应用开发的失败率
- 保护已有的投资 简化应用集成
- 减少维护费用
- 提高应用的开发质量
- 保证技术进步的连续性
- 增强应用的生命力
中间件的分类
- 通信处理(消息)中间件
- 事务处理(交易)中间件
- 数据存取管理中间件
- Web 服务器中间件
- 安全中间件
- 跨平台和架构的中间件
- 专用平台中间件
- 网络中间件
应用服务器技术
应用服务器:是通过各种协议将商业逻辑曝露给客户端的程序。(应用服务器是中间件的一种)。
在分布式、多层结构及基于构件和服务器端程序设计的企业级应用开发中,它提供的是一个开发、部署、运行和管理、维护的平台。它可以提供软件“集群” 的功能,因而可以让多个不同的、异构服务器协同工作、相互备份,以满足企业级应用所需要的可用性、高性能、可靠性和可伸缩性等。
应用服务器可以帮助企业快速架构一个基 Internet 的电子商务系统,而且拥有极高的稳定性、可扩展
性和安全性。
(1)更合理的分工企业级应用开发,加快应用的开发速度,减少应用的开发量。
(2)应用设计、开发、部署、运行、管理、维护的平台。
(3)使得应用与顶层平台无关,便于商业逻辑的实现与扩展。
(4)为企业应用提供线现成的、稳定而强健的、灵活的、成熟的基础架构。
主要的应用服务器
- WebLogic :新一代基于 Java 的 Web 应用服务器,是一款满足 Web 站点对性能和可靠性要求很高的产品。
- IBM WebSphere:强调其在应用开发、数据库和消息服务的集成性,提供了开发电子商务应用的可靠平台。
- Apache:web服务器,市场占有率60%可运行于大部分系统平台;
- IIS:早期web服务器,目前小规模站点仍在使用;
- Tomcat:开源,运行servlet和JSP Web应用软件的基于Java的web应用软件容器;
- JBOSS:基于J2EE的开源代码的应用服务器,一般与Tomcat或Jetty绑定使用。
- Jetty:开源的servlet容器,基于Java的web容器;
- SUN iPlanet :满足J2EE 规范的要求,基本核心服务包括事务监控器、多负载平衡选项、对集群和故障转移全面的支持、集成的 XML 解析器和可扩展格式底稿语言转换(XLST)引擎,以及对国际化的全面支持。
- Oracle Internet ApplicationServer :
- Sybase Enterprise ApplicationServer:是同时实现 Web 联机事务处理(WebOLTP)和动态信息发布的企业级应用服务器平台。
web架构设计:
从架构看:MVC、MVP、MVVM、REST、webservice、微服务、中台;
从缓存看:MemCache、redis、squid
从并发分流看:集群、CDN
从数据库看:主从库、内存数据库、反规范化技术、NoSql、分区分表、视图与物化视图;
从持久化看:Hibernate、mybatis;
从分布存储看:Hadoop、fastDFS、区块链;
从web应用服务器看:Apache、web Sphere、webLogic…
其他:静态化,有无状态、响应式web设计
有状态与无状态:
- 无状态服务:单次请求,不依赖其他请求,服务器不存储信息;
- 有状态服务:前后的请求有关联
响应式web设计: 一种网络页面设计布局,集中创建页面的图片排版的大小,可以智能的根据用户行为以及使用的设备环境进行相应的布局;
- 流式布局和弹性化设计:使用相对单位,设定百分比而非具体值设置页面元素的大小
- 响应式图片:不仅同比的缩放图片,还在小设备上降低图片分辨率
J2EE
J2EE 是针对 Web Service、业务对象、数据访问和消息报传送的一组规范。这组应用编程接口确定了 Web> 应用与驻留它们的服务器之间的通信方式。J2EE 注重两件事,一是建立标准,使 Web> 应用的部署与服务器无关;二是使服务器能控制构件的生命周期和其他资源,以便能够处理扩展、并发、事务处理管理和安全性问题。

表示层
J2EE 客户端可以基于 Web,也可以基于 Java,表示层由显示 HTML 页面的 JSP 页面和 Servlets 实现
应用服务层
一般情况下,应用服务层包含表示层请求的表示逻辑和业务逻辑。业务逻辑通过 RMI 对象和 EJB 实现。
EJB 依靠容器来实现事务处理、生命周期和状态管理、资源池、安全等问题,容器是 EJB 运行的环境。
- Servlet:指可以扩展 Web 服务器功能的程序。Servlet 从客户端接受请求,动态生成响应,然后将包含 HTML 或 XML 文档的请求发送给客户端。
- JSP:是基于文本的 Servlet 开发方式。具有 Servlet 的所有优点,如果与JavaBeans 类结合在一起,可以容易地将内容和显示逻辑分开。
- EJB:用于封装业务逻辑,使开发人员无须再担心数据访问、事务处理支持、安全性、高速缓存和迸发等琐碎任务的编程。
- 实体 Bean:表示数据库中的数据及作用于数据的方法。
- 会话 Bean: 代表与客户间的短暂对话。
- 消息驱动 Bean:能处理从 JMS 消息队列接收到的异步消息。JMS 将消息路由到消息驱动 Bean,由消息驱动 Bean 从池中选择某个实例处理消息。
- JMS:是支持 Java 程序之间信息交换的 J2EE 机制。这也是 Java 支持异步通信的方法 —— 发送者和接受者无需相互了解,因此可以独立操作。 支持消息传播模式: 点到点;出版和订阅
- JNDI:数据源可以绑定到 JNDI 上,并允许应用程序访问
- 事务处理:J2EE 事务处理模型可以在部署过程中定义组成一个事务处理的方法之间的联系,以便事务处理中的所有方法可以作为一个整体存在。
.NET
.NET 首先是一个环境。是要让所有的计算机群、相关设备和服务商协同工作”的网络计算环境。
.NET 的最终目的就是让用户在任何地方、任何时间,以及利用任何设备都能访问他们所需要的信息、文件和程序。
.NET 的4 个重要特点:
- 软件变服务
- 基于 XML 的共同语言
- 融合多种设备和平台
- 新一代的人机界面
轻量级架构和重量级架构
Struts 框架: 是一个基于J2EE 平台的 MVC 框架,主要是采用 Servlet 和 JSP 技术来实现的。
Spring 框架: 是轻量级的J2EE 应用程序框架,包括声明性事务管理,通过 RMI 或 web services 远程访问业务逻辑,mail 支持工具,以及对于数据和数据库之间持久层的各种配置的支持。还提供和其他软件集成的接口
Hibernate 框架: 是一种对象和关系之间映射的框架,是 Java 应用和关系数据库之间的桥梁。
轻量级架构和重量级架构的探讨:
重量级框架在大规模运行的时候会表现出非常优异的性能,劣势主要是开发效率较低,轻量级框架正好相反,开发的时候非常迅速,但是在大规模运行的时候,性能与重量级框架相比还是有差异的。
1570

被折叠的 条评论
为什么被折叠?



