# Microsoft Dynamics AX

Microsoft Dynamics AX (ehemals Axapta) ist ein objektorientiertes ERP-System. Es wird insbesondere in mittelständischen und größeren Unternehmen eingesetzt.

## Geschichte

Axapta wurde ursprünglich von der Firma Damgaard entwickelt. Danach verschmolzen die Firmen Damgaard und Navision und nannten sich seither Navision-Damgaard. Da 2002 die neue Navision-Damgaard von Microsoft für 1,4 Milliarden Dollar gekauft wurde, gehört die ERP-Lösung Axapta nun zur Produktreihe von Microsoft Business Solutions. Im Zuge eines Rebrandings der Microsoft-ERP-Produkte, die im Rahmen des sogenannten Project Green in ein einheitliches Microsoft ERP-System überführt werden sollten, wird Axapta bis zur vollkommenen Ablösung durch das Neuprodukt unter dem Namen Microsoft Dynamics AX vermarktet. Die Version Axapta 3.0 wurde im Juli 2006 durch die Version Microsoft Dynamics AX 4.0 abgelöst. Neben vielen Ergänzungen der Funktionalität wurde der Client überarbeitet und der Oberfläche von MS Office 2003 angepasst. Auf den ersten Blick nicht so sichtbar sind die tiefgreifenden Änderungen in der Systemarchitektur (verstärkter Fokus auf Sicherheit (Trusted Computing), nur noch eine Drei-Schicht-Architektur), der Entwicklungsumgebung (u. a. Einbindung von .NET) und der zugrundeliegenden Produktphilosophie (weg von der integrierenden Software hin zu einem integrierten Bestandteil eines sogenannten Microsoft Stack). Die Version AX 2009 stellte im Jahre 2008 den ersten deutlich sichtbaren Beleg für diese Philosophie dar. Seit Ende 2011 ist die aktuelle Version Dynamics AX 2012 auf dem Markt, die rollenbasierte Oberfläche wurde noch stärker an die Oberfläche der Office-Produktreihe angepasst. Die Weboberfläche (Enterprise Portal) wurde über SharePoint 2010 ebenfalls der Office-Umgebung angeglichen.

## OS Basis

Von Anfang an lief der Axapta-Server ausschließlich auf Windows 2000 und Windows 2003 – zumindest gilt das für Produktivsysteme. Im Entwicklungs- oder Testbereich kann für die Version 3.0 auch Windows 2000 oder XP Professional verwendet werden. Seit der Version 4.0 ist die Verwendung von Windows Server (2003 oder 2008) zwingend. Dies liegt u. a. auch daran, dass die Benutzerauthentifizierung über Active Directory vorgenommen wird. Der zugehörige Axapta-Client läuft auf allen gängigen Windows-Systemen.
Axapta bietet mit dem Enterprise Portal Server unter Verwendung des IIS und – ab Version 4.0 – Sharepoint Portal Services auch eine Verbindung über den Internet Explorer an.

## Datenbankunterstützung

Als zugrundeliegende Datenbanken kommen entweder ein Microsoft SQL Server oder ein Oracle-System zum Einsatz. Bei einer Oracle-Anbindung sind die Auslastungsstatistik und die Datendurchsatzauswertung nicht nutzbar, können aber mit dem Oracle Enterprise Manager ermittelt werden. Die Unterstützung von Oracle-Datenbanken wurde mit der Version 2012 eingestellt.

## Software-Entwicklung

Das ERP-System kann durch die Axapta-Programmiersprache X++ angepasst und erweitert werden. Die Programmiersprache X++ ist eine Mischung aus den Programmiersprachen Java, BASIC, C++ und SQL. Die Tabellen, Objekte und Methoden sind zum größten Teil Open Source und können dadurch angepasst werden. Durch eine Layerstruktur kann ein durch den Kunden angepasstes Objekt trotzdem released werden. Es gibt insgesamt 16 Layer, wovon jeweils zwei Layer logisch zusammengehören. Die ersten vier Layer (SYS, SYP, GLS, GLP) sind für Microsoft reserviert. Der fünfte und sechste Layer (DIS, DIP) dient für die Auslieferung von landesspezifischen Funktionalitäten. Hierfür existiert für mehrere Länder eine Layerversion. Der siebte und achte Layer (LOS, LOP) enthält lokale Funktionalitäten, die sich ausschließlich auf die Anforderungen eines Landes beziehen. Im neunten und zehnten Layer (BUS, BUP) werden zertifizierte Lösungen beispielsweise von Partnern ausgeliefert. Der elfte und zwölfte (VAR, VAP) Layer dient Beraterfirmen, um Anpassungen und Erweiterungen für ihre Kunden auszuliefern. Layer 13 bis 16 (CUS, CUP, USR, USP) sind für den Kunden reserviert. Layer, die auf „P“ enden, dienen generell zur Auslieferung von Aktualisierungen und Service Packs für den zugrundeliegenden Layer. Sind z. B. für ein Service Pack Änderungen im SYS Layer notwendig, werden diese im SYP Layer ausgeliefert. Die Layer setzen aufeinander auf, d. h. eine Änderung eines Objektes in einem höheren Layer verdeckt das Objekt im darunterliegenden.
Bis auf USR/USP werden die Layer durch Passwörter geschützt, so dass sie nur lesbar sind.
In der Version 4.0 wurden die bisherigen Layer SYS, GLS und DIS zu einem gemeinsamen SYS-Layer zusammengefasst, länderspezifische Funktionalitäten sind in einem GLS-Layer installierbar. Der LOS-Layer wurde (zumindest einstweilen) ersatzlos gestrichen. Des Weiteren wurde Microsoft Visual SourceSafe integriert, was eine Versionsverwaltung des Sourcecodes ermöglicht.
In Version 2012 wurde die Layerstruktur überarbeitet (SYS/SYP, GLS/GLP, FPK/FPP, SLN/SLP, ISV/ISP, VAR/VAP, CUS/CUP, USR/USP) und diese durch Models erweitert. Models sind Sammlungen von Anwendungsobjekten innerhalb eines Layer, die für Partnerlösungen und Branchenmodule geeignet sind, um sie besser und mit weniger Migrationsaufwand in eine vorhandene Installation zu integrieren.

### Branchenlösungen

Oftmals wird der Funktionsumfang von Dynamics AX, durch die Vertriebspartner, in Form von Branchenlösungen erweitert. Einerseits werden dadurch Funktionslücken der Standardinstallation ganz oder teilweise geschlossen, andererseits wird dadurch der Wechsel zu einem anderen Microsoft-Partner deutlich erschwert. Die aktuelle Version AX 2012 wurde durch den Zukauf von ausgewählten Partnerlösungen um Funktionen wie Lean Produktion(KANBAN) und Retail(POS) erheblich im Standard erweitert.

### Systemanpassungen

Systemanpassungen können in Dynamics AX teils durch Customizing vorgenommen werden. Es ist jedoch auch allgemein üblich ein Standard-System zu verändern (modifizieren). Dabei wird durch Veränderungen im Quellcode das Systemverhalten beeinflusst. Hierbei leistet die Layer-Technologie wertvolle Dienste, da immer nur der oberste modifizierte Layer ausgeführt wird. Oftmals wird zur Beurteilung einer Modifikation nur der Aufwand der aktuellen Anpassung herangezogen. Dies ist jedoch falsch, da eine Modifikation auch bei jedem zukünftigen Update der Komponente zu erneutem Aufwand führt. Wenn jedoch ein tieferer Layer (z. B. Updates für länderspezifische Versionen) ausgetauscht und aktualisiert wird, werden auch diese Aktualisierungen durch die Modifikation überdeckt.

### Updates

Updates für das Dynamics AX-Standardsystem werden direkt von Microsoft über die Vertriebspartner ausgeliefert. Da fast alle Dynamics AX – Installationen teils umfangreiche Modifikationen des Quellcodes aufweisen, kann das Update nicht einfach installiert werden. Vielmehr muss für jede Codeänderung im Quellcode überprüft werden, ob Modifikationen noch den gewünschten Effekt auslösen. Daher sind Update-Projekte nicht trivial und können im Extremfall einen, mit einer Neueinführung vergleichbaren, hohen Entwicklungsaufwand erreichen. Dies gilt vor allem, wenn die Zusatzprogrammierung durch den Partner nicht sauber durchgeführt wurde. Teilweise liefern auch Microsoft-Partner Updates für ihre Branchenlösungen aus. Auch hier ist jede Code-Anpassung und Modifikation nochmals zu prüfen.

### Dokumentation

Axapta X++ und die Logiken sind in Version 3 nicht ausreichend dokumentiert. Allerdings kann man sich durch die Layerstruktur und durch den offenen Quellcode schnell in die Axaptafunktionen einarbeiten.
Das eingebaute Entwicklungshandbuch bietet einen Überblick über Syntax und ausgewählte Konstrukte, die eigentliche Geschäftslogik ist weitgehend undokumentiert. Dies wird sich nach Ankündigungen in der aktuellen Version Dynamics AX 4.0 grundlegend ändern; geplant ist unter anderem eine umfassende Dokumentation der grundlegenden Klassen, die auch über MSDN abrufbar sein wird. Allerdings scheint Microsoft fast ein Jahr nach der Veröffentlichung der 4.0 dieses Versprechen nicht gehalten zu haben.
Es gibt auf dem Markt zahlreiche Bücher zu Dynamics AX.
Training wird wie für andere Microsoft-Produkte auch als Reihe von MOC-Kursen von sogenannten CPLS (Certified Partner for Learning Solutions) angeboten. Diese Schulungen, die die unterschiedlichen Module der Software behandeln und Zertifizierungen auf verschiedenen Ebenen ermöglichen, werden von Partnern deutschlandweit angeboten (aktuelle Informationen sind von der jeweiligen Microsoft-Landesvertretung zu erfahren). Um eine gründliche Einarbeitung zu gewährleisten, sind gründliche Kenntnisse der Programmiersprache X++ unumgänglich, welche ebenfalls in verschiedenen Schulungen erworben werden können.

## Vertriebssystem

Axapta kann nicht direkt von Microsoft gekauft werden. Stattdessen wird es von externen Beraterfirmen vertrieben, die auch die Implementierung sowie eventuell nötige Anpassungen durchführen. Auch Support und Schulungen werden von Partnern erbracht oder vermittelt. Diese Beraterfirmen müssen diverse Axapta-Zertifikate erworben haben und damit nachweisen, dass sie die notwendige Sachkenntnis besitzen.