题
我需要一个解决方案来对我们公司的多个应用程序进行编目(100 多个不到 1000 个)。
现在我们使用电子表格,为每个应用程序填写名称、简短描述、联系人和维护人员(内部或供应商)。目的是使用此列表进行 IT 规划和事件管理(影响评估等)。为了做到这一点,我们至少需要开始添加“取决于”、“部分”或“取代”等关系。如果未来的解决方案允许为每个条目添加标记、添加索引键值对、注释和附件,这也会很有用。
我们不想发现应用程序的所有已部署实例、管理配置设置、集成具有复杂安全设置的监控并隐藏在元元架构中。任何需要专门管理员的事情都已经太繁重了。
我们有以下非功能性需求:
- 应该允许多个用户同时工作
- 每个更改都应该进行版本控制
- 轻松导出为 XML 或其他易于解析的格式
到目前为止,我们已经考虑了以下几点:
- 将电子表格放在 Confluence wiki 上,我们可以通过 WebDav 对其进行编辑(并获得锁定和版本控制)
- 使用 Confluence wiki,因为它提供了标记、层次结构、元数据和链接。唯一的担忧是 wiki 的形式过于自由,如果我们决定迁移到另一个系统,提取信息可能会很困难。
- DabbleDB.com - 拥有我们需要的一切,但不幸的是数据不应该离开防火墙。
- OneCMDB.org - 我不确定捕获临时信息和发展模式有多容易。将不胜感激的经历。
- Zenoss.com - 尚未检查。看起来太注重网络管理了。
- 轻量级注册表(Mule Galaxy、WSO2 注册表)- 不确定这是否是适合这项工作的工具,尽管它们提供了我们需要的许多设施(属性、标签、版本、生命周期)。
- BMC Atrium - 复杂的企业政治需要许多不必要的程序。除非它提供了一些巨大的好处,否则我们宁愿坚持使用开源。
我对那些成功经历过类似努力或具有上述某些方法经验的人的反馈/想法感兴趣。另外,我希望获得有关常见陷阱和建议的建议。
解决方案
这是为一个漂亮、简单的网络应用程序框架量身定制的。选择您最喜欢的框架。为应用程序定义简单的数据模型。迁移您的电子表格。添加您的其他关系(依赖、取代、部分)并改进您的应用程序。
任何好的网络应用程序框架都会为这个简单的数据集提供令人愉快的数据映射。
这是一个很好的技能培养者。它可以成为向组织引入新的 Web 应用程序框架的良好概念证明。
“基础设施”问题很难避免。专门构建的资产管理工具通常庞大且复杂。甚至 卡莱姆EAM 比较复杂。
由于您有很多应用程序,我猜测您已经拥有一个 Web 应用程序框架和一些使用它的技能。然而,从您的评论来看,您听起来好像没有首选的网络应用程序。框架。
这让我猜测,也许您的数百到数千个应用程序是桌面软件和网络应用程序的混合体,没有一致的易于使用的框架。
我是一个Python偏执者,所以我不熟悉你建议的任何Web框架。技术方向最重要的来源应该是构建这 100 到 1000 个应用程序的人们——他们使用什么 Web 框架?他们希望使用哪一个?如果他们要开始一个新项目(像您的项目一样),他们会使用哪一个?
你不想成为鞋匠的孩子——村里唯一赤脚的孩子。您希望使用您的组织首选的工具集来构建简单的小型资产管理应用程序(它只有 3 个表)。
好吧,对于 10% java 和 50% 供应商系统,没有“首选”Web 应用程序框架。
选择一:选择一个基于 Java 的相当完整的框架。尝试使用 Struts 和 iBatis 作为起点。构建最小的表,从 POJO 到表的最小 iBatis 映射。定义最小的默认表单——一个列表,每个表一个详细信息。为最小表格集上的最小表单集创建最小管理前端。将电子表格中的最小加载程序写入表中。
然后删除电子表格,再也不会回头。
选择2:学习Python。使用姜戈。您定义最小模型并使用 Django 管理界面。大约 20 分钟你就差不多完成了。严重地。然后将电子表格中的最小加载程序写入表中。这是一个很难推销的事情,所以不要推销它,直接做就可以了。
无论哪种方式,删除电子表格并永远不要回头。
现在,一切都必须通过基于网络的数据库来完成。没有理由。添加 全部 向该接口报告。不允许下载到电子表格。使应用程序易于添加、更改和修改。
一旦你能处理好混乱,你就可以寻求宽恕。
你永远无法证明这一点是合理的——你无法证明组织起来有任何投资回报率。
其他提示
听起来您需要一个资产数据库。你可以找到很多市售的,但那有什么乐趣呢?如果您使用 MS Access 2007,它们有一个 用于构建资产数据库的模板 您可以免费下载。