我被要求将遗留数据处理应用程序移植到
Java上.
该系统的当前版本由(写得不好的)Excel表格的nubmer组成.工作表实现了一个大循环:轮询了许多数据源.这些源是CSV和基于XML的Web服务的混合.
这个过程在概念上很简单:
它是无状态的,这意味着运行的计算完全取决于输入.公布计算结果(目前通过在网络上的某些标准位置写入大量CSV文件).
发布结果后,轮询周期再次开始.
这个过程不需要管理员GUI,但是如果我可以实现某种基于Web的控制面板那么它会很简洁.对于内部使用来说,这将是非常漂亮和纯粹的.控制面板只会执行有关源源的调度统计信息,并且可能会在出现问题时强制刷新输入源.该组件在第一轮交付中纯粹是可选的.
该系统的一个关键特性是容错.一些输入源是众所周知的错误.我希望我的系统能够在某些输入被破坏的情况下恢复.在这种情况下,将无法更新输出 – 我希望在系统解析之前继续轮询,可能会生成一些XMPP消息来指示系统的状态.总体而言,该系统应该在没有长时间干预的情况下工作.
用户当前有一个自定义客户端,用于轮询CSV文件(希望)不需要重写.如果我能够正确地完成这项工作,那么他们就不会注意到运行该系统的引擎已经重新实现.
我不是java devloper(我主要做Python),但JVM是这种情况下的要求.经理给了我大量的学习时间.
我想知道的是如何开始构建这种项目.我想利用框架和&好的模式可能.是否有任何重要的构建块可以帮助我获得更好的质量系统运行速度?
UPDATE0:还没有人提到Spring – 这个框架在这种应用程序中是否可以发挥作用?
解决方法
您可以使用许多大型复杂框架来“帮助”执行此操作.学习这些可以是简历.
在您的情况下,我建议您尝试使系统尽可能简单.它会表现更好,更容易维护(它也更有可能工作)
所以我会考虑每个要求并问自己;我能做到这么简单吗?这不是懒惰(你必须更加努力),但良好的做法恕我直言.