Architecture ERP系统的设计

Architecture ERP系统的设计,architecture,software-design,erp,Architecture,Software Design,Erp,我提供一个ERP系统的顶级技术设计。我已经提出了一个草案,但需要帮助来决定我是否走上了正确的道路 我正在学习初级课程,所以我将注意力集中在人力资源模块上,因为我们都熟悉它 人力资源模块主要包括工资单、休假、考核、员工福利。所有人力资源模块在夜间以批处理方式运行 我想制作ERP平台,所以决定了Python/C++(WxPython/WxWiDeSt到我的脑海,或者我可以使用普通Python/C++)< /P> 我不确定中间件是什么,如果有人能帮我,那就太好了。如果你能提供我的优点/缺点的中间件,这

我提供一个ERP系统的顶级技术设计。我已经提出了一个草案,但需要帮助来决定我是否走上了正确的道路

我正在学习初级课程,所以我将注意力集中在人力资源模块上,因为我们都熟悉它

人力资源模块主要包括工资单、休假、考核、员工福利。所有人力资源模块在夜间以批处理方式运行

我想制作ERP平台,所以决定了Python/C++(WxPython/WxWiDeSt到我的脑海,或者我可以使用普通Python/C++)< /P> 我不确定中间件是什么,如果有人能帮我,那就太好了。如果你能提供我的优点/缺点的中间件,这将是优秀的,否则请提及的名称的中间件,我会看看其余的

<>我有C,C++,C语言的SKILL,所以我对C++有点偏颇,但是你的观点很重要。
   User Interface ( have not decided yet )
        |
        |
    Web Service ( my suggestion is Python.  )
        |
        |
   Business Logic ( my suggestion is C++ )
        | 
        |
   Middleware   ( need a message queue here, not sure what should it be, an open source middleware )
        |
        |
   Database Broker ( my suggestion is C++ )
        |
        |
   Data Base
请随时提供您对上述设计的意见

示例

约翰是一家拥有10000名员工的组织的员工。约翰的工资总额为1000美元

让我们暂时忘记ERP的内容,并考虑以下设计:-

  • 人力资源部在UI中输入约翰1000的工资

  • 数据通过Web服务传递到业务层(我认为Python应该是一个不错的选择)

  • 业务层负责扣除;不仅是约翰,而且对于在组织工作的10000名员工(C++可能是首选语言)。
  • 扣除后,将净工资传递到队列(不确定中间件,请建议)

  • 工资单流程在每个月末运行,从消息队列中获取数据并更新数据库

    比方说,在执行该流程时,出现了断电,因此该流程没有完全运行,并且一些员工的工资详细信息没有更新。在这种情况下,消息队列应该保留未处理的数据,在下一个工资单流程运行之前,应该首先处理未处理的数据

  • 数据库存储数据。(尚未决定数据库)

  • 该领域的专业知识是存在的,所以我正在寻找关于改善建筑设计的建议


    欢迎您说“不,这不是正确的方法,您应该像XYZ那样做”。有一个为什么你的方法更好。这将有助于我比较您的方法和我的方法。

    首先,您必须确定需要哪些响应时间以及需要处理的数据量。然后你必须找出你的团队中存在哪些技能。 使用C++的好处是,当你期望性能问题时,但是编程C++比java更昂贵(需要更多的时间,更多的bug)。除了你有C++大师和java技巧。 我个人:我用Spring(Spring安全、Spring Web服务、DI等)、Hibernate作为数据库抽象和ZK(www.zkoss.org)作为用户界面技术(这真是太棒了,不用担心Javascript…)制作了我的上一个应用程序(电子健康记录)。这比C++/Python堆栈更易于编程。对于我的团队:-)


    那么,为什么不改用Java呢?这里有大量的开放源码、消息队列和您需要的一切…

    首先,您必须确定需要哪些响应时间以及需要处理多少数据。然后你必须找出你的团队中存在哪些技能。 使用C++的好处是,当你期望性能问题时,但是编程C++比java更昂贵(需要更多的时间,更多的bug)。除了你有C++大师和java技巧。 我个人:我用Spring(Spring安全、Spring Web服务、DI等)、Hibernate作为数据库抽象和ZK(www.zkoss.org)作为用户界面技术(这真是太棒了,不用担心Javascript…)制作了我的上一个应用程序(电子健康记录)。这比C++/Python堆栈更易于编程。对于我的团队:-)


    那么,为什么不改用Java呢?这里有大量的开放源码、消息队列和您需要的一切…

    我同意JonAlb的观点,它听起来确实像是所有项目的母亲。你有没有考虑过开源的实现

    他们中很多人使用Python,一个是使用C++(我惊讶地发现一个):

    ERP系统是企业中最复杂的概念之一(故障程度相当高)。请看一下定义:

    企业资源规划(ERP)系统集成了内部和外部资源 整个组织的外部管理信息, 包括财务/会计、制造、销售和服务, 客户关系管理等。ERP系统将此自动化 具有集成软件应用程序的活动。它的目的是 促进所有业务职能部门之间的信息流动 在组织的边界内并管理连接 对外部利益相关者

    请帮个忙,不要从头开始


    PS:如果你的公司正在建设ERP,以便与Oracle、Microsoft、PeopleSoft、SalesForce等进行正面竞争,那么你必须做你必须做的事情。我现在不会担心技术堆栈。首先从业务角度了解ERP试图解决的问题。

    我同意JonAlb的观点,它听起来确实像是所有项目之母。你有没有考虑过开源的实现

    他们中很多人使用Python,一个是使用C++(我惊讶地发现一个):

    ERP系统是企业中最复杂的概念之一(故障程度相当高)。请看一下定义:

    企业资源规划(ERP)系统集成了内部和外部资源 整个组织的外部管理信息, 拥抱