写点什么

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

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

    阅读完需:约 3 分钟

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

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

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

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

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

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

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

2007-04-12 21:53925

评论

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

C语言入门(一)

逝缘~

c 7月月更

TDengine 如何进行数据建模?

TDengine

数据库 tdengine 开源

复杂查询so easy ,GaussDB(for Cassandra)推Lucene引擎全新解决方案

华为云开发者联盟

数据库 后端

【Unity】绘制阿基米德螺旋线

萧然🐳

Unity 7月月更

传统企业要为 Web3 和去中心化做的 11 个准备

CECBC

值得学习的Python GUI 库 - pyQt5快速入门及精美界面设计体验

迷彩

PyQt5 Qt Designer 7月月更

Cgroup devices子系统

总想做点什么

C++算法题中对于字符串的一些妙手

KEY.L

7月月更

TSDB与Blockchain

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

Cgroup Cpuset子系统

总想做点什么

需求量最大的6个区块链工作

CECBC

应用性能管理与链路追踪的关系

穿过生命散发芬芳

链路追踪 7月月更

自动生成API工具——Swagger3

Java学术趴

7月月更

砥砺十年,“信”创未来!亚信科技AntDB数据库产品发布会即将启幕

亚信AntDB数据库

AntDB 国产数据库 亚信科技 产品发布会 数据库·

App Store 的 App 迁移

贾献华

7月月更

Binder通信过程

北洋

Andriod 7月月更

区块链技术带来司法“加速度”

CECBC

清源(CleanSource) SCA推出容器镜像扫描功能

安势信息

容器 安全 SCA 容器镜像 容器镜像Docker

2种数据库覆盖式数据导入方法介绍

华为云开发者联盟

数据库 大数据 后端

初识Linkerd项目

阿泽🧸

Linkerd 7月月更

4种Kafka网络中断和网络分区场景分析

华为云开发者联盟

后端 开发 网络 网络中断

想要治好水,龙王也要拜拜这朵云

白洞计划

【愚公系列】2022年7月 Go教学课程 007-计算机进制和变量命名规范

愚公搬代码

7月月更

DelayQueue源码分析-特点与新增

zarmnosaj

7月月更

Java 缩小字符串( Compact String)和 压缩字符串(Compressed String)

HoneyMoose

【刷题记录】4. 寻找两个正序数组的中位数

WangNing

7月月更

正则表达式(二)

Jason199

正则表达式 js 7月月更

开源代码难阅读?几位研发的“妙招”帮你解决

TDengine

数据库 tdengine 开源

推理实践丨如何使用MindStudio进行Pytorch模型离线推理

华为云开发者联盟

人工智能

面向商业市场,华为式“抢滩登陆”

脑极体

❤️❤️❤️爱了爱了!这样的文字动画让你爱不释手!

岛上码农

flutter ios 前端 安卓开发 7月月更

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