SlideShare a Scribd company logo
1 of 28
黑峰技术
让软件的基元相互组合依赖、协同进化的平台
Piz-Nair Innovating
软件是否可以实现完全模块化的自由组合来构建软件工程?
Fractal Robots分形机器人概念:模块化
机器人的面向环境改变的自适应分形生长
的构型构造方法。
❖ 软件能不能实现?
❖ 怎么实现?
新技术发生的时候,很多无法实现的想法都可以实现
软件是否可以实现模块化的组合和复用来完成工作任务?
• SOA架构模块化编程,严格的松散耦合。
• 需要深入集成到现有系统的复杂机制
• 复用麻烦。
• 格局需要从头建立
• 是否可以真正实现一种有模块化的东西来
自由组合构建软件功能?
• 重构非常敏捷简单。
普通查询 预约管理
订单
物流配送
支付管理 等等……
基本GUI元素
GUI Elements
内 容
❖ 黑峯技术(框架与平台)
❖ 相比现在,基元平台带来的优势与价值
❖ 功能原型演示
❖ CompUnit Platform可应用场景范围
❖ 商业模式构想
4
5
CompUnit Platform基元及平台介绍
黑峰技术平台和基元
6
黑峰技术平台是一个打造互联网功能的框架(包括工业互联网) 。它最大的特点是用户直接使用微型的,数
据及其相应功能的集合体,称为基元Computing-Unit。系统和用户的任务由众多基元协同工作来完成的。
• 黑峯技术就是将各种基元要素组合为一个有机整体,实现新的功能或体验。它可持续发展的架构,开发效
率高,成本低,复用性极高,可支持更敏捷的开发,能够让开发者持续保持高效开发。非常适用于大规模
人际协同互动,以及智能设备的交互。
• 黑峰技术中的基元们是独立存在,相互组合。每个基元管理自己的数据和自己的下游基元。基元不需要创
建安装功能,基元数据对外部不可见,用户或其它单元只能通过基元的界面影响这些数据和下游基元。
• 每一个基元都有自身属性的基本功能,技术有目的地将两个或多个基元交互组合形成新的功能。这也说明
有规模的基元们之间有相互选择性和竞争淘汰。
• 基元们可实现相加组合、交互组合、结构组合、风格组合、替换组合、分割组合、系统组合,通过组合形
成超级功能。适合面对无法预测的客户需求来实现灵活的伸缩(即时扩展和精减),应对完全在线的产品
(比如社交媒体或交易),极少的或零宕机时间快速添加新功能的能力
• 通过形态、结构、风格、交互组合,可形成视觉形态和交互功能
• 通过相加、替换组合,可形成新的功能。
• 如果是结构和解构的组合方式,基元们可形成平台架构支撑
• 可以轻松集成已有(开放)系统的功能,很多新技术,如系统平台、IoT、跨媒体感知功能、人机混合智能、
群体智能协同、自主协同与决策、用户应用管理业务、APP开发等可以按需要集成到应用中
……
应用系统
……
…………
……
黑峰架构示意图
7
JSON over HTTP
Java
Servlets
Web
Applications
内置基元
Built-in
通用或涉众基元
Common c-unit
应用和专用基元
Application
指令
回调界面
上传
AngularJS
用户基元
Subscriber c-unit
基本GUI元素
GUI Elements
CI/CD GUI元素
GUI Elements
httprequest
文件类功能
带安全加密
照片管理
支付管理
应用系统
普通查询 普通购物
等等……
A客户端
实现端服务器
AngularJS
基本GUI元素
GUI Elements
B客户端
CI/CD GUI元素
GUI Elements
基元 基元
消息服务A
安全消息
照片
……
基元 基元
专业查询 女性购物
……
……
基元 基元 基元 CompUnits
支付管理
基元及其结构
➢ 基元是管理具体的可以明确界定的事物的单元,可执
行用户或者其它协同基元的指令,执行过程中可以调
用其它基元指令。
➢ 基元独立存在:基元一旦产生,不需要依赖于其它基
元的存在而存在。
➢ 基元有自己用户界面,它不依赖于其它基元与用户交
互,同时它没有责任为其它基元提供用户沟通服务。
➢ 基元之间的耦合的产生只发生在执行任务时的相互合
作,不需要为彼此的用户界面提供大量数据流通,因
此耦合关系极低。
➢ 基元之间的交互介质经常是其它基元。使得基元间合
作不仅能实现可想象的强大功能,同时接口还非常轻
巧简单。
➢ 基元的生产和组织是由自身或者其它基元实现的。
➢ 基元内的数据独立,可独立部署和运行,同时也提升
了负载的均衡性。
➢ 基元对自身安全和权限管理负责。
基元实现
(Java class)
用户GUI
(由元素构成)
上游基
元指令
下游基
元指令
用户界面定义 用户动作
基元数据
用户指令
9
基元如何完成用户工作
基元如何完成用户工作
• 用户直接面向某个基元提供的GUI,用户通过界面向基元发指令。
• 指令之来源于用户界面或其它基元。
• 基元执行指令过程中会更改自己的数据,向其他基元发出指令,或生产新基元,亦或或传播基元。
• 基元与异系统的配合:异系统接口可以被封装成各种各样的基元,来提供具有基元功能的服务。
基元用途
• 基元可作为框架用途帮助开发系统与应用。
• 基元也可作为平台供用户使用和共享。
• 大规模人际互动协同功能优于其他方式。
10
基元的开发与演进
如何开发基元
• 基元开发过程中,需要关注的范围比较小,一是用户只牵涉所管理的事物本身,它的用户交互需求,
以及上下游基元的接口。因此开发过程透明化、本地化、简单化。
• 由于基元内部的变更及用户界面的变更,不影响基元间的合作,因此设计和开发过程中可尽可能的
相互独立,相互关系影响极小,成倍减少设计、开发和测试工作量。
• 有基本语言技能的程序员,不需要过多纠结于众多框架、工具、软件包的学习。因此可很快实施工
作。
• 创建的细节与逻辑都在基元内部完成,并封装。
• 基元开发可在大量代码生成器支持下,为开发人员打造
基元如何演进
• 新基元的投放和使用(包括功能类似的基元)对已有基元不产生任何影响。
• 生产替代基元对上游基元的已有接口无须改变,可添加新接口
• 新基元的界面风格可进化,变换风格和功能。
• 新基元的不断加入,可伴随旧基元的淘汰,这样的基元竞争、淘汰法则可使基元们得到不断的优
化和演进。
• 一部分基元会专注于组织和呈现新的更好的基元们给用户,推进基元世界的繁荣和发展。
基元投放与管理
➢建立和维护更丰富的基元生态
➢把一个基元投放(拷贝)到另一个基元作为下
手是基元和框架最大的特点和最重要的用户
操作。例如,把一个用户投放到一个事件里
作为参与人,把一张照片投放到一个相册作
为内容,把一个站点投放的一个游程里作为
一部分,等等
➢一个基元可定义多数据维度,可以有不同的
投放口,比如事件有成员投放口(只接受用
户)和相关材料投放口(接受任何基元)
➢类似的基元可以多个同时存在,基元(用户)
可以每次根据需要选择最合适的基元来完成
相应的任务
➢从概念上类似于windows里开了多个资源管理
器,随时可以把发现的资源放入相应的管理
器内
➢对开放基元的代码者,可直接依据基元受用
度获得回报
11
开发
分发
支持
设计
提供服务支撑,技术建议。
对基元与基元工厂进行测
试、优化、审核、许可等
面向对象和需求的
产品设计,GUI、配
件元素等
面向对象和需求的产品
设计。开发工具与资源、
开发指导、事件管理。
Go-to-market,提供
分发与管理。
与传统软件架构的区别
• 黑峰平台没有“中心”概念,每一个基元都独立存在,并且直接和用户等交互。组织
和生产这些基元的,只是另外一些普通的基元。
• 对新硬件即插即用的支持:新硬件自带相应基元插入,插入接口的管理基元发现新
基元。尽管管理基元不懂新基元,但是它知道一个新基元出现了,就把他记录下来
供用户发现。用户可以通过新基元自带的界面马上开始使用新插件。
• 现在软件模块之间之所以接口复杂,很大程度是因为应用与用户的交互式应用整体
中心解决的,所有模块必须通过庞大的接口把所有用户交互需要的数据通过复杂渠
道传到用户交互中心,好让应用的UI能够使用这些数据,然后再传到各个组件去。
在黑山平台上,每个基元负责自己的用户交互,基元之间的关系变得非常简单,极
为复杂的接口非常罕见,应用可以不纠结于接口获得良好接入。
• 传统软件的数据在不同模块中传动处理的,基元是直接传的相互可利用的基元,可
以避免传统数据流的流动性问题。
12
与SOA的优势
• 大型应用系统,采用模块化的分层式架构,所有的业务逻辑代码最终会打进一个代
码库中统一部署。
这种应用架构的问题是,全部开发人员会共享一个代码库,不同模块的边界模糊,
实现高内聚、松耦合极其困难。
• 如果想尝试去做重构改进时,肯定碰到过这类场景,改了一个地方好几个其他模块
也需要同步改动,模块的边界轻易被穿透,改动变得连锁。
• 应用系统的代码行数做了个统计,有超过 40 万行。
一个 20 人的团队维护一个 40 万行共享代码库的单一应用,在里面修改 bug 和添加
功能都将十分困难。
• 当程序员维护超过2万代码行数的应用系统维护起来将倍感吃力,所以我们系统这
两年的高速发展膨胀,已让团队维护起来倍感吃力了。
• 想要把一个大系统拆分成许多不同的微服务,每个微服务的规模大小控制在一个普
通程序员的舒适维护区能力范围内。
13
与微服务(Microservices)的区别
• 微服务即服务的微型化,就是每个服务微小到只需专注做好一件事。这件事紧密围绕业务领域,
形成高度内聚的自治性。
• 微服务仍然采用了 SOA 服务化架构思想,依然带来耦合。
• 微服务架构强调每个服务一个进程,
使用进程为边界来隔离代码库至少让同一应用系统不同层次的开发人员享有自己完全自治的领
地,每个微服务都有一个掌控者。
从某种程度上让不小心做错事,例如:跨出服务边界的代码耦合依赖,变得没那么容易。
• 出发点
• 现有的应用程序是集中式的:出发点是为了完成某类需求,然后再以点谋面,去集成其它功能
• 平的,网络化:开发应用,类似于织地毯,一帮人织自己的地毯,另一帮人织他们的地毯,他
们可以很容易的连接到
• 粒度不同
• 目前一个应用程序由UI,Microservices,Databases;
• 一个程序由很多个基元组成,基元封装逻辑UI、Functions、Data
14
15
基元技术到底改变了什么
基元架构优势1——最敏捷的开发模式
➢降低了产品的前期规划设计的复杂性
➢试错成本低,利于敏捷开发,可以实现边探索,边构思,边设
计,边编程,边修改的非传统开发过程
➢项目功能随时间平滑演进,不断优化和扩展,可以(最终)容
纳大量,多样功能而不对开发或使用造成额外压力
➢框架可以轻松集成已有(开放)系统的功能,很多新技术,如
大数据分析,人工智能等可以按需要集成到应用中
➢少而高效的用户交互模式大幅降低用户门槛,提高用户体验和
使用效率
➢任何外部系统(应用系统、用户系统、AI、IoT),只要提供相
应的在线接口,就可以轻松封装成一系列基元加入系统
16
基元架构优势1:可扩展性、匹配组合好于业界,有利于创新事物的开发迭代,优化探索过程
优势2——大幅降低开发和维护成本
客户端(前端) 界面:60%
传输:10%
逻辑:10%
映射:10%
设计:10%
传输
服务器方(后台)
映射
(关系)数据库
Before and Now
17
数据及下游管理(10%)
逻辑(10%)
UI 布置 (10%)
After
~70%
Offload
➢ 需要开发的软件(基元)只
负责非常有限的功能,容易
开发。(共同合作往往是浅
层的,深层合作是可以的,
必须由基元自己或者其他基
元来构建合作条件与环境,
但是这种情况较罕见。)
➢ 可以大幅度降低开发和维护
费用,一般项目可以降至常
规技术的1/3,并且软件质量
大幅提高
➢ 极大降低相关各方面的沟通
成本,因为项目各方,包括
第一线开发人员,使用的都
是最终用户的语言
➢ 如Go-to-Market 周期可大幅度
缩短
基元架构优势3——
18
基元架构优势2:
改变传统应用实体面向Vertical的架构模式,可实现任意拓展的无序架构。
Pool A
Subscriber
Pool B
Main page
Pool C
Searching
Pool D
Messaging
Pool E
Bidding
Pool F
Logistic
应用层面: 按功能或 SOA 服务进行分解,将系统垂直拆分
为多个应用池(应用池中的服务是无状态的)。每个应用
池中有多个应用(水平拆分),可以独立灵活地进行伸缩。
数据层面: 对数据进行垂直拆分(分库)和水平拆分(数据分
片 DB Sharding);将分布式事务拆分成多个本地事务独自
提交,避免分布式事务。
业务功能:通过对业务流程和用例进行分析,根据功能职
责,进行垂直和水平分解,识别出业务功能或业务服务,
将它们归类到基元中去。
交易功能(基元)
子产品(基元) 用户profile(基元)
搜索(基元)
支付功能(基元)
物流(基元)
User Item Transaction Product Account Feedback
19
功能与案例演示
事件演示
布置
下游
安排
界面
用户指
令处理
左角
菜单
ADD YOUR TEXT
20
21
CompUnit Platform可应用场景范围
以此技术开发的软件到底有多酷?
22
➢ 超级的客户化:不同用户根据自身喜好习惯对同一应用进行特性增删、使用
方式、风格等更换,自设计/自开发也支持。软件最后淘换下的功能,都是
单个用户自己在使用实践后的选择。同一软件对不同用户的风格表现完全不
一样。
➢ 局部替换代替全面升级:无须对软件升级,仅需对软件中的某个兴趣功能进
行替换或升级,或者仅仅是在线使用
➢ 快速迭代:以基元的变化与选择,替换软件版本的频繁升级
➢ 多面性社交:社交应用中可一帐户实现多个虚拟身份,每个虚拟身份有独立
的操作环境和隐私安全。(家庭/工作/社交/密友/语言/国家等,即可完全分
开操作和呈现,也可合并)
➢ 软件快速转基因:可把不同的APP的特性收藏到其他APP中,功能特性、用
户体验可跨软件进行交叉移植
➢ 适应性强:对不同硬件快速支持,适应性好,对第三方应用兼容对接好。
23
商业模式构想
多种商业模式
24
开发工具
低成本开发
服务与咨询
平台服务
技术孵化
与授权
软件开发过
程新标准
•核心平台
•面向需求的
中大型系统
与平台
行业市场
• 金融
• 工业
消费者市场
• 社交
• 广告
• 电子商务
•营收导向
•差异化导向
•利润导向
25
其它
术语定义(一)
26
术语 定义
Piz-Nair Framework 一个专用于打造大规模人际互动协同功能的框架
基元
Compunit
框架里一个独立的基本单元构建。它有自己的持久化数据(JSON)和用户界面。框架内的大
量基元会相互合作为用户服务。
组合
Assembly
松散定义的一组基元工厂,组合起来可以支持用户完成相关的一系列任务。注意,组合一般
没有严格界定,其中的全向单元工厂往往大部分同时用于许多其它组合,对于同样任务系列
也会有各种类似或不同的组合。组合是最类似目前 APP 的概念。
用户界面元素
UI elements
用户界面的组成部分。元素可以在界面上包含其它元素。基于黑山框架的软件用户界面上除
了元素以外没有其它内容。每一个元素必然源于一个基元。一些元素可以包含用户可以启动
的动作(见下),如果用户启动了某个动作,框架会负责将它传送给元素的源基元。
用户界面定义
UI definition
基元发出的用户界面(一部分)的定义。这些界面由框架输送到客户端,由框架的客户端部
分解析和调度,形成客户端上内容的完整呈现。
术语定义(二)
27
术语 定义
Action
用户动作
用户通过激发界面上某个元素而启动的系统相应。元素将动作传递给框架,框架将动作接引
到相应的全向单元,全向单元做出界面上承诺给用户的反应。
指令
instruction
基元可以通过发送指令来调用其它单元。指令以函数调用的形式发出。
上(下)级
superior,inferior
当一个基元为用户动作做出反应时,它可以给其它基元发出指令。这时候他自己称为上级,
接受指令的基元称为下级。很多时候下级由上级创造,但不完全是。一个基元可以由多个下
级和多个上级。上下级关系会随时间改变。
主人
owner
每个全向单元有一个主人。基元可以给主人发出指令。主人负责提供单元安全管理
需要的信息。
Piz Nair Innovating

More Related Content

Similar to Piz nair technologies introduction

Linux运维趋势 第0期 运维自动化
Linux运维趋势 第0期 运维自动化Linux运维趋势 第0期 运维自动化
Linux运维趋势 第0期 运维自动化51CTO
 
151107 物聯網教學應用發表會-開場
151107   物聯網教學應用發表會-開場151107   物聯網教學應用發表會-開場
151107 物聯網教學應用發表會-開場CAVEDU Education
 
陈敏简历Java软件工程师
陈敏简历Java软件工程师陈敏简历Java软件工程师
陈敏简历Java软件工程师guestb12ca4
 
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 TaiwanAlan Tsai
 
從實戰經驗看到的 K8S 導入痛點
從實戰經驗看到的 K8S 導入痛點從實戰經驗看到的 K8S 導入痛點
從實戰經驗看到的 K8S 導入痛點Will Huang
 
Dreaming Infrastructure
Dreaming InfrastructureDreaming Infrastructure
Dreaming Infrastructurekyhpudding
 
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目Poy Chang
 
An overview of virtual machine architectures
An overview of virtual machine architecturesAn overview of virtual machine architectures
An overview of virtual machine architecturesLishi He
 
Enterprise connect
Enterprise connectEnterprise connect
Enterprise connectthinkinlamp
 
SharePoint 项目实施团队的成功之道
SharePoint 项目实施团队的成功之道SharePoint 项目实施团队的成功之道
SharePoint 项目实施团队的成功之道Yi Zhang
 
Introduction to MLOps in Azure Machine Learning with Live Demo
Introduction to MLOps in Azure Machine Learning with Live DemoIntroduction to MLOps in Azure Machine Learning with Live Demo
Introduction to MLOps in Azure Machine Learning with Live DemoKo Ko
 
转化的灵感
转化的灵感转化的灵感
转化的灵感Yan Shi
 
转化的灵感
转化的灵感转化的灵感
转化的灵感faming su
 
Djt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.comDjt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.comdrewz lin
 
Djt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.comDjt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.comdrewz lin
 
程序员与技术
程序员与技术程序员与技术
程序员与技术ligaoren
 
VSCode Remote Development 介紹
VSCode Remote Development 介紹VSCode Remote Development 介紹
VSCode Remote Development 介紹Philip Zheng
 
基于架构的开发模式
基于架构的开发模式基于架构的开发模式
基于架构的开发模式thinkinlamp
 
基于架构的开发模式
基于架构的开发模式基于架构的开发模式
基于架构的开发模式samon127
 

Similar to Piz nair technologies introduction (20)

Linux运维趋势 第0期 运维自动化
Linux运维趋势 第0期 运维自动化Linux运维趋势 第0期 运维自动化
Linux运维趋势 第0期 运维自动化
 
151107 物聯網教學應用發表會-開場
151107   物聯網教學應用發表會-開場151107   物聯網教學應用發表會-開場
151107 物聯網教學應用發表會-開場
 
陈敏简历Java软件工程师
陈敏简历Java软件工程师陈敏简历Java软件工程师
陈敏简历Java软件工程师
 
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
 
從實戰經驗看到的 K8S 導入痛點
從實戰經驗看到的 K8S 導入痛點從實戰經驗看到的 K8S 導入痛點
從實戰經驗看到的 K8S 導入痛點
 
Dreaming Infrastructure
Dreaming InfrastructureDreaming Infrastructure
Dreaming Infrastructure
 
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
 
An overview of virtual machine architectures
An overview of virtual machine architecturesAn overview of virtual machine architectures
An overview of virtual machine architectures
 
Enterprise connect
Enterprise connectEnterprise connect
Enterprise connect
 
SharePoint 项目实施团队的成功之道
SharePoint 项目实施团队的成功之道SharePoint 项目实施团队的成功之道
SharePoint 项目实施团队的成功之道
 
Introduction to MLOps in Azure Machine Learning with Live Demo
Introduction to MLOps in Azure Machine Learning with Live DemoIntroduction to MLOps in Azure Machine Learning with Live Demo
Introduction to MLOps in Azure Machine Learning with Live Demo
 
转化的灵感
转化的灵感转化的灵感
转化的灵感
 
转化的灵感
转化的灵感转化的灵感
转化的灵感
 
Djt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.comDjt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.com
 
Djt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.comDjt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.com
 
程序员与技术
程序员与技术程序员与技术
程序员与技术
 
VSCode Remote Development 介紹
VSCode Remote Development 介紹VSCode Remote Development 介紹
VSCode Remote Development 介紹
 
智能 Bot 應用情境分享
智能 Bot 應用情境分享智能 Bot 應用情境分享
智能 Bot 應用情境分享
 
基于架构的开发模式
基于架构的开发模式基于架构的开发模式
基于架构的开发模式
 
基于架构的开发模式
基于架构的开发模式基于架构的开发模式
基于架构的开发模式
 

Piz nair technologies introduction