写点什么

文章:采用模式和泛型技术为应用增加策略控制 (静态部分)

  • 2007-04-12
  • 本文字数:846 字

    阅读完需:约 3 分钟

随着大量分布式计算和 SOA 类型应用的加入,企业内部具体应用的服务功能也趋于多元化,为了快速实现不断变化的业务需求、充分利用团队开发资源,很多架构师在高层技术设计阶段往往会在应用架构中集成一些公共库,完成诸如数据访问、日志记录、异常管理、授权控制等常规技术实现。

但是就一个具有规模化信息系统的企业环境而言,常常需要对应用实施很多全局性的技术处理,范围可能涉及整个应用层面或整个组织层面。例如:每个企业、每个行业内部总会有一些主要业务数据,这些数据又分散在企业不同的业务系统中——生产、财务、风险分析和决策支持等,但是出于安全的考虑可能要对这类数据在不同系统的处理过程进行使用安全审计,这时候处理上就有了两个方式:

  1. 逐个修改现有功能公共库,把审计功能嵌入到每个功能库之中。
  2. 纵向提供一个统一的组织级审计策略控制机制,每个公共库调用之。

采用前者可以在短时间内快速实施改造,但如果这类策略变化相对频繁,而且又增加很多不同数据控制要求(例如:对于高价商品、低诚信度客户进行报警),那么反复改造带来的开发、测试、重新部署成本相对就比较可观,究其原因就是由于每个应用内部的个例处理对象与整体处置要求对象间耦合过于紧密。因此,本文试图通过增加一个策略控制框架来用尽可能小的代价集中解决这类问题,设计目标如下:

  1. 自身结构要灵活,可以动态的适应多种策略要求。
  2. 以配置为中心,便于测试和部署人员根据需要以 Plug & Play 的方式修改和维护策略。
  3. 同时对业务调用的前期和后期提供可以回调的响应机制。
  4. 定义多种策略匹配规则,确保规则可以按需被公共库的不同实现层次组成调用(程序集、类和接口、方法)。
  5. 确保本地调用和跨进程调用的界面一致性。

本文作者王翔为全国海关信息中心高级架构师,从事海关主要广域分布式系统的设计和实施,多次参与各业务系统的优化。此外,作为信息安全工作组副组长,他还一直致力于应用密码技术和公钥基础设施保障海关业务的安全运行。 此外,他还是《程序员》杂志的专栏作者。

阅读全文:采用模式和泛型技术为应用增加策略控制 (静态部分)

2007-04-12 21:53717

评论

发布
暂无评论
发现更多内容

Python优化、异常处理与性能提升技巧

我再BUG界嘎嘎乱杀

Python 编程 后端 开发语言

昆仑万维开源2千亿稀疏大模型天工MoE,全球首创能用4090推理

新消费日报

Unix套接字进程通信初探【Java版本】

FunTester

蓝易云 - nginx教程:alias和root的区别

百度搜索:蓝易云

nginx Linux 云服务器 root alias

GRequests: 让 HTTP 服务人类

江湖十年

golang 后端 HTTP http client #go

度安讲 | 第二期「安全左移·业务护航」技术沙龙成功举办

百度安全

解析 AI 时代广告素材格局:AppsFlyer 综合报告揭示行业关键数据洞察

财见

李尔将收购西班牙自动化和智能公司WIP Industrial Automation

财见

开始报名!龙蜥社区系统安全 Meetup 硬核议程发布

OpenAnolis小助手

操作系统 系统安全 龙蜥社区 eBPF 技术

石油行业的数字化转型与智能化发展:新技术综合运用助力业务提升

天津汇柏科技有限公司

数字化转型 智能

从数据库设计到性能调优,全面掌握openGemini应用开发最佳实践

华为云开发者联盟

数据库 后端 时序数据库 华为云 华为云开发者联盟

【PMP必考点】2024年PMP敏捷知识必考点

敏捷开发

项目管理 产品经理 pmp 项目经理 PMP考试

数字化时代,API网关为何如此重要?

芯盾时代

网络安全 网关 API网关

深入研究区块链数字版权交易

dappweb

区块链数字版权交易

Amazon Q Developer 实战:从新代码生成到遗留代码优化(下)

亚马逊云科技 (Amazon Web Services)

人工智能 生成式人工智能

蓝易云 - maven教程:mvn package -T 2C命令解释

百度搜索:蓝易云

Java maven Linux 运维 云服务器

告别内存OOM,解决MySQL内存增长问题

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

展示柜透明显示屏的特点简析

Dylan

创新 视频 商品 LED display LED显示屏

F5G城市光网,助力“一网通城”筑基数字中国

脑极体

AI 网络

构建Python构建自动化测试框架(原理与实践)

我再BUG界嘎嘎乱杀

Python 软件测试 自动化测试

万界星空科技数字孪生智慧工厂

万界星空科技

数字孪生 智慧工厂 智能制造 mes 万界星空科技

人员身份级的数据中心机房作业随工

鲸品堂

机房 数据中心 机房管理 企业号 6 月 PK 榜

互联互通新进展-联通支付与微信实现商户收款码互联互通!

最新动态

GitHub上新!14个Python项目详细教程(附完整代码)

我再BUG界嘎嘎乱杀

Python 后端 入门 开发语言 零基础

蓝易云 - 在C/C++中使用vcpkg

百度搜索:蓝易云

c++ 运维 服务器 云服务器 高防服务器

蓝易云 - jenkins教程:sshPublisher示例(Publish over SSH插件)

百度搜索:蓝易云

运维 SSH 服务器 jenkins 免备案服务器

文章:采用模式和泛型技术为应用增加策略控制(静态部分)_.NET_霍太稳@极客邦科技_InfoQ精选文章