"Open Source ERP Systeme" Vortrag @Linuxwochen 2010
-
Upload
incore-it-solutions -
Category
Business
-
view
1.985 -
download
4
description
Transcript of "Open Source ERP Systeme" Vortrag @Linuxwochen 2010
Open Source Communities:Case Study Enterprise Resource Planning
Dr. Michael Wolfinger, Philipp Hamid
1Donnerstag, 06. Mai 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
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
ERP Einleitung
Ausprägungen:
‣ fachlich (Branche)
‣ Skalierbarkeit (Größe des Unternehmens)
‣ Funktionsumfang
‣ Technologien
4Donnerstag, 06. Mai 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
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
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
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
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
Offener Source Code
‣ horizontale und vertikale Erweiterung und Adaptierung
‣ offene Dokumentation
‣ Anbieterunabhängigkeit
‣Minimierung von Investitionsrisiken
10Donnerstag, 06. Mai 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
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
Vorstellung
14Donnerstag, 06. Mai 2010
Vorstellung
15Donnerstag, 06. Mai 2010
Vorstellung
16Donnerstag, 06. Mai 2010
OpenObject
www.openobject.com
17Donnerstag, 06. Mai 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
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
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
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
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
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
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
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
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
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
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
Tryton - Architektur
Quelle: http://www.b2ck.com/~bch/slides/tryton_overview/tryton.html
30Donnerstag, 06. Mai 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
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
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
Datenbank - Datenhaltungsschicht
‣ PostgreSQL
‣MySQL
‣ SQLite
34Donnerstag, 06. Mai 2010
Case Study: „Neso“ERP für Ein-Personen-Unternehmen „Paul Gärtner“, EDV-Dienstleister
35Donnerstag, 06. Mai 2010
Case Study: „medical“Electronic Medical Record (EMR)auf Basis von OpenERP
36Donnerstag, 06. Mai 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
Vielen Dank
‣ Open Source Experts Group
‣ Tryton Projekt: Cédric Krier, Bertrand Chenal (B2CK)
‣Medical Projekt: Luis Falcon (Thymbra)
38Donnerstag, 06. Mai 2010