Einsatz von .NET reduziert Entwicklungsaufwand und ermöglicht effizientere Nutzung neuer Technologien bei der PMS Pharma & Medizin Software GmbH

23. January 2004



Das Produkt Pharmacy ist eine seit 10 Jahren gewachsene Anwendung der PMS GmbH, welche in Apotheken eingesetzt wird. Das System besteht aus einer klassischen n-Schichten-Architektur und stellt eine Komplettlösung (Warenwirtschaft, Buchhaltung und Lagerhaltung) dar. Die Software war in altem 16 Bit C-Code realisiert worden, was eine Wartung und Pflege des Produkts immer aufwändiger machte. Aus diesem Grund wurde entschieden, eine neue Version, das System New Pharmacy, aufzusetzen. Unter dem Aspekt der Effektivität war eine Portierung des bestehenden Codes jedoch nicht realistisch, daher wurde eine Neuentwicklung unter .NET in Angriff genommen.


1. Ausgangspunkt

Im Rahmen der Softwarelösung müssen Apotheken mit einer Automatenanbindung an Kommissionier-Systeme ausgestattet werden, um einen reibungslosen Geschäftsablauf gewährleisten zu können. Auch New Pharmacy sollte hier die entsprechende Anbindung beinhalten. Die Koppelung an die Steuerungsrechner der Automatenhersteller erfolgte auf der Basis von RS 232-Schnittstellen und sollte ebenfalls in .NET realisiert werden.

Die Realisation des mehrschichtigen Systems New Pharmacy sollte zugleich unter Nutzung der neuesten Technologien (COM+ u.a.) erfolgen, so dass das System in seiner modularen Struktur auch in Zukunft flexibel erweitert und angepasst werden kann. Gerade die vielen verschiedenen Module und Funktionalitäten machten eine neue Architektur und Struktur von Pharmacy nötig. Der erste Schritt war eine reine Migration der gesamten Applikationslogik ohne Implementation neuer Funktionalitäten. Mit den neuen Modulen ist dann im nächsten Schritt die sukzessive Ablösung der bestehenden und bei den Kunden im Einsatz befindlichen heutigen Pharmacy-Landschaft geplant. Für eine größere Zeitphase ist dabei auch ein Parallelbetrieb beider Lösungen angestrebt.

Obwohl die Technologie .NET zu Projektbeginn noch im Beta-Stadium war, entschied man sich bei PMS für ihren Einsatz, da die bereits vorhandene Stabilität und Ausgereiftheit des Systems überzeugten. Applikationen konnten mit einer für eine Entwicklungsumgebung im Beta-Stadium ungewöhnlichen Zuverlässigkeit und Stabilität erstellt und ausgeführt werden. Zudem ist die Firma PMS schon seit Anbeginn mit ihren Produkten fest in der Microsoft Plattform verwurzelt, was eine frühere oder spätere Beschäftigung mit dem Thema .NET zu einer beinahe logischen Konsequenz machte. Das über Jahre gewachsene Vertrauen in die Microsoft Plattform war ein weiterer begünstigender Faktor für eine Entscheidung in Richtung .NET.


2. Aufgabenstellung

Der alte, in über 10 Jahren gewachsene C/C++-Code sollte auf eine flexibler anpassbare Plattform gehoben werden. Gerade die ständigen gesetzlichen Veränderungen im Gesundheitswesen machten eine flexiblere Architektur nötig. Die Vielzahl von Abläufen und Tätigkeiten im Apothekengewerbe (inkl. der Abrechnung) erforderten zahlreiche komplexe, voneinander abhängige Module.

Ferner verfügte die Software Pharmacy über keinerlei Web-Integration und ein veraltetes Datenbankformat (Btrieve).

Andererseits sind vom bestehenden System heute aber über 300 Server mit ca. 2.000 Clients im Einsatz, was eine Ad-hoc-Migration des gesamten Systems unmöglich machte. Vielmehr war eine nahtlose und stufenweise Migration absolut unabdingbar.

Die Entscheidung fiel aus diesen Gründen auf eine komplette Neuentwicklung unter .NET unter Beibehaltung der Applikationslogik und schrittweisen Implementation verschiedener Teilmodule. Dabei sollte auch hier primär eine Windows-Anwendung entstehen, jedoch die Unterstützung von Webservices bereits im Produkt vorgesehen sein.


3. Die Struktur von New Pharamacy

Konzept von New Pharmacy war also eine Migration der Applikationslogik ohne Code-Migration. Das heute auf Btrieve-Datenbasis aufsetzende System sollte auf Microsoft SQL-Server migriert werden. Dabei zerfällt die gesamte Applikation in mehrere Teil-Elemente, welche auf der einen Seite den flexiblen Datenzugriff (SQL-Server, Btrieve) ermöglichten, auf der anderen Seite aber auch die Business-Logik von der Präsentationslogik trennten.

Insbesondere die Notwendigkeit, verschiedene (auch ältere) Datenplattformen (Btrieve, SQL Server) anzubinden, förderte eine Entscheidung für .NET, da hier auch nicht-relationale Datenquellen schnell und effizient angebunden und über das Framework genutzt werden können.

Abbildung 1: Die New Pharmacy-Struktur
Abbildung 1: Die New Pharmacy-Struktur

4. Vorteile durch .NET

Die Nutzung des .NET Frameworks ermöglichte eine drastische Beschleunigung des Entwicklungsprozesses und eine Verringerung des Entwicklungsaufwands. Nach Aussage von Tibor Csizmadia, Leiter der Softwareentwicklung bei PMS, hatte man im alten Pharmacy-System mit einer Fülle von unterschiedlichen APIs und Bibliotheken zu arbeiten und zu kämpfen, wohingegen unter .NET alle Aspekte der Entwicklung auf einer einzigen, konsistenten Bibliothek, dem .NET Framework, basierten.

Des Weiteren war es ohne großen Aufwand möglich, bestehende, derzeit vom Framework noch nicht unterstützte Funktionalitäten, wie die nötige RS 232-Anbindung, direkt in das Framework mit einzubinden und dann innerhalb des Frameworks zu nutzen, als wäre es ein direkter Bestandteil davon. Somit präsentiert sich dem Entwickler eine einzige konsistente und immer gleich anzuwendende und zu nutzende Programmierschnittstelle. Darüber hinaus konnten mit .NET sehr schnell und effizient einige Technologien in das Produkt mit eingebunden werden, deren Realisation im alten System entweder nicht möglich oder nur mit sehr hohem Aufwand möglich gewesen wäre. Dazu gehört beispielsweise die Anbindung an Automatensysteme über Windows-Dienste: Die einfache Erstellung von Windows-Diensten unter .NET ermöglichte eine schnelle und effiziente Neuprogrammierung des Anbindungsmoduls an die Kommissionier-Systeme. Gerade die einfache Einbindung der vorhandenen Bibliotheken für den RS 232-Zugriff und deren problemlose konsistente Nutzung innerhalb des Frameworks beschleunigten den Entwicklungsprozess erheblich.

Konzeptionelle Änderungen im System
New Pharmacy sollte als System eine größere Transparenz geben und dem Anwender eine bessere Unterstützung aus einer prozessorientierten Sicht bieten. Verschiedene Abläufe im System sollten aus Kundensicht heraus im Warenwirtschaftssystem prozessorientiert zusammengefasst und so auch dem Kunden präsentiert werden (beispielsweise eine vollständige Integration des Wareneingangsprozesses). Diese Anforderung machte eine Neukonzeption des gesamten Business-Layers (siehe Bild 1) nötig. Die Integration und Implementation dieses Layers insbesondere mit dem Datenlayer war eine weitere architektonische Aufgabe.

Windows-Forms vs. Webforms
Bei der Planung der neuen Architektur war eine entscheidende Frage, ob generell auf eine Webforms- (und damit Browser-) basierte Umgebung umgestellt werden sollte. Im Hinblick auf die Kundenstruktur und die dort im Einsatz befindlichen Systeme und Infrastrukturen wurde hier jedoch den Windows Forms der Vorzug gegeben, zumal auch die sehr wichtige Einbindung von POS-Offlinesystemen nur mit Windows Forms-Clients (und damit Windows-Anwendungen) möglich war.

Für die Webforms hätte eine zentrale Pflege und Anpassung gesprochen, Nachteil waren jedoch Probleme bei der hardwarenahen Integration und die Abhängigkeit von Einstellungen im jeweils eingesetzten Browser.

Webservices
Die leichte und schnelle Erstellung und Integration von Webservices mit .NET ließen auch diese Technologie in das Konzept von New Pharmacy einfließen. Gerade für Systemaufgaben boten sich Webservices an:

  • Änderungsdienste, Programm, Stammdaten etc.
  • Online-Backups
  • Datenaustausch mit Lieferanten (DateG, Support etc.)


Die Erstellung und Integration von Webservices sind ein weiterer architektonischer Schritt, welcher im System New Pharmacy realisiert werden soll.


5. Erfahrungen aus der Nutzung von .NET

Die Unabhängigkeit von der tatsächlich unter .NET verwendeten Programmiersprache (C++, VB, C#) machte auch eine flexiblere Migration unter vollkommener Interoperabilität der einzelnen Komponenten möglich.

Der Einsatz von systemnahen Funktionen (V24-Zugriff, Win32-Strukturen) lief einfach und problemlos, wobei diese Technologien so verwendet werden konnten, als wären sie native .NET-Elemente. In einigen Test-Projekten wurden verschiedene Aspekte der Funktionen und Funktionalitäten in Form von Prototypen realisiert und getestet.

Dabei stellte sich .NET als eine sehr stabile und zuverlässige Plattform heraus, in welcher auch verteilte Applikationen einfach zu programmieren und zu debuggen sind. Die extrem übersichtliche Struktur und konsistente Nutzbarkeit des Frameworks über alle Funktionslitätsbereiche hinweg reduzierten den Neuentwicklungsaufwand im Vergleich zum Altsystem erheblich.

Vorteile des Einsatzes von .NET:

  • Vereinfachte Implementation neuer Technologien
  • Entwicklung von Lösungen in beliebigen Sprachen mit beliebiger Interoperabilität
  • Erhöhte Geschwindigkeit der Entwicklung durch das .NET Framework
  • Unabhängigkeit der Lösung von der verwendeten Sprache
  • C# als neue Komponentenorientierte Sprache bietet eine erhöhte Flexibilität der Entwicklung und nutzt die Potentiale des .NET Frameworks optimal

6. Fazit

Mit New Pharmacy zeigt die PMS GmbH, welches Potenzial für die Steigerung der Effizienz in der Softwareentwicklung Microsoft .NET bietet. Die Möglichkeit der schnelleren Realisierung unter Beibehaltung bzw. Weiternutzung bestehender Module und Techniken sprechen für das flexible Einsatzkonzept von .NET. Die Einfachheit, mit der auch anspruchsvolle Technologien (Windows-Dienste, Webservices) genutzt werden können, bringen einen Sprung in der Produktivität und letztendlich auch in der Anwendungsfunktionalität mit sich.


Owner/s of the solution

PMS Pharma & Medizin Software GmbH
Tibor Csizmadia, Leiter Softwareentwicklung
Industry: IT & Communication
Company size: Very small enterprisePMS Pharma & Medizin Software GmbH

Solution partner/s

Šenaj Lelic, Geschäftsführer
DataAssist e.K.

Case study author/s

Šenaj Lelic
DataAssist e.K.

23. January 2004
Microsoft Deutschland GmbH

For this case study no attachments are available.
1844
ms-de-pms-pharma-data-assist
https://www.experience-online.ch/de/9-case-study/1844-ms-de-pms-pharma-data-assist
0
Cookies make it easier for us to provide you with our services. By clicking on "Ok" you allow us to use cookies.