IntarS

from Wikipedia, the free encyclopedia
IntarS
Basic data

developer IntarS Unternehmenssoftware GmbH
and freelance developers
Current  version 7.0
( November 19, 2015 )
operating system Server: Linux
Client: Firefox, Chrome, Safari
programming language Objective-C
category Enterprise software
License GPL up to version 6.1, then IOSCL
German speaking Yes
www.intars.de
Screenshot

IntarS is business software ( ERP , PPS , merchandise management ) with a web interface for small to medium-sized trading, manufacturing and service companies. Up to version 6.1 the software was completely free (under the GNU GPL ). From version 7.0, IntarS is under the IOSCL (IntarS Open Source Commercial License). This means that the user gets the source and can use it freely for his internal purposes. For commercial use, license fees are payable once per named user. Use for private purposes, teaching and research as well as evaluation are free of charge. The use of the preconfigured "IntarS Lite" virtual appliance, which replaces "Candy CRM" and can be downloaded as freeware, is also free of charge.

IntarS is a commercial open source ERP system. The driving force behind the further development are IntarS Unternehmenssoftware GmbH and the IntarS partners certified after a training course. They offer paid professional services . The IntarS Academy in Coburg offers open training courses.

IntarS is aimed primarily at companies that have individual requirements and want to replace an outdated individual solution (mostly on dBASE or Access ).

history

The beginnings of IntarS go back to 1996. For a database-oriented customer project in Objective-C on OPENSTEP with frequently changing requirements, Pirmin Braun developed a modeling tool from which the IntarS Workbench emerged. The application framework matured (version 1) in several follow-up projects in the banking sector and for what was then BRAIN AG (later Agilisys, now Infor ).

In 1999 the industry solution "Möbel2000" (Version 2) was created in cooperation with Ralf Engelhardt.

In 2000, Pirmin Braun and Ralf Engelhardt founded seat-1 Software GmbH and further developed “Möbel2000” into the branch-neutral products “seat-1 ERP” for manufacturing and “seat-1 WaWi” for trade (version 3). As a technical innovation, a web interface and hybrid technology from compiled code and scripting were used.

IntarS 4.0 came onto the market at the beginning of 2004 under GPL as a leaner version of the seat-1 merchandise management system. Functional scope, operating , work processes and division of labor were tailored to the requirements of small and medium-sized companies.

In 2006, with IntarS 5.0, an even stronger orientation towards scripting and customer-specific repositories was introduced. As a result, industry solutions for electronics, automotive, bicycle manufacturers and publishers were created. With version 5.1 the IntarScript interpreter has been improved compared to the previous version.

In 2010, IntarS 6.0 introduced XHTML and interactive SVG graphics for dashboards and OLAP , a simplified programming model for application developers, as well as installation and operating tools.

In 2011 version 6.1 brought support for mobile devices, improved modularization, extensions of the IntarScript language scope, new interfaces (e.g. for Microsoft Exchange and the financial accounting software Quickbooks ), integration in Roundcube and refactoring of the framework.

In 2012 the name was changed from “seat-1 Software GmbH” to “IntarS Unternehmenssoftware GmbH”.

IntarS 7 was released in August 2013. Technically new was the 64-bit architecture with support for Amazon AWS , switch to the current GNUstep version, revised middleware with integrated http server , its own layout engine instead of GNUstepWeb , new IntarScript interpreter and the LGPL MariaDB client. On the application side, there was a data model that could be scaled better for corporate structures, additional interfaces (including EDI , Outlook , Magento ) and a new interface in HTML5 in Google's Material Style with jQuery and incremental search. As of this version, IntarS is licensed under the new IOSCL. The move away from an OSI- compliant license was necessary in order to be able to charge license fees.

Functional areas

  • Order management
  • quoting
  • Disposition
  • Warehousing, inventory, multiple storage
  • Accounting
  • Project handling
  • Ordering
  • Work preparation
  • Document management
  • Groupware
  • Production planning
  • Production control, control room
  • Process control by barcode scanner
  • CRM
  • Statistics evaluations
  • Datev and EuroFibu interfaces
  • Vehicle fleet
  • Variant technology

System requirements

IntarS runs natively on 32-bit and 64-bit Linux (preferably Debian ), as a virtual appliance on other platforms in the intranet and Internet. MariaDB is used as the database . A standard PC as a server can handle 10 users at the same time. With powerful hardware there is no limit to the number of users. Clients access it via the web interface, e.g. B. with Firefox or Apple Safari .

Technical

architecture

In IntarS there is a separation between business logic and the basic technical system.

The basic system is written in Objective-C and compiled with the gcc . It contains an interpreter for IntarScript and data model, as well as a general infrastructure for database, printing, surface control and navigation, XML, communication and operating system access.

The business logic is written in IntarScript (the dynamic part) and defined in the data model (the static part). The approx. 1000 scripts and the data model together with module definitions, layout settings, stylesheet , help files and other resources form the repository .

At runtime, the basic system loads the repository and thus becomes the actual application. This is similar to loading a spreadsheet into a spreadsheet .

Every registered customer gets his own client number, under which his individual (non-public) repository is managed. This means that the compiled basic system can be updated and released.

programming

To build a new repository, the free standard repository 000230 or that of an industry solution is duplicated. An executable system is already in place. This will now be gradually adapted and expanded.

IntarS has a flat structure of approx. 100 modules and 1000 mostly independent scripts. This has several advantages:

  • If a script has an error, the effects on this one script are limited (defensive programming)
  • several programmers can work on it independently of each other in parallel
  • the programming effort can be estimated well because it is proportional to the number of scripts involved
  • the versioning and the return to a known executable version can be done in small steps
  • a pool of ready-made modules is available to quickly assemble a customized version

All changes in the new repository remain private. It can be started "on the green field" without having to take into account possible undesirable effects in other projects. Conversely, no other customer project influences your own.

The scripts can be edited with any text editor. An IntarScript language definition with syntax highlighting and keyword completion is available for Notepad ++ , Sublime Text 3 and the integrated CodeMirror . It is developed on the running application by reloading the modified scripts after each editing process and testing them immediately. This only takes a few seconds and is ideal for agile software development . Each module also has an interactive console in which scripts can be tried out in advance and improved using trial and error procedures. The aim of this process model is to create a precisely fitting individual solution as quickly as possible, which also remains executable during programming and can be continuously developed just as flexibly during real operation.

support

A basic idea of ​​open source is that you can adapt the software. IntarS offers the following support for this:

  • Workbench for managing the data model
  • Script management
  • Migration suites for dBASE and various CRM systems such as B. Cobra address manager or SugarCRM
  • Module management, layout designer, index management
  • the chapter "Extending and Customizing" in the help system
  • Tutorial
  • IntarScript reference
  • A universal standard repository (No. 000230) as illustrative material for "Programming by Example"

reuse

History shows that business logic is difficult to abstract and thus eludes the reuse techniques of inheritance or aspect-oriented programming .

In order not to have to constantly reinvent the wheel, IntarScript propagates unplanned or fuzzy reuse: Once a new individual solution has matured for some time, the proven modules are transferred to a pool. From there they are transferred to another customer repository if required. This is done textually with "Beyond Compare 4" and the Workbench.

The repository structure up to the IntarScript syntax is optimized for the most efficient merging possible:

  • human readable text files ( UTF-8 )
  • line-oriented
  • Fixed fields within the lines
  • sorted if possible
  • so much redundancy that a line alone tells you where it belongs
  • Fixed directory structure that specifies where a file can be located and what it should be called.
Merge a layout information file

The development of versioning tools like subversion or git in the last few years with their branch, fork and merge techniques goes in the same direction.

Practice has shown that merging improves quality. By constantly comparing files from different repositories, errors are also found because they light up as a difference.

IntarScript

IntarScript was originally created in 1997 as an interpreter for generating PDF. Over the years, the scope of the language grew steadily and, driven by practice, became a domain-specific language for the implementation of business logic. The developers' design goals were:

  • Efficiency, little paperwork
  • DRY ( Don't repeat yourself ) principle
  • little overhead
  • easy to learn
  • uniformity
  • easy to version and merge
  • simple, high-performance, easily expandable interpreter

IntarScript borrows from C , Objective-C , bash , Ruby , Java , Perl , BASIC and dBASE .

IntarScript contains commands to:

  • PDF generation
  • Field and dialog control
  • Database abstraction
  • Input processing
  • Evaluation, filtering, search, import / export interfaces
  • Batch processing
  • Mail, fax, document management

Scripts in IntarS are relatively small. Since stand-alone scripts are generated, programming can be carried out without any worries. By default, variables are global, typeless, and have short names in the scope of a script. Local variables and type tests, on the other hand, must be declared explicitly.

IntarScript does not give the programmer any artistic freedom. There is exactly one statement per line and commands and operands are without exception separated by commas. There are limits to the nesting of expressions. This restrictive syntax facilitates version management with subversion and "Beyond Compare 4" or "Meld" and makes it easier to find your way around other scripts. Naming conventions are enforced by preferring convention over configuration .

The combination of compiled framework and interpreter results in an overall performance that is only slightly behind that of a fully compiled system. This is because on the one hand all scripts are read in, parsed and converted into a type of bytecode when the system is started. On the other hand, the vast majority of clock cycles run again in compiled code during the process of interpreting, because it is essentially a list of function calls. On the other hand, if the framework were also in a script language such as B. PHP implemented (such ERP software systems are also available), the performance would be worse.

Nothing more needs to be compiled during application development. According to the manufacturer, everything that is complicated, technical in the compiled framework is separated from the functional, business-related one in the scripts. Extensions and adjustments are made seamlessly using the same technology that was used to create the standard.

Trivia

The name "Intars" is an acronym for: Int ernational a daptive r ealtime S oftware

Web links

Sources, References, and Evidence

  1. IntarS Lite
  2. manual
  3. James Carey, Brent Carlson: Framework Process Patterns: Lessons Learned Developing Application Frameworks . Addison-Wesley Professional, 2002, ISBN 0-201-73132-0 (English: Framework Process Patterns: Lessons Learned Developing Application Frameworks .).