利用 AOP 为现有分布式应用添加安全通信机制
1. 引言
软件维护是软件行业中广为人知的问题,它占据了整个软件生命周期的很大一部分成本。有研究表明,50 - 90%的生命周期成本都花在了软件维护上。面向对象编程范式是组织功能性和分布式应用程序的常用软件开发策略,但它无法很好地处理安全、日志和异常处理等问题,这些问题会分散在分布式应用的不同对象中。
对于分布式和大型软件系统,尤其是连接到互联网的系统,安全是至关重要的问题。这些系统容易受到各种恶意攻击,因此安全逻辑应由安全工程师来实现。安全通信是保护系统免受此类攻击的主要解决方案。在分布式系统中,对象通常通过消息传递进行通信,很多系统使用 Java RMI 这种轻量级网络技术。
然而,大多数先前开发的分布式系统并未考虑安全消息传递。为了添加必要的安全机制,开发人员需要逐行分析整个应用程序代码,并找到每个相关的远程过程调用方法。Java RMI 也存在局限性,它不仅要处理简单变量类型,还要处理用户定义的可序列化对象。为了加密这些参数,程序员需要更改参数类型,这在模块化方面存在困难。因此,需要一种新的方法来解决这个问题,并以模块化的方式更新系统的安全描述。
面向方面编程(AOP)是一种新兴的软件开发范式,它可以通过将横切关注点模块化到一个称为“方面”的单元中,来实现更好的关注点分离。这种方法不仅提高了系统的模块化程度,还降低了系统的复杂性。
2. 背景
2.1 面向方面编程
面向方面编程是一种相对较新的软件设计补充模型,它通过将横切关注点集中到一个模块化单元(即方面)中来实现关注点的分离。在 AOP 中,系统分为两部分:核心系统,包含主要功能,通常
超级会员免费看
订阅专栏 解锁全文
5万+

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



