信息技术在ERP中的作用是巨大的。我们在此先给出ERP的技术清单,之后我们将基于该列表展开全面的讨论。

数据库

  • PostgreSQL

  • MSSQL

  • ORACLE SQL

编程技术

  • .NET和ASP.NET

  • Java

  • Ruby

  • Python

  • PHP

前端技术

  • JavaScript

  • AngualJS

  • React

  • Vue.JS

ERP系统的简单结构

在开始讨论ERP各项技术之前,我们首先需要了解一下ERP系统的典型结构。在现实生活中,一般企业的资源规划方案(resource planning solutions)包括:多个相互连接的应用程序、数据库、模块、和API等。而任何一种应用程序,都可以被视为由数据库、后端服务器、和前端(或称为用户界面)所组成:

数据库 – 各种与资产相关的数据(如,仓库里各种产品的数量)被存储于此。

后端 - 根据用户的需求,在系统中执行各种操作的“引擎”。例如,向数据库发出请求,以罗列出特定仓库内的产品和商品,然后将其呈现给用户。

前端 - 是用户用来与后端通信的图形界面,它能产生请求,并显示所接收到的信息。

这是从软件架构的角度,对ERP组件的概括性解释。在本文中,我们将使用上述分类作为ERP系统技术的构建标准,以讨论它们作为一整套商业智能软件,在企业中所起到的作用和展现的价值。

ERP的类型

1.C/S型与桌面型ERP

C/S(客户端/服务器)型ERP技术工作在一些hub主机上,它既能连接本地,又可以连接到云服务器上。此类ERP技术将数据库托管在某一中央位置,并且将其报告服务通过用户的接口分发到所有其他的位置上。C/S型ERP技术能够帮助企业对各种资源进行实时监控和管理。

而桌面型ERP,则是将其前端和后端作为应用程序运行在用户的主机上。它的数据是通过企业内网(如,本地服务器)的数据库、或企业外网(如Azure之类的云端数据库)共享的。可见,桌面型ERP方便了身处各地的团队成员,能够实现快速的协作和便利的访问。

2.云端型/基于Web型ERP

云端型/基于Web型ERP的数据库与后端都运行在云端,通常情况下,可以是一款SaaS产品。由于其界面是通过Web浏览器呈现的,因此用户能够在任何设备上通过Web浏览器访问到。

您可以轻松地通过各种应用,访问到托管服务器上的磁盘存储空间、内存和CPU等资源。就基于Web的ERP技术而言,由于其前期成本较低,企业能够保持在较长的一段时间内不需要额外软/硬件安装,因此,用户能够立竿见影地从基于云端的ERP技术上获利。

3.混合型ERP

混合型ERP是结合了基于Web和基于桌面端的ERP方案。因此,它既可以作为桌面应用程序被启动,也可以通过浏览器被访问到。由于它们拥有统一的共享数据库,因此用户无论是通过浏览器,还是桌面应用,都能访问到相同的数据。另外,其相应的后端有运行在服务器上的Web应用和用户主机上的桌面应用两种。而个人用户不论是通过浏览器、还是使用桌面应用程序向数据库发出请求,这两种后端模式都能够以相同的方式向云端数据库转发请求。

在实际应用中,企业更趋向于使用混合型ERP,而非单纯的云端型/基于Web型ERP,来实现快速实施、缩短维护周期和独立于任何服务商。当然,混合型ERP的缺点在于:它的安装一般是构建在对于最新技术架构进行了一定投入的基础上。因此,它没有基于云端型的ERP那么成熟,且无法进行全面的测试。

购置或托管硬件基础设施

众所周知,一个功能强大且稳定的基础设施,对于企业系统的健康性和持久性是至关重要的。我们在谨慎地甄选ERP技术的同时,也要考虑到硬件基础设施对于系统整体性能的影响。

如今,云计算已经能够让各个企业和它们的员工,随时随地通过互联网登录自己的系统中。对于那些不愿单纯依靠云端服务的公司而言,他们可以采用混合的方式,即:在企业内部保留部分ERP功能的基础上,将其他操作服务放置到托管主机里。

下面我们将和您一起讨论内部服务器和云端服务器各自的优、缺点:

内部服务器

优点

它能够让您完全掌控自己的备份。

由于存储在内部,第三方实体原则上无法访问到贵司的关键数据。

就算失去了外网连接,您仍可保证自己运营能够持续下去。

就成本效益而言,它是中、小型企业可以接受的方案。

缺点

其基础设施和硬件都会牵扯到巨额的安装成本。

您需要配备有高手在内的专业IT团队。同时,它会占用您办公室(或称服务器机房)的一部分空间。

由于处于企业内部,它更容易发现任何的数据丢失。

在灾难事故发生时,您可能无法保证恢复时间(RTO)。

云端服务器

优点

对于那些有着大量存储空间需求的小公司来说,更具吸引力。

您可以随时按需扩充现有的解决方案。例如,您可以随时购买更多的存储空间。

云端服务器能够为您提供更好的安全性。

您可以通过一键点击,来实现数据备份。您甚至可以轻松地通过智能手机、平板电脑、或一体机来完成。

您能够以更短的时间间隔(如,每15分钟)备份自己的数据。因此,针对一些特殊的紧急情况,它能够实现最小化的数据丢失率(RPO)。

缺点

一旦数据产生丢失,其恢复成本可能会超过数据本身的价值。

由于可能涉及到高昂的成本、和有限的可用存储空间等因素,用户对其数据的恢复能力可能会受到一定的限度。

为了避免数据丢失,而对大量的数据采用全量恢复时,您需要付出一定的时间和昂贵的成本。

重度依赖于互联网。一旦访问方、或被访问方失去了网络连接,用户则会在一段时间内无法访问到自己的数据。

ERP技术

1.数据库系统和数据库管理系统(DBMS)

在各类开发人员的心中,一般都有一张根据自己的经验所总结出的,能够较好地支持ERP技术的数据库列表。而DBMS则能够根据用户的查询请求,在其对应的数据库上检索数据。下面我们来看看不同的数据库及其管理系统。

PostgreSQL

PostgreSQL是一款功能强大的数据库。凭借着它所提供的server management studio和 server profiler等工具,您能够得心应手地开展各种数据排障工作。可以说,它是目前最先进的开源式数据库技术之一。因此,如果您的开发团队已经决定为ERP项目选择开源技术,那么PostgreSQL就是最好的选择。

在开源属性的背后,它拥有广泛的知识共享机制和庞大的生态支持社区,因此它在使用中很容易与其他系统相集成。此外,PostgreSQL包含了多样性的索引技术、具有全文检索的能力、以及弹性的搜索功能,这些对于ERP系统的用户来说都是非常必要的。

MSSQL

微软的SQL(即MSSQL)是当前普遍流行的ERP数据库之一。它的主要功能包括:根据应用程序的请求,存储并检索数据。MSSQL可以帮助您优化服务器的性能,进而确保系统的可用性和可恢复性。简易的安装、增强的性能、以及更好的安全特性都使之成为了开发者的心仪之选。

Oracle SQL

Oracle SQL的主要目标是:能够以敏捷的速度按需提生成、保存、和获取数据。作为一种新颖且复杂的ERP技术,这种关系型数据库提高了系统的整体生产效率。该SQL具有一定的自治和自愈能力,因此更适合于数据库系统的排障。

如今,无论是用到了关系型数据服务的云端,还是非关系数据库服务都有用到Oracle SQL。另外,Oracle SQL能够通过自动化备份,消除了各项手动任务,从而使用户也能轻松地访问到各类数据。

2.后端编程技术

能够提供ERP技术的后端编程语言真是不胜枚举。下面我们仅列出最为常用的五种。最终如何进行选择,还是取决于您系统的长期目标。

.NET

.NET和ASP.NET是开发者公认的ERP热门编程语言。这些框架能够为用户带来更少的代码、和增强的代码质量,进而缩短了开发周期、并降低了重用的额外成本。

.NET允许用户通过网络与合作伙伴轻松地实现应用整合,其中包括:价值链管理、产品应用、记账管理和服务应用等方面。由于使用了标准的互联网协议来进行通信,因此.NET基本上适用于各大主流的Web服务。另外,它提供了一整套丰富的Web与桌面开发工具,如WPF(Windows Presentation Foundation)和WinForms,它们能够在较短的时间内创建各种精良的应用接口。

Java

与.NET类似,Java可以被同时运用在桌面型和Web型的ERP系统中。不过,相应的桌面版前端应用需要被构建在SWING之上。而对于Web型ERP而言,由于它们可连接到相同的Java后端,因此各种Web开发框架,为不同的浏览器和平台提供了一致性的用户体验。

此外,对于那些同时需要具有云端和桌面计算能力的系统而言,Java是一种最佳的选择。一旦您在自己的ERP中使用了Java,您就可以将此类代码复用到其他任何业务之中。Java代码不但容易被编写,而且具有出色的网络支持能力。

另外,Java的优点还包括:具有良好的移动与桌面端UI、能恰当地确保数据的安全性、以及用户可以从任何非信任的网站处下载各种资源,而不会造成数据的损坏。可见,Java的各种灵活性奠定了其高效、实用、动态和独立的语言架构。

Ruby

Ruby入选我们的ERP技术清单的原因有二:首先,由于其具备自托管(self-hosting)的功能,因此具有模块和类的扩展能力。其次,它的数据库运行迅速,非常适合于CRM(客户关系管理)等各种应用。如果您准备搭建一个基于Web而非桌面版本的ERP,并配有移动应用的话,Ruby就很适合于后端的实现。当然,由于Ruby的程序员比较难以寻觅(在就业市场上比较珍稀),而且只能靠社区提供支持,因此Ruby的代码维护稍显困难。

Python

其实在多数情况下,我们都希望ERP不论是在主体架构上、还是其核心脚本上,都能够通过开放的技术、和简单的语言来实现。以目标为导向的Python不但易读,而且易用,因此程序员们很容易去实现它。Python能够提供复杂的数据、允许定期check-in和自动垃圾收集器。可见,它能够被用来在大规模的应用中创建字节码、并在ERP模型中采用高度抽象。

PHP

单从ERP的技术角度而言,PHP与上述各种语言略有不同。如今,许多企业的应用仍是由PHP所编写,同时它也还是内容管理系统(content management systems)最常用的语言之一。虽然PHP可谓是第一项服务器端技术,但由于它在后期缺乏改进,因此PHP的普及程度不及.NET,Java和Ruby。我们并不建议任何新的、和一些特殊的ERP系统采用PHP技术。

3. ERP前端技术

近年来,随着大量的ERP前端技术的涌现,各种精良的、且具备快速响应能力的接口也层出不穷。它们主要集中在桌面版本和基于Web版本这两个领域。当然,它们也是各有利弊,我们下面来具体讨论一下。

JavaScript

我们之所以首先提到JavaScript,是因为它与HTML5、以及CSS共同构建了现代Web应用程序、和单页面应用的三大支柱。

在大多数情况下,如果您要构建一个基于云的ERP系统,以供员工通过Web浏览器或移动应用使用的话,JavaScript会是您的理想选择。如果您想让访问更为便利,则可以在服务器端采用Node.js技术。它可以通过在用户的浏览器之外运行JavaScript代码,从而将繁重负载转移到云端完成。

AngularJS

如果您有Java和C#之类的后端,需要响应那些工作在不同设备上、和不同浏览器的Web应用时,AngularJS框架就很适合您。它能够帮助程序员们加速开发进程。当查询请求被发过来后,那些被预定义的数据信息能够轻松地被检索到。另外,用户还能够根据自己的需求,通过各种动态应用程序来获取他们所需的信息。

React

React提供了丰富的功能,很适合于那些以结果为导向的企业用来进行ERP的开发。一旦您使用它开发了网站代码,那么您也可以将其轻松地运用到某个移动应用之中,从而减少了开发所涉及到的总体成本。

Vue.JS

这种渐进式的框架被企业广泛地用来开发用户界面。您可以用它来创建桌面版本的ERP,和各种功能强大的单页面应用。而对于那些现有的项目而言,您同样可以轻松地添加相应的Vue.JS代码。同时,它在代码上的灵活性,也广受各类开发人员的欢迎。

结论

数据库、开发语言、和框架的多样性使得ERP技术更具灵活性。当然,为了保证应用的流畅运行和各个节点之间的顺畅连接,我们需要事先选择好适当的开发工具。

在一些特殊情况下,我们必须在应用程序开发的准备阶段,事先明确各种具体需求,例如:将使用到的平台、用户的数量、数据库的类型、系统的可扩展性、和安全性等方面。只有通过全方位的调查研究和深思熟虑,我们才能保证企业ERP项目的成功实施。

PS:更多内容请关注360linker官方公众号,让你快速精炼涨知识涨技术!

ERP技术全接触:数据库、编程和前端技术相关推荐

  1. 【转载】10种无线技术全接触

    10种无线技术全接触(转载) 这里列举出10种重要的能够完善无线应用程序的技术 ·之一:WAP技术 ·之二:移动标示语言 ·之三:多模式标示语言 ·之四:短信传送 ·之五:SyncML ·之六:802 ...

  2. 后端薪资要比前端高吗?什么技术是公司的核心技术?前端技术算不算核心技术?

    前段时间在跟学生聊天,有同学提到了:以后的工作方向,他说:听学长学姐说后端薪资要比前端高,并且掌握公司核心技术的都是后端,但是自己想要从事前端该怎么规划发展自己的事业? 大致是这个意思记得不是很仔细了 ...

  3. jquery导入数据_Web技术——简单的数据库编程

    删删减减,修修补补,把我仅有的一点知识储备都全拿出来了...做的极度简单,并发.时序以及回滚等这种高端操作木有涉及(再次diss我自己的知识量),主要也没有专门深入研究这一块啦...好啦,不说废话了, ...

  4. 10种无线技术全接触(2)(转)

    2). 移动标示语言(Mobile Markup Languages) 建立并传送信息到移动设备上(例如Web电话,传呼和手持设备)的过程和将其建立和传送到台式电脑或其他Web应用程序的过程相似.当然 ...

  5. 百度前端技术学院html任务,重回百度前端技术学院第一天 HTML复习

    HTML 是用来描述网页的一种语言. HTML 指的是超文本标记语言 (Hyper Text Markup Language)HTML 不是一种编程语言,而是一种标记语言 (markup langua ...

  6. 解密国内BAT等大厂前端技术体系-美团点评之上篇(长文建议收藏)

    引言 进入2019年,大前端技术生态似乎进入到了一个相对稳定的环境,React在2013年发布至今已经6年时间了,Vue 1.0在2015年发布,至今也有4年时间了. 整个业界在前端框架不断迭代中,也 ...

  7. 从前端技术到体验科技

    什么是前端技术 第一次接触前端开发是 2002 年大学期间,转眼 15 年多.这些年一直在思考一个问题:究竟什么是前端技术?很长很长一段时间,前端技术的定义非常清晰,就是浏览器端的 HTML.CSS. ...

  8. 【第1164期】从前端技术到体验科技

    前言 在js当道的今日,从知乎还是微博上有看到前端要回归本质,回归用户体验.今日早读文章由@玉伯授权分享. 什么是前端技术 第一次接触前端开发是 2002 年大学期间,转眼 15 年多.这些年一直在思 ...

  9. 从前端技术到体验科技(附演讲视频)

    很抱歉在首届蚂蚁体验科技 SEE Conf 大会上,给大家讲得有点磕绊不太清楚.今天写下来行诸文字,希望一些思考能与大家进一步交流.(设计师朋友可以跳过前端技术部分,直接看后面章节) 什么是前端技术 ...

最新文章

  1. 用json来组织数据,用IGame导出模型
  2. Docker无法修改devicemapper(四)
  3. ECC椭圆曲线算法(2)初步介绍
  4. 前端框架Vue、angular、React的优点和缺点,以及应用场景
  5. html 窗口页面设置
  6. 检测到目标URL启用了 Microsoft ASP.NET 调试
  7. 两组的数据平均值合并_不要进入数据陷进
  8. 2022,这些地图可视化,够你用一整年了(附可视化素材)
  9. java浪漫代码_Elasticsearch,从一个浪漫的故事开始(原理篇)
  10. 羡慕不来!华为高价招揽人才:应届博士年薪最高201万元
  11. HTTP Keep-Alive的作用
  12. 基于PlayTennis数据集的决策树决策分析
  13. 2021ACA世界大赛中国赛区完美收官,创意设计收获百万级关注
  14. python自动图片拼接——基于Pillow和os
  15. SQL中的表连接及子查询
  16. Generalized Robust Regression for Jointly Sparse Subspace Learning
  17. Vpp源码解读--workhandoff处理
  18. 我发现智能无人机课程里面讲了无人机建模这方面的理论知识
  19. 【钉钉-场景化能力包】企业系统和钉钉工作流打通
  20. 【逗老师带你学IT】PRTG监控通过Python+Modbus RTU获取温湿度传感器数据

热门文章

  1. 关于svn 一直 clean up的问题
  2. 365 - yongqiang
  3. Linux 防火墙设置指定 IP 访问
  4. CAD中PDF怎么转DWG
  5. 视频智能分析结果存储方案
  6. rar压缩包密码怎么解开,忘记rar压缩包密码怎么找回?
  7. 由于找不到服务器或出现DNS错误
  8. 【Python】图解NumPy:常用函数的内在机制
  9. pip install安装系列之Pytorch、TorchVision、PyQt、OpenCV、gdcm包安装,Windows远程桌面Ubuntu16.04记录,Linux下安装google浏览器汇总
  10. mysql批量插入数据测试性能_mysql批量插入测试数据