JMIF - Manual Da Aplicação
JMIF - Manual Da Aplicação
JMIF - Manual Da Aplicação
Manual
Contents
1 Introduction 10
1.1 Idea and Core Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Standard Deployment Scenarios . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Project Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 JMIF’s components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.1 Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.2 Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.3 Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.4 Dispatcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.5 Request and Response . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.6 Telegram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.7 Formatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 Getting Started 17
2.1 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Installing JMIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 Files and Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4 Setting up JMIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5 Obtaining a License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6 Starting JMIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7 Stopping JMIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.8 Getting Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.9 Uninstall JMIF - tidy thoroughly . . . . . . . . . . . . . . . . . . . . . . . 24
3 JMIF Standard 25
3.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.1 Default Plug-Ins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.2 Dispatcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.3 Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.4 Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.5 Work-flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1.6 Error and Event Codes . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.1 Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2
Contents
3.2.2 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.3 Telegrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.4 Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.5 Display Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4 JMIF as T3 Converter 37
4.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5 Advanced Information 39
5.1 Creating a Scheduled Task . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2 Running JMIF as Service or Daemon . . . . . . . . . . . . . . . . . . . . . 39
5.2.1 Win32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2.2 Linux x86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2.3 Other Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3 Backing up Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.4 Migrating an Existing Installation . . . . . . . . . . . . . . . . . . . . . . 41
5.5 Quick Migration Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.6 Major Upgrade on a Production System . . . . . . . . . . . . . . . . . . . 42
5.7 Incompatibly Changed Settings . . . . . . . . . . . . . . . . . . . . . . . . 43
5.8 Controlling JMIF Externally . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.9 Shutdown Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.10 Using Chainsaw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.11 Application Management and Monitoring . . . . . . . . . . . . . . . . . . 44
5.12 Changing System Properties . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.13 Using Includes for Property File based Configuration . . . . . . . . . . . . 47
5.14 Configure Loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6 FAQ 49
6.1 Project Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.1.1 JMIF Standard vs Special . . . . . . . . . . . . . . . . . . . . . . . 49
6.1.2 What’s the difference between JMIF and FastOrder? . . . . . . . . 49
6.1.3 Query Extended Storage Location Information . . . . . . . . . . . 49
6.1.4 FTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.1.5 File vs. TCP Channel . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.1.6 What is JMIF’s telegram format . . . . . . . . . . . . . . . . . . . 50
3
Contents
6.2 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.2.1 Do I need administrative rights? . . . . . . . . . . . . . . . . . . . 51
6.2.2 Crypted values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.2.3 TCP connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.2.4 Switch Port Security . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.3.1 What Windows Versions are supported? . . . . . . . . . . . . . . . 51
6.3.2 What is the recommended method on Windows? . . . . . . . . . . 52
6.3.3 Can I install several JMIF instances on the same system? . . . . . 52
6.3.4 Can I install several JMIF instances using different JRE version
on the same system? . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.3.5 I’m concerned about Java’s performance . . . . . . . . . . . . . . . 52
6.3.6 I’m concerned about Java’s security . . . . . . . . . . . . . . . . . 52
6.3.7 How many storage devices could one JMIF handle? . . . . . . . . . 52
6.3.8 Does JMIF supports HoriOpt? . . . . . . . . . . . . . . . . . . . . 52
6.3.9 Do I have to shutdown JMIF each day or week? . . . . . . . . . . 52
6.3.10 Installing JMIF as a Service on Windows Vista . . . . . . . . . . . 53
6.3.11 Installing JMIF as a Service fails . . . . . . . . . . . . . . . . . . . 53
6.3.12 Starting JMIF as a Service fails . . . . . . . . . . . . . . . . . . . . 53
6.3.13 How to solve The specified service has been marked for deletion Issue 53
6.3.14 WinNT 6.2 and 6.3 Tips and Tricks . . . . . . . . . . . . . . . . . 53
6.4 Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.4.1 My key or value XYZ is not used or incorrect read . . . . . . . . . 53
6.4.2 Property Key Sequence or Grouping . . . . . . . . . . . . . . . . . 54
6.4.3 My Windows path names does not work . . . . . . . . . . . . . . . 54
6.4.4 My configured link does not work . . . . . . . . . . . . . . . . . . . 54
6.4.5 The file filter does not match . . . . . . . . . . . . . . . . . . . . . 54
6.4.6 Working with the response header ID template and file names . . . 54
6.4.7 Response messages undeliverable on TCP connections . . . . . . . 54
6.4.8 Number format problems on quantity . . . . . . . . . . . . . . . . 54
6.4.9 User device input handling . . . . . . . . . . . . . . . . . . . . . . 54
6.4.10 Response’s return code values should have other values . . . . . . 55
6.4.11 DirectStore’s Timeout Hell . . . . . . . . . . . . . . . . . . . . . . 55
6.4.12 RLP device will not work but initializes . . . . . . . . . . . . . . . 55
6.4.13 RLP device sporadically encounters an obstacle . . . . . . . . . . . 56
6.4.14 RLP deviation on Y-axis . . . . . . . . . . . . . . . . . . . . . . . 56
4
Contents
5
Contents
7 HOWTO 65
7.1 Using Media Conveter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.1.1 Common FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.1.2 VSCOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
7.1.3 MOXA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.1.4 Recommended Port Mode . . . . . . . . . . . . . . . . . . . . . . . 70
7.1.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
7.2 Connecting RLP Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
7.2.1 Basic Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
7.2.2 Configuration and Calibrating . . . . . . . . . . . . . . . . . . . . 72
7.3 Connecting TIC Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.3.1 Naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.3.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.3.3 FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7.4 C3000 Position Indicator Vario . . . . . . . . . . . . . . . . . . . . . . . . 74
7.5 Dual Tray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.5.1 Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.5.2 How is it working? . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.6 Modifying Support File Creation Behaviour . . . . . . . . . . . . . . . . . 77
7.7 Firewalling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.8 Building a JMIF Appliance . . . . . . . . . . . . . . . . . . . . . . . . . . 77
References 79
Legal Notice 80
History 81
6
List of Figures
List of Figures
1 Simple scenario showing some supported devices . . . . . . . . . . . . . . 11
2 hostLINK scenario for SAP connection . . . . . . . . . . . . . . . . . . . . 12
3 JMIF as gateway between host and PowerPick . . . . . . . . . . . . . . . 13
4 JMIF Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5 JAR Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6 SFX Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7 About Dialog: License found . . . . . . . . . . . . . . . . . . . . . . . . . 22
8 About Dialog: License missing . . . . . . . . . . . . . . . . . . . . . . . . 22
9 Schedule Tasks List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10 JMIF Service Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
11 Chainsaw GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
12 MBeans Browser (VisualVM) . . . . . . . . . . . . . . . . . . . . . . . . . 45
13 MBean Property Manager (VisualVM) . . . . . . . . . . . . . . . . . . . . 46
14 C3000 Manager (VisualVM) . . . . . . . . . . . . . . . . . . . . . . . . . . 46
15 MBean RLP Manager (HTMLAdaptor) . . . . . . . . . . . . . . . . . . . 47
16 DirectStore Timeouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
17 TIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
18 Dual Tray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
19 Dual Tray Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
20 Dual Tray Sample (cont.) . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7
List of Tables
List of Tables
1 Interfaces and Dispatchers . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2 Channel List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3 Device List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4 Work-flow Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5 Order Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6 Mixed Mode Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7 Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
8 Incompatibly Changed Settings . . . . . . . . . . . . . . . . . . . . . . . . 43
9 JMIF-FastOrder Comparison . . . . . . . . . . . . . . . . . . . . . . . . . 49
10 Storage Location Information . . . . . . . . . . . . . . . . . . . . . . . . . 50
11 File vs. TCP Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
12 Port Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
13 Generic Serial Device Server Settings Matrix . . . . . . . . . . . . . . . . 71
14 Firewall Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
15 Document History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8
Listings
Listings
1 Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2 JMIF’s command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3 Sample nestat output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4 NetCom - 413 Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5 MOXA NPort-211 Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
9
1 Introduction
1 Introduction
1.1 Idea and Core Features
The application Java Machine Interface (called: JMIF ) is a common gateway. This
gateway enables communication between two or more systems. Systems are storage units,
conveyor technique, indicator lights, warehouse management systems (called: WMS )
or enterprise resource planing software. While doing this JMIF offers the following
possibilities:
• highly threaded
• extensive setting possibilities (partly at runtime) while using arbitrary multi host-
store links
Note: The JMIF does not replace a warehouse management system. It works as a
gateway between WMS and devices!
10
1 Introduction
Figure 1 shows the most commonly used setup, where JMIF controls one or more
devices triggered by a host system.
11
1 Introduction
12
1 Introduction
The last sample figure 3 displays a deployment where JMIF operates as a gateway
between a messaging middle-ware and our WMS named PowerPick.
Some other scenarios:
• JMIF as T3Conveter
• stakeholder list
13
1 Introduction
• define work-flow
Beside the standard there are already several defined interface (see table 1). Please
contact KARDEX for detailed informations especially if not standard dispatcher or
special pick-by-light equipment is used.
Connecting KARDEX Software like P owerP ickGlobal, F astP ic5, P owerP ick5000 or
M egaLogistik900 to ERP systems using message-oriented middleware (MOM ) or raw
TCP and file channel is possible, too. JMIF special packages are:
14
1 Introduction
1.4.1 Link
A link connects at least two systems. This is the start parameter to build up a communi-
cating system. An arbitrary amount of links is definable. All configured links operate
independently. A link has two gateways - one is called Host and the other Machine.
Host and machine are just names to distinguish between both gateways and have only
historical relationship to the real machines or host systems.
Furthermore a link manages the dispatchers and allows inter dispatcher communication.
1.4.2 Gateway
A gateway manages a list of channels and links the channels to one or more dispatchers.
15
1 Introduction
1.4.3 Channel
A channel transports messages. Transport is based on send, receive and request. Channels
may operate synchronously or asynchronously.
1.4.4 Dispatcher
A dispatcher manages and processes requests. Each request is stored as a thread (parallel
processing) within a queue. The name of the queue defines the serialization criteria also
called address or destination.
Note: JMIF special extensions are mainly contained in plug-ins. For that reason a
dispatcher naming convention is given with the name of the host system.
Generally spoken a request is an order from the host gateway side of the link to JMIF.
After the request is processed a response to the host side is created. Request or response
represents in most scenarios an order position in the sense of a WMS.
1.4.6 Telegram
A telegram defines the request and response data structure as well as the data structures
used on the machine side. Additionally the telegram manages the mapping to location
coordinates such as address, tray, level, position or depth. A mapping decouples optionally
host side coordinates from machine values (e.g. to control lamps).
1.4.7 Formatter
16
2 Getting Started
2 Getting Started
2.1 System Requirements
The basic setup required a Java Runtime Environment (called: JRE ) version 1.6 or
higher (see java.sun.com/j2se). Depending on the channel type there are also native
drivers or components required (see section 2.2). A list of supported system configuration
of Sun’s JRE can be obtained from the above URL.
Hardware requirements strongly depend on the selected operating system. We recom-
mend using a system not older than three years in order to have JMIF run optimally.
Virtualization is supported as long as the device’s port is reachable from the virtual
machine.
Sufficient file system permission (full access for the user or service running JMIF) on
JMIF’s application folder and on external transfer folders are required.
• uninstaller is generated
Methode 3 (SFX including JRE, Windows only): The installation is done by executing
the given self extracting executable (called: SFX ) and setting the target’s root folder.
17
2 Getting Started
18
2 Getting Started
It’s possible to install and operate a JMIF version on one system several times using
different folders. This applies also for different JREs and JMIF versions.
An installation script allows installation of platform specific drivers and places the
required and delivered files into the JRE which runs the JMIF.
Note: If a system JRE is used, which is automatically updated, the install script
must be started after each update. In this case merging of install and startjmif script is
recommended.
The following list describes the files which could be found after the installtion in JMIF’s
application folder:
19
2 Getting Started
• backslash: creates a logical line break (must not be followed by any character in
same line) otherwise it has to be doubled
• dollar sign: if the right-hand value matches a key the value is resolved from that
key (recursively)
System properties and environment variables are merged into the configuration. For
example a JMIF key could refer to an environment variable’s value by using the dollar-
syntax.
The property file is watched by the application itself. If the file is changed, JMIF
disconnects, re-reads the configuration and connects. Therefore configuration changes
can be done at runtime - including logger settings since v1.4.190 - which is useful for
remote access or if JMIF running as service/daemon.
Furthermore JMIF’s configuration could be changed online using any available channel
if it is configured as a configuration channel (see TechMan for more informations). Please
note that these changes are discarded on shutdown of JMIF.
20
2 Getting Started
Listing 1: Licensing
Note: The license code depends on all these values and furthermore on the fully
qualified domain name (called: FQDN ) of the system running JMIF. If the FQDN is
not available JMIF tries the host name and finally the MAC address which depends on
the undefined enumeration of all available network interface controllers (called: NIC ).
In the case of a support call the license information may be requested and checked by
KARDEX Software GmbH!
Note: JMIF keeps running even if a license is missing! Therefore a valid license can be
inserted during runtime without restarting the application.
Note: A demo mode is available but must be forced. This mode is not automatically
activated if a license is missing! There are restrictions like operation delay, random
shutdown/ limited runtime and required user interaction.
There are several ways to obtain a license:
• Phone: call KARDEX Software GmbH and provide at least order number and
CodeId
• Mail: copy and paste the information above from the console output, the about
dialog (see figures 7 and 8 or the log file into a plain text mail and send it out to
KARDEX Software GmbH
• Mail with support file: create a support file and sent it out to KARDEX Software
GmbH
21
2 Getting Started
22
2 Getting Started
4. Scheduled Task/Init: add the startjmif script as scheduled task on system start
(Windows, see section 5.1) or include the script call to the init script (Unix)
Note: Because JMIF has it’s own loader the Java’s well-known CLASSPATH environ-
ment variable does not need to be set.
The Java application JMIF recognizes the following command line parameters:
u s a g e : j a v a −j a r j m i f . j a r [ OPTIONS ]
−S,−− s u p p o r t M a i l archive required f i l e s f o r support
i s s u e s , send i t p e r m a i l and e x i t
−c,−− c o n f i g < f i l e > use given c o n f i g u r a t i o n f i l e
−e,−−encode <val ue > encode t h e g i v e n v a l u e
−h,−− h e l p print t h i s message
−i ,−− i n s t a l l i n s t a l l o p e r a t i n g system s p e c i f i c s t u f f
and e x i t
−m,−−m a i l mail l i c e n s e information to
KARDEX S o f t w a r e GmbH and e x i t
−s ,−− s u p p o r t archive required f i l e s f o r support
i s s u e s and e x i t
−t ,−− t r a y i c o n shows a t r a y i c o n
−u,−− u n i n s t a l l u n i n s t a l l o p e r a t i n g system s p e c i f i c
s t u f f and e x i t
−v,−− v e r s i o n print t h e v e r s i o n i n f o r m a t i o n and e x i t
23
2 Getting Started
24
3 JMIF Standard
3 JMIF Standard
3.1 Features
JMIF’s standard is defined by a default implementations for plug-ins, two dispatchers,
channels and a list of supported devices.
The following default plug-ins are available for the given components:
• Link: DefaultLink
• Formatter: DefaultDisplayFormatter
3.1.2 Dispatcher
• DirectStoreDispatcher
• RlpDispatcher
25
3 JMIF Standard
3.1.3 Channels
File no yes no
FTP no yes no extends File
Folder yes yes no items are whole files
Mail no yes no SMTP, POP3, IMAP4 in-
cluding SSL support
JCA yes yes yes serial and parallel
UDP yes yes no
TCP yes yes yes 1:1 connection
TCPServer yes no yes support n client connections
MQS no yes no native WebSphere MQ
JMS no yes no supports all messaging sys-
tems providing a JMS driver
ISeries no yes no actually AS/400’s MQ and
IFS are supported
XMPP no yes no formerly named Jabber
HttpClient no yes no
HttpServer yes no no embedded http server
DIWS no yes no dynamic WS invocation
JDBC yes yes no supports all DBMS providing
a JDBC driver
XML no yes no for piping purpose with other
channels
Loopback no no yes loopback
OPC no yes no SPS, currently only Win32
platforms are supported
FINS no yes yes SPS, extends TCP
Channels may run synchronous (request) or asynchronous (send/ receive). Mixed mode
is possible. Asynchronous receive is achieved by events, polling or scheduled jobs which
depend on the channel type. Most channels support configurable buffering on receive.
26
3 JMIF Standard
• CHAR: end of message control character, optionally all except of STX, supports
character stuffing
• PATTERN: use pattern matching, optionally in combination with block length and
fragment size
• PACKET: packet framing using combinations of fixed, dynamic, header and body
(payload) length, optionally message type depended
Note: Availability of a channel type depends on the installed JMIF package. This
applies to JMIF standard packages, too.
3.1.4 Devices
27
3 JMIF Standard
PD PD PD Stanley PowerDrawer
Notes
3.1.5 Work-flows
28
3 JMIF Standard
In case of usage of code or orderT ype field, the work-flow could be controlled by host
system, too. We call that order or booking type. Combinations with work-flow modes
are possible. Difference between pick (out) and store (in) are usually used for different,
order type dependend display formats.
29
3 JMIF Standard
JMIF supports also toggeling by operator between host mode (alias automatic mode)
and manual mode (alias semi automatic mode), e.g. in case of rush order. This is called
a mixed mode workflow.
30
3 JMIF Standard
Controll Description
Table 7 shows a list of JMIF’s standard error and event codes as well as machine error
code ranges. Most commonly used code are 0, 101, 103 and 104.
31
3 JMIF Standard
Code Description
Table 7: Codes
3.2 Configuration
There are dozens of settings available. Check the TechManual, DirectStore Dispatcher
for detailed informations. Most of the settings could be defined globally in the sense of
the dispatcher or locally in the sense of the target address.
• Common: camelcase
• Gateway: compound of link name, host or machine and the word gateway
32
3 JMIF Standard
• Host telegram: if request and response telegrams or identical just the word host-
Telegram otherwise insert req or resp between the words host and telegram
• Display formatter: compound of the word displayFormatter and order type like
(IN, OUT, INV )
3.2.2 Templates
JMIF uses simple internal templates. These templates are built up by using named
fields (case sensitive!) surrounded with @@ and any other static text. We call them
@@-template.
3.2.3 Telegrams
Telegrams on the host gateway are based on regular expressions (see [Friedl03]). The
most important settings are:
• pattern: the regular expression used to match the given request data. The expression
to parse or format a field value (depends on the fields data type).
• infoFieldNames: defines a list of additional fields. These fields can be used like the
build-in fields.
• country: the country argument is a valid ISO Country Code. These codes are
upper-case, two-letter codes as defined by ISO-3166. You can find a full list of
these codes at a number of sites, such as ISO-3166.
33
3 JMIF Standard
• language: the language argument is a valid ISO Language Code. These codes are
lower-case, two-letter codes as defined by ISO-639. You can find a full list of these
codes at a number of sites, such as ISO-639.
• defaultValue: field’s initial value which has to fit to field’s data type specification.
Mapped fields can be referenced by adding the prefix plain before the field name, while
uppercase the first letter of the name. The corresponding sub key could be created by
placing a @@-template into the pattern key of the plain fields definition.
Note: Reverse mapping is not yet supported, i.e. machine data like a carrier number
on a status request could not be reverse mapped.
Following variables are predefined. In most cases address and carrier are at least
required. Unused but specified numeric fields have to be set to 0 whereas alphanumeric
ones could contain an empty string:
• seqNo (integer): can be used to sequence number checks within used protocol,
range configurable
• hostId (string): can be used to join response and request on host side
• confirmFlag (boolean) : allows the host to ask for a response per request
34
3 JMIF Standard
• code (integer): combination of order type (request) and return value (response)
The machine gateway telegrams have machine type specific settings. Check the
TechManual for details.
• dot: .
• hat: ˆ
• bracket: (
• pipe: |
35
3 JMIF Standard
• star: ∗
• plus: +
• questionmark: ?
• backslash: \
More informations about regular expressions (alias RegExp or just Regex ) are available
here:
• Wikipedia
• Regular-Expressions.info
The default display formatting plug-in depends on the host gateway telegram, i.e. on
the regular expression based telegram. Optionally the order type or code field could be
used to create separate layouts depending on booking type. Formatting is carried out as
follows, using:
• R: right padding
• C: center padding
• L: left padding
• .: decimal delimiter
36
4 JMIF as T3 Converter
4 JMIF as T3 Converter
JMIF could be used as T3 converter (called T3C ). For this purpose an own package is
available containing the needed plugins. JMIF/T3C is able to convert the T3 protocol
into the C3000CGI protocol.
4.1 Features
JMIF/T3C supports
• RS232 (including virtual COM ports like com0com), UDP and TCP
• host ID mapping
37
4 JMIF as T3 Converter
4.2 Configuration
The T3C configuration requires at least the definition of the communication channel
between host and JMIF, communication timeout, desired appliance on the panel, opening
addressing and T3 telegram parameterization.
The configration structure is JMIF standard except of the RLP dispatcher plugin has
to be used (check the property file from the package as sample).
38
5 Advanced Information
5 Advanced Information
5.1 Creating a Scheduled Task
Instead of using a service there is another way to achieve similar functionality on Windows
platforms (running JMIF without a logged on user) - this is called scheduled task. To
create a new task:
• modify the win32 wrapper.conf file on demand, e.g. set the service’s name, startup
type and logging features
39
5 Advanced Information
• execute the installservice script (or the uninstallservice script for uninstall purpose)
• adjust the log on settings (default: Local System, see figure 10)
• start the service once using service manager or just net start JMIF as administrator
The following steps are required to run JMIF as a daemon using init:
• modify the jmif and wrapper.conf files on demand, e.g. set the daemon’s name,
paths, user and logging features
40
5 Advanced Information
• execute rm /etc/init.d/jmif
At the time of writing this document only Win32 and Linux x86 binaries are deployed
and supported.
Note The Win32 components works on a Windows based x64 system using the deployed
JRE, too.
Note Because of licensing issues JMIF is made YAJSW (Yet Another Java Service
Wrapper) ready. Theat means one could use YAJSW instead of the deployed framework.
• arrange a date with all stakeholders while considering downtime of the warehouse
and availability requirements
• order the needed support from your KARDEX sales considering additional costs
for nightwork, work at weekends and public holidays
• check availability of stakeholders and systems a few days before the scheduled date
41
5 Advanced Information
• failover cluster/SAN: node switch is done automatically, JMIF starts on new node
and recovers transcation if activated
• cold stand-by system: bootup system, JMIF starts if system is licensed before
• otherwise: restore from backup (see section 5.3) and obtain a new license code
considering support level and related support times
Note At most cases the license will became invalid but JMIF still starts disconnected
without a license.
Note Reconfiguration of media converters running in UDP mode will most likely be
required in case of IP address of JMIF host was changed.
3. disable JMIF on old system (e.g. by disabling the service or renaming the
jmif.properties file)
6. create a support file on new system and send it to KARDEX Software GmbH
7. insert new license code into jmif.properties and save the file
9. remove JMIF from old system (delete service and then JMIF’s application folder)
42
5 Advanced Information
In case of problems create a support file, shutdown JMIF and rename the current
JMIF’s application folder. Rename the above saved folder to its orginal name and start
JMIF again You are back on your old productive system.
43
5 Advanced Information
44
5 Advanced Information
• −Dcom.sun.management.jmxremote
• −Dcom.sun.management.jmxremote.port = 9999
• −Dcom.sun.management.jmxremote.authenticate = f alse
• −Dcom.sun.management.jmxremote.ssl = f alse.
Securing the remote access is strongly recommend (see JMX documentation). Web-based access is
possible using JMIF’S extension EmbeddedHtmlAdaptorServer and the JMX tools.
45
5 Advanced Information
46
5 Advanced Information
47
5 Advanced Information
Extending JMIF’s classloader is carried out using the file jmifclassloader. properties located in
JMIF’s application folder. The syntax is defined by unique name equals path such as FooBarCompo-
nent=c:/components/foobar.jar. But one could also place such additional, required but not deployed
runtime components in JMIF’s lib folder which is completely read by the loader. This is possible if the
additional component was xcopy-deployed.
48
6 FAQ
6 FAQ
6.1 Project Management
6.1.1 JMIF Standard vs Special
The common JMIF standard is represented by the DirectStore dispatcher. There are serval other packages
(plugin sets) availlable as standard in the sence of order management, too. Projects not covered by
standard are implemented by plugins based on JMIF standard’s core and kept compatible with core also
after the project was realized. In other words: special implementations are always integrated into main
branch using plugins.
49
6 FAQ
Note: The data may be inaccurate or may become invalid in case of manual storage action or storage
compression!
50
6 FAQ
Most commonly used is a simple character separated value message line containing an end of message tag
for both directions. Data structure and transport are completely separated, too, i.e. one could exchange
a channel while keeping the telegram’s structure.
6.2 Security
6.2.1 Do I need administrative rights?
No, as long as you do not need access to protected system resources (e.g. installing service/daemon). On
Unix you could install and run JMIF from your home directory.
6.3 Installation
6.3.1 What Windows Versions are supported?
Any version and architecture for which a JRE is available. A x86 JRE works on x64 system types. A
JMIF packages containing a x64 JRE is available on demand. In case of x64 platform ensure that all
needed external native libraries are available as 64-bit version.
51
6 FAQ
6.3.4 Can I install several JMIF instances using different JRE version on the same
system?
Yes, there’re no impacts or version conflicts as long as you consider the system requirements.
52
6 FAQ
6.3.13 How to solve The specified service has been marked for deletion Issue
• A Microsoft Management Console (MMC) is opened. To ensure all instances are closed, run
taskkill/F/IM mmc.exe. Note that services console and NT event viewer are hosted by MMC,
too.
• SysInternals’ Process Explorer is opened. Closing it should lead to automatic removal of the
service.
• Task Manager is opened.
6.4 Customization
6.4.1 My key or value XYZ is not used or incorrect read
Configuration keys and values are case sensitive! Check the spelling! Check for copy’n paste errors! Check
for doubled keys with different values! In case of logical line breaks check for invisible space characters
after the backslash! Check that variable are resolvable! If JMIF miss a mandatory key, it writes the
expected key name into the log file. Note that comments are not allowes inside a line. They will became
part of the valule! Further information regarding Java properties file format are available on Wikipedia.
53
6 FAQ
6.4.6 Working with the response header ID template and file names
The dispatcher’s template may contain all defined fields or constants. Furthermore it may contain path
separators. But to use subfolders one should consider, that the folders have to exists in the up folder
(only below version 1.4.200) and that there is no prefix defined. If the respHeaderIdTemplate setting
is undefined, the request’s channel sender(From) information will be used for the response’s channel
recipient (To).
54
6 FAQ
55
6 FAQ
56
6 FAQ
57
6 FAQ
This mean that on the communication layer one http request may timeout before the SPS command
itself will fail. Finally use
58
6 FAQ
59
6 FAQ
60
6 FAQ
6.5 Operation
6.5.1 License missing error occurs
Most probably you never have a valid license or the systems FQDN was changed. Also check that you
have a valid amount of machine channels licensed and that the other license information did not change.
61
6 FAQ
In case you could exclude all of these reasons and JMIF continues after a restart, please execute the
ctrl dump batch before you restart it next time and before you execute the support file creation batch.
Alternativly you could use jps from JDK and look for a Java process called JmifLoader or JmifSer-
viceWrapper if JMIF runs as service or daemon.
Finally you could look for the system property wrapper.java.pid in JMIF’s log files in case of JMIF
running as service or daemon.
62
6 FAQ
63
6 FAQ
6.6 T3C
6.6.1 T3C Mask State not updated
In case the mask state is not updated and confirmation on OP is not possible, double check the different
address mappings. For performance reasons JMIF fetches all opening’s state at one time. Therefore you
may not recognize if JMIF polls an inactive, not existing opening. Check JMIF’s log files for so called
injected OP addresses, where JMIF dynamically injects device’s internal addresses into its settings at
runtime (memory only, not persisted).
64
7 HOWTO
7 HOWTO
7.1 Using Media Conveter
Usage of media converter may be recommendable in case of connecting serial devices over ethernet (long
distance, central installation at data center, lack of ports) or to capsulate devices from broadcast storms.
Basic configuration is usally done by console (serial or telnet in combination with ARP or SNMP)
or by proprietary, platform dependent software. We recommend using the serial configuration port
(Hyperterminal, TeraTerm or Minicom).
Further configuations are done by terminal (serial/ telnet) or web based (VSCOM only).
The most critical settings are the destination IP address and port, the end of message detection and
the serial port parameters.
The amount of serial ports per device should be choosed considerung the serial device topology and
aspects of redundancy.
What is the end of message trigger for M M 2xx/M M 5xx based machines? 0x0D
What is the end of message trigger for RLP devices? 0x0A and a trigger timeout of 5msec.
What are the default serial port settings for M M 260 based machines? Baud Rate:
9600, Parity: N one, Data Bits: 8, Stop Bit: 1, Flow Control: N one. Note: Due to the fact, that the
RS pin assignment is proprietary, one has to use an adpater from KARDEX!
Media converter is not ping-able In case all other connections working (local PC to media
converter and JMIF server to local PC) most likely the gateway setting on media converter was not done
or wrong.
I got no communcation - what’s wrong? Go to port statistics of your media converter and
check the sent (TX) and received (RX) byte count. Now you should check the settings between PC and
converter (TX equals zero) or between device and converter (RX equals zero).
In case of multi port converters (2, 4, 8 or 16) double check configured UDP ports for uniqueness.
65
7 HOWTO
After device reset the monitored transfer on serial port is not set to zero - what’s
wrong? Most likely there’s a cabling issue on serial port side. Unplug the serial cable, reset device
and check the traffic counters again. Plugin the cable and check the device’s status after reset anew.
I got no communcation after I changed the port mode - what’s wrong? Check the
COM port settings, sometimes they are linked to the port mode or reset on port mode change.
7.1.2 VSCOM
The following listing illustrates a typical configuration to access a RLP device over UDP. Communication
parameters for serial console are 38400, 8, n, 1, n using null modem cable or adpater. After basic server
configuration is done, one could switch from console to Web-Browser using configured IP adress and port
80. There is no need to install drivers or other software!
S e r v e r Parameter
+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− h=HELP −+
Server configuration s e t t i n g s
S i m p l e Network Time P r o t o c o l
66
7 HOWTO
State Interval
Mode IP A d d r e s s
Interval [1800 ]
Server [192.168.100.6 ]
+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− h=HELP −+
Server configuration s e t t i n g s
Serial Settings
P o r t Nr . 1
PortType ( c u r r e n t ) rs232
DefaultModel 16550
MaxBaudrate 921600
Model 16550
Baudrate 9600
Manual 9600
FlowType None
DataBit 8
Parity None
StopBit 1
RxFifoLength 2048
RxTriggerLevel [1248 ]
TxFifoLength 2048
TxTriggerLevel [800 ]
+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− h=HELP −+
S e r i a l port configuration s e t t i n g s
Transfer Settings
P o r t Nr . 1
Mode UDP Mode
UDP P o r t ( L o c a l ) [10011]
Destination [ de6−pc−r d 0 0 3 ]
UDP P o r t ( D est ) [10001]
UDP M a x P a c k e t S i z e [1458 ]
UDP Timeout [10 ]
UDP T r i g g e r [ \ x0D\x0A ]
+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− h=HELP −+
S e r i a l port configuration s e t t i n g s
67
7 HOWTO
FAQ
Why are my settings not stored/ lost after reboot? Most probably you have set the
DIP switches alias operation mode on port 1 to factory settings!
Why connection over crossed ethernet cable for NetCom Manager usage or serial
console access may fail? Reset the device to factory defaults using DIP switches and then back
port 1 to configuration mode. Do not forget to power off/on the device after changing DIP switches!
What are the DIP switch settings for RLP devices Becauase RLP devices connected
using RS232 and operation mode data port is needed, set (S1, S2, S3, S4) = (OF F, OF F, ON, ON ).
7.1.3 MOXA
The following listing illustrates a typical configuration to access a RLP device over UDP. Communication
parameters for serial console are 19200, 8, n, 1, n.
MOXA NPort S e r v e r E x p r e s s V1 . 7
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
[ s e r v e r C o n f i g ] OP mode Serialport Monitor Ping Restart Exit
Config s e r v e r s e t t i n g s
S e r v e r Model DE−211
S e r v e r Name [ NPORT 211 ]
S e r i a l Number 00545
IP C o n f i g u r a t i o n [ S t a t i c IP ]
Ethernet Status 10M bps
MAC A d d r e s s 0 0 : 9 0 : E8 : 1 0 : 7 8 : B0
IP A d d r e s s [192.168.100.32 ]
Netmask [255.255.255.0 ]
Gateway [ ]
Password [ ]
MOXA NPort S e r v e r E x p r e s s V1 . 7
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
s e r v e r C o n f i g [ OP mode ] S e r i a l p o r t Monitor Ping Restart Exit
C o n f i g t h e o p e r a t i o n mode o f t h e s e r i a l p o r t
MOXA NPort S e r v e r E x p r e s s V1 . 7
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
s e r v e r C o n f i g [ OP mode ] S e r i a l p o r t Monitor Ping Restart Exit
C o n f i g t h e o p e r a t i o n mode o f t h e s e r i a l p o r t
+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+
ESC : back t o menu Enter : s e l e c t | Host Based / D r i v e r Mode |
| P a i r C o n n e c t i o n ( Mas ter ) |
Port Application | Pair Connection ( Slave ) |
68
7 HOWTO
1 [UDP S e r v e r / C l i e n t | TCP S e r v e r |
| TCP C l i e n t |
| UDP S e r v e r / C l i e n t |
| E t h e r n e t Modem |
+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+
MOXA NPort S e r v e r E x p r e s s V1 . 7
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
s e r v e r C o n f i g [ OP mode ] S e r i a l p o r t Monitor Ping Restart Exit
C o n f i g t h e o p e r a t i o n mode o f t h e s e r i a l p o r t
MOXA NPort S e r v e r E x p r e s s V1 . 7
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
s e r v e r C o n f i g [ OP mode ] S e r i a l p o r t Monitor Ping Restart Exit
C o n f i g t h e o p e r a t i o n mode o f t h e s e r i a l p o r t
Port A p p l i c a t i o+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+
1 [UDP S e r v e | Begin End Port |
| ( s e r i a l t o LAN) |
| De st . IP addr 1 [192.168.100.123][ ][4001 ] |
| De st . IP addr 2 [ ][ ][4001 ] |
| De st . IP addr 3 [ ][ ][4001 ] |
| De st . IP addr 4 [ ][ ][4001 ] |
| (LAN t o s e r i a l ) |
| S r c . IP addr 1 [192.168.100.123][ ] |
| S r c . IP addr 2 [ ][ ] |
| S r c . IP addr 3 [ ][ ] |
| S r c . IP addr 4 [ ][ ] |
| |
| Local L i s t e n Port : [4001 ] |
| D e l i m i t e r 1 ( Hex ) : [ 0A ] |
| D e l i m i t e r 2 ( Hex ) : [ ] |
| F o r c e t r a n s m i t ( ms ) : [5 ] |
+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+
MOXA NPort S e r v e r E x p r e s s V1 . 7
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
serverConfig OP mode [ S e r i a l p o r t ] M o n i t o r Ping Restart Exit
Config s e r i a l port s e t t i n g s
P o r t Number 1
69
7 HOWTO
Note: In case of mode RawTCP the server’s TCP KeepAlive option should switched on using the desired
keep alive interval. Otherwise an automatic reconnection from JMIF in case of connection lost may not
be possible until server reboot.
70
7 HOWTO
7.1.5 Summary
Serial Settings
All other settings should be kept at device server vendor’s factory defaults.
71
7 HOWTO
• switch off the machine and check wether the RLP swing into the plumb-line
• switch on the machine, check wether the RLP drives the initial positions and afterwards is
perpendicularly stoped
If one of the tests failes contact your KARDEX technician.
7.3.2 Configuration
The TIC device could be used stand alone or as sub system. Main configuration is done by setting up
the display formattting:
• Module: hardware part of TIC device (a TIC module), amount of modules could be configured
but is detected by JMIF as default
• Segment: part of the whole text to display, position could be changed due to lack of space, maps
to display formmatter’s lines, one upto three segments are supported
• Control Characters: used to show arrows or toggle text blinking, could be used anywhere inside
display formatter’s line spec or directly from host (stand alone mode recommended)
72
7 HOWTO
– %ˆ% arrow up
– %|% arrow down
– %B% toggle blinking
– %Bˆ% arrow up blinking
– %B|% arrow down blinking
• Positioning: either based on pos and depth using scaling or more accurately (max. ±5mm
tolerance) on millimeter values given by the info fields x and y
• Offset: (left) column offset in millimeter
• Bit Maps: used to replace all non US-ASCII charachters, bit map font designer for Windows
available on demand
7.3.3 FAQ
I want to ues TIC directly without given carrier Carrier zero is used to clear the display.
All other values have no meaning. But if the carrier field is undefined it’s default value is zero! Therefore
any given numeric field could be reused as carrier field, e.g. the code field.
TIC seems to be crashed TIC allows only one client connection. If the client connection was not
closed properly a new one will not be accepted. JMIF detects this situations and resolves it automatically.
73
7 HOWTO
TIC crashed TIC may crash if illegal characters or bit maps were sent. Check message filtering, the
display formatters ASCII mode setup and bit maps used.
74
7 HOWTO
75
7 HOWTO
76
7 HOWTO
7.7 Firewalling
If communication between host system and JMIF or JMIF and hardware devices is between different
depatments or even over a WAN it may be neccesary to configured existing Firewalls between involved
systems. That also applies to existing and activated local firewalls. Table 14 lists some common rules.
JMIF/ Devices
C3000 PLC OUT TCP 81
C3000 OP OUT TCP 80 OPbrowser tool
C2000 PLC OUT UDP 2002
C2000 PLC OUT TCP 23 service tool
MM260 AO OUT UDP 2003
Intertex Web UI OUT TCP 80 see table 13
Intertex PLC OUT TCP 4xx0 xx = unit no.
RLP Web UI OUT TCP 80 see table 13
RLP PLC IN, OUT UDP 4xxy xx = unit no., y = AO no.
TIC EIM Web UI OUT TCP 80
TIC EIM PLC OUT TCP 4001
77
7 HOWTO
1. create a virtual machine based on a Linux 2.6 kernel, with 256MB RAM and a 8GB vdisk or use
appropriate hardware
2. boot from Debian’s netinst image
3. use defaults except of tasksel (disable all except of ssh server)
4. on VMwares hypervisor products run apt-get install open-vm-tools, module-assistant auto-install
open-vm -i and apt-get install open-vm-toolbox (you need to add the contrib archive to your apt
source seetings)
5. install a Lightweight X11 Desktop Environment using apt-get install lxde-core gdm
6. install some useful tools using apt-get install xpdf leafpad iceweasel filezilla
7. install default JDK using apt-get install default-jdk
8. install JMIF by uploading installer jar file and launching it
9. configure and start JMIF as needed
78
References
References
[Friedl03] Jeffrey E. F. Friedl: Mastering Regular Expressions, 2nd Edition, O’Reilly & Associates Inc.,
2003.
[Gulu04] Ceki Gülcü: The Complete Log4j Manual: The Reliable, Fast and Flexible Logging Framework
for Java, QOS.ch, 2004.
79
Legal Notice
Legal Notice
This document must not be reproduced, revised, rewritten or converted into a computer language or any
other language in any form or for any purpose using electronic, mechanical, magnetic, optical or any
other means, whether in part or in full, unless express written permission has first been obtained.
Unless authorised by Kardex Software GmbH, any attempt to reproduce or distribute this manual or
to store its contents on data carriers shall be classed as an infringement of copyright and will result in
prosecution.
Product names are quoted for informational purposes only, which by no means constitutes a misuse of
trademarks.
80
History
History
81
History
Table 15 – Continued
82
History
Table 15 – Continued
83
History
Table 15 – Continued
84
History
Table 15 – Continued
85
We’re always happy to receive constructive criticism.
typeset by LATEX