blockly

什么是企业中台?企业为什么要建中台?企业如何建设中台?

家住魔仙堡 提交于 2020-12-06 04:54:40
一、引言 近期阅读了钟华的有关阿里巴巴中台战略的资料,阿里中台战略中的共享服务的实践对自己有非常大的启发。结合多年建设IT系统的经验,以及目前国内众多企业建设中台的需求,谈一下自己对企业建设中台的思路和建议,供大家参考。 二、企业为什么要建设中台 (1)何谓企业中台? 企业中台是指为企业前端业务应用提供共享服务的平台,该平台可以快速的响应企业业务需求,支撑企业业务的运营和创利。 (2)建设中台的意义? 企业的中台可以避免以往烟囱式的系统建设模式,降低IT系统建设以及系统间交互成本,能快速响应前端的业务需求,同时实现持续的业务沉淀,形成企业的核心资产,推动企业业务创新。 (3)建设中台必要性 若企业的业务种类多,而且随着近年来互联网的冲击,客户对企业业务的个性化需求增多,时效性要求高,这种情况下,企业建设中台是有必要,因为只有中台才能有效快速的满足客户的个性化需求。 三、不适合建设中台的企业 企业中台的建设源于互联网业务的驱动。互联网业务具有用户众多,个性化需求多,需求变化快等特点,企业建设中台最初目的是为了适应互联网业务的特点,使自己具备快速的响应客户需求,提供符合用户需求的产品能力。 企业中台的服务中心具备快速开发和部署能力,因此能快速响应客户需求;且中台按需服务特征,能持续为前端应用提供服务,可以不断的进行业务沉淀,反过来驱动中台能提供稳定优质的服务

BPM产品解读之规则设计器

こ雲淡風輕ζ 提交于 2020-07-28 06:38:32
在很多企业的 IT 业务系统中,经常会有大量的业务规则配置,而且随着企业管理者的决策变化,这些业务规则也会随之发生更改。 为了适应这样的需求,我们的IT业务系统应该能快速且低成本地更新,一般的做法是将业务规则的配置单独拿出来,使之与业务系统保持低耦合。 目前,实现这种功能的程序,已经被开发成为规则引擎。 为什么选择规则引擎 规则引擎是一种嵌套在应用程序中的组件,它实现了将业务规则从应用程序代码中分离出来,使复杂的业务规则实现变得简单,也可以动态修改业务规则,从而快速的响应需求变更。 规则引擎的优点 简化系统架构,优化应用 让复杂的业务逻辑可视化,提高系统的可维护性和维护成本 方便系统的整合 减少业务规则用“硬编码”实现的成本和风险 大大提高组件的可复用性 规则引擎的使用场景 规则引擎虽然非常强大,但并非所有场景都适用。一般来说,规则引擎适用的项目都具有以下一个或多个特征: 需要定义一个非常复杂的场景,甚至对于业务专家都很难完全定义 没有已知的或定义明确的算法解决方案 有挥发性的要求和需要经常更新 需要快速做出决定,通常是基于部分数据 规则设计器和规则引擎解耦的价值 Nebulogy BPM PaaS ,基于微服务架构对BPM平台类应用进行充分解耦,将BPM全生命周期的管理落地、流程应用开发&运维的最佳实践,以一组通用组件服务的方式呈现给用户,以便能够更快更好更简单地搭建业务流程。

张祎韡/BlockPi

帅比萌擦擦* 提交于 2020-05-07 13:22:00
BlockPi 一个专门为 树莓派 设计的图形化编程平台,基于 Google Blockly 构建,适用于树莓派爱好者或者少儿编程学习。 A visual programming editor app for Raspberry Pi , built on Google Blockly , made for RPi users or kids to learn coding. 特点/Features 完整的Blockly移植到树莓派上,完全免费使用。Full Blockly features on RPi, free to use. 集成树莓派GPIO控制,支持 Sense HAT ,未来支持更多树莓派外设和功能。Build-in GPIO control and Sense HAT support, and more functions in the future. 程序可直接在应用内运行,同时可转化成Python代码,方便学习Python。Code runs in the app, and can be convert to Python. Helpful to learn Python. 支持繁简体中文、英语。Localization for English, Simplified/Traditional Chinese. 支持保存、载入程序。Support save

blockly-网格

白昼怎懂夜的黑 提交于 2020-01-27 06:52:51
网格 Blockly的主工作区可以选择有一个网格。可以使块捕捉到网格,从而实现更清晰的布局。这在具有分布在大区域上的多个代码组的大型应用程序中特别有用。 网格的设置是由Blockly配置的一部分对象定义的。下面是一个例子: var workspace = Blockly.inject('blocklyDiv', {toolbox: document.getElementById('toolbox'), grid: {spacing: 20, length: 3, colour: '#ccc', snap: true}, trashcan: true}); 间距 最重要的栅格特性是定义栅格点之间距离的间距。默认值为0,这将导致没有网格。以下是间距设置为10、20和40的示例: 长度 length属性是定义网格点形状的数字。长度为0将生成不可见的网格(但仍然是可以捕捉到的网格),长度为1(默认值)将生成点,长度越长将生成十字,长度等于或大于图纸中间距的结果。以下是长度设置为1、5和20的示例: 颜色 颜色属性是设置点颜色的字符串。注意英国的拼写。使用任何与CSS兼容的格式,包括#f00、#ff0000或rgb(255、0、0)。默认值为#888。以下是设置为“000”、“ccc”和“f00”的颜色示例: 捕捉 snap属性是一个布尔值

How do we import Blockly into an Angular 7 application?

一世执手 提交于 2020-01-14 18:57:23
问题 I'm trying to use Blockly in an Angular 7 application but I'm unable to inject the Blockly editor. I have downloaded the files from https://developers.google.com/blockly/guides/get-started/web and copied blockly_compressed.js into my src directory (and renamed it blockly.js). I then try to access Blockly from my component and get errors. What I have tried: import "../blockly.js" Does not compile, gives "error TS2304: Cannot find name 'Blockly'." import { Blockly } from '../blockly' Compiles,

How do we import Blockly into an Angular 7 application?

女生的网名这么多〃 提交于 2020-01-14 18:55:25
问题 I'm trying to use Blockly in an Angular 7 application but I'm unable to inject the Blockly editor. I have downloaded the files from https://developers.google.com/blockly/guides/get-started/web and copied blockly_compressed.js into my src directory (and renamed it blockly.js). I then try to access Blockly from my component and get errors. What I have tried: import "../blockly.js" Does not compile, gives "error TS2304: Cannot find name 'Blockly'." import { Blockly } from '../blockly' Compiles,

Blockly开发2 ------创建工作空间workspace

别来无恙 提交于 2020-01-09 00:55:36
. 什么是Blockly的workspace workspace是Blockly中非常重要的对象,它是其他组件运行的基础,所有其他Blockly的组件都必须在workspace中才能工作。以下图为例,图中蓝框以内的范围都是workspace,左侧的ToolBox(下一节的内容)、中间的积木块组合(blocks)、右下方的垃圾桶和滑动条都是workspace的子对象。通常来说,一个应用只需要创建一个workspace就足够。如果想要使用多个workspace,需要解决一些命名空间冲突的问题,本攻略不包括这部分内容。 workspace 2. 创建一个workspace a. 从github上下载Blockly并解压,然后将blockly-master文件夹拷贝到一个新的工作空间下,改名为blockly(方便后续开发)。blockly文件夹中包含了Blockly的源码、示例代码、编译程序以及编译后的代码。如果你的应用对包体大小很敏感,应当进行适当的裁剪。 blockly项目源码 在同一个目录下新建一个文件,并将名字改为 index1.html(任何xxxx.html都可以,名字不重要,后文简称index1)。 index1 b. 接下来打开并编辑index1,输入下面的代码。 <!DOCTYPE html> <html> <head> <title>我的第一个Blockly应用<

Blockly开发3 -- 创建工具栏ToolBox

半腔热情 提交于 2020-01-08 20:51:16
1. 创建ToolBox 要创建一个ToolBox非常简单,只需要在定义workspace的时候进行设置即可。 var workspace = Blockly.inject(blocklyDiv, { media: 'blockly/media/', toolbox: document.getElementById('toolbox'), // 定义ToolBox }); 但在此之前,需要先定义ToolBox。ToolBox由 <xml></xml> 标签定义。下面的代码展示了如何定义一个toolbox,其中 id 属性用于查找该xml元素。 // 定义toolbox <xml id="toolbox" style="display: none;"> <block type="controls_if"></block> </xml> 2. 嵌套目录 <category> 标签可以进行嵌套实现多级目录。 <xml id="toolbox" style="display: none;"> <category name="一级目录1"> <block type="controls_if"></block> </category> <category name="一级目录2"> <category name="二级目录1"> <block type="controls_if"><

Want to avoid eval in JavaScript -

百般思念 提交于 2019-12-22 06:52:02
问题 I am converting a string into a Google Blockly block, using JavaScript The input string is something like "Hello %s World" - where %s defines a string input. I need to turn that into: Blockly.Blocks['blockname'] = { init: function() { this.appendDummyInput() .appendField("Hello ") .appendField(new Blockly.FieldTextInput("input1"), "") .appendField(" World"); } }; But I'm not sure how to achieve this without using eval(), and as the input string is from the user, I understand that using eval()

Use Blockly inside a WPF WebBrowser

青春壹個敷衍的年華 提交于 2019-12-21 08:48:42
问题 Is it possible to use the Blockly google javascript libraries inside a WPF WebBrowser? In particular, Blockly needs several js scripts. How can we reference the js libraries? 回答1: Short Answer You can use all blocky features including UI tools and API functions from WPF WebBrowser control. To do so you should: Create an HTML content which contains script tags referencing Blocky js , or methods which you want to call from C#, and required HTML and XML contents based on your requirement (for