星期三, 一月 31, 2007

开源共思

“开源”,出自自由软件社区,意指软件开发人员或软件公司在发布其软件产品的同时公开其产品的源代码,以帮助产品用户更好地理解和使用软件。根据不同的授权协议(GPL、LGPL、APL...),用户拥有不同的使用权限,比如修改、引用、甚至商业化等等。最著名的开软件莫过于Linux、Apache、Postgresql,在它们的带动下开源社区人丁兴旺,高手辈出,新软件好软件层出不穷。现在可以毫不夸张的说,无论个人用户还是企业用户,都能在开源世界找到适合自己的解决方案,当然有时候开源软件的易用性不如微软或苹果的软件出色,但在功能上决不逊色于任何专有软件,所以适当的培养自己的动手能力会有助于你更好地享用开源大餐。那么我们能从轰轰烈烈的开源运动得到些什么启发吗?我个人认为是肯定的。每一个优秀的开源项目背后都会有一个出色的社区,就是通过这个社区分布于世界各地的程序员才得以交流协作,打造出优秀的开源软件。开源社区并不是一个简简单单的自发组织的、虚拟的网络社区,它根植于]理乍得·马修·斯托曼 (Richard Matthew Stallman, RMS,生于1953年)式的黑客文化和信奉民主、自由的社区精神。在这种类共产主义信仰的驱动下,每一个社区成员都处于积极奋进的状态,相互之间能够紧密协作,创造力源源不断地注入社区,反过来激励更多的成员投入到创作之中。我想,我们最需要关注的就应该是整个开源社区的背后蕴藏着的那些东西。现在但凡有个把人的公司都会大谈团队精神是如何如何的重要,但能真正形成一个良好的、自组织模式的团队的公司还不多。那么为什么开源社区能比公司团队以一种更有效的方式组织在一起,我想,主要是因为“开源”这个神奇的词汇,开源社区的成员都是“开源”的拥护者,而且不仅仅是软件开源,更重要的是他们之间的思想也是开源的,相互之间能够真正的坦诚相待。而公司团队由于个人之间存在的利益冲突,往往不能做到就事论事,进而影响了团队的凝聚力。简单的就是美的,有时候思想简单一些可以促进我们自己成长和周围环境的和谐。如果我们的思想也能够开源的话,那么你我之间就更近了一层。借用一下“开源”的意念,让我们共同倡导“共思”(Open Thinking)。 

星期四, 一月 25, 2007

Behavioral differences


Method
Parameter format
Lookup failure behavior
Usage example


ClassLoader.
getResourceAsStream()
"/"-separated names; no leading "/" (all names are absolute)
Silent (returns null)

this.getClass().getClassLoader()
.getResourceAsStream
("some/pkg/resource.properties")


Class.
getResourceAsStream()
"/"-separated names; leading "/" indicates absolute names; all other names are relative to the class's package
Silent (returns null)

this.getClass()
.getResourceAsStream
("resource.properties")


ResourceBundle.
getBundle()
"."-separated names; all names are absolute; .properties suffix is implied

Throws unchecked
java.util.MissingResourceException
ResourceBundle.getBundle
("some.pkg.resource")

星期四, 一月 11, 2007

Compiere 实施步骤

1.产品漫游—以熟悉 Compiere 应用程序

2.实施方法 —参考

3.测试—可参照Compiere 的示例实体"Garden World"

准备

您可能需要准备账户、业务伙伴和产品的导入。尽管您可以在之后进行所有记录的导
入,但若设置账户导入则会节约您的时间。在初始化阶段,提供对 CSV(逗号分隔
值)导入的支持,其中 CSV 文件含有预定义的属性列表。这是 导入 工具完整版的子
集,您可以在稍后使用。

账户&CoA(会计科目)

关于会计科目设置的详细资料请参考 这里 。

初始化实施

您需要以系统管理员身份以进行初始化实体的设置。

此程序将创建用户、角色,及单据类型、业务伙伴、产品等的"标准"实体。在运行
后,您可以创建及打印第一张发票。

设置程序将创建两个用户: "实体级别"角色的用户,具有维护规则和进行事务处理的
权限。 "组织级别"角色的用户,具有进行事务处理的权限。

精化实施
完成初始化实施后,您已经可以开始 Compiere 的运行了。但是你可以去"初始化实体
设置"工作流程以检查、更新。

Compiere 实施方法

Compiere 被设计为支持快速上线。主要优势在于 Compiere 独特的技术特性 - "上线
后的结构更改"(请参考" 信息结构 "),让您能在上线以后进行任何更改。这使得没
有必要存在非常细致的分析和配置阶段,因为" 如果您忘记了某些东西或设置错误了
什么"那么重新实施不是一个好做法。在许多 ERP 项目实施过程中发现必须进行某个
主要变更,又或者发现了某些遗漏,结果导致上线之前不得不重新实施,造成资金、
人力、设备和时间的浪费。

因此,这里为快速和方便实施提供了一些指引。其中的大多数,实际上不仅应用于
Compiere 这一 ERP 的实施 - Compiere 不过使它更容易罢了。

技巧 1 :尽量使用固定期限的实施合同,并坚持它。这可获得预定义交付(实施服
务)的公开价格。

成功案例(Use Cases)

用例(Use Case)是一个业务过程,比如订单输入、收款、发货等。基本而言,它是
您在业务开展中所做事情的清单。创建3种类别:

(1)紧迫 - 运营您的业务所必需的基本业务流程。

(2)便利 - 使业务流程更快、更容易、更有效。

(3)支持 - 帮助做出正确的决策、报表、分析...

有意思的是,在许多实施中,优先级似乎恰好被弄反了,这很令人吃惊。优先级(3)
提供了更高的信息级别,所以常常是战略决策的催化剂,因而它们是重要的,但优先
级(1)确保了您能够得以制定战略决策。软件供应商的售前活动通常完全聚焦于优先
级(3)上,并且咨询公司也因此而繁荣 - 不过,请考虑优先级(3)中有多少是必须
等到上线以后方能做出决策的。

这样说来,原型阶段应持续多长时间呢?这依赖于您的风险级别,至少优先级(1)的
所有用例应当准确工作。在此基础上,您的感觉更好,主意自然妙,轻松确定下一步
将完成的优先级(2)和(3)用例。

优先级(1)的用例工作正常时,您肯定无法进入负面的媒体报道标题了。

原型(Prototype)

每个产品都有它自己的方式去完成目标。如果您强制让 SAP 的行为像 Oracle
Applications 那样,或者像您现存的实施那样 - 那么无疑就增大了失败的风
险。Oracle、SAP、PeopleSoft 等商业应用系统实施的公开失败案例中,全都归入此
类。通常,失败与产品无关,而是实施者及客户所持的不现实期待和呆板态度所导
致。

因此,您如果要获得成功则需要一个操练场,以了解实现目标的最佳方式以及备选方
式。如果您暂行规定此阶段,那么您的上线系统其实变成了您的原型。Compiere 不会
介意这一点,并将精确地工作,然而您不过在系统中放入了一些测试数据而已。

技巧 2 :所有的上线系统都包含一些"杂音"数据,因此不必尝试拥有一个100%干净的
系统。如果在 Compiere 中无法删除这些"杂音"数据,那么可以隐藏它们(以满足一
致性的要求)。

尽早引入全部用户

变更有时不会受到热烈的欢迎。许多项目集中于"超级用户"或"用户代表团",限制了
给正常运营带来的打扰。适度则没问题,但请尽早引用所有的用户。

原型阶段的结束通常是进行总体导入的好时机。此时人们可尽情使用或肆虐系统,而
不会产生什么负面后果。您也可趁机获得非直接的确认,即覆盖了优先级(1)中的全
部问题。

因此,请将您以及超级用户们的 Compiere 解决方案展示出来,甚至开一个 Party,
让所有人都看看并试用您的杰作 - Compiere 系统原型。

迭代式开发

请习惯于循环:

设置较短时间内可完成的、较小的目标
让它工作
为下一次迭代总结经验
" 大爆炸 "方式 - 一切都同时开始工作 - 则使目标难以达到。

某些方面您可能第一次不能正确处理,所以小步骤产生的成功经过不断累积(即使遇
到"事故"也可快速恢复),就可完成最终目标。

上线以后

既然业务运营已处于上线状态中,您就有了时间和知识可以开始调查,Compiere 在业
务的策略方面能够怎样帮您。这使您得以更好地利用 Compiere,因为您已经对系统有
了更多的理解。

技巧 3 :为两个项目做出预算,一个是上线实施项目,另一个是上线6个月以后的项
目,用以完全发挥 Compiere 的功能。

对于6个月后的项目,如果不考虑计划的详细程度,需要决定的是:早实施还是晚实
施。用户不会再有变得惊慌的理由,"会议室驾驶仓"(或"Compiere 见面会")可以为
他们提供良好的培训基础。

Compiere 最大的优势这时就表现出来了:

已改变的优先级,新的业务和市场开发,或者新的视角要求改变 Compiere 的设置。
不久之后,您的用户将变得适应,并将更进一步地控制系统。

Compiere 允许从绝大多数情形下轻松恢复,因为它被设计为" 自恢复 "。

一切听起来不错。当然,使用软件支持服务,可以将问题的后果最小化。

切换上线

需要决定一个问题:是否并行运行。众所周知,并行运行意味着双倍的工作。因此,
在您的"Compiere 见面会"中,要与您的用户商量,看看他们是否对系统切换感到适
应。

技巧 4 :"用户认为无需并行运行"是一个重要指标,如不考虑(项目经理做出)是否
并行的决定。

真实系统

不要等到"一切"问题都解决。那样可能永远也解决不完。因此,在您删除了原型(的
确如此!)以后,开始使用新的实施和真实数据。

在这个阶段中(记住,您挑选出了所有的紧迫问题),主要的挑战是从已有系统将数
据迁移至Compiere中,并做必要的定制工作。

一个重要部分是小型但正式的"会议室驾驶仓"(您可在此模拟驾驶仓尝试 Compiere
飞车,无需系安全带)。在备份以后,您给予用户了解和尝试系统的机会。不要只计
划一次"会议室驾驶仓",完全可计划三次或更多,这依赖于实施的复杂性。这些
"Compiere 见面会"不应过长,用来帮助传播消息和减轻转换带来的心理压力 。

"会议室驾驶仓"也是对您的备份与恢复过程的检验。

获取经验的另一途径是升级和打安装补丁。Compiere 使得它们很容易,通过这些设置
可以获得经验。

背景

上面推荐的实施方法正变得越来越流行。基于 快速原型法 的方法论已经出现了较长
时间。 XP (极度编程 )是快速 、安全交付新技术的方法论(软件开发流程)。只
需用实施任务替代编码的部分,它就非常适用于应用软件实施项目。要了解关于 XP
的更多信息,请检查 Google 。

Rational 的重量级流程 Rational Unified Process(RUP)近来已从强烈反对 XP 转
为拥抱它。现在,Rational 为 RUP 提供一个 XP 插件。

Compiere 的会计科目

Compiere 需要用到一套账户用于系统操作,即便其中某些可能永远不会用于过账
(例:如果您没有外币事务处理,则像已实现盈利这样的账户将不会被用到 )。当创
建实体时,Compiere 需要创建一套默认的账户(会计科目) 。

AccountingXX.xls / AccountingXX.csv
文件 AccountingCN.xls、AccountingHK.xls 和 AccountingTW.xls分别对应于中国大
陆、香港和台湾的基本会计科目(包含于 QuickIT 实施工具包 的会计科目模板中
)。

文件 AccountingXX.xls 是导入和维护您的会计科目表的基础。

文件名中的 XX 代表国家或地区代码 - 因此文件 AccountingUS.xls 是美国风格会计
科目的良好基础。

您初始化新的实体(初始化实体设置)时,文件结构要求保持不变。在此阶段,仅必
填科目被导入/创建(在 Account_Default 中包含了值 - 第 H 列)。

在初始化设置以后,您使用它导入您的科目层次,或用于报表。为此,您可更改导入
格式以满足您的需求。

请注意,文件名只是一个建议。会计科目的早期结构对应于文件
NaturalAccount.xls/csv。文件 AccountingXX.xls/csv 的结构是一个超集。

如果您修改了文件,则 必须导出 .xls 文件为 .csv (逗号分隔值)格式,因为
Compiere 只能读取 .csv 文件。导出的结果文件应当位于 %COMPIERE_HOME% 的
"data/import"子目录下。

术语

会计科目 (CoA) = 自然账户的列表 - 它随 Accounting*.xls/csv 文件提供
账户 、 组合 或 有效组合 = 会计分段组合的值;分段在会计模式中定义
如:01-1600-HQ-应付账户(此处是公司和自然账户)
自然账户 = 账户分段 - 在您账户结构中的元素;这是您在 AccountingXX 文件中导
入的内容
如:1600 - 应付账户
细节 - 创建您自己的会计科目

您需要有不同的账户对应于每个默认账户。例如,即使您不想或不需要区分货币盈余
和货币亏损,Compiere 仍然需要这两个账户。您可合并科目,比如通过总账日记账分
录。
Compiere 需要最小集合的账户。这些账户由"Default Account"列的内部列名标识 -
例:B_ASSET_ACCT
您可更改、添加或删除某些行,只要存在一行对应于每个默认账户即可。
如果您不喜欢提供的示例会计科目(CoA),可采取如下步骤 :

更改行(值/关键字、名称、描述),以符合您的会计科目
删除所有的行,但含有默认账户的那些行除外
在您的会计科目中添加其它账户

各列的解释,可参考 Accounting*.xls 文件中的注释。注意,列名仅作为说明之用,
可以修改。

A - 账户_值

自然账户必须填写的主键(完全用户自定义),可以是数字或字母-数字,长度不超过
20个字符。请注意,每行必须唯一。

B - 账户_名称

自然账户必须填写的名称(完全用户自定义),长度不超过60个字符。

C - 账户_描述

自然账户可选的描述(完全用户自定义),长度不超过255个字符。

D - 账户_类型

必须填写的账户类型(如资产、负债、所有者权益、费用、资产、备注)。请注意,
首字母必须是 A、L、O、E、R 或 M。例如:"L - 负债"代表中文的负债账户类型。

E - 账户_符号

可选的账户符号标识(当前未实现,计划用于财务报表)。可选项包括自然(默
认)、借项和贷项。请注意,首字母必须是 N、D、C 或为空。例如:"D - 借项"代表
中文的借项账户符号标识。

F - 账户_单据控制

可选的账户单据标识(换言之,该账户仅能通过分类账过账,无人工日记账分录。为
简化科目对账,推荐这样做)。请注意,首字母必须是 Y、N 或为空。例如:"Y - 是
"代表中文的"是"账户单据标识。

G - 账户_汇总

必须填写的汇总账户标识(换言之,您不能过账到汇总账户,它们仅用于报表)。请
注意,首字母必须是 Y、N 或为空。例如:"Y - 是"代表中文的"是"汇总账户标识。

H - 账户_默认

可选的默认账户分配,这是账户的默认分配列名称。这是实际的列名称,请勿修改其
内容。您需要让所有默认账户至少存在单独的一行与之对应,且需要让所有的默认账
户被列出。

例如:B_INTRANSIT_ACCT 表示该账户是默认的银行在途账户。您可能不会用到它,或
希望为每家银行使用不同的在途账户,但是您仍然需要包含此行。

I - 账户_父

可选的父账户账(列 A )。它需要精确匹配。用于在您导入会计科目表时建立账户层
次。请注意,该列在初始化实体设置的过程中会被忽略。

J/K - 资产负债表_值,资产负债表_名称

可选的资产负债表行值/主键与名称。用于创建财务报表行集合。导入格式已经预定
义。

L/M - 美国1120资产负债表_值,美国1120资产负债表_名称

可选的资产负债表行值/主键与名称。用于创建财务报表行集合。导入格式已经预定
义。在这里,它以美国税代码的 Form 1120 为基础,不同于标准的美国资产负债表结
构。

N/O - 损益表_值,损益表_名称

可选的损益表行值/主键与名称。用于创建财务报表行集合。导入格式已经预定义。

P/Q - 美国1120损益表_值,美国1120损益表_名称

可选的损益表行值/主键与名称。用于创建财务报表行集合。导入格式已经预定义。在
这里,它以美国税代码的 Form 1120 为基础,不同于标准的美国损益表结构。

R/S - 现金流_值,现金流_名称

可选的现金流有行值/主键与名称。用于创建财务报表行集合。导入格式已经预定义。

compiere resource list

<div class="layout">
<div class="layoutregion">
<div id="g_body"><p>[请大家一起编辑本页面] </p><p> </p><p>资源搜索工
具:</p><ul><li>Google:<a href="http://my.donews.com/pastoral/">比特酋长
</a>为Compiere定制的Google custom
serach engine:<a
href="http://www.google.com/coop/cse?cx=015651053727539904439%3Ad58dvnv279e">Compiere
CSE</a>。你可以把它添加到你的Google PersonalHomepage,你也可以为其添加站
点;</li><li>eMule:也许应该上去搜索一下;</li></ul>
<p> </p>
<hr><h2><font size="4"><b>
Compiere相关项目网站</b></font>:<br>
</h2><dl><dl><dt><a
href="http://compilo.sourceforge.net/index.html">Compilo
- Compiere developer documentation.</a> </dt><dt><a
href="http://sourceforge.net/project/showfiles.php?group_id=111366">SF.net:
CompiereUtil</a>     <a
href="http://www.compierefans.org/blog/index.php">Compiere Util Project
HomePage</a> </dt><dt><a
href="http://sourceforge.net/projects/comxe">SF.net: Compiere on Oracle
XE</a> </dt><dt><a
href="http://sourceforge.net/projects/compiere-portal">SF.net: Compiere
Portal</a> </dt><dt><a
href="http://sourceforge.net/projects/cmpcs/">SourceForge.net:
Kompiere Libero (Manufacturing)</a> </dt><dt><a
href="http://www.compierefans.org/blog/index.php"><br></a> </dt><dt><a
href="http://compiere-mfgscm.sourceforge.net/">Compiere MFG &amp; SCM</a>
</dt></dl></dl>
<blockquote dir="ltr" style="margin-right:0px">
<p><a
href="http://www.openbravo.com/index.php?option=com_content&task=view&amp;id=130&Itemid=244">openbravo
ERP&amp;CRM</a>   
<a href="http://www.adempiere.com/">ADempiere</a></p></blockquote>
<h2>博客与论坛</h2>
<dl><dl><dt><a href="http://bbs.kuke.info/forumdisplay.php?f=18">上海酷克
Compiere论坛</a> </dt><dt><a
href="http://petershen.bokee.com/index.html">pshen的博客</a> </dt><dt><a
href="http://www.oslabs.org/">OSLabs - Home</a> </dt><dt><a
href="http://www.ohloh.net/opensource/software/compiere">Compiere ERP
+ CRM Business Solution
- Ohloh Metrics Report</a> </dt><dt><a href="http://red1.org/">red1 open
source empire</a>
</dt><dt><a
href="http://www.compiere.org/documentation/dbLogical/index.htm">Compiere
AD ER-Studio Intranet Documentation</a> </dt><dt><a
href="http://www.compiere.org/technology/build.html">Compiere Technology -
Building Compiere from Source</a>
</dt><dt><a href="http://www.compierefans.org/">Compiere Fans-zh</a>
</dt><dt><a href="http://www.smileblog.com/">Compiere Blog-zh</a>
</dt><dt><a href="http://groups.google.com/group/Compiere-China">Google
Groups Compiere-China</a> </dt><dt><a
href="http://www.workrun.com/21/0.htm">Compiere
ERP&amp;CRM</a> </dt><dt><a
href="http://www.knowledgesuccess.com/compiere/">knowledgesuccess</a>
</dt></dl></dl>
<h2><font size="4"><b>咨询与服务公司</b></font><br></h2>
<blockquote dir="ltr" style="margin-right:0px">
<dl><dt><a
href="http://entpiere.interpack.org/portal/entpiere/index.htm">首页 - 恩普
派</a>
</dt><dt><a href="http://www.astidian.co.za/comp.htm">Astidian Systems</a>
</dt><dt><a href="http://www.e-evolution.com/kompiere/">e-Evolution</a>
</dt><dt><a href="http://www.mycompiere.com/support/">myCompiere.com
Support</a> <br>Compiere-China     [  <a
href="http://www.compiere-china.com/support/setup_server.htm">Compiere-China
安装</a>   <a
href="http://www.compiere-china.com/download/dl_software.htm">Compiere
Download</a>  ]<br><a href="http://www.eousoft.com/">益用软件</a>
</dt></dl><dt><a
href="http://www.zoapcon.com/www2/Web/product/technique/systemstruct.htm">ZOAP
源科顾问有限公司</a> </dt>
<dt><a href="http://www.huahu.com.cn/">RMS ERP&amp;CRM 企业解决方案 DNN BPM
Suite 工作业务流程规划 门店管理</a> </dt>
<dt><a href="http://www.desoo.com/">Desoo 戴速: Compiere ERP &amp; CRM 企业
解决方案</a> </dt>
<dt><a href="http://www.adaxa.com.au/">ADAXA</a>       [<a
href="http://www.adaxa.com.au/index.php?option=com_content&task=section&amp;id=3&Itemid=27">Compiere
&quot;How-To"</a><a
href="http://www.adaxa.com.au/index.php?option=com_remository&amp;Itemid=53&func=selectcat&amp;cat=1">]  </a>
</dt>
<dt><a href="http://www.zhichi.cn/sa8.htm">compiere系统优势|北京智驰科技有
限公司</a> </dt>
<dt><a href="http://www.yugasoft.com/compiere.htm">上海优格软件有限公司
</a> </dt>
<dt><a href="http://www.janus-software.com/compiere_dl.html">Janus
Software</a> </dt></blockquote><wbr></div>

星期二, 一月 09, 2007

Compiere 安装在SUSE10下的成功实例

开源的ERP当然要用开源的操作系统啦,要不然,就本末倒置了。本文介绍了一个在
SUSE10下成功部署Compiere的实例,可作为参考。


安装前的准备
操作系统:Open SUSE Linux 10.0(内核2.6.9)
JAVA:SUSE10.0默认安装的是JRE1.4.2,不过Compiere网站上要求的是1.5.0,所以也
下载了一个SUN JDK1.5.0
Oracle:XE 10.0.2(后来证明XE完全可以使用)
Compiere:最新253b压缩包
别的没太多好说的,只有Oracle的XE版本,后来证明完全可用,并且安装相对简单
(只有一个rpm包),而且尺寸也小(所有的东西装完以后,我的SUSE分区只剩下
170M了
如果你准备用XE,从SUSE裸系统开始装这一大套东西只需要2G就可以了,但是如果用
标准版甚至企业版,那么准备4G空间吧!

安装过程
其实很简单,完全按照www.compiere.com上面的安装向导来就行了,注意一定要认真
仔细的一步一步操作
我试验了一下用SUSE自带的JRE1.4.2来跑RUN_setup.sh,结果不出所料报告了java方
法错误,看来必须用1.5.0
新建了一个用户comp,并且在~/.bashrc强制了PATH和相关的JAVA环境变量指向1.5.0
新建用户是个好习惯,一来在这个状况下可以单独为其设定1.5.0版本的JAVA为缺省
值,不会影响到其他用户继续使用1.4.2,二来,为一个服务建立一个特定的用户也符
合UNIX的安全习惯。
别忘了给comp加入到dba组中,并且在bashrc里面加上引用Oracle环境初始化脚本的
行。具体的做法在安装Oracle XE的rpm包后的设置过程中都有提示。
用root把compiere包解开到/opt,并且更换所有者为comp,给sh脚本赋予可执行权限
重新用comp用户登录桌面,语言一定要选择英语(后面会告诉你为什么),打开一个
终端检查JAVA环境变量和虚拟机版本,检查Oracle连通性(按照compiere主页的安装
步骤来)
一切就绪以后,就可以执行安装脚本RUN_setup.sh了,其实这个脚本是一个配置工
具,执行它会出现一个窗口,里面要求填入一些值,Test通过以后就可以保存并进行
下一步操作了。这里只要注意3点:A数据库名字叫做"XE"(如果你用XE版本的
话);B对于我的comp用户来说,不能使用<1024的端口,因此你要把缺省的端口改一
下,比如10080/10443等(注意Oracle默认占用8080端口,不要冲突了);C数据库用
户compiere不需要你手工建,安装程序会自己建的!
SAVE了以后就可以继续安装过程了,一般来说就不会再出什么问题了。别忘了设好
COMPIERE_HOME变量
最后都弄好以后,运行RUN_Env.sh不报错就算成功了
最后启动服务RUN_Server2.sh,实际上就是启动了内建的JBoss
最后打开浏览器就可以使用客户端了。根据我的经验,除了comp以外其他的没有设置
JAVA1.5.0为缺省jvm的用户一样可以使用WebStart客户端,因为在SUN JDK1.5.0安装
的时候自动把所有的WebStart连接绑定到了1.5版本的javaws上去了,因此无论谁在浏
览器中点击了WebStart的连接,默认启动的都是1.5的javaws
心得体会
一定要注意java的版本
1.5的java在SUSE10上面中文字体有问题,所以我强调第一次要用英文环境运行安装程
序,不然出来的中文字体都是方块。解决这个问题花了我一些时间,主要是1.5版本的
字体配置文件是按照特定顺序读取的,首先读取跟当前操作系统名称和版本对应的那
个文件,然后读取相似性越来越小的配置文件。一开始我没搞清楚这个顺序走了弯
路。
解决方法就是,把原来1.4.2的字体配置文件copy过来,并且命名为
fontconfig.SUSE.properties 这样优先级就是最高的了。如果设置好了java字体,那
么就可以用中文环境运行安装程序和客户端了
安装界面中还有DB2,sqlserver等数据库,IBM的虚拟机,以及其他类型的aplication
server可选,不过有些带<>箭头,估计还是测试阶段,过两天我会试一下win2K+IBM
JDK1.5+DB2的组合
登录界面有中文选项,但是进去以后还是英文界面,原来中文包是要收费的,靠
web界面的应用基本上没怎么做好,看来这方面要等很久了
Oracle XE版本挺好用的,作为试验和学习足够了,就是数据库名"XE"我迷惑了很久才
知道了,看了Oracle网站上的文档才知道的。

Compiere 贸易行业ERP的首选

周从所知,compiere目前在生产这块,也不是很成熟,但相当开放,可以满足几乎所
有生产企业的二次开发需要。

优化的贸易优势Compiere让您对货物在销售、采购、盘点、定价等方面的管理得
心应手。优化的客户关系,有利于增加新客户、保留老客户,最大化每个客户的生命
周期价值。优化的供应商关系,让您占据更有利的议价地位。

  标准化的Compiere贸易业解决方案,用您所需。
  集成的财务管理
Compiere让财务管理变得轻松。销售、采购、库存等相关的事务处理,自动过
账。您还在使用手工方式填写会计分录、追踪历史账目、定期重复统计
吗?Compiere贸易业解决方案集成的财务管理特性,允许您轻松记账、查账、分析,
简单而统一。
  集成的呼叫中心
Compiere让您的企业能够借助先进的CTI (计算机电话集成)技术,以优良的电话
服务水平赢得更多客户的依赖。业务单据、付款往来、销售机会、服务请求,瞬时识
别与追踪,Compiere贸易业解决方案让您的企业实时响应任何客户的需求。
  集成的电子邮件
Compiere完全满足Internet时代与业务伙伴快速沟通的需求。无论是供应商、客
户,还是企业内部的员工,简单、直接的沟通方式尤为重要。扁平式的管理,需要扁
平式的沟通。Compiere贸易业解决方案让您放心。
  可变更业务流程
Compiere灵活的业务流程允许您的企业快速响应变化的环境。一体化的业务功能
与业务流程,既可单独使用,也可组合使用。即时启用新的业务流程,需要灵活可靠
的一体化企业应用套件,Compiere贸易业解决方案让您能够做到。
  可变更业务功能
Compiere提供安全的用户界面与数据库访问控制。得益于Compiere独特的AD (应
用字典)技术,您不但能对现有的窗口、报表进行字段与布局的更改,而且可以创建包
含任意字段的全新窗口与报表。这一切却无需编写程序或脚本。随需而变,如此简
单!
  按需定制与扩展
Compiere丰富的业务功能仍然无法满足您特殊的业务需求?开放、强大、灵活的
技术架构,加上我们在Compiere项目实施及维护与支持服务方面超过3年的专业经验保
证,Compiere贸易业解决方案随时可以按需定制,按需扩展。
  投资Compiere贸易业解决方案依据企业的业务特征,我们提供贴身的定制、实施
与支持服务。Compiere贸易业解决方案,获取更高利润近在咫尺。

Compiere 的E2IT实施方法赢得6000人企业的赞许

敏捷型ERP项目:打破IT预算常规

如果您需要一个不是很庞大也不是很复杂的 ERP 系统管理公司运作,那么您要应该考
虑"敏捷型"ERP 系统。一位 CIO讲述了轻量级软件是如何为中小企业带来高效益的。
ERP 看起来已经是很古老的概念,它的全称是企业资源计划。如今,新一代的概念如
ERM(企业关系管理)和 SFA(销售自动化)开始受到企业的关注。
没有人再对 ERP 概念产生争议,因为它已经具有相当成熟的定义,并被长期应用于企
业管理当中。新的 ERP 模型正在由庞杂的分析型过渡到快捷的实现型。这种模型对应
了可以被快速高效实施的 ERP 系统。对于敏捷型 ERP 来说,重要的是,它被设计为
效率优先的原则。
敏捷型 ERP 也并非新事物。几年前,康比尔公司的总经理兰迪.纳尔逊在休斯敦进行
一项专业的研究。在做这项研究之前,纳尔逊被聘为 CIO 负责一个 ERP 合同的项目
实施。
"当 ERP 实施为商家带来顾客之时,在1999年我更加迫切地希望从事敏捷实施的研
究。"他解释道。"例如,SAP 推出了敏捷系统被称为 ASAP 或者加速的 SAP。后来发
现大多快速 ERP 产品线都缺乏较多的定制功能。换句话说,快速上线唯一的办法就是
企业需要改变业务流程去适应这套系统。"
敏捷型 ERP 也因此被重新定义,其最大的区别就在于是否预先配置。这种做法可以减
少上百万的开支,并且产生了难以置信的高效率。这为几乎要摇摇欲坠的经济景气状
况带来了翻天覆地的改变。这种敏捷型 ERP 方案为企业节省了在传统 ERP 套装软件
上巨额的投资预算。特别是为了生存而奋斗的中小型公司,能否快捷实施 ERP 对企业
的信息化管理成败至关重要。
敏捷型 ERP 的一个典型代表是支持 E2IT 实施快车道的 Compiere ERP & CRM。这套
完全开放源代码的企业 ERP 系统集成了 CRM 功能,支持敏捷型的实施,能够立即上
线,并在上线后随时根据业务需求的变化而调整。Compiere 的 E2IT 实施快车道包括
评估(Evaluation)、培训(eLearning)、实施(Implementation)、上线
(Transition)这4个顺序相连的步骤。E2IT 实施方法适用于包括 Compiere 系统在
内的所有敏捷型 ERP 系统。
一个敏捷型 ERP 实施的案例
生存问题并非是上线敏捷型 ERP 的原始驱动力。去年英国的马托尔零售店 CIO 詹姆
斯.麦克鲁夫为公司构建了电子库存追踪系统,随之公司新增了120名雇员。没有人向
麦克鲁夫兜售敏捷型 ERP 系统。前任 CIO 达尔夫.爱尔兰在位时,公司有
5,000,000英镑的 IT 预算并增加了4名 IT 专家。但自从麦克鲁夫加入马托尔零售店
以后,情况发生了变化,巨额的IT 预算已经无用武之地,敏捷型 ERP 被作为考虑的
重点。
他很快就体会到敏捷型 ERP 是一种直接、简单且高效的做法。敏捷型 ERP 系统是为
雇员数量少于5000名(收入在2亿美元到5亿美元)的中小企业提供的企业级应用。同
样的功能"财富"500强的企业却花了几年时间才完成。"敏捷型 ERP 是想体验快速增长
的唯一解决方案。"麦克鲁夫说道。
"大多数企业对业务流程并没有规范的定义,或者没有高效的定义。"纳尔逊补充道,"
因此,敏捷型 ERP 的市场目标非常明确。"
敏捷型 ERP 之优点
决定采用敏捷型 ERP 通常是 CIO 们。确定要上线实施通常是需要说服高级主管们
的。
"一旦 CEO 理解敏捷型 ERP 的优势并在实施中的困难阶段给予支持,那么进展就会非
常迅速,毕竟 CEO 确信做了正确的投资。"麦克鲁夫说道。
马托尔零售店的规模决定了麦克鲁夫选择敏捷的 ERP 系统。"为一个拥有6000名雇员
的企业上线敏捷型 ERP 是很具有挑战性的。"麦克鲁夫说道。"首先,这意味着需要替
换掉很多系统,然后需要培训员工如何使用新技术。总而言之,需要做到快速上线
ERP。经过评估,我们确定使用支持快速部署和动态精化实施的 Compiere 解决方
案。Compiere 的免费特性还不是最重要的原因,重要的是 Compiere 支持上线后的任
何调整。"
快速上线 Compiere 已在马托尔获得了成功。整个实施历时3个月。"以 Compiere
ERP & CRM 为基础,我们采用了标准的 E2IT 实施方法,最小化定制工作并且做了充
分的扩展测试。"麦克鲁夫补充道。"这比采用类似的传统 ERP 系统节约了10%的成
本,一些工作被集中到同一个人,公司的业务流程与之前相比具备更高的效率。"
实施的速度也比在线的 ERP 系统要快,在线 ERP 是另一种对中小企业很有吸引力的
解决方案。"整个后台应用采用租赁的方式,直接通过 Citrix 终端技术进行访问。"
纳尔逊说道。"如何减轻雇员和主管们的超量工作压力呢?提供完整的应用将生产、管
理、配送、产品计划等子系统集中到同一数据库当中。"
总之,毫无疑问在线 ERP 的方式对中小企业很有吸引力。就像位于波士顿的 IT 研究
与顾问公司 Aberdeen 组织的副董事长大卫?埃斯库罗所讲,"这种方案可以避免建立
硬件和网络等基础设施的投入。"
接下来,就像 Alschuler 一样,需要放弃已有系统的部分控制流程。这也正如纳尔逊
所说:消除"无价值的冗余工作",这对企业是有益的。"敏捷型 ERP 取代了人工对需
求的检测和对成本、开支的监控,"纳尔逊说道。"许多雇员被更换了岗位并重新安排
到新的工作当中,少数人会不幸地被解雇。"
成功实施的因素:敏捷型 ERP 并非适合所有的企业
"最适合会发生快速变动的动态产业。"纳尔逊说。"上榜名单最多的是技术产业,其次
是零售、服务行业、电信以及近期的能源和电子工业(由于其正在发生的变动和不稳
定的管理环境)。"
纳尔逊认为运输、铁路和化工业也比较适合敏捷型 ERP。
最后一个备受关注的问题,就是如何选择最好的敏捷型 ERP 供应商。必须注意的是,
敏捷型 ERP 最好支持 E2IT 实施方法。
麦克鲁夫建议评估多个敏捷型 ERP 供应商。"如果你想有好的交易,就应当多评估。
可能有更廉价的供应商,同样提供一些高效且高质量的服务。"他说道。"不要略过评
测阶段。花时间确定有没有问题并且雇员是否能够适应这种技术是非常值得的。"
埃斯库勒推荐寻找具有相关行业经验的专业系统集成商。
麦克鲁夫庆幸自己当时选择了开放的敏捷型 ERP 系统 Compiere。就像任何主流技
术,谨慎的计划都是必不可少的。麦克鲁夫提醒 CIO一定要细致地做好方方面面的工
作,敏捷型 ERP 定会不负众望。

Compiere 安装在Debian下Oracle安装及配置

1 安装准备
1.1 系统的准备
本文是在Debian linux下Oracle10g的安装笔记。我假设您已经成功的安装并配置了
Debian Linux。
1.2 依赖包的安装
在开始Oracle的安装之前,请您确保您至少已经安装了以下软件包。
make gcc g++ libc6-dev
注意:我不确 定,您是否只需要安装以上软件包,但我可以确定的是,您必须安装
以上软件包。^_^。软件包的安装: apt-get install make gcc g++ libc6-dev
1.3 创建用户和组
oracle安装需要两个unix用户组和一个运行时的oracle用户。
以root登录:
[root@james]# groupadd dba
[root@james]# groupadd oinstall
[root@james]# useradd -g oinstall -G dba -m oracle
[root@james]# passwd oracle
1.4 创建目录
有很多文档,建议您将oracle安装到一个独立的分区上面。比如:/opt。请您根据
您的需要选择合适自己的安装目录。在本文档中,我们假设 oracle的安装目录为
/usr/local/ora10。
确保有至少3.5G的可用空间。
[root@james]# mkdir -p /usr/local/ora10/product/10.1.0
[root@james]# mkdir /var/opt/oracle
[root@james]# chown oracle.dba /var/opt/oracle
[root@james]# chown -R oracle.dba /usr/local/ora10
[root@james]# chmod 755 /var/opt/oracle
您生成了oracle的运行时路径,并且授写权限给oracle用户,执行权限给dba组。
1.5 设置内核参数
1.5.1 修改sysctl.conf
添加如下的行到/etc/sysctl.conf中:
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
注:shmmax是一个很重要参数,根据您的机器的内存来设定。如果您设置不合适的
话,在创建数据库到约76%的时候就会挂掉。祝您好运。^_^
1.5.2 修改limits.conf
添加下面的行到/etc/security/limits.conf以修改你的资源限制:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
1.5.3 让修改生效
修改了以上文件后,您必须让其生效,您重启系统,或者用以下的方式改变内核运
行参数:
[root@james]# echo 250 32000 100 128 > /proc/sys/kernel/sem
[root@james]# echo 536870912 > /proc/sys/kernel/shmmax
[root@james]# echo 4096 > /proc/sys/kernel/shmmni
[root@james]# echo 2097152 > /proc/sys/kernel/shmall
[root@james]# echo 65536 > /proc/sys/fs/file-max
[root@james]# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
1.6 设置Oracle用户环境
以oracle用户登录:
%su – oracle
修改~/.bash_profile文件,去掉下列三行的注释符,使.bashrc文件生效:
#if [ -f ~/.bashrc ]; then
# . ~/.bashrc
#fi
添加下列行到~/.bashrc:
# oracle 10g
export ORACLE_BASE=/usr/local/ora10
export ORACLE_HOME=/usr/local/ora10/product/10.1.0
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=compiere
export ORACLE_TERM=xterm
# Edit paths
export LD_LIBRARY_PATH=/usr/local/ora10/product/10.1.0/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/ora10/product/10.1.0/bin:$PATH
# Set DISPLAY
export DISPLAY="127.0.0.1:0.0"
我是将上面的内容保存到另一个文件中,.bash_oracle,然后在.bashrc中使用
source .bash_oracle进行调用 的。您可以根据您的好恶进行设置。您需要注意的
是,ORACLE_BASE和ORACLE_HOME的设置一定得和您在前面创建的目录相符。
ORACLE_SID是默认数据库的名称,在本文档中,我们假设默认的数据库名叫
compiere,如果您想用其他的名字,请您作相应的修改。
在有些文档中,还建议您需要设置一些其他的内核参数。但是我在安装的时候,没
有设置。我的内核是2.6.8。
差别忘记,您还得把. bash_profile文件中的umask=022这一行前的注释符去掉。
1.7 设置DISPLAY
我想您肯定是不想以Oracle用户登录,启动X窗口来进行安装的啦。如果您想直接以
oracle用户启动X,进行安装,您可以忽略这一步。
我们假设我们以一个普通用户james来启动gnome。那么,如果您要以oracle用户的
身份来进行安装,则您必须首先启用X的TCP/IP连接。
Debian下默认关闭了TCP/IP连接,所以首先要打开X的TCP/IP连接。
在/etc/X11/xinit/xserverrc文件中,您将会看到下面这一行:
exec /usr/bin/X11/X -dpi 100 -nolisten tcp
去掉其中的nolisten,然后重启就OK了。
作为普通用户,打开TCP/IP连接后可能连不上X服务器。需要在用户
的.bashrc(/home/james/)中添加下面这一行:
alias startx='startx -- -deferglyphs 16'
然后,您切换到root用户下,添加127.0.0.1的X连接权限:
shell$sudo su -
shell#xhost +127.0.0.1
然后,您就可以继续下一步啦。
请注意:如果您重启系统后,必须 再次执行
xhost +127.0.0.1
2 执行安装
2.1 交换分区的调整
差点忘了,为了安装Oracle 10g,oracle推荐至少512M内存和至少400M交换空间。内
存,好象不够关系也不大,但是交换分区 呢,您还是大方一点吧。如果您的交换分区
不够400M,那么您还是先看看这一步吧。
重设交换分区可以使用如下操作:
shell# dd if=/dev/zero of=tmp_swap bs=1k count=900000
shell# chmod 600 tmp_swap
shell# mkswap tmp_swap
shell# swapon tmp_swap
完成安装以后,可以释放这个空间:
shell# swapoff tmp_swap
shell# rm tmp_swap
count值是根据您需要调整的交换分区大小而定。
2.1 运行Installer
终于可以安装了。我们假设下载的安装文件位于/home/oracle下,名称为
ship.db.cpio.gz
shell#su - oracle
shell>gunzip ship.db.cpio.gz # 目录下会生成ship.db.cpio文件
shell>cpio -idmv < ship.db.cpio # 执行完以后,会生成Disk1目录
shell>cd Disk1
shell>./runInstaller -ignoreSysPrereqs # 因为我们是在debian下,所以必须忽
略系统检测
接下的一般选择默认设置就可以了。
注意:
A.安装过程中,会提示让您以root用户执行相应的脚本,请您必须选以root身份执
行完脚本,然后继续安装。
B.创建数据时请选择编码需要选"Unicode standard UTF-8 AL32UTF8"。如果您不设
定 UTF 8的编码格式,则您在后面汉化Compiere的时候将会出错。
3 数据库设置
数据库要正常启动,包括两个方面:启动数据库实例,启动侦听。
您可以手动的启动数据库实例,但是我们推荐您用dbstart命令来启动数据库实例。
以dbstart启动数据库实例需要做如下两步操作:
A、需要修改/etc/oratab,将想自动启动的数据库(compiere)所在行的"N"修改为
"Y"。
B、cp $ORACLE_BASE/admin/compiere/pfile/initcompiere.oraXXX
$ORACLE_HOME/dbs/initcompiere.ora
其中XXX为一长串字符串,随机产生。
然后执行dbstart就可以自动启动了。然后使用lsnrctl启动侦听。
4 常见问题
暂无

compiere 常见144个问答

問: Compiere 基於什麼技術平臺開發?
答: Compiere 基於 Java 平臺開發而成,使用的應用伺服器和資料庫伺服器分別為 JBoss 和 Oracle。因此,Compiere 的伺服器端與用戶端均具備跨平臺的優勢。
問: Compiere 支援哪些資料庫,是否資料庫無關?
答: 目前,Compiere 只支援 Oracle 資料庫。Compiere 使用的嵌入式事務處理,主要在 DB/2 和 Oracle 這樣的資料庫中才支援。Compiere 2.5.2e 尚不支援 PostgreSQL、MySQL 等資料庫系統。
問題是:真的有此需要嗎?Compiere 免費,Oracle Standard Edition One 永久授權適用於 Oracle 9iR2 和 Oracle 10g,授權費用為 $149 每用戶或 $4,995 每處理器(至多2處理器)。
Compiere 未來版本將支援更多的資料庫和應用伺服器。
問: Compiere 可以執行於哪些作業系統?
答: Compiere 可執行於任何啟用 Java 的作業平臺,包括 Windows、Unix、Linux 和 Mac 等。
問: Compiere 使用了哪些軟體發展工具?
答: 在原型開發階段,使用了 Visual J++ 與 SQL Server。
隨後的正式版本遷移至 Sun Java 1.4 和 Oracle 9i 資料庫上來,且基於 J2EE 開發,用到了 Rational、Embarcadero 的工具和 JBuilder 整合開發環境。現整合開發環境已經由 JBuilder 遷移至 Open Source 的 Eclipse。
問: Compiere 支援的 Oracle 資料庫版本有何要求?
答: Compiere 2.5.2e 及以後版本,要求使用 Oracle 10g。
問: Compiere 安裝步驟有詳細的說明嗎?
答: 有。詳細的安裝指南,請參見這裏。
問: Compiere 的客制與擴展有教程說明嗎?
答: Compiere 的客制與擴展,包括一般客制、增加額外的資料欄位、增加額外的業務邏輯、新功能、介面、新報表等。一般性的指導請參見這裏,更多的實施客制請參見這裏,更多的開發客制請參見這裏。
問: Compiere 的原始碼編譯,在你們公司內部由什麼工具完成?
答: 我們內部使用的 Compiere 原始碼編譯工具是 Eclipse(參考站點),但您也可使用其他任何 Java IDE(例如免費開發工具 Sun NetBeans 和商業開發工具 Borland JBuilder)。
問: Compiere 是否提供 Java 編程文檔?
答: Compiere 原始碼中有豐富的文檔說明(英文)。
我們為金牌合作夥伴提供完整的 Java API 應用編程介面的中文文檔。
問: Compiere 是否提供資料庫建模的文檔?
答: 您可下載資料庫模型檔(ER Studio 6 格式),或使用您喜歡的資料庫建模工具將 Compiere 資料庫反向工程,得到 Compiere 資料庫模型。
我們為金牌合作夥伴提供完整的資料庫 E-R 模型的中文文檔。
問: Compiere 使用的應用伺服器 JBoss 的版本是多少?
答: 目前最新的穩定版 Compiere 2.5.2e,Compiere Server 所使用的 JBoss 為 JBoss (MX MicroKernel) [3.2.3 (build: CVSTag=JBoss_3 _2_3 date=200311301445)] 版。
問: Compiere 的語言包對伺服器端和用戶端的作業系統語言有何要求?
答: Compiere 的語言包(如簡體中文、繁體中文、日文等亞洲語種)要求 Oracle 資料庫的字元集為 Unicode,請參考 Compiere 安裝指南中關於 Oracle 安裝的指導說明。無論 Compiere 伺服器端所執行的作業系統是何語言版本,均可將 Compiere 語言包正常安裝匯入。
Compiere 用戶端所執行的作業系統語言不必與相應的語言包相對應。例如,Compiere 伺服器端(執行於 Windows 2000 Server 英文版)上安裝了簡體中文語言包,而 Compiere 用戶端執行于繁體中文的 Windows XP Professional 上,那麼只要在繁體中文 Windows XP Professional 的語言顯示設置中選擇了「簡體中文」,即可正常使用簡體中文介面(可以輸入繁體中文的資料)。
如果在 Compiere 伺服器端同時安裝簡體中文和繁體中文語言包,則無論簡體中文、繁體中文還是英文的用戶端作業系統(Windows 2000/XP/Linux 等),都可看到自己所選擇的用戶介面語言。
問: Compiere Server 能否執行為 NT Service?
答: 可以。Compiere 2.5.0d 及更高版本均直接支援以 NT Service 方式執行 Compiere Server(JBoss應用伺服器)。
安裝 - 在 %Compiere_Home\utils\windows 目錄下,執行 Windows_Service_Install.bat 腳本即可將 Compiere Server 安裝為 NT Service。安裝完成後,您可以在 Windows NT/2000 的 Services MMC(「服務」管理控制臺)中看到 Compiere 服務。
卸載 - 如果要卸載 NT Service,只需執行 Windows_Service_Uninstall.bat 腳本即可。
注意,只有 Compiere 2.5.0d 及更高版本中存在 utils\windows 目錄。如果您使用的是較低版本,請將 Compiere 2.5.0d 或更高版本中的 utils\windows 目錄複製到您的相應目錄下,同樣可使用此方法將 Compiere Server 執行為 NT Service。
問: Compiere Server 能否執行為 Linux Daemon
答: 可以。請參考 Linux Daemon 編寫文檔。
問: Compiere 原始碼中各工程的編譯(Build)順序是什麼?
答: Compiere 原始碼中各工程的編譯(Build)順序如下:
Looks、data、db、jboss、tools、dbport、print、base、ServerApps、server、interfaces、serverRoot、extend、client、install、webStore、doc。
問: 中文語言包安裝以後,為什麼主功能表的根節點「Menu」仍然是英文?
答: 該節點不是翻譯項,因此它不屬於語言包。
如果您需要將根節點的「Menu」字樣更改為中文,請執行功能表命令總體規則→系統規則→樹與節點圖片,更改「Menu」的名稱為「功能表」或「菜單」( 繁體或簡體,與使用的語言包相對應)即可。
問: Compiere 的 Web 用戶端默認超時時間能否修改,以免自動註銷?
答: 可以。請查找 serverApps\src\main\servlet\org\compiere\www 目錄下的 WEnv.java 文件,並定位至:
/** 超時 - 15 分鐘 */
public static final int TIMEOUT = 15*60;
修改上面的代碼,再重新編譯原始碼。然後重新執行 RUN_setup 腳本(需停止 Compiere Server),再啟動 Compiere Server 即可工作。
問: Compiere 的原始碼如何下載?
答: 您可在源碼與工具下載頁面找到原始碼本地下載的鏈結。
或者,您可使用如下的 CVS 下載命令:
下載 Compiere Source 2.5.2c 版本
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/compiere co -r release_252c compiere-all
下載 Compiere Source 最新版
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/compiere co compiere-all
下載 Compiere Source 指定日期戳下的版本
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/compiere co -D 2003-11-30 compiere-all
更多的 CVS 幫助,請參看 CVS 手冊和 CVS 常見問題解答。
問: Compiere 的功能覆蓋已經非常多,但如果我們需要擴展 Compiere,應該如何做呢?
答:
如果您需要客制 Compiere,無論是現有功能還是全新的功能,通常不需要編寫 Java 程式。詳細的步驟請見實施培訓課程 (詳情請參閱合作夥伴權益)。
如果需要增加新的業務邏輯規則,則只需通過 Process/Callout 技術編寫原始碼並重新編譯即可完成。您可以使用 Open Source 的整合開發環境 Eclipse,或 Borland JBuilder 這樣的商業開發工具。
問: Compiere 能夠跨 Internet 部署嗎?
答:
Compiere 的用戶端有 Web 和 Application(應用程式)兩種。雖然 Web 版本對 Internet 存取沒有問題,但截止 2.5.2e 版本 Web 用戶端仍然處於 Beta 測試階段,因此我們推薦用戶使用全功能的應用程式用戶端。
Compiere 應用程式用戶端支援跨 Internet 部署,讓您的用戶在任何地點、任何時間都可登入 Compiere 系統。
問: 聽說執行於 JVM(Java 虛擬機)上的應用程式速度較慢,不知 Compiere 用戶端應用程式是否較慢?
答:
Compiere 的 用戶端應用程式使用了快取記憶體(Cache)技術,大大加速了視窗的開啟速度。用戶在首次開啟某視窗時,稍慢一些,但再次開啟該視窗的速度則大大加快。另外,用戶通常會在工作時將自己最常用的視窗一直保持開啟狀態,以提高工作效率。隨著電腦速度的不斷提高, 以 Intel P4 2.0 GHz CPU、256 MB 記憶體的桌面 PC 為例,其執行 Compiere 用戶端應用程式的速度與 Microsoft Office 的回應速度基本無異。
問: Compiere 解決方案是否支援負載均衡(Load Balancing)?
答:
Compiere 系統可以支援負載均衡。應用伺服器 JBoss 可配置為支援 Cluster,Oracle 伺服器也可配置為 Cluster。但在實際使用中較少用到。事實上,一台 Pentium 4 2.4GHz CPU、1 GB 記憶體、7200 RPM IDE 硬碟的 PC 上同時安裝應用伺服器和資料庫伺服器,一般可以支援50個以上的併發用戶數。
如果需要支援上百個甚至數百個的併發用戶數,則需要對 Oracle 和 JBoss 的性能調優。
問: Compiere 是否提供調試追蹤資訊?
答:
Compiere 提供 Trace Log,並有不同的 Level 可供選擇。
問: 原始碼確實是完整的嗎?
答:
是的,原始碼確實完整、無隱瞞。與其他聲稱 Open Source 的 ERP 或 CRM 相比,Compiere 未將任何重要業務邏輯或系統邏輯封裝於二進位元件之中,提供 100% 的原始碼。
您可以編譯從 CVS 上所下載的特定版本的原始碼(請參閱源碼與工具),所得到的 Compiere 部署檔與直接下載的 Compiere 安裝包除 jar 檔簽名不同外,其他完全相同。
問: Compiere 可以脫離 JBoss 執行嗎?
答:
Compiere 2.5.2x 將支援應用伺服器無關的特性,屆時您可以部署其他應用伺服器。
目前,會計、請求、計畫、預警等相關功能需要 JBoss 伺服器(即 RUN_Server2 腳本執行)。工作流引擎也在 JBoss 伺服器上實現。因此,您應當在使用 Compiere 系統時保持 RUN_Server2 處於執行狀態。
問: 在 Linux 下如何設置 JAVA_HOME 環境變數?
答:
您需要編輯路徑變數。您也應當在系統變數清單中看到它。只需附加下述指定的行至您的路徑變數:%JAVA_HOME%/bin。
以 Redhat Linux 為例,要設置 JAVA_HOME 及路徑變數,請執行:
編輯用戶主目錄(即 /home/username )下的 .cshrc 和/或 .bashrc;
檢查 JAVA_HOME 及 PATH 變數是否被正確導出。在該檔中,應當有類似這樣的行:
- export JAVA_HOME *您的 Java SDK 安裝目錄* (即 /usr/j2sdk1.4.2_04)
- export PATH *您的 Java SDK 安裝所對應的 bin 目錄* (即 /usr/j2sdk1.4.4_04/bin:${PATH}
問: 252e 版本的主要更新是什麼?未來何時推出 QuickIT 實施工具包?
答:
請參見 Compiere 版本發佈說明。
我們會在 Compiere 每個新的穩定版本面世的同時,發佈對應版本的 QuickIT 實施工具包。
問: 我知道 Compiere 使用開放原始碼的應用伺服器 JBoss,不知能否部署於 WebLogic/WebSphere 平臺?
答:
Compiere 捆綁了免費、高性能的 JBoss 應用伺服器。截止 Compiere 2.5.2e,WebLogic/WebSphere 應用伺服器尚不在支援之列。
問: Compiere 資料庫邏輯模型是否存在可線上查看的版本?
答:
您可下載 Compiere 的資料庫 E-R 模型。該模型使用 E/R Studio 6 維護。
問: Compiere 支援將銷售訂單轉換為生產訂單嗎?
答:
從 Compiere 2.5.2e 開始,已經提供了從銷售訂單生成生產訂單的功能。
問: Compiere 支援 從生產訂單創建領料單嗎?
答:
從 Compiere 2.5.2e 開始,已經提供了從生產訂單(生產計畫)創建領料單的功能。
問: 在安裝 Oracle 時設置的 System 帳戶口令忘記了,但 RUN_setup 對話方塊中需要填寫,怎麼辦呢?
答:
如果您的確忘記了 Oracle 安裝過程中曾設置的 System 帳戶口令,可使用以下步驟創建新的 Oracle 實例,而無需重新安裝 Oracle:
1. 從開始功能表程式中,啟動 Configuration and Migration Tools --> Database Configuration Assistant(資料庫配置助手);
2. Database Configuration Assistant 嚮導的步驟:創建資料庫 --> General Purpose --> TNS & SID --> 專用或共用 --> 字元集選擇為 Unicode --> 完成;
3. 注意記住輸入的 System 帳戶口令,這在 RUN_setup(「Compiere 伺服器設置」)對話方塊中需要用到。
問: Compiere 應用字典的首碼是什麼含義?
答:
下面的對照表供您參考:
AD_ 應用字典
A_ 資產管理
C_ 實體功能
GL_ 總帳
I_ 匯入
K_ 知識庫
M_ 物料管理
PA_ 績效分析
R_ 請求
RV_ 報表查看器
S_ 服務管理
T_ 臨時
W_ 網上商店
X_ 生成的模型

問: 如何知道 Compiere 應用伺服器(JBoss)是否啟動成功?
答:
JBoss 啟動成功後,您在命令提示視窗中應當看到類似下面的一行:
16:14:40,093 INFO [Server] JBoss (MX MicroKernel) [3.2.3 (build: CVSTag=JBoss_3
_2_3 date=200311301445)] Started in 48s:390ms
問: Compiere Application 能否跨 Internet 部署?
答:
可以。可使用 VPN(虛擬專用網)、Citrix 或 Windows 終端技術部署應用程式用戶端。
問: 當首次登入 Compiere 用戶端應用程式時,需要填寫 Oracle 資料庫用戶名與密碼。這是否不安全?
答:
您不必擔心這個問題。用戶端配置連接參數時,並不需要輸入 Oracle 用戶名與密碼:
安裝好 Compiere 伺服器端後,您應當執行 utils\RUN_Server2 腳本啟動應用伺服器。
您在用戶端設置連接參數時,只需要輸入應用伺服器名稱。如果您在 RUN_setup 過程中修改了默認的1099埠號,則還應當輸入埠號。
點擊測試應用伺服器方塊之後,Oracle 用戶名和密碼會被自動填充。應用伺服器與資料庫伺服器兩個方塊均出現綠色的勾狀。
現在,您可以登入 Compiere 用戶端了。
問: 我使用附件功能時,確定或取消時會彈出一個錯誤消息,提示某字體目錄下的檔不存在。如何解決?
答:
您可下載附件字體補丁,並釋放到消息提示的路徑下,即可解決。
問: Compiere 應用伺服器監控功能如何登入?
答:
通過 http://servername:port/monitor 的 http 驗證登入時,使用 Compiere 的系統管理員帳號與密碼(如默認情形下的 System/System)。登入之後,您會看到這樣的畫面。
問: 中文案例資料庫是否適用於 Oracle 9iR2?
答:
Compiere 2.5.2e 及更高版本,中文案例資料庫支援的資料庫包括 Oracle 10g,詳見安裝說明。
問: Compiere 如果實現資料庫無關,是否意味著會完全丟棄 Oracle 存儲過程?
答:
當前的 Compiere 的確用到了 Oracle 的存儲過程。在資料庫無關的過程中,這些業務邏輯會全部轉移到中間件(應用伺服器)上,使得可以部署于支援 ANSI SQL 92 的絕大部分資料庫。
問: Oracle 資料庫在商業場合使用需要購買授權,它的價格是否較高?
答:
使用 Oracle Standard Edition One 授權方案,10用戶永久授權只需約¥12,500,每處理器永久授權(不限用戶數)只需約¥41,500。
建議30用戶以上的情形購買每處理器的授權方案。Oracle Standard Edition One 授權方案適用於所有作業系統平臺上的 Oracle 9i R2 和 Oracle 10g 版本。
問: Compiere 伺服器端可以部署於哪些作業系統?
答:
以 Compiere 2.5.2e 為例,伺服器端(應用伺服器和 Oracle 資料庫)可以部署的平臺包括但不限於:
Windows - Windows NT/2000/XP/2003。
Linux - Fedora Core 3.0/4.0、RHEL 3.0/4.0 AS/ES/WS、SUSE Linux Professional 9
Unix - Solaris (X86/SPARC)
對於專用於部署 Compiere 伺服器的電腦選用何種作業系統,綜合考慮授權費用、維護成本和可靠性,我們推薦:
Windows 平臺 - Windows Server 2003, Web Edition
Linux 平臺 - Redhat Enterprise Linux 3 AS
問: Compiere 的 AD(應用字典)技術有何價值?
答:
簡單來說,AD(應用字典)技術可用於兩個方面:
非編程客制:無需編寫程式,直接在 Compiere 系統實體中客制全新功能,並與現有功能整合
代碼擴展:借助於統一的 AD 技術框架,快速創建新的業務邏輯,無需消耗用戶介面的開發時間
事實上,90% 以上的業務功能客制都可以通過非編程客制完成。有關使用 AD 技術的詳盡範例和技巧,請參考 Compiere 實施顧問培訓課程。有關使用 AD 架構擴展複雜應用的文檔,請參考 Compiere 開發人員參考大全。
問: Compiere 是否提供提醒功能?
答:
是的。您可以定義需要在何種情形下被提醒,Compiere 會在條件滿足時自動發送包含詳細資訊的電子郵件,已定義好的用戶則收到提醒。有關提醒設定,請見 Compiere 中文用戶指南。
問: 我們需要使用 Compiere 完成我們的所有管理,其中就包括客戶訂購,我們的客戶包括某行業的全部企業,數量在萬家乃至十萬家以上。請問 Compiere 能否同時支援如此眾多的用戶?
答:
如果必須讓數萬客戶通過 Internet 線上登入、查詢和提交業務往來的單據(如報價單、銷售訂單、發貨單),則不推薦使用 Compiere,請評估 SAP、Oracle E-Business Suite 或 Siebel 等解決方案。
Compiere 對超過1000個併發用戶的支援,需要特別的優化,因此我們不推薦用戶在這種高容量業務需求下使用 Compiere。
問: Compiere 什麼時候支援資料庫無關和應用伺服器獨立?
答:
從 Compiere 2.5.2x 版開始,將逐步引入對資料庫無關和應用伺服器獨立的支援。
問: Compiere 是否支援 Java SDK 1.5?
答:
截至 Compiere 2.5.2e,我們建議使用 Java SDK 1.4.2_08。
問: 我們需要客制新的 Master/Detail 型別的視窗,能否提供範例代碼?
答: 金牌合作夥伴可以獲得這樣的範例代碼及技術開發支援,在合作夥伴專區線上提問即可。
問: 我公司有較多分支機搆,除少量報表外不允許功能上的客制。Compiere 能夠做到嗎?
答: 可以。Compiere 的角色授權可以防止業務功能上的隨意客制。
問: 總部及閘店之間發生採購關係,門店產生採購訂單,總部則產生了銷售訂單;還有其他反向單據如發貨單/收貨單、應收/應付的處理。Compiere 的會計模組能夠自動過帳處理嗎?
答: 可以,Compiere 支援(自動)反向單據。會計分錄自動過帳時,借項和貸項(Dr/Cr)是相反的。
問: 分公司、辦事處的能否獨立核算,生成各分支機搆在某段時間內的收支報表?
答: 可以。Compiere 報表完全支援這樣的統計分析。
問: Compiere 今後將支援哪些資料庫?
答: Compiere 今後將陸續支援 Sybase ASE、Microsoft SQL Server、IBM DB2、Cloudscape(開放原始碼)等資料庫。