首页 > 其他分享 >企业架构设计之IFW实践回顾

企业架构设计之IFW实践回顾

时间:2024-09-01 08:54:00浏览次数:10  
标签:架构设计 IFW IBM 回顾 模型 数据仓库 业务 资源管理

企业架构设计之IFW实践回顾

 

前言

  笔者几年前曾参与过一套网络银行的系统建设以及后续这套系统在信用、云服务、保险、基金、支付等领域的复用,使用了IFW模型的变体。当时仅仅是根据架构师的设计进行编码、测试和交付以及后续的维护,没有对这套模型进行系统化的总结,心中总是有点缺失。这么多年过去,借着在组内分享的机会,系统地整理一下这块的知识,希望对以后的设计建模能有所帮助。
  限于笔者水平,同时IFW模型实际上是非常复杂(以至于对于专业的咨询公司来说,这套模型的咨询+分析+落地方案设计费用通常在百万到千万级别),短短的一篇博文仅仅是管中窥豹,而且由于理解偏差也会有错误的之处,因此仅作参考。

简介

  IFW是IBM的Information FrameWork缩写,旨在描述银行业务,可以看做领域内技术和业务沟通的桥梁。IFW是一套Zachman Framework的变体,后者最经典之处在于5W1H维度下对于6个概念的划分:

  这里对于Zachman Framework不展开介绍,保持聚焦于IFW本身,其所应用的产品很多:

  • IBM旗下Industry Models的一部分
  • 银行业与财务市场
    • IBM银行业与金融市场业数据仓库(IBM Banking and Financial Markets Data Warehouse,BFMDW)
    • IBM银行业数据仓库(IBM Banking Data Warehouse,BDW,是BFMDW的衍生产品,只和银行有关)
    • IBM金融市场数据仓库(IBM Financial Markets Data Warehouse,FMDW,同样是BFMDW的衍生产品,只和金融市场有关)
    • IBM银行处理服务模型(BPS)
  • 保险业
    • IBM保险应用架构(IBM Insurance Application Architecture, IAA)
  • 其他
    • 保健
    • 电信
    • 零售

概览

整个业务模型框架分为以下几个板块:

  • IFW基础模型
    • 金融服务数据模型(FSDM)
    • 金融服务功能模型(FSFM)
    • 金融服务工作流模型(FSWM)
  • 银行数据仓库
    • 业务解决方案模板
    • 银行数据仓库模型
  • IFW集成模型
    • 金融服务业务对象模型
    • 金融服务接口设计模型
  • IFW流程模型

  其中“IFW基础模型”如其命名,是基础中的基础。个人理解,“工作流模型”是指工作流中的各个实体,如节点、跳转条件等,“流程模型”指的是抽象或具体的某个流程。

FSDM九大数据概念

  IFW将金融信息分解为九大数据概念,所有的金融业务中都可以套用到其中。具体的细节可能有差异,我一共参考了两份资料,下面一共列了11项,其中前7项是公有的,
第89份是我所参与项目中使用的,1011项是另一份资料中的。其中“渠道”和“业务方向”有重合之处。
  这部分是我实践中接触最多的地方,也是对建模最有帮助的。

概念简称说明举例
参与者 IP 业务往来、信息交互中关联的各方 个人、机构、柜员、平台商、委托方、代理人
位置 LO 参与者相关的地址 家庭住址、公司地址、邮政邮箱、电子邮箱、网址
条件 CD 描述业务开展时需要的前提条件、资格标准、要求、限制、服务参数 需年满18岁、利率、价格、周期
产品 PD 提供给客户用以换取任何形式利润或收益的产品和服务 活期存款、货币基金、人身险、实体商品
合约 AR 描述或两个或两个人、团体、组织等潜在或实际的协议,申明了权利或/和义务 服务协议、产品协议
资源项 RI 各参与者拥有、需要管理和使用的物品项 身份证、借条、房产、通行证
事件 EV 参与者之间、参与者与系统、系统与系统交互的行为与数据 交易事件、存款事件、收费事件
账户 AC 记录及监控货币及非货币(如积分等)数量变化的主体 存款账户、贷款账户、总账账户、公积金账户
渠道 CH 多个参与者为业务通讯的通道 柜面渠道、ATM渠道、网站门户
分类 CL 数据分类或分组 前台类目、后台类目
业务方向 BD 开展业务所在的环境或方式 -

FSFM功能模型

  包含了500多个银行的业务功能,不过没有详细列出。举例如下:

  • 资源管理
    • 人力资源资源管理
    • 基础设施资源管理
    • 信息资源管理
    • 金融资源管理
    • 信托资源管理
  • 方向管理
    • 控制管理
    • 策略管理
    • 会计管理

IFW流程模型

  本处指工作流模型+流程模板。模板特点是:

  • 独立于渠道
  • 独立于业务部门
  • 独立于产品线
  • 独立于特殊客户群
  • 独立于技术
  • 独立于已有系统或某个 ISV方案

作为模板化的分析和抽象,我们在设计中可以参考这些指导建议。

领域裁剪

  追求模型的大而全是不现实的,在特定业务主题下实际上只需要部分模型即可实现,以下是几个例子。

产品管理

产品签约管理

核心业务处理

客户关系管理

实践建议

基于技术选型的再设计

  建模后限于技术选型的限制,模型可能并不能直接套用。比如DB不支持批量插入或性能很差、字段长度不支持等。这是一个很常见的逻辑模型转换物理模型时遇到的问题,对于物理模型的组织和存储,需要进行进一步的设计,当然也有可能影响到逻辑模型。

结构与数据分离

  对于领域模型非常复杂的场景,建模的最初目的是理解业务和沟通,可能并没有考虑到系统间交互的复杂度。在将物理存储转换为逻辑模型时,组装模型的接口可能会导致系统处理速度下降,特别是在大量信息需要做序列化/反序列化时。在实践中我们发现,对于外部只消费数据,不感知具体模型的结构,对吞吐量要求较高;对于内部信息管理,才会感知到结构,但对吞吐量没有太大要求。因此可以考虑将结构和数据分开存储,对外接口只需要透出数据即可。

缓存化

  对于经常查询的信息预先考虑缓存化处理。

可以但是没必要的复杂性

  模型支持可扩展,但不意味着把所有的处理工作留给自己,建议在保持核心逻辑和原子能力的前提下做扩展,保持内部的高内聚性,减少对外围逻辑的耦合。下文会提到,“没有一套模型能解决所有的问题”。

SDK化

  如果应用IFW的系统仅仅是一个公司SOA化架构中的一环,而非整个公司技术产品的共识,即使是一个核心应用,上下游来对接会非常痛苦——他们不得不理解这套复杂的概念。这里建议采用共建的形式为使用方提供SDK,屏蔽复杂的细节,仅仅提供给对方需要的信息和接口即可。

模型裁剪

  与SDK化相反,如果仅仅关注系统内部流程,是没必要完全实现大而全的IFW的,只需要实现其中使用到的领域即可。

没有银弹

  “没有一套模型能解决所有的问题,如果强行去做,那么会导致每个模型都非常扭曲,这个是我们在经历了这么多迭代后得出的血的教训。”这是我原先所在团队的架构师在这套模型多年实践后总结出的心得。

争议

  建设成本与使用成本的权衡。

参考资料

IFW英文wiki:https://en.wikipedia.org/wiki/Information_Framework
Zachman Framework:https://en.wikipedia.org/wiki/Zachman_Framework
Industry Models产品官网:https://www.ibm.com/analytics/industry-models
IFW Overview:http://www.itpub.net/thread-1604106-1-1.html (直接注册下就可以下载,这里有关于IFW的一些讨论可以借鉴)
治理和管理企业模型,第 1 部分:https://www.ibm.com/developerworks/cn/rational/09/0113_letkeman-norris/index.html

标签:架构设计,IFW,IBM,回顾,模型,数据仓库,业务,资源管理
From: https://www.cnblogs.com/guanghuiqq/p/18391002

相关文章

  • JavaScript中数组;JavaScript中对象及方法;笔记分享;知识回顾
    一,JS中数组数组创建4种语法:<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title></title><script>/*第一种......
  • 大模型 | RAG 架构设计三阶段:Naive RAG 架构设计、Advanced RAG 架构设计、Agentic RA
    第一阶段:NaiveRAG架构设计大型语言模型(LLMs)虽然展现出卓越的性能,但在处理特定领域或知识密集型任务时,存在一些挑战,比如:产生虚假信息、知识陈旧以及推理过程的非透明性和不可追溯性。RAG技术作为一种有希望的解决方案,通过融合外部数据库的知识,有效应对了这些问题。它显著......
  • JavaScript中DOW和BOW;笔记分享;知识回顾
    一,BOW1什么是BOWBOM是BrowserObjectModel的简写,即浏览器对象模型。BOM有一系列对象组成,是访问、控制、修改浏览器的属性的方法BOM没有统一的标准(每种客户端都可以自定标准)。BOM的顶层是window对象2,window对象及常用方法(1),什么是window对象Window对象描述:    ......
  • codeforces做题记录(1924B)& 回顾线段树
    1924B.SpaceHarbour题意:n个点排成一行,其中某些点上面建有港湾,港湾有一个权值,对每个点我们定义点的权值为“左边(包括自己)第一个港湾上的权值\(\times\)到右边(包括自己)第一个港湾的距离”(保证在一开始1号和n号点上都有港湾)。有q次操作:操作1给定x和v,表示在x点上建立权值为v的......
  • 回顾一些常识————环境变量
    前言最近写一些底层一些的东西,简单回顾一下环境变量.正文首先我们来看下c语言的环境变量的位置。可以看到每个进程都有自己的环境变量,操作系统会复制环境变量的副本给一个新创建的进程。那么这个副本哪里来呢?是操作系统自己维护一份在内存中吗?那不是,因为操作系统中进程有......
  • LeetCode 热题 100 回顾
    目录一、哈希部分1.两数之和 (简单)2.字母异位词分组 (中等)3.最长连续序列 (中等)二、双指针部分4.移动零 (简单)5.盛最多水的容器 (中等)6. 三数之和 (中等)7.接雨水 (困难)三、滑动窗口8.无重复字符的最长子串 (中等)9.找到字符串中所有字母异位词 (中等)四、子串10.......
  • 系统架构设计师——系统工程学
    概述.系统工程是一种跨学科的方法论,旨在通过系统方法组织管理技术来实现系统的规划、研究、设计、制造、试验和使用。它的核心在于从整体的角度出发,合理地开发、设计、实施和运用系统科学和技术,确保系统能够成功地实现其预定目的。以下是系统工程的几个关键视角:目的:系统......
  • OpenHarmony开发:应用分层架构设计
    HarmonyOS应用的分层架构设计以一套代码工程为基础,旨在为华为的手机、2in1等1+8全场景设备提供支持,实现了“一次开发,多端部署”的开发理念。HarmonyOS应用的分层架构主要包括三个层次:产品定制层、基础特性层和公共能力层,为开发者构建了一个清晰、高效、可扩展的设计架构。本......
  • 物联网安全的系统回顾
    ......
  • 计算机架构设计的8个伟大思想
    “Theseareeightgreatideasthatcomputerarchitectshaveinventedinthelast60yearsofcomputerdesign.Theyaresopowerfultheyhavelastedlongafterthefirstcomputerthatusedthem,withnewerarchitectsdemonstratingtheiradmirationbyimitat......