Openbravo ERP介绍(一)

时间:2024-03-14 14:59:44

注:转自王良明的博客wochi.cublog.cn

 

【注意:很多朋友询问安装了OB后用Openbravo登录进去看到的菜单只是一个框架,那是由于OB的特性决定的,您必须要切换角色才能看到具体的业务菜单。切换角色的办法是:登录后点击左上角的用户名-->然后就可以更改角色了-->确认之后就可以操作业务功能菜单了】。

  在sourceforge.net网站上排名开源ERP类旁榜首,那应该是真金白银的——不光有华丽的外表,更应该有稳定的内核。经过本人的一番长时间的实验测试,果然名不虚传。本文我从以下几方面谈谈我个人的看法:
1. OpenbravoERP的发行
1.1.Openbravo ERP版本的成长
1.2.版本类型:社区版和专业版
2.系统要求
2.1.OpenbravoERP运行环境
2.2.本地化
3.OpenbravoERP概况
4.功能介绍
4.1.应用字典(AD)
4.2.通用设置(General Setup)
4.3. 主数据管理(Master Data Management)
4.4. 采购管理(Procurement Management)
4.5. 库存管理(Warehouse Management)
4.6. 生产管理(Production Management)
4.7. 物料需求计划(Materials Requirement Planning)
4.8. 销售管理(Sales Management)
4.9. 项目管理(Project & Service Management)
4.10. 财务管理(Financial Management)
5.业务操作流程简介
6.附录
6.1.快捷键


1.OpenbravoERP的发行
1.1. Openbravo ERP版本的成长
1)、阿发/贝塔版本(alpha/beta):在阿发版本阶段,我们每周发行一个阿发版本,当条件成熟时发行一个贝塔版本。版本格式是:<主版本号>alpha-r<阿发版本号>和<主版本号>beta,如2.50alpha-r10,2.50beta。这个版本建议不要用于生产环境,等放出了正式版之后再用也不迟。
2)、正式版本:当贝塔版本足够成熟和稳定后,就放出一个正式版本,如目前的正式版本是2.50;
3)、维护版本:从2.50版本之后我们根据用户的反馈和bug修补情况,发行一系列的维护版本,格式是:<主版本>MP<维护版本号>,如截止到2010年3月28日的维护版本是2.50MP13。维护版本可以用于生产,维护版本号越大,说明越稳定,bug越少。
最后我再来看看OpenbravoERP版本的生长路线:
2.50alpha-r1-->2.50alpha-r2-->…-->2.50alpha-r11-->2.50beta-->2.50-->2.50MP1-->…-->2.50MP13。

1.2. 版本类型:社区版和专业版
与社区版(Community Edition)相比,专业版(需要每年缴纳订阅费,有的扩展模块还需另外购买license)可以获得如下额外服务:
1)、可以安装和升级包含在订阅费里的扩展模块,对于需要单独购买license的模块还需另外付费;(当然对于免费的模块两类版本都可以安装和升级)
2)、可以打补丁、升级和获得购买期内的各种服务,如bug修补、问题解答等。
如果您公司的技术力量高超、且技术员对企业内部流程了如指掌,完全可以采用社区版,社区版具备了大多数的ERP核心功能模块,但是不包含一些由第三方开发的商业性质的扩展模块,当然可以自己开发或者购买这些模块,比如商业版的人力资源模块和CRM模块等。

2. 系统要求
2.1. OpenbravoERP运行环境
1)、 支持的操作系统:windows 2000, XP*, Vista;Ubuntu*, RedHat*, CentOS, Debian, Gentoo, OpenSUSE, FreeBSD, Mac OS X, OpenSolaris, Solaris 10;
2)、 支持的硬件结构:X86*, X86_64*, IA-64, Sparc, PowerPC, AIX;
3)、 支持的数据库:Oracle 10g R2或者11g,标准版和企业版都行(推荐使用11g);PostgreSQL 8.3.5或者更高版本(带有ossp-uuid支持的);
4)、 其他软件:Java 2平台标准版6.0或者更高版本;Apache-Tomcat 6.0.x;Apache-Ant 1.7.0或者更高版本(推荐使用版本1.7.1);
5)、 使用到的技术有:Java, PL/SQL, XML, HTML/CSS, PDF;
6)、 支持的浏览器:Firefox 3.0或者更高;IE 7.0
注意:这些都是经过openbravo官方测试通过的,其他的环境也许页可以,但不能保证。
2.2. 本地化
本地化主要涉及语言本地化和会计本地化。目前OpenbravoERP已经实现的本地化国家(含语言和会计科目)有这些,但不同的国家实现了不同版本的本地化,比如中国只实现了2.2x版本(2008年7月之后就再也没有更新了),后续的更新一般只涉及语言,而会计科目不用改变。2.50前的版本需要手工下载语言和会计科目文件(从这里下载,中国的会计科目文件从这里下载),然后再安装语言和导入会计科目,2.50以及之后的版本直接作为扩展模块安装(参考这里安装扩展模块)。

3.OpenbravoERP概况
在sourceforge.net网站上排名开源ERP类旁榜首,那应该是真金白银的——不光有华丽的外表,更应该有稳定的内核。经过本人的一番长时间的实验测试,果然名不虚传。
1)、可以完全依赖开源软件构建稳定的生产ERP环境,当然硬件设备除外。除了购买硬件费用和招一名熟悉开源软件和企业流程的技术员之外,再也不用为其他软件付费了。看看这些开源软件组成的最佳组合:Linux + PostgreSQL (大象) + Apache-Tomcat(猫) + Apache-Ant(蚂蚁) + SUN JDK + Openbravo ERP + Firefox + Eclipse。看到了吗?连同客户端和开发工具全是开源的,而且这样的开源组合几乎是完美无缺的——稳定、快速、安全、灵活!
2)、具有丰富的文档资料。这一点不像Compiere或者国内的恩信ERP(不过恩信现在不开源了),文档资料需要购买的,而Openbravo ERP则是完全开放的,你看看网站http://wiki.openbravo.com/wiki/ERP/2.50,上面应有尽有,从安装、配置、使用到建立开发环境、以及如何开发模块等等都有详细的资料可循,但是目前大部分都是英文的,中文资料比较少,不过我宁愿看英文资料,中文如果翻译不好,看得云里雾里的。
3)、非常国际化。目前的版本经过简单本地化设置就可以适用于上百个国家,不过不同的国家语言本地化的版本不一样,比如中国简体语言只汉化了2.2x(2008年7月之后就没有人再去跟踪OpenbravoERP的新版本做汉化了),在低版本的基础上作高版本的汉化是非常容易的,接下来我打算尽一份个人的努力做好新版本的汉化工作,中国的会计制度从2008年到现在几乎没什么变化,所以会计的本土化可以继续沿用2.2x版本的。
4)、多实例化。安装一套软件,能同时让很多企业的很多分支机构使用,互不干扰,而且每一个实例(这里也可称为实体)都有一个管理员,实体管理员全权负责本实体的管理,如创建角色、用户、定义菜单等等,这一点尤其适合做SaaS应用。换句话说,就是同一套机器上跑的Openbravo ERP能同时让很多家企业使用,只要赋予不同的用户名和密码即可,而且内部仍然是采用同一个数据库和一样的表。记得我以前想利用恩信ERP搭建同样多实例化生产环境,结果耗费了我好几天,硬是没有结果。另外一点就是对于多分支机构多会计单位的企业也能轻松应付。为什么有人总是说Openbravo ERP适合于中小企业使用呢?我都不明白,难道仅仅是因为免费的原因?大企业有钱,所以不会使用免费的软件吗?但你也可以采用订阅购买的方式付费啊,同样能获得满意的售后服务。
5)、灵活的业务实体架构。多实例化源于灵活的业务实体架构,这一点我非常佩服Openbravo ERP开发团队,构思巧妙,独具匠心。这里的实体(client-entity)就是指单独使用ERP的企业或企业部门,在Openbravo ERP中还定义了一个虚拟实体system,因此对于一个生产环境中的Openbravo ERP,必须具备两类实体——虚实体system和真实体Client(至少一个真实体,即一个在使用该ERP的企业或者部门,否则这个ERP就没有价值了,一个没人用的ERP环境有何价值?我说得没错吧)。这两类实体的示意图如下:

Openbravo ERP介绍(一)
i)、虚实体的名字就是System(上图左边),全部的结构定义(或称Schema),如表、表的列、窗口、窗口中标签页、域(field)、菜单等等统称为模型数据(model data),模型数据保存在虚实体System的Model库中,其他的真实体都将采用这些模型数据,从而定义一致的数据结构和呈现一样的界面(当然每一个实体的管理员还可以定制自己个性化的界面)。对于其他的全部的真实体都要用到的公共数据单独抽出来放在虚实体的Source库中,存放在Source库中的数据称为源数据,源数据可以理解为所有实体的公共数据。源数据是真实的实用数据,而模型数据则是结构定义语句,不是真实的实用数据,可以理解为元数据,所谓的元数据就是用来管理数据的数据,这是他们的区别。虚实体其实就是用于保存数据字典的——即AD。具备System Administrator角色的用户都可以操纵System中的数据,安装Openbravo ERP生成的默认用户Openbravo(密码是openbravo)就是可以赋予System Administrator角色的用户,该用户登录后默认的角色就是System Administrator,这是一个超级用户权限,相当于linux操作系统的root用户,可以为所欲为。
ii)、在配置好了虚实体System(模型数据和源数据)之后可以利用菜单“通用设置>实体>实体初始化”来生成一个新的真实体(client),这一步公完成了以下四个任务:
Openbravo ERP介绍(一)
任务1:建立“结构数据”完成如下步骤:
A)、创建全部的对象:机构*,业务伙伴,产品,会计报表,税务报表等等;
B)、创建一个初始用户和一个角色,并且把这个角色添加给用户Openbravo,也就是说此后Openbravo用户可以赋予这些角色,从而访问本实体内的数据;角色命名为“<实体名> Admin”,比如如下例子:
Openbravo ERP介绍(一)
将创建用户:zzjxAdmin,角色:中舟机械 Admin。显然用户zzjxAdmin是实体“中州机械”的管理员(默认密码与用户名一样,登录的默认角色是“中州机械 Admin”,此后该管理员可以在本实体中创建更多的机构、用户和角色。
任务2:建立“会计数据”完成如下步骤:
A)、创建会计期间;
B)、创建套账;
C)、创建会计科目;
D)、创建会计维度;
如果没有勾选“会计单位”,那么本任务是不会执行的。这一点对于纯管理的单位非常有用。
任务3:建立“财务数据”完成如下步骤:
Creates all the document types and their sequence. This is something mandatory to be able to create transactional documents.
任务4:建立“基础数据”完成如下步骤:
Creates a sample data (all the data is created with the name standard) to be able to start doing things with the application. It would be like a little configuration. All this data is created under this new entity and with organization * so it can be used by any other organization that belongs to this entity.
6)、适用的企业类型繁多。既可以用于制造型企业,也可以用于管理型机构,还可以用于商业性企业;既可以是会计独立单位,也可以是非会计独立单位,既可以是跨地区跨过度的大型企业,也可以使中小企业单位。
7)、最为完善的安全控制机制。OB把安全分为操作安全和数据安全,操作安全规定一个用户哪些功能元素(如菜单、窗口、表单等)可以操作,哪些不许操作;数据安全规定用户允许访问哪些数据和对这些数据具有何种操纵权限(如浏览、修改、写入等)。
i)、操作安全。操作安全涉及用户、角色和权限。角色本质上就是一些权限的集合,通过给用户赋予或者剥夺某个角色来实现授权和撤权。一个用户能登陆ob,它具备的条件是有密码和至少赋予一个角色,一个用户可以被赋予许多角色,但在同一时刻只能赋予一个角色(有效角色),在登陆后用户自己可以改变自己的有效角色,当然这些允许改变的角色集是由上一层管理员定义好了的,自己不能随便修改角色集;OB把权限分三级定义:部门级、功能操作级和表级,部门级权限规定那个部门允许进入,功能操作级权限定义哪些功能元素可以操作,哪些不允许操作,而表级权限控制哪些表可以访问,不能访问的表,那么该表对应的功能元素“标签页”(tab)是不能操作的。操作安全也称为垂直安全。
Openbravo ERP介绍(一)
ii)、数据安全。也称为水平安全。主要用来控制实体、部门、访问级别和用户级别。规定哪些实体/部门(client/organization)的数据是可见的,存在五种可能的级别:
System, System/Client, Organization, Client/Organization, All。
下表表述了每种级别的权限:

 

Client

Org

Description

System

0

*

只可访问client 0Org *中的数据。比如字典(Application Dictionary)

System/client

Non 0

*

除了client 0外的任何实体和Org *中的数据都可访问。比如主数据(master data)。

Organization

Non 0

Non *

除了client 0Org *之外的任何实体和部门中的数据都可访问。比如交易菜单(transactional documents)。

Client/Organization

Non 0

Any

除了client 0之外的任何实体和特定部门的数据都可访问,比如交易菜单(transactional documents)和主数据(master data)。

All

Any

Any

可以随心所欲。

说明:
Client 0:保存共享数据的虚实体;
Organization *:在一个实体内用于保存供本实体内的其他任何部门共享的数据;
Non 0/Non *:指非client 0和非Org *内的数据。
用户安全级别:每个角色具有一个用户级别(这种用户级别在垂直安全方式中用到),存在三种基本的用户级别(这三种用户级别还可以组合成更多的级别):Client, Organization和System,用户级别与数据访问安全级别存在一一对应关系:

数据安全级别

用户安全级别

System

System

System/Client

System or Client

Organization

Organization

Client/Organization

Client or Organization

All

System, Client or Organization


从2.50MP15版本开始,新增了用户登录安全:登录失败延时和用户加锁。前者是指用户或者密码错导致登录失败,延时一段时间后才可再次登录,连续登录失败,延时也依次加长(相应参数在文件Openbravo.properties中指定:ogin.trial.delay.increment和login.trial.delay.max),直到重试次数超过设定的最大次数(由文件Openbravo.properties中的参数login.trial.user.lock指定),这时就锁住该用户。被锁住的用户需要管理员通过菜单“General Setup > Security > User”解锁,如果是管理员被锁,可以这样处理:把参数”“login.trial.user.lock”设为0,这样就允许登录,然后再去解锁,最后把参数“login.trial.user.lock”设为原来的值。
8)、后台任务管理。用PL或者java语言开发的程序可以由Openbravo ERP在后台定时调度。设置一个后台调度任务的步骤是:
在应用字典(Application Dictionary)中创建进程;
创建一个调度。
9)、模块化设计。我认为这是一大亮点。功能的增删通过安装和卸载模块来完成,当然核心模块是必须的模块,不能卸载,其他的扩展模块都可以安装和卸载,但是对于社区版本的Openbravo ERP,一些需要付费的商业扩展模块是没法安装的,如果你付费订阅了,那么会有更多的扩展模块供您选择。Openbravo公司维护了一个模块库,里面模块会经常更新,所以建议常去看看。只要符合模块接口协议,我们就可以随时开发符合自己需要的模块从而扩展OB功能。
10)、利用心跳机制实时下发更新代码。初始登陆会提醒引导你配置心跳机制,根据官方资料介绍说,配置好了心跳机制就可以实时收到更新的代码和其他服务。
11)、纯Web应用。不同于传统的web应用那样在用户界面方面存在不足,而OB引入了AJAX技术,从而开发出了类似于富客户端的友好的用户界面。
12)、采用java——轻量级的J2EE。OB采用J2EE,但不使用EJB容器,从版本2.50开始,OB引入了新的基于Hibernate的数据访问层,从而为下一代新版本真正实现数据库无关性做好准备。
13)、模型驱动开发。OB采用一种模型驱动开发(MDD)方法,也就是说OB采用模型来定义应用组件(比如窗口和流程等),然后在模型的基础上生成java代码。OB的模型信息(称为元数据)保存在OB应用字典里,而从这些元数据产生代码的过程称为应用开发指南(WAD—Wizard for Application Development)。模型启动开发的目的是为了通过分离技术实现和业务抽象来提高效率和重用。