mini|Screenshot
IntarS ist eine Unternehmenssoftware (ERP, PPS, Warenwirtschaft) mit Weboberfläche für kleinere bis mittlere Handel-, Fertigungs- und Dienstleistungsunternehmen. Bis Version 6.1 war die Software komplett frei (unter der GNU GPL). Ab Version 7.0 steht IntarS unter der IOSCL (IntarS Open Source Commercial License). Diese besagt, dass der Anwender den Source bekommt und für seine internen Zwecke frei verwenden darf. Für kommerzielle Nutzung sind einmalig pro named User Lizenzgebühren zu entrichten. Nutzung für private Zwecke, Lehre und Forschung sowie Evaluierung sind kostenfrei. Ebenfalls kostenfrei ist die Nutzung der vorkonfigurierten „IntarS Lite“ Virtual Appliance, die „Candy CRM“ ablöst und als Freeware heruntergeladenIntarS Lite werden kann.
IntarS ist ein kommerzielles Open-Source-ERP-System. Treibende Kraft hinter der Weiterentwicklung sind die IntarS Unternehmenssoftware GmbH und die nach einer Schulung zertifizierten IntarS-Partner. Sie bieten kostenpflichtige Professional Services an. Offene Schulungen bietet die IntarS Academy in Coburg an.
IntarS richtet sich vor allem an Unternehmen, die individuelle Anforderungen haben und eine in die Jahre gekommene Individuallösung (meist auf dBASE oder Access) ablösen wollen.
Geschichte Die Anfänge von IntarS reichen zurück bis 1996. Für ein datenbankorientiertes Kundenprojekt in Objective-C auf OPENSTEP mit häufig wechselnden Anforderungen entwickelte Pirmin Braun ein Modellierungswerkzeug, aus dem die IntarS Workbench entstand. In mehreren Folgeprojekten im Bankensektor und für die damalige BRAIN AG (später Agilisys, jetzt Infor) reifte das Anwendungsframework heran (Version 1).
1999 entstand in Zusammenarbeit mit Ralf Engelhardt die Branchenlösung „Möbel2000“ (Version 2).
Im Jahr 2000 gründeten Pirmin Braun und Ralf Engelhardt die seat-1 Software GmbH und entwickelten „Möbel2000“ weiter zu den branchenneutralen Produkten „seat-1 ERP“ für Fertigung und „seat-1 WaWi“ für Handel (Version 3). Als technische Neuerung kamen eine Weboberfläche und die Hybrid-Technik aus kompiliertem Code und Scripting zum Einsatz.
IntarS 4.0 kam Anfang 2004 unter GPL als schlankere Version der seat-1 Warenwirtschaft auf den Markt. Funktionsumfang, Operating, Arbeitsabläufe und Arbeitsteilung wurden auf die Erfordernisse kleinerer und mittlerer Unternehmen abgestimmt.
2006 hielt mit IntarS 5.0 eine noch stärkere Orientierung zu Skripting und kundenspezifischen Repositorien Einzug. In Folge entstanden Branchenlösungen für Elektro, Automotive, Fahrradhersteller und Verlage. Mit Version 5.1 wurde der IntarScript-Interpreter gegenüber der Vorgängerversion verbessert.
Mit IntarS 6.0 wurden 2010 unter anderem XHTML und interaktive SVG-Grafiken für Dashboards und OLAP, ein vereinfachtes Programmiermodell für Anwendungsentwickler, sowie Installations- und Operating-Werkzeuge eingeführt.
Version 6.1 brachte im Jahr 2011 Unterstützung für mobile Geräte, verbesserte Modularisierung, Erweiterungen des IntarScript-Sprachumfanges, neue Schnittstellen (z. B. für Microsoft Exchange und zur Finanzbuchführungssoftware Quickbooks), Integration in Roundcube und Refactoring des Frameworks.
Im Jahr 2012 erfolgte die Umfirmierung von „seat-1 Software GmbH“ in „IntarS Unternehmenssoftware GmbH“.
Im August 2013 wurde IntarS 7 released.neue IntarS Version ist fertig, auf linux-community.de Technisch neu war 64-Bit-Architektur mit Unterstützung für Amazon AWS, Umstieg auf aktuelle GNUstep Version, überarbeitete Middleware mit integriertem http Server, eigener Layout-Engine anstelle von GNUstepWeb, neuem IntarScript Interpreter und dem LGPL MariaDB Client. Auf Anwendungsseite gab es ein besser für Konzernstrukturen skalierendes Datenmodell, zusätzliche Schnittstellen (u. a. EDI, Outlook, Magento) und eine neue Oberfläche in HTML5 im Material Style von Google mit jQuery und inkrementeller Suche. Ab dieser Version wird IntarS unter der neuen IOSCL lizenziert. Die Abkehr von einer OSI-konformen Lizenz war nötig, um Lizenzgebühren erheben zu können.
Im August 2018 schied Pirmin Braun aus der IntarS Unternehmenssoftware GmbH aus, blieb aber externer Partner und entwickelte das Framework in einem eigenen Fork weiter, bis er im November 2020 seitens der IntarS Unternehmenssoftware GmbH abgemahnt wurde, die IntarS Marke nicht mehr zu benutzen. Seitdem bietet er seine Version unter dem Namen „Mosella ERP“ an.Mosella ERP, auf mosella-erp.de
Seit 2018 wurde die IntarS ERP-Unternehmenssoftware kontinuierlich weiterentwickelt. Der Fokus lag vor allem auf der Verbesserung der mobilen Integration, modernen Schnittstellenarchitekturen (APIs) sowie der Ausrichtung als flexible, cloudfähige Commercial-Open-Source-Lösung für den Mittelstand mit einer Vielzahl von Zwischenmodulen: - Zwei-Faktor-Authentifizierung - AI Belegerkennung – Automatisierte Bestellverarbeitung - Artikelworkflow - Auftragsverfolgung intern - B2B Shop - Betriebsdokumente / Mediaviewer - XML-Schnittstelle DATEV - EDI EDIFACT / VDA - eInvoice Ausgang - eInvoice Eingang - Dynamic Ex- und Import - iCal Kalender – Modern, Intuitiv, Vernetzt! - Kostenträger- und Deckungsbeitragsrechnung - Lieferantenportal - Mail IMAP-Konten - Mobile Datenerfassung (als mobile Webanwendung sowie als App) - Mobile Vertrieb (als mobile Webanwendung sowie als App) - Notifications (Echtzeitbenachrichtigungen) - OmniSearch – die Suche, die alles findet! - Produkttrainer (eLearning) - Schnellerfassung Belege - REST-API flexibel - REST-API generisch - Tracking (Auftragsverfolgung für Kunden) - Google Workplace (Integration) Mobile Datenerfassung (MDE) Android-Barcodescanner: - Ausbau nativer Apps für MDE-Geräte auf Android-Basis für reibungslose Scanprozesse im Lager - Smartphone-Nutzung: Öffnung der mobilen Erfassung für gängige Smartphones, wodurch teure Spezialhardware für Inventur oder Wareneingang oft überflüssig wird Schnittstellen und Integration REST-API-Module: - Einführung strukturierter REST-Schnittstellen zur modernen und sicheren Anbindung externer Applikationen - Getrennte API-Bereiche: Trennung in eine standardisierte Schnittstelle für zentrale Stammdaten sowie ein flexibles Modul für individuell definierbare Endpunkte
Architektur und Betrieb Cloud-Fähigkeit: Stärkere Optimierung der Weboberfläche und Infrastruktur für den Cloud- und Hybrid-Betrieb bei gleichbleibender Release- und Anpassungsfähigkeit für individuelle Kundenwünsche. Funktionsbereiche Auftragsverwaltung Angebotserstellung Disposition Chargen- und Seriennummernverwaltung Lagerwesen, Inventur, Mehrlager Rechnungslegung Projektabwicklung Bestellwesen Arbeitsvorbereitung Document-Management Groupware Fertigungsplanung Fertigungssteuerung, Leitstand Prozesssteuerung durch Barcode-Scanner Tourenplanung CRM Statistik-Auswertungen Datev- sowie weitere FIBU-Schnittstelle(n) Fuhrpark Variantentechnik
Systemvoraussetzungen IntarS läuft nativ auf 32-bit und 64-bit Linux (vorzugsweise Debian), als Virtual Appliance auf weiteren Plattformen im Intranet und Internet. Als Datenbank kommt MariaDB zum Einsatz. Ein handelsüblicher PC als Server verkraftet 10 Benutzer gleichzeitig. Mit leistungsfähiger Hardware gibt es kein Limit für die Anzahl von Benutzern. Clients greifen über Web-Oberfläche darauf zu, z. B. mit Firefox oder Apple Safari.
Technisches Architektur In IntarS besteht eine Trennung zwischen Geschäftslogik und technischem Grundsystem.
Das Grundsystem ist in Objective-C geschrieben und mit dem gcc kompiliert. Es enthält einen Interpreter für IntarScript und Datenmodell, sowie eine allgemeine Infrastruktur für Datenbank, Druck, Oberflächensteuerung und Navigation, XML, Kommunikation und Betriebssystemzugriffe.
Die Geschäftslogik ist in IntarScript geschrieben (der dynamische Teil) und im Datenmodell definiert (der statische Teil). Die ca. 1000 Skripte und das Datenmodell bilden zusammen mit Moduldefinitionen, Layouteinstellungen, Stylesheet, Hilfedateien und weiteren Ressourcen das Repository.
Zur Laufzeit lädt das Grundsystem das Repository und wird dadurch zur eigentlichen Anwendung. Dies ist vergleichbar mit dem Laden eines Spreadsheets in eine Tabellenkalkulation.
Jeder registrierte Kunde bekommt eine eigene Mandantennummer, unter der sein individuelles (nicht öffentliches) Repository geführt wird. Damit bleibt das kompilierte Grundsystem update- und releasefähig.
Programmierung Um ein neues Repository zu bauen, wird das freie Standard-Repository 000230 oder das einer Branchenlösung dupliziert. Damit ist schon ein lauffähiges System vorhanden. Dieses wird nun nach und nach punktuell angepasst und erweitert.
IntarS hat eine flache Struktur von ca. 100 Modulen und 1000 überwiegend voneinander unabhängigen Scripts. Das hat mehrere Vorteile: hat ein Script einen Fehler, sind die Auswirkungen auf dieses eine Script beschränkt (defensive Programmierung) es können mehrere Programmierer parallel unabhängig voneinander daran arbeiten der Programmieraufwand kann gut abgeschätzt werden, da er proportional zur Anzahl der betroffenen Scripts ist die Versionierung und die Rückkehr zu einer bekannten lauffähigen Version kann in kleinen Schritten erfolgen ein Pool von fertigen Modulen steht bereit, um schnell eine maßgeschneiderte Version zusammenzubauen
Alle Änderungen im neuen Repository bleiben privat. Es kann „auf der grünen Wiese“ losgelegt werden ohne Rücksicht nehmen zu müssen auf eventuelle unerwünschte Auswirkungen in anderen Projekten. Umgekehrt beeinflusst auch kein anderes Kundenprojekt das eigene.
Die Scripts werden mit einem beliebigen Text-Editor bearbeitet. Für Notepad++, Sublime Text 3 und den integrierten CodeMirror steht eine IntarScript Sprachdefinition mit Syntaxhighlighting und Keyword Completion zur Verfügung. Es wird an der laufenden Anwendung entwickelt, indem nach jedem Editiervorgang die geänderten Scripts neu geladen und gleich getestet werden. Das dauert nur wenige Sekunden und kommt der agilen Softwareentwicklung entgegen. Jedes Modul hat zudem eine interaktive Konsole, in der Scripts vorab ausprobiert und im Trial- und Error-Verfahren verbessert werden können. Ziel dieses Vorgehensmodells ist, möglichst schnell eine genau passende Individuallösung zu erstellen, die zudem noch während der Programmierung lauffähig bleibt und während des Echtbetriebs genauso flexibel kontinuierlich weiterentwickeln werden kann.
Unterstützung Ein Grundgedanke von Open Source ist, dass man die Software anpassen kann. Dazu bietet IntarS folgende Unterstützung:IntarS 7 Handbuch, auf intars.de Workbench zur Verwaltung des Datenmodells Skript-Verwaltung Migrationssuiten für dBASE und verschiedene CRM-Systeme wie z. B. Cobra Adressmanager oder SugarCRM Modulverwaltung, Layout-Designer, Indexverwaltung das Kapitel „Erweitern und Anpassen“ im Hilfesystem Tutorial IntarScript-Referenz Ein universelles Standard-Repository (Nr. 000230) als Anschauungsmaterial für „Programming by Example“
Wiederverwendung Die Geschichte zeigt, dass Geschäftslogik schwer zu abstrahieren ist und sich damit den Wiederverwendungstechniken Vererbung oder aspektorientierter Programmierung entzieht.
Um dennoch das Rad nicht immer neu erfinden zu müssen, propagiert IntarScript die ungeplante oder unscharfe Wiederverwendung: Ist eine neue Individuallösung einige Zeit im Einsatz gereift, werden die bewährten Module in einen Pool übernommen. Von dort werden sie bei Bedarf in ein anderes Kunden-Repository übernommen. Das geschieht textlich mit „Beyond Compare 4“ und der Workbench.
Die Repository-Struktur bis hin zur IntarScript Syntax ist auf möglichst effizientes Mergen hin optimiert: von Menschen lesbare Textdateien (UTF-8) zeilenorientiert innerhalb der Zeilen feste Felder nach Möglichkeit sortiert soviel Redundanz, dass eine Zeile für sich betrachtet schon aussagt, wo sie hingehört feste Verzeichnis-Struktur, die vorgibt, an welcher Stelle sich ein File befinden kann und wie es heißen muss.