38
Open Source Communities: Case Study Enterprise Resource Planning Dr. Michael Wolfinger, Philipp Hamid 1 Donnerstag, 06. Mai 2010

"Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Embed Size (px)

DESCRIPTION

Enterprise Resource Planning (ERP) Systeme erfreuen sich seit einigen Jahren wachsender Beliebtheit im Unternehmensumfeld. Der Anspruch derartiger Systeme liegt in der zentralen Verwaltung aller betrieblich relevanten Prozesse (Einkauf, Verkauf, Produktion, Finanzen, Personalwesen, CRM usw.) bei gleichzeitiger Standardisierung der zugrundeliegenden Arbeitsschritte. Durch die dadurch erzielbare Optimierung der Resourcen ergibt sich für viele Unternehmen der unmittelbare Vorteil, Zeit und Geld zu sparen. Neben den bekannten 'big players' aus dem proprietären Umfeld haben sich in letzter Zeit einige community-basierte Open Source Projekte im ERP-Bereich etabliert, die speziell auf die Bedürfnisse von KMU/EPU maßgeschneidert sind. Diese glänzen neben ihrer funktionalen Modularität und Kosteneffizienz vor allem durch Flexibilität hinsichtlich der abzubildenden Geschäftsprozesse. Community-basierte Projekte wie Tryton (www.tryton.org) haben durchaus das Potential, den kommerziellen Produkten in Zukunft den Rang abzulaufen.

Citation preview

Page 1: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Open Source Communities:Case Study Enterprise Resource Planning

Dr. Michael Wolfinger, Philipp Hamid

1Donnerstag, 06. Mai 2010

Page 2: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Übersicht‣ Enterprise Resource Planning - Einleitung

‣Marktübersicht

‣ OpenERP

‣ Tryton

‣ Case Study “Neso”: ERP für Ein-Personen-Unternehmen (EPU)

‣ Case Study “medical”: Electronic Medical Record (EMR)

2Donnerstag, 06. Mai 2010

Page 3: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

ERP Einleitung

Enterprise Resource Planning bezeichnet die unternehmerische Aufgabe, die in einem Unternehmen vorhandenen Resourcen (Kapital, Betriebsmittel oder Personal) möglichst effizient für den betrieblichen Ablauf einzusetzen und somit die Steuerung von Geschäftsprozessen zu optimieren.

Quelle Wikipedia: http://de.wikipedia.org/wiki/Enterprise_Resource_Planning

3Donnerstag, 06. Mai 2010

Page 4: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

ERP Einleitung

Ausprägungen:

‣ fachlich (Branche)

‣ Skalierbarkeit (Größe des Unternehmens)

‣ Funktionsumfang

‣ Technologien

4Donnerstag, 06. Mai 2010

Page 5: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

ERP EinleitungAllgemeines:

‣ unterschiedliche Datenbanksysteme (Microsoft Access, PostgreSQL, MySQL, DB2, Oracle, Microsoft SQL Server)

‣ immer mehr webbasierte Systeme - dadurch unternehmensexterner Zugriff möglich

‣ Fokus: Zeit- und damit Kostenvorteil

‣ serviceorientierte Architektur (über Unternehmensgrenzen hinaus)

‣ ERP spiegelt das Unternehmen wider (Konzern sehr komplex; KMU Branchen spezifisch und kompakt)

5Donnerstag, 06. Mai 2010

Page 6: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

ERP Einleitung

Funktionsbereiche:

‣Materialwirtschaft (Beschaffung, Lagerhaltung, Disposition, Bewertung)

‣ Produktion

‣ Finanz- und Rechnungswesen

‣ Controlling

‣ Personalwirtschaft

‣ Forschung und Entwicklung

‣Verkauf und Marketing

‣Stammdatenverwaltung

6Donnerstag, 06. Mai 2010

Page 7: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Kommerzieller Markt ERP-Software

2,2%3,1%3,2%3,2%

7,9%

13,8%

22,6%

Marktanteil 2006 weltweit

SAPOracleInforLawson SoftwareMicrosoftIFS ABAgresso

Quelle Wikipedia: http://de.wikipedia.org/wiki/Enterprise_Resource_Planning

7Donnerstag, 06. Mai 2010

Page 8: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Kommerzieller Markt ERP-Software

0,3%0,4%3,8%

0,4%5,5%

0,9%

54,8%

Marktanteil 2006 Deutschland

SAPOracleInforLawson SoftwareMicrosoftIFS ABAgressoSageExact SoftwareHyperion

Quelle Wikipedia: http://de.wikipedia.org/wiki/Enterprise_Resource_Planning

8Donnerstag, 06. Mai 2010

Page 9: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Vorteil offener Systeme für Kunden

‣ 100% Transparenz: testen vor dem Kauf

‣ Kunde kauft ein Service, keine Lizenzen: Investition fließt direkt in die Entwicklung bzw. Servicierung des Produktes

‣ Kunde hat die Möglichkeit, sich zwischen Investition in Zeit oder Geld zu entscheiden

‣ Kunde profitiert von den Entwicklungen der Community: Neue Funktionalität muss nicht finanziert werden, höchstens eine Adaptierung bzw. Integration in die eigene IT-Infrastruktur

9Donnerstag, 06. Mai 2010

Page 10: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Offener Source Code

‣ horizontale und vertikale Erweiterung und Adaptierung

‣ offene Dokumentation

‣ Anbieterunabhängigkeit

‣Minimierung von Investitionsrisiken

10Donnerstag, 06. Mai 2010

Page 11: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

OpenERP

www.openerp.com

11Donnerstag, 06. Mai 2010

Page 12: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

OpenERP‣ Full-featured Open Source Enterprise Management Software

‣ Beispiel für ein "company driven" Open Source ERP System

‣ Geschichte:2002 Gründung von Tiny durch Fabien Pinckaers2005 Entwicklung TinyERP2007 erste Großkunden (>1000 MA)2008 TinyERP -> OpenERP2009 OpenERP auf SaaS Basis verfügbar

mitlerweile hat OpenERP s.a. >100 Mitarbeiterzuletzt 3 Mio EUR aufgestellt - Expansion in USA

12Donnerstag, 06. Mai 2010

Page 13: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

OpenERP - Key Features

‣ Abbildung aller betrieblich relevanten ProzesseEinkauf, Verkauf, Finanzen, Produktion, Personalwesen, CRM & Marketing, Vertrieb, Logistik, Dokumenten-Management, Business Intelligence, E-Commerce

‣Modulares System

‣Multilingual: Übersetzungen in >25 Sprachen verfügbar

‣ GPL v3

‣ Partner Programm

13Donnerstag, 06. Mai 2010

Page 14: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Vorstellung

14Donnerstag, 06. Mai 2010

Page 15: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Vorstellung

15Donnerstag, 06. Mai 2010

Page 16: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Vorstellung

16Donnerstag, 06. Mai 2010

Page 17: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

OpenObject

www.openobject.com

17Donnerstag, 06. Mai 2010

Page 18: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

OpenObject CommunityOpenObject(*) Projekt ist in Teams organisiert:

‣ Developers

‣ Translators

‣ Experts

Hosting auf launchpad.net

(*) OpenERP hat angekündigt, den Namen OpenObject zu ändern

Developers

ExpertsTranslators

18Donnerstag, 06. Mai 2010

Page 19: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

OpenObject Community - DevelopersAufteilung der Entwickler in Klassen:

‣ Quality team: Qualitätssicherung core

‣ Driver Team: definiert Ziele für kommende Releases

‣ Commiter Team: Entwicklung addon-extra Module im offiziellen Branch

‣ Community Team: Entwicklung community Module

meritokratisches System: Quality Team bestimmt neue Commiters und Drivers, Initiatoren bestimmen Mitglieder des Quality Teams. Bewerbung als Commiter nach Veröffentlichung von zwei Modulen.

19Donnerstag, 06. Mai 2010

Page 20: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

OpenObject Community - ExpertsExperts Team:

Ausgezeichnete Experten in unterschiedlichen Gebieten

Planen die Entwicklung der Software, entwickeln jedoch nicht selbst

‣ Accounting Experts

‣Manufacturing Experts

‣ Service Experts

‣ Ergonomy Experts

20Donnerstag, 06. Mai 2010

Page 21: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

OpenObject Community‣ OpenObject community

entscheidet, welche Module aufgenommen werden

‣ OpenERP Module:

Quelle: http://test.openerp.com

500

350

185

40

Okt 2006 Apr 2007 Jan 2009 Apr 2010

21Donnerstag, 06. Mai 2010

Page 22: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

OpenERP - TechnikZugrundeliegendes Framework ist OpenObject

‣ Streng objektorientierte ArchitekturModellierung in Objekten, Speicherung in RDBMS (PostgreSQL)

‣ Object Relational Mapping (ORM)Abstraktions-Layer zwischen Objekten und SQL Tabellen

‣ Beschreibung der Objekte und deren Verhalten in Python

‣Model-View-ControllerController Object (Python)

RDBMS (PostgreSQL)View Definition (XML)

22Donnerstag, 06. Mai 2010

Page 23: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Controller-KlassenPython-Klassen beschreiben die Tabellenstruktur der DB und dienen als Controller zwischen den Ansichten und Datenmodellen.class incoremr_patient(osv.osv): _name = "incoremr.patient" _inherit = "res.partner" _columns = { 'lastname' : fields.char('Nachnname', size=128, required=True), 'title_suffix' : fields.char('Titel Suffix', size=16, help="Dem Namen nachgestellte(r) Titel"), 'svnr': fields.char('SV-Nr', size=12, required=True, help="Sozialversicherungsnummer"), 'insurance_company' : fields.many2one('res.partner', 'Versichert bei', select=1, domain= [('is_insurance_company','=','True')]), 'date' : fields.date('Patient seit'), 'dob' : fields.date ('Geburtsdatum'), 'sex' : fields.selection([

('m','m'), ('f','w'), ], 'Sex', select=True),

'deceased': fields.boolean('verstorben', help="Anklicken wenn PatientIn verstorben ist"), } _defaults = { 'date': lambda *a: DateTime.now().strftime("%d.%m.%Y"), } _sql_constraints = [ ('svnr_uniq', 'unique (svnr)', 'Die SV-Nr. muss eindeutig sein!') ] incoremr_patient()

23Donnerstag, 06. Mai 2010

Page 24: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

View-Definition‣ View-Definitionen werden dynamisch in XML codiert:

<?xml version="1.0" encoding="UTF-8"?><openerp> <data> <!-- [...] --> <record model="ir.ui.view" id="emr_patient_view_form"> <field name="name">Patient</field> <field name="model">incoremr.patient</field> <field name="type">form</field> <field name="arch" type="xml"> <form string="Patienten"> <group string="Patient" colspan="4" col="6"> <field name="title" string="Titel" /> <newline /> <field name="name" select="1" string="Vorname" /> <field name="lastname" select="1" /> <field name="title_suffix" /> <newline /> <field name="svnr" select="1" /> <field name="insurance_company" widget="selection" /> <field name="sex" string="Geschlecht" /> </group> </form> </field> </record> <!-- [...] --> </data></openerp>

24Donnerstag, 06. Mai 2010

Page 25: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

OpenObject - Vorteile

‣ Keine manuelle Interaktion mit der DB nötig

‣ Diverse ORM ‘utility’ Methoden verfügbar (create, read, write, ...)

‣ View Definition unabhängig vom Client (Web, GTK)

‣ Workflow Business Prozesse via XML steuerbar

‣ Reports (OpenOffice, RML, ...)

‣ Server Actions (z.B. automatischer E-mail Versand)

‣ und vieles mehr ...

25Donnerstag, 06. Mai 2010

Page 26: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Es gibt aber auch Nachteile ...

‣ lückenhafte Dokumentation

‣ steile Lernkurve für Entwickler

‣ keine zufriedenstellende Diskussion über Security-Aspekte in der offiziellen Dokumentation und in den Foren

‣ Einsatz nur firmenintern bzw. über sichere Verbindungen (VPN) empfohlen

26Donnerstag, 06. Mai 2010

Page 27: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Tryton

www.tryton.org

27Donnerstag, 06. Mai 2010

Page 28: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Tryton

‣ universelles "Drei-Schichten" Applikation-Framework für den Unternehmenseinsatz

‣ schnelle, mächtige und flexible Entwicklungsplattform

‣ multi-user Environment

‣ Open Source Projekt

‣ fork von OpenERP

‣ Basismodule für Buchhaltung, Fakturierung, Inventar-, Einkaufs-, und Verkaufsmanagement

28Donnerstag, 06. Mai 2010

Page 29: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Drei-Schichten

‣ Präsentationsschicht: Frontend - Präsentation der Daten

‣ Logikschicht: Application Server - beinhaltet Anwendungslogik

‣ Datenhaltungsschicht: Backend - Speichern und Laden der Daten aus DB

29Donnerstag, 06. Mai 2010

Page 30: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Tryton - Architektur

Quelle: http://www.b2ck.com/~bch/slides/tryton_overview/tryton.html

30Donnerstag, 06. Mai 2010

Page 31: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Tryton PräsentationsschichtTryton Client:

‣ GUI ohne Businesslogik

‣MVC Architektur

‣ GTK (Plattformunabhängigkeit)

WebDAV:

‣ RFC 2518

‣ Zugriff via Webbrowser

XML-RPC

31Donnerstag, 06. Mai 2010

Page 32: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Tryton Server - LogikschichtTryton Kernel:

‣ ermöglicht high-level Zugriff auf die Daten

‣ Netzwerk-Layer

‣Module definieren Business-Logik

‣ Views definieren wie die Daten präsentiert werden

‣Workflow & Report engine

‣ Internationalisierung

32Donnerstag, 06. Mai 2010

Page 33: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Tryton Server - LogikschichtSicherheit:

‣Authentifizierung

‣Zugriffs-Rollen nach Model bzw. nach Records

Protokolle (optional via SSL):

‣ NetRPC

‣ XML-RPC

‣ JSON-RPC

‣WebDAV

33Donnerstag, 06. Mai 2010

Page 34: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Datenbank - Datenhaltungsschicht

‣ PostgreSQL

‣MySQL

‣ SQLite

34Donnerstag, 06. Mai 2010

Page 35: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Case Study: „Neso“ERP für Ein-Personen-Unternehmen „Paul Gärtner“, EDV-Dienstleister

35Donnerstag, 06. Mai 2010

Page 36: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Case Study: „medical“Electronic Medical Record (EMR)auf Basis von OpenERP

36Donnerstag, 06. Mai 2010

Page 37: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Electronic Medical Record (EMR)Medical ist ein Open Source Projekt auf Basis von OpenERP

‣universelle elektronische Patientenakte (EMR)

‣Spitals-Informationssystem (HIS)

‣Schwerpunkt medizinische Grundversorgung

‣Einbindung sozio-ökonomischer Aspekte

‣Integration von WHO-Standard ICD-10 (>14k Krankheiten)

‣Identifikation genetischer Risiken lt. NCBI (>4k Gene erfasst)

‣Epidemiologische und andere statistische Reports

medical.sourceforge.net

37Donnerstag, 06. Mai 2010

Page 38: "Open Source ERP Systeme" Vortrag @Linuxwochen 2010

Vielen Dank

‣ Open Source Experts Group

‣ Tryton Projekt: Cédric Krier, Bertrand Chenal (B2CK)

‣Medical Projekt: Luis Falcon (Thymbra)

38Donnerstag, 06. Mai 2010