生命周期管理

概述

活字格对软件开发整个生命周期管理的支持和实用 DevOps 功能是我们客户成功的基石,也是大型软件公司或者企业在成长过程中保持活力的关键因素。

活字格囊括整个应用程序生命周期,如下所示:

  • 部署:单击发布按钮后,用户界面、数据库、工作流和权限等等所有项目信息,都会根据依赖性分析引擎,分析对比后完成部署,以此可确保所发布应用的健康状态。
  • 操作和分析:自动监控所有应用,并提供易于使用的日志仪表板,以指导团队最关键的问题。同时提供错误分析功能,可以快速定位问题所在,并排除故障。
  • 管理:运行应用程序的配置和用户身份管理也可由活字格帮你处理。

此组合简化了复杂应用程序部署到生产环境的难度,无需脚本或手动任务。它使企业或者软件公司能够快速稳定地部署应用,最终促进业务之间的生产合作。本章节,我们将重点关注部署和配置等开发之外的环节。

 

如何处理部署?

使用活字格将复杂的应用程序部署到生产环境很简单,不需要特别的专业技能。它提供完整的依赖性分析、无停机时间等功能,还可以通过管理服务器的角色、权限和安全策略来提供治理和职责分离。

跨服务器的应用程序零停机部署

在正常情况下,部署新版本的应用程序是一个风险很大的工作。如果数据模型更改与在前端服务器上运行的Web应用程序逻辑不同步,应用程序用户可能会遇到运行时错误或更糟的情况。活字格可以在零停机时间的环境中部署新版本的应用程序。

数据模型更改是部署中断和相关停机的主要罪魁祸首之一。为了消除与数据模型更改相关的风险,活字格部署过程进行了微调,在部署时可以自行对比数据模型发生的改变,手动处理后,进行半覆盖发布,以消除应用程序逻辑更新和数据模型更新之间的差异。

用户管理和服务器控制

活字格设计器和服务器均具有自己独立的用户管理,发布应用时,开发者可以手动选择将设计器用户发布到服务端,也可以手动备份还原。

同时,活字格服务器的应用程序中,支持修改权限、定时任务以及外联数据库的连接等等。

通过这些方面的控制,可以很好地隔离应用程序的开发环境和正式环境。

版本控制

活字格支持一台服务器发布多个应用,不同的应用可以通过不同的链接(带版本号)进行访问。

 

活字格应用程序的配置管理

活字格支持各种运行时配置,例如邮件服务器配置、账号安全、备份设置、AD域用户同步设置、HTTPS证书配置、存储路径配置、安全配置、用户信息数据库配置、负载均衡配置和应用管理等配置。 活字格管理控制台是集中管理工具,可保证在一处设置即可完成所有相关功能的变更。

邮件服务器配置

配置邮件服务器后,您可以发送邮件重置密码,或订阅数据库数据更新的邮件。

在活字格设计器与管理控制台均可以配置邮件服务器。

账号安全

在活字格中,创建用户时设置的密码至少包含六个字符,必须是字母、数字或符号。

创建用户时默认的密码比较简单,可能会被猜到或破解,造成安全隐患。为了避免这一隐患,您可以自行设置密码策略,让用户使用更复杂、更安全的密码。

备份设置

活字格服务端支持自动备份,设置自动备份后,会将所有的应用及用户信息进行备份。

AD域用户同步设置

Windows域身份验证是一种方便的身份验证方法,活字格支持从Windows域中同步用户。

HTTPS证书配置

活字格支持发布HTTPS应用。如果您需要将应用发布为HTTPS应用,或者设置管理控制台为HTTPS网站时,需要提前设置HTTPS,为指定端口绑定证书。HTTPS需要获得一个由专业认证机构分发的服务器证书。

活字格只支持pfx/p12证书。如果您的证书为其他类型,需要将其转换为pfx/p12证书。

存储路径配置

在活字格的管理控制台,您可以设置各种文件的存储路径,包括应用文件、审计日志、上传文件和并发用户日志。

安全配置

活字格支持安全设置,包括设置所有应用和管理控制台站点。在活字格的管理控制台,可以控制应用和服务器的访问白名单以及iframe跨域策略;同时支持两步验证,来增强认证的安全性。

用户信息数据库配置

活字格默认使用内置的SQLite数据库存储用户信息,支持设置支持MySQL和SQLServer作为用户信息数据库来存储用户信息。

负载均衡配置

活字格支持负载均衡。开启负载均衡后,可提高活字格处理高并发的能力。

如果要使用负载均衡功能,您必须提前注册用户许可为固定用户或无限并发用户。

应用管理

定时任务:活字格中的定时任务,属性可以被编辑、激活和停用;可以为计时器设置特定的时间表运行,甚至触发计时器立即运行;日志记录也可用于可追溯性和故障排除。

外联数据库连接:活字格可与现有数据库集成,因此开发人员不必担心数据迁移。这些数据库连接在管理控制台可以集中管理。

权限控制:支持在运行中的应用程序中修改页面和单元格权限,灵活应对各种业务。

 

管理用户和权限组

活字格的用户管理,包括用户管理和角色,是按照“基于角色的权限控制”(RBAC)原则进行设计的,在后面的章节中我们会进行详细介绍其用户认证和权限设置部分。这里我们重点介绍活字格的用户登录和管理方式。

首先,活字格内置了用户管理功能,系统管理员或最终用户可以在服务管理控制台上进行用户的创建、禁用、重置密码等管理操作,也能够进行组的管理和将用户编入组的操作。为了灵活性和开放性,您也可以通过用户管理API(服务端命令和编程接口)进一步扩展内置功能,比如为最终用户开发一套全新的用户和组管理界面,以满足特定的管理需求和使用习惯。

活字格如何支持测试和质量保证?

质量保证内置于活字格中,以确保快速和零错误的部署。开发人员可以更改应用程序数据模型、API和架构,所有依赖项都将自动更新,从而消除手动更新时可能产生的错误。

活字格编译检查功能展示图

(活字格的编译检查)

无论多少应用程序被修改,活字格都会充当守门人,通过影响分析和自我修复、与测试工具的集成和应用程序反馈来保证零错误部署,以实现持续交付。

引用分析和测试

活字格可以通过引用分析查询全局依赖关系并精确定位,如果被引用的单元格发生改变,关联的内容也会自动变更,以保证整个系统的稳定性。

由于可视化使用大量组件和封装好的接口进行开发,这些组件已经过严格的测试,应用程序的质量远高于使用传统开发方法构建的应用程序质量。因此,测试应用程序的需求不是很大。

很多功能可直接在活字格产品中测试并查看测试结果,进一步提升开发速度。

活字格服务端命令调试功能展示

(活字格的服务端命令(Web API)调试结果)

服务端命令日志

虽说在活字格中,测试应用程序的需求并不大,但是测试是任何软件项目的基本组成部分,并且永远不会被完全消除。我们的方法是保持活字格的开放性,通过服务端命令的日志,我们可以模拟代码开发的Debug模式,去进行断点调试。通过这种方式,测试被集成到持续交付周期中,因此不会降低生产力。

服务端命令日志示例如下图:

活字格服务端命令执行日志展示

(服务端命令的执行日志)

全局检索

为了减少更改应用程序所需的时间,活字格还提供了通过查找替换功能检索全局信息,包括单元格值、类型、公式、命令、权限、数据验证等等。

活字格设计器查找替换功能展示

(活字格设计器的查找与替换)

 

活字格如何实现团队协作?

使用活字格开发的应用程序由模块组成,这使得团队协作变得容易,即使对于拥有大量开发人员的软件公司也是如此。在模块化系统中,多个开发人员可以在同一个应用程序上工作,由于它是由模块组成的,他们很有可能在单独的模块中工作;但是,如果有必要,团队成员可以在同一个模块中进行协作。

活字格中的协作开发也是如此,将一个大的工程分成多个部分,每个人负责一部分,多个人互相配合,同时进行应用的开发,齐心协力,共同完成应用的创建。通过协作把个人的力量联结成集体的力量,以实现更高效地完成应用创建的目的。

活字格的协作开发需要您准备好协作服务器,也就是Git服务器,将工程托管到服务器。

Git是一个开源的分布式版本控制系统,用以有效、高速地处理从很小到非常大的项目版本管理。它是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件,是非常著名的分布式版本控制系统。您可以在企业内部部署Git服务器,也可以使用云上的Git服务器。

为了使大型组织中的多个团队能够协作并显著减少开发周期的冲突,活字格使不同的开发人员能够同时在不同的模块中工作。

模块隔离

为了防止多人同时编辑同一个模块或页面而造成冲突,签入和签出可以最大程度地降低一个人无意间删除其他人对模块或页面所做更改的风险。活字格支持签出工程文件所包含的所有功能模块,如表、页面、服务端命令、类库、主题等等。

活字格模块管理界面展示

(活字格的模块管理界面)

版本管理

在活字格中协作开发,每个用户都会编辑工程,将变更提交到服务器。活字格会记下每一次的提交历史,可以在历史中针对每一个版本查看版本变更的明细,同时支持版本的回滚和另存。

活字格版本管理界面

(活字格的版本管理界面)

分支

在实际的软件开发工程中,如果软件系统作为产品交付给不同的客户群体,每个客户都有自己的个性化需求,这时如何给其他有需要的客户方便快捷地添加新功能就对您至关重要。协同的分支功能可以灵活地解决这个问题,你只需要在软件产品主干上添加新功能,在有该功能需求的客户版本上进行合并即可,大大节省了复制开发测试的成本。