Architecture 新公司的企业服务/数据总线&x27;中国的基础设施?

Architecture 新公司的企业服务/数据总线&x27;中国的基础设施?,architecture,Architecture,我正在为一项新业务设计一个系统,我处于一个独特的“全权委托”地位 像每一项业务一样,它计划持续很长时间,并发展到一个不确定的规模 值得全力以赴开发一个完整的企业架构,其中包含明确的数据和服务总线,其中每一层都是某种Web服务。。。或者,我应该设计一个可能工作的最小系统,并计划随着时间的推移有机地发展它 根据我的经验,有机种植™ 在我看来,系统是最糟糕的继承方式,所以我想知道社区是怎么想的 我们是否正处于这样一个阶段:即使业务规模很小,但在没有这些层面的情况下开发业务是一种糟糕的做法 谢谢有机增长

我正在为一项新业务设计一个系统,我处于一个独特的“全权委托”地位

像每一项业务一样,它计划持续很长时间,并发展到一个不确定的规模

值得全力以赴开发一个完整的企业架构,其中包含明确的数据和服务总线,其中每一层都是某种Web服务。。。或者,我应该设计一个可能工作的最小系统,并计划随着时间的推移有机地发展它

根据我的经验,有机种植™ 在我看来,系统是最糟糕的继承方式,所以我想知道社区是怎么想的

我们是否正处于这样一个阶段:即使业务规模很小,但在没有这些层面的情况下开发业务是一种糟糕的做法


谢谢

有机增长本身并不坏。只有当它做得不好时才是糟糕的。不过,我已经说过,我将展望未来3到5年,对公司的计算需求做出最佳估计,并据此进行设计。试着从管理团队那里获得诚实和现实的信息,作为你的评估依据。

在不知道项目细节的情况下,作为一般经验法则,我会选择最小/最简单的可行解决方案。如果他们希望在很长一段时间内实现增长,那么他们应该期望他们的IT解决方案能够与他们一起增长

这是不幸的,但似乎大多数软件需要几次尝试才能使其正确,即使这样,将发生的自然变化也很难处理

因此,除非你能非常清楚地说明为什么在未来可能发生的事情上投入一定的精力是好的,否则我会保持简单

至于继承有机种植的™ 系统我认为这只是一种糟糕的情况,如果利益相关者没有意识到你从一开始就做了一些简单的事情,一旦需求发生变化就可能被扔掉(但体验不会!!!!),那么这可能是噩梦,因为你不能做正确的事情。但是,如果每个人从一开始就意识到这个想法是什么,并且他们应该期待IT解决方案的变化以及业务的变化/增长,那么在我看来,应该没有什么大问题


总结一下,做最简单的事情,确保利益相关者明白这不是一次性的事情。

做最简单的解决方案。如果您现在创建一个“完整的解决方案”,很可能会错过一些重要的需求,或者浪费时间和金钱添加不必要的功能。也就是说,设计您的解决方案,以便可以相当容易地修改各个部分

作为一个实际示例,如果您在.NET中编码,请为每个“服务”创建一个接口和默认实现。尽可能针对接口编程。稍后,如果您需要中断服务,您将能够轻松地插入实现您的接口的WCF客户端。控制反转也可能对您有所帮助