Apache OFBiz

来自开放百科 - 灰狐
2010年8月15日 (日) 03:09Allen (讨论 | 贡献)的版本

跳转到: 导航, 搜索
Ofbiz-logo.jpg

OFBiz 已经正式成为 Apache 的顶级项目: Apache OFBiz

OFBiz商业处理流程

目录

What

OFBiz Architecture
  • OFBiz is a general purpose framework for building software that controls common business processes
  • Unlike many systems which provide abstract software structures, OFBiz attempts to supply a set of data structures and software libraries for managing more concrete business elements such as orders, employees, contracts, and manufacturing processes
  • The OFBiz data schema is based on Len Silverston’s comprehensive survey of industry data modeling practices
  • OFBiz provides more than 700 data classes representing common business structures

Features

  • Advanced e-commerce (integrated catalog, pricing, order and sales management)
  • Customer relationship management
  • Warehouse management and fulfillment (auto stock moves, batched pick, pack and ship)
  • Accounting (invoice, payment and billing accounts, fixed assets)
  • Work efforts (manufacturing, events, tasks, etc.)
  • Content management (product content, web sites, documents, blogging, forums, etc)

Install

$ svn co http://svn.apache.org/repos/asf/ofbiz/trunk ofbiz
$ ant run-install
$ java -jar ofbiz.jar

or

get current version from http://download.huihoo.com/apache/ofbiz/

This will give a base install running on an embedded Derby database and web services listening on port 8080 and 8443

http://localhost:8080/ecommerce
http://localhost:8080/manufacturing
user:admin/flexadmin/demoadmin, password:ofbiz

Technical

OFBiz Technical Architecture
OFBiz Framework

Screens

  • Generic Screens
  • Generic Forms
  • HTML, XSL:FO, XUL
  • Controller

Entity Engine

Entity: small unit of data model

  • Data Model definded in XML: Entitymodel.xml, entitygroup.xml
  • GenericDelegator API
  • GenericValue API
  • Database Independent
  • OFBiz apps work with relational stores directly
  • Entity Engine provides a “ResultSet on steroids”interface to relational data called a GenericEntity

Entityengine.xml, fieldtype.xml, cache properties

  • Schemas and queries are database agnostic
  • A caching infrastructure is provided to accelerate common lookups. Cache sizes can be adjusted on an Entity by Entity basis

Service Engine

Service: small unit of business logic

  • Generic Business Logic defined in XML, Defined in services.xml
  • Dispatcher API
  • Services are exposed as stateless units of functionality with named parameters and can be called synchronous, asynchronous or scheduled
  • Services can be implemented in a variety of languages; The calling interface shields any calling code from the implementation details
  • Services can be delegated to remote machines via SOAP, XML-RPC and other messaging services; OFBiz services can also be externally exposed via the same protocols

Example Service

<service name="quickShipEntireOrder" engine="simple" auth="true" location="org/ofbiz/shipment/shipment/ShipmentServices.xml"
invoke="quickShipEntireOrder">
<description>Quick Ships An Entire Order Creating One Shipment Per Facility and Ship Group. All approved order items are automatically
issued in full and put into one package. The shipment is created in the INPUT status and then updated to PACKED and SHIPPED.
</description>
<attribute name="orderId" type="String" mode="IN" optional="false"/>
<attribute name="originFacilityId" type="String" mode="IN" optional="true"/>
<attribute name="setPackedOnly" type="String" mode="IN" optional="true"/>
<attribute name="shipmentShipGroupFacilityList" type="List" mode="OUT" optional="false"/>
</service>

Workflow

  • SECA
  • XPDL

Products

Products based on Apache OFBiz

Source Code

http://docs.ofbiz.org/display/OFBADMIN/OFBiz+Source+Repository+and+Access

PostgreSQL

OFBiz and PostgreSQL

将 postgresql-8.3-603.jdbc4.jar 放到 ofbiz-trunk\framework\entity\lib\jdbc

createuser -S -D -R -P -E ofbiz 
createdb -O ofbiz ofbiz

修改 ofbiz-trunk\framework\entity\config\entityengine.xml

<delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clear-enabled="false"> 
<group-map group-name="org.ofbiz" datasource-name="localpostgres"/> 
... 
</delegator> 
<datasource name="localpostgres" 
... 
<inline-jdbc 
jdbc-driver="org.postgresql.Driver" 
 jdbc-uri="jdbc:postgresql://127.0.0.1:5432/ofbiz" 
jdbc-username="ofbiz" 
jdbc-password="ofbiz" 
isolation-level="ReadCommitted" 
pool-minsize="2" 
pool-maxsize="250"/> 
</datasource> 

cd $OFBIZDIR

ant run-install // to populate the data in PostgreSQL
java -jar ofbiz.jar

GlassFish

ZK

http://docs.ofbiz.org/display/OFBIZ/ZK+Rich+Client+-+integration+tutorial

OSGi

OFBiz OSGi Integration https://sourceforge.net/projects/ofbiz-osgi/

配置

修改端口: trunk/framework/base/config/ofbiz-containers.xml <property name="port" value="8080"/>

相关链接

Powered by

Ofbiz-cart.png

More User: http://docs.ofbiz.org/display/OFBIZ/Apache+OFBiz+User+Stories

服务公司

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱