Aspect in Middleware--1

来源:互联网 发布:足球鞋钉分类知乎 编辑:程序博客网 时间:2024/06/05 00:14

Aspect in Middleware

1: Adrian Coyler, Andrew Clement 2: Charles Zhang, Hans-Arno Jacobsen

中间件的特性为面向方面提供了许多应用机会:
1 许多的策略
2 来自许多供应商的应用软件
3 要求高度可定制化,客户化
另一方面,也有很多障碍
1 用户不情愿迁移到新的平台
2 系统或编码的复杂性
   ---〉由于方面化导致的新bug
焦点在于,从存在的中间件产品的重构中汲取经验教训
1 源语言:Java
2 Aspect技术:AspectJ
3 是什么造就中间件成为aop的应用典范呢
4 重构过程
5 讨论收获

 

这篇没有讨论基于aop的全新中间件

复杂术语
中间件,3层应用, 组件

3层应用:
三个组件:  用户界面(客户端,browser), 功能处理(商业规则,应用服务器)和数据存储(后台数据库

3层应用对企业应用是个很常用的公共体系架构。

可能变得更复杂
1 多于一个数据库
2 数据存储自身可能是独立的3层应用
3 许多客户类型
4 冗余

中间层

1 中间层是整个系统的核心
   其他层的设计虽然也复杂,但相对机械。
2 包括大多数的域相关编程
   算法&计算
   决策
   行为
3 通常:用组件封装
   可重用的构建块,能够融合到其他的组件,或其他的电脑以构成应用程序。
   例子:EJB,DCOM,CORBA
   两种分类:会话Bean和实体Bean
             无状态和有状态
中间件
   协调相互分离,已经存在的两层软件。
中间件的分类
   基础中间件
   分布式中间件
   公共中间件服务
       AKA: Application Server
   域相关中间件

服务器
   特定机器上运行的服务端,运行一些指定的应用程序。
中间件和应用服务器,这两个术语描述了同一概念的不同层次
   应用服务器是一种成熟的中间件类型。
   我们会交互地使用这两个术语
两种途径
1 分析性:中间件平台什么是唯一的
2 编程性的:在典型的组件代码中什么是必须的

分析途径
1 比较应用服务器和操作系统
结果发现:
相同点:
 a) 启动应用程序
 b) 为这些应用程序提供核心服务
 c) 程序员可以集中关注域相关任务
区别
应用服务器 vs  操作系统
应用程序的可变性
   单独的应用服务器调用特定的应用程序集
   桌面系统启动各种程序。
交互连接
   通常,应用服务器的组件之间交互通信
   在操作系统中,大多数的应用程序是孤立的
资金投资
  客户愿为服务器的定制付款
总结区别
   应用服务器相关性更强
   应用服务器一定是高度客户化的
       "停止-安装-重启"通常也是必须的

解决方法:面向方面

企业应用的强制性因素
1 服务可达性,失败安全,可恢复性
2
3 交易管理
4 可扩展性
5 并发性
6 安全性
7 算法的简单性
8 向后兼容性
9 异构性
  平台的,语言的,工具的等等非功能需求

标准的J2EE服务
1 动态网页:jsp,servlet
2 组件:EJB
3 命名:JNDI
4 消息:JMS
5 e-mailing
6 交易:JTA
7 认证
8 从J2SE导入
   远程:RMI
   数据库连接:JDBC
   XML
9 其他的服务可能有指定的实现提供
   这不属于J2EE
10 功能需求

 

原创粉丝点击