PYTHON ACADEMY
Training & Consulting


Rainer Fischbach
ECS Engineering, Consulting & Solutions GmbH, Neumarkt

Python als Unterstützung im Produktdaten-Management

Praxisbericht

Die ECS ist ein Software- und Beratungshaus, das sich auf kundenspezifische Lösungen für das Produktdaten-Management (PDM) spezialisiert hat. Dabei geht es um Softwaresysteme, die Entwicklungsprozesse unterstützen und nachvollziehbar machen, die Struktur der entstehenden Produkte abbilden und die sie beschreibenden Dokumente jederzeit bereitstellen.

Die Softwaresysteme setzen sich meist aus Standardprodukten der einschlägigen Hersteller (UGS, Matrix, etc.), ECS-Standardkomponenten (MetaKON, eCenter) und kundenspezifischen Erweiterungen zusammen. Die dominierenden Programmiersprachen sind (immer noch) C und Java. Python spielt hinter den Kulissen jedoch eine wichtige Rolle, wenn es darum geht, die Systeme zu füllen und zu betreiben:

  • bei der Übernahme von Massendaten aus anderen Systemen (z.B. im Rahmen von Markteinführungen, Unternehmensverkäufen, Übernahmen etc.)
  • bei der Ausleitung von Massendaten für besondere Aufgaben (z. B. für Kataloge, Kundensysteme etc.)
  • bei der Erzeugung von Berichten (Stücklisten, Prozesshistorien, etc.)
  • beim Konfigurationsmanagement (z.B. Übernahme von Dialogstrukturen aus Altsystemen, mehrsprachige, konsistente Terminologie von komplexen Dialogen)
  • für die Überwachung von lang dauernden Verarbeitungsprozessen
  • Analyse und Reparatur von Relationenstrukturen in Datenbanken

Dabei erweisen sich die folgenden Merkmale von Python als besonders wertvoll:

  • die komplexen Grunddatentypen (str, list, dict, set)
  • die sehr leistungsfähige Zeichenketten-Verarbeitung (8-Bit und Unicode, unter den eingebauten Methoden vor allem join und split, der %-Operator mit dict-Operand, die re- und die xml-Bibliotheken
  • das einheitliche Iterationskonzept (Iteratoren/Generatoren, Listen- und Generator-Zusammenfassungen als leistungsfähige Abfragesprache)
  • die Ausnahmeverarbeitung
  • die weitgehend portablen Betriebssystem-Schnittstellen (insbesondere die zum Dateisystem)
  • die funktionalen Merkmale (Funktionen als Objekte, Lambda-Ausdrücke)
  • die Vielzahl an Bibliotheken (insbesondere die Schnittstellen zu den Internet-Protollen)
  • die pragmatische Form der Objektorientierung, insbesondere der Klassenkonformität
  • die gute Lesbarkeit selbst von eher schlampig geschriebenem Code

Schwierigkeiten bereiten dagegen immer noch:

  • die Brüche bei der Prozessverwaltung zwischen Unix und Win
  • unvollständige funktionale Merkmale (lexikalischer Abschluss, funktionale Auswahl fehlen)
  • Mängel in der Dokumentation der Sprache und der Standardbibliothek (einige Module, vor allem Extending & Embedding)
  • einige eingeschränkt brauchbare Module (z.B csv)
  • Win32-Erweiterungen schlecht unterstützt und dokumentiert nur von dritter Seite

Die besonderen Anforderungen der PDM-Daten einerseits und einige Defizite von Python machten die Entwicklung einiger spezieller Werkzeuge speziell für die Datenanalyse und die Erzeugung von Ladedateien notwendig:

  • Datentyp Multimenge
  • musterbasiertes Typsystem für Textdaten
  • Klassen zum Lesen und Schreiben spezieller csv-Formate
  • Klassen zur Analyse von Objektstrukturen
  • Klasse zur Erzeugung und Verwaltung von Objekt-IDs

und einiges mehr.


Home
News
Kurse
Consulting
FAQ
Schulungszentrum
User Group
Stellenbörse
Workshop
Ziele
Programm
Organisatorisches
Vorträge
Anmeldung
Proceedings
Workshop 2006
Programm
Vorträge
Proceedings
Veranstaltungen
Python
Referenzen
Veröffentlichungen


Kundenstimmen


We had a wide range of Python experience in our group and each person gained something valuable to take away....

Dr. Ryan Woodard, Chair of Entrepreneurial Risks, ETH Zürich, Schweiz mehr dazu ...


Den Kurs kann ich bedingungslos allen empfehlen, die innert kurzer Zeit zu einer produktiven Arbeit mit Python kommen wollen.
Dr. med. Beat Meister, Bern mehr dazu ...


The standard Python for programmers and the customized "Python for Experts" course where a great success. ...
Bart Hillaert, Alcatel-Lucent Belgien mehr dazu ...


[The trainer] knows well what scientists need, so his hints are very practical and valuable. The hands-on course [..] covers a wide range of examples and will be very helpful in my daily work. ...

Dorota Jarecka, University of Warsaw about the course "Python for Scientists and Engineers" mehr dazu ...


The course "Python for Scientists and Engineers" is a very useful introduction to Python programming for scientific applications ...
Dr. Mihai Duta, Oxford Supercomputing Centre mehr dazu ...


Sehr gute Einführung in die Programmiersprache ...
Matthias Enderle mehr dazu ...



News


Nächster Pythonstammtisch am 10. August 2010
mehr dazu ...


Kurs "Python Summer Course" (Englisch), 16. - 21. August 2010
details ...


Kurs "Python for Programmers" (Englisch), 16. - 18. August 2010
details ...


Kurs "Python for Scientists and Engineers (Englisch)", 19. - 21. August 2010
details ...


Kurs "Django Python Web-Framework", 23. - 25. August 2010
details ...


Kurs "Python für Programmierer", 17. - 19. September, 2010
details ...


News-Archiv

[Powered by rest2web]

[Python Powered]