OFBiz steht für "Open For Business" und ist ein Open Source Root-Projekt der renommierten, ehrenamtlich arbeitenden Apache Software Foundation. Es handelt sich dabei um eine betriebswirtschaftliche Standardsoftware, die frei verfügbar ist, bereits sehr umfangreiche Anwendungen für komplexe E-Commerce-Prozesse im Internet enthält und (mit Hilfe von Dienstleistern) flexibel an eigene Bedürfnisse angepasst werden kann.
OFBiz ist eine Suite von einzelnen Unternehmensanwendungen (also ERP, CRM, E-Commerce usw.) für verschiedene Aufgaben. Auch wenn OFBiz mit geringem Installations- und Konfigurationsaufwand OOTB (out of the box) verwendet werden kann, handelt es sich im Grunde nicht um eine pfannenfertige Lösung. Vielmehr ist OFBiz ein Java-basiertes Framework, welches durch ein von allen Anwendungen gemeinsam genutzes Datenmodell und einen Business Process ergänzt ist.
Das Framework basiert auf einem Unternehmensdaten-Modell, in das mehr als 100 Mann-Jahre eingeflossen sind und somit den Ruf hat, sehr leistungsfähig und flexibel zu sein. Es stellt die gesamte Basisinfrastruktur bereit, auf der die Funktionalität von OFBiz aufbaut.
Folgende Dokument auf der OFBiz Homepage geben einen Überblick (in Englisch)
Business-Module von Apache OFBiz
Die folgende Grafik gibt einen Überblick über die wichtigsten für das geplante Projekt evtl. relevanten Business-Module von Apache OFBiz:
Abbildung: Überblick Business Module von Apache OFBiz
Modul Akteur (Party)
Der Bereich Akteur dient der Pflege der gesamten Kunden-, Lieferanten- und Mitarbeiterdaten. Als Akteur wird in OFBiz entweder eine einzelne Person oder eine Gruppe von Akteuren bezeichnet. Eine Gruppe von Akteuren kann z.B. eine Unternehmung, eine Organisationseinheit einer Unternehmung oder ein Lieferant sein. Zu einem Akteur können in OFBiz beliebige Kontakt-Informationen bestehend aus Postadressen, Telefonnummern, Faxnummern, E-Mailadressen und Webadressen hinterlegt werden. Zudem können einem Akteur verschiedene Rollen zugewiesen werden z.B. die Rolle Kunde, Rolle Lieferant oder Rolle Angestellter. Diese Rolleninformationen werden dann u.a. für die Sicherheitsberechtigungen verwendet. Ebenfalls den Akteuren zugewiesen werden Informationen zur Kundenkommunikation (Klassifizierung der Kunden, Mailinglisten, Kundenanfragen etc.).
Modul Produkt (Product)
Im Modul Produkt werden die Daten zu den Produkten, dazugehörige Kategorien und den Katalogen gepflegt. Produkte können Güter oder Dienstleistungen sein, wobei unterschiedlichste Arten von Gütern abgebildet werden können (z.B. Rohmaterialien, Zwischenprodukte, Fertigprodukte). Zu einem Produkt können verschiedenste Informationen hinterlegt werden (Beschreibungen, Abmessungen, Preise, Kosten, Lieferanten, Verknüpfung zum Lager, Produktverfügbarkeit z.B. Verkaufsstart, Warnhinweise). Produkte können verschiedenen Produktkategorien zugewiesen werden, wobei ein einzelnes Produkt in verschiedenen Kategorien enthalten sein kann. Diese Kategorien können wiederum verschiedenen Katalogen zugeordnet werden. Ein Produktkatalog stellt dabei einen Startpunkt im Webshop für ein Gruppe von gleichartigen Produkten dar. Diese Strukturierung der Produkte mittels Kategorien und Katalogen erlaubt einen äusserst flexiblen Aufbau des Webshops.
Im Bereich Produkt können ebenfalls Promotionen definiert werden. Mit den Promotionen können u.a. die Preise der Produkte angepasst werden oder es besteht die Möglichkeit 2 für 1 Aktionen usw. abzubilden. Promotionen können für verschiedene Produkte definiert und bereits im voraus terminiert werden (z.B. Laufzeit der Promotion vom 01.01.2007 bis 31.01.2007). Zudem können ganze Kategorien mit generellen Preisregeln angepasst werden, z.B. Spezialrabatt auf alle Produkte einer Kategorie.
Modul Webshop (Webshop)
Das Webshop Modul bildet einen vollständigen Webshop mit Warenkorb, Katalogen, Suchfunktionen, Einkaufslisten etc. ab. Der Webshop kann problemlos als Closed-User-Group für die Benutzer des Vaccine eShopseingerichtet werden, so dass nur berechtigte Benutzer Zugriff auf den Shop erhalten.
Modul Bestellung (Order)
Das Modul Bestellung dient der Bestellabwicklung in OFBiz, wobei sowohl Verkauf wie auch Einkauf abgewickelt werden können. Das Modul gibt einen Überblick über die gesamten im System vorhandenen Bestellungen und erlaubt es, die einzelnen Bestellungen zu bearbeiten. Zudem können neue Bestellungen intern direkt über die Auftragserfassung eingegeben werden.
Modul Lager (Facility)
Die gesamte Lagerhaltung wird in OFBiz über ein Modul Lager durchgeführt. Es ist möglich verschiedene Lager zu definieren und entsprechende Lagerbestände an den unterschiedlichen Standorten zu halten. Funktionen zur Kommisionierung von Bestellungen sind bereits vorhanden und erlauben eine effiziente Lagerhaltung.
Modul Versand (Shipment)
Im Bereich Versand bietet OFBiz Integrationen mit Paketdiensten an, so dass für die Benutzer erweiterte Funktionen wie Tracking der Lieferungen (z.B. DHL) möglich sind. Mit OFBiz können dabei Lieferscheine automatisch erstellt werden und je nach Integration mit einem Paketdienst können auch Versandettiketen automatisiert im für den jeweiligen Paketdienst gültigen Format erstellt werden.
Modul Buchhaltung (Accounting)
Im Modul Buchhaltung werden Funktionen zur Rechnungsstellung, Abbildung von Verträgen und für die generelle Buchführung angeboten.
Modul Sicherheit (Security)
Das Sicherheitsmodul wird für die Zugriffskontrolle auf die verschiedenen Bereiche des Systems verwendet und enthält die Benutzeraccounts, Benutzerhistory, Sicherheitsberechtigungen, Sicherheitsgruppen, Sicherheitsrollen etc. Jeder Akteur kann unterschiedlichen Sicherheitsgruppen zugewiesen werden, so dass eine fein granulare Abbildung eines Sicherheitskonzeptes mit OFBiz durchgeführt werden kann.
Weitere Module
Es existieren zurzeit noch folgende weitere Business-Module:
- Marketing
- Workeffort
- CRM
- Human Resources
- Content
Technisches Framework von OFBiz
Datenmodell von OFBiz
Die in OFBiz verwendeten Datenmodelle basierend auf den in den beiden Büchern "The Data Model Resource Book, Revised Edition, Volumes 1 & 2" spezifizierten Datenmodellen. Ziel dieser Modelle ist es, generische Datenmodelle zu definieren, welche in allen Arten von Unternehmen zum Einsatz gelangen mit dem Anspruch, dabei rund 80% der in allen Fällen benötigten Funktionalitäten abbilden zu können. Ein solcher Ansatz erlaubt es, den Analyseaufwand auf die jeweils wirklich unternehmensspezifischen Datenstrukturen zu legen und nicht in jedem Projekt Basisentitäten zu analysieren und definieren (z.B. Adressen, Kundenverwaltung, Bestellungen).
Serviceorientierung von OFBiz
Die Funktionen in OFBiz werden wo immer möglich über Services angeboten (Service Orientierte Architektur). Dies erlaubt es, bei Erweiterungen auf einen grossen bereits vorhandenen Service Katalog zuzugreifen. Wenn auf diese Weise selber Services implementiert werden, stehen diese automatisch allen anderen OFBiz Modulen zur Verfügung
XML in OFBiz
Die gesamten Datenmodelle und die Services werden in OFBiz als XML-Dateien definiert. OFBiz basiert auf einem generischen, in Java implementierten Kernbereich. Die restlichen Funktionen werden dabei wo immer Möglich in XML-Strukturen oder mittels einfacher Scripting Funktionen implementiert.
Vorteile von OFBiz
- Da OFBiz OpenSource-Software ist, können Komponenten bei Bedarf viel einfacher und genauer an die Bedürfnisse einer bestimmten Unternehmung oder Anwendung angepasst werden als dies mit kommerziell vertriebener Software möglich ist.
- Durch die Beteiligung der grossen Benutzergemeinde von OFBiz an der Entwicklung wird gewährleistet, dass diese Entwicklung immer und überall dort kontinuierlich voranschreitet, wo es nötig ist und nicht auf die von Bereich zu Bereich schwankende Aufmerksamkeit eines einzigen Herstellers angewiesen ist.
- OFBiz ist modular aufgebaut und durch die Serviceorientierte Architektur (SOA) sehr flexibel an die verschiedensten Anforderungen anpassbar. Das verwendete Unternehmensdaten-Modell ist umfassend in den Büchern "The Data Model Resource Book, Revised Edition, Volumes 1 & 2" dokumentiert.
- Das Framework von OFBiz (Entitäten, Services) kann mit komplexen Datenmodellen umgehen (>500 Tabellen) und wird auch in kommerziellen Produkten seit längerem erfolgreich eingesetzt (z.B. das Bugtrackingsystem Jira verwendet die Entity-Engine für die Persistenz).
- Eine Entity Engine ermöglicht ein einfaches Modellieren und Verwenden von relationalen Geschäftsdaten. Dabei werden Entitäten lediglich in simplen XML-Dateien definiert. Auf entitätsspezifischen Persistenzcode kann gänzlich verzichtet werden.
- Es fallsen keine Lizenzkosten (Open Source).
- Der Quelltext des gesamten Systems ist verfügbar, was insbesonders hilfreich ist im Bereich der Implementierung von Schnittstellen (z.B. bei Interoperabilitätsproblemen).


