Entwickeln mit dem Infor LN Studio

Es gibt ja nun schon seit mehreren Jahren das LN Studio als Entwicklungsumgebung für Infor LN. Das ist eine Eclipse-basierte Umgebung, die seitens Infor mit ein paar Plugins ausgestattet wurde. Diese Entwicklungsumgebung schaltet sich quasi vor die LN-Tools-Entwicklungsumgebung. Statt mit den Programmen Sessions, Table Definitions etc. arbeitet man dann komplett innerhalb von Eclipse. Es gibt dort dann eigene Masken zum Erstellen von Sessions, Domainen, Tabellen, Skripten, Messages. Alles was man so braucht. Nur für den Formeditor startet Eclipse dann wieder die klassische DFE-Windows-Anwendung.

Ich habe das vor zwei drei Jahren mal ausprobiert und relativ schnell wieder aufgegeben, weil es einfach noch fürchterlich instabil war. Nun bin ich aktuall mit der Projektleitung einer großen LN-Implementierung beauftragt, und es sieht so als, als ob wir da zumindest große Teile der notwendigen Softwareentwicklungen über das Studio abwickeln werden. Insofern war’s Zeit, sich das mal wieder zu installieren und auf die Anwendbarkeit zu beurteilen.

Und ich muss sagen, ich find’s ziemlich gut. (Hat jemand behauptet, ich würde auf Infor immer nur schimpfen?) Es gibt noch so ein paar Features, die ich mir dringend wünschen würde, aber so für die normale Entwicklung sieht’s erstmal gut aus.

ApplicationStudio

Fangen wir mal mit den positiven Features an:

  • Es gibt ein Syntax-Highlighting. Und zwar eines, das ziemlich gut funktioniert.
  • Es gibt Code-Completion. Man tippt “tcibd001.”, STRG+Leertaste, und kriegt eine Dropdown-Liste aller Felder der Artikeltabelle samt Bezeichnung. Sehr schön.
  • Das Studio kompiliert eine geänderte Source nach dem Abspeichern automatisch und markiert die Fehler im Quelltext. Man muss den Editor zum kompilieren nicht verlassen, nicht auf “Compile” klicken, nicht den Editor neu aufrufen und zur Fehlerhaft gemeldeten Zeile springen. Das spart enorm Zeit.
  • Aus einer genutzten Funktion in einem Quelltext gelingt der Sprung in den Quelltext, in dem diese Funktion definiert ist. Das EDV-zu-Fuß-Gefummle, das man klassischerweise macht (Funktion merken, neues Maintain Program Scripts starten, DLL suchen, Editor starten, Suchfunktion starten, Funktionsname eingeben), entfällt.
  • Das Studio integriert sich sauber ins Configuration Management (also die ebenfalls leider selten genutzte Option, alte Versionen geänderter Programmobjekte weiterhin vorhanden zu haben)
  • und noch sauberer ins PMC.
  • Das heißt, ich in kann im Studio auf dem Entwicklungssystem eine Entwicklungsaufgabe (“Aktivität”) definieren, die dazu benötigten Softwareobjekte, Sourcen, Tabellen, Sessions, Domainen etc. anlegen bzw. ändern, testen, debuggen, und wenn dann alles funktioniert, checke ich alle Objekte in der Aktivität mit einer einzigen Aktion wieder ein und erstelle für genau diese Aktivität eine Solution, die dann auf’s Echtsystem übertragen wird. Ich gebe nur einmal meinen Commit-Text ein und nicht bei jedem Objekt. Funktionierte bei meinen Tests stabil und zuverlässig. Das erspart einem die beim “klassischen” Entwickeln auftretende Notwendigkeit, sich die angepackten Programmobjekte entweder aufzuschreiben, oder immer direkt in eine Solution zu hängen, oder irgendwie mit den Development Projects und Project Parts rumzufummeln. Das ist eigentlich genau das, was man braucht.
  • Der Debugger funktioniert deutlich eleganter als der “klassische”. Man sieht den Stack, Variableninhalte werden schon beim Maus-Rollover angezeigt, lokale Variablen ausserdem in einer Liste.
  • Richtig schnuckelig: Das Studio kompiliert zur Laufzeit benötigte Sourcen automatisch in den Debugmodus, wenn man am Debuggen ist (Vorhandensein von Sourcecode natürlich vorausgesetzt). Man muss nicht mehr jede DLL, die man analysieren muss, manuell in die Entwicklungs-VRC ziehen und manuell mit Debugger kompilieren.

Negativ aufgefallen sind mir:

  • Der Debugger ist zu langsam. Kann sein, dass das bei mir noch eine Einstellungssache ist, muss ich noch prüfen. Aber so ist’s echt schwierig. Vom “Step” drücken bis zu dem Zeitpunkt, an dem der Instruction-Zeiger eine Zeile tiefer wandert, vergehen mitunter 15 Sekunden. Irgendwas ist da noch nicht rund. So ist damit jedenfalls nicht wirklich produktiv zu arbeiten.
  • Extrem unschön finde ich die Idee, die Session-Skripte und DALs im Studio hinter der Session bzw. hinter der Tabelle zu verstecken. Es gibt (in der hierarchischen Struktur der vorhandenen Programmobjekte) keinen Zugriff auf “Skripte”, sondern nur auf “Sessions”, “Tabellen” und “Libraries”. Das Session-Skript findet sich dann als ein Reiter unter diversen anderen, die die Session definieren. Das DAL findet sich entsprechend als ein Reiter im Tabelleneditor. Das entspricht nicht der Art, wie LN stellenweise programmiert ist, Skripte können eben durchaus mal ein Eigenleben entwickeln.
  • Was beim Neuentwickeln von Software nicht stört, aber den Einsatz des Studios beim Ändern von Standardobjekten fast verunmöglicht, ist, dass man nur auf jeweils eine Version eines Objektes Zugriff hat. Das heißt, ich sehe bei einem veränderten Standard nur meine Änderungen, nicht aber den aktuellen (bspw. durch Standard-Solutions veränderten) Standard. Das macht das Konsolidieren von Anpassungen mit Standard-Änderungen fast unmöglich. Da tut es meine klassische, auf JEdit aufsetzende Entwicklungsumgebung einfach sehr viel besser.

Die beiden letzten Punkte sind wirklich kritisch, wenn man das Studio nicht nur für Neuentwicklungen einsetzen will, sondern auch im Wartungsbetrieb nutzen möchte. Es fehlt einfach die Übersichtlichkeit, man sieht nicht so richtig, welche Skripte denn in den Umgebungen rumschwirren, welche angepasst sind etc. Das ist in der althergebrachten Toolsumgebung wesentlich leichter zu sehen. Hier würde ich mir dringend wünschen, dass sich Infor nochmal dranbegibt – denn dann ist das Studio eine wirklich runde Sache.

 

Was denken Sie? Haben Sie schonmal mit dem Infor LN Studio gearbeitet? Würden Sie’s nutzen wollen? Oder ist’s überflüssiger Kram (“der vi tut’s doch auch…”) Ich würde mich sehr über Ihre Gedanken und Kommentare freuen, gleich hier unten gibt’s genug Platz!

Eine Antwort

  1. 15. Januar 2016

    […] hat eine Rückfrage erreicht, wo’s denn dieses Infor LN Studio überhaupt gibt. Kann man sich auf dem ftp-Server des Infor-Supportes holen, http://ftp.support.baan.com, […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.