Settings of Multi-User System

X-TEA Driver
works as a stand-alone application when installed. You can set it as a multi-user system by integrating distribution mechanism and DB server.

- What is Stand-Alone Application?


If you have all softwares you need at hand in your PC to run an application, it is called stand-alone. An enterprise system is roughly made of database and data processing programs. If you have all of them in your PC, it is a stand-alone enterprise system.

Figure above is how the sample system(Sample.xeaf) works in your PC when you installed X-TEA Driver. Notice that data processing programs are not coded nor compiled for respectable systems. All you need is to define tables and functions and register their specifications in a file(with extension of .xeaf) using X-TEA Editor. Then X-TEA Driver will interprets the file and transforms itself as the database system on the spot.


- Sharing Database and Specifications

The form of stand-alone is insufficient for practical use of enterprise system as it only allows a single user. At least you need make it as multi-user form by sharing DB folder in the network.

If users share database, it needs to control transaction of data processing. If you use X-TEA Driver, you do not need to care of transaction as it is controled by the platform.

Another issue of multi-user system is distribution of softwares. It is too much annoying to distribute softwares to all users everytime you modify them. Using X-TEA Driver, you have no need to do that because the latest design of system is declared in shared spec file and X-TEA Driver reads the file to transform itself. As size of spec file is a couple of mega bytes at the largest, it is easy for clients to read it even via network.

This is how to share DB and spec file in network(LAN, WAN). Edit DB config as pointing to the sharred database folder using X-TEA Editor. Put your spec file and login.bat on the shared spec folder and distribute the shortcut of the bat file via Email to all users. By double-clicking the shortcut users can launch system as you designed. Codes of login.bat are as follow.

@echo off
start javaw -Xms256m -Xmx256m -jar C:\...\XTEA\xteadrv.jar \\Mary\XTeaDriver\mySystem.xeaf

Multi-user setting of JavaDB
If you use JavaDB in multi-user system, you need to allow accesses to the JavaDB server program. Edit 2 lines in a bat file(...\bin\startNetworkServer.bat) on the server folder of JavaDB as follow. In multi-user mode, you do not need to "Start DB" on client PCs(you do not need JavaDB on client PCs to begin with).

-Before Change(two lines to change)
... org.apache.derby.drda.NetworkServerControl start %DERBY_CMD_LINE_ARGS%

-After Change(two lines to change)
... org.apache.derby.drda.NetworkServerControl -h 0.0.0.0 start %DERBY_CMD_LINE_ARGS%


- Distributing the Platform

X-TEA Driver have made distribution of respectable system far easier than before. Now how about distribution of the platform itself? You can solve the issue by integrating a mechanism in the network. Updated softwares will be automatically distributed every time users login.

JAR in the figure above represents software modules of X-TEA Driver. Users will login to the system via shortcut of login.bat which contains codes to robocopy updated JAR files into client PCs. How to integrate distribution mechanism into the network are as follow.

Setup spec folder as following example. Change names of the root folder as required. You can even prepare a new folder in stead of spec folder. Copy all jar files in install folder of X-TEA Driver into lib folder.

\\Mary\XTeaDriver (The root folder where spec file is stored)
   \lib (Folder for all jar files of X-TEA Driver)
     \output (Folder for PDF files. Leave it empty)

Edit login.bat as follows and put it on the root folder and inform its shortcut to all users. When users launch system via the shortcut, all updated files will be copied to client PCs. You have no need to install X-TEA Driver in each client in advance.

@echo off
robocopy \\Mary\XTeaDriver\lib C:\XTEA /mir
start javaw -Xms256m -Xmx256m -jar C:\XTEA\xteadrv.jar \\Mary\XTeaDriver\mySystem.xeaf


- Integrating DB Server

If you have more than a dozen of users for the system, you had better integrate DB server to the network as it places too much load with too many users operating at the same time. You do not have to buy another server machine nowadays as you can take advantages of cloud service like AWS.

X-TEA Server in the figure above is a servelet program that processes http requests from client sessions. It handles DB connections and controls load on the network. Followings are the procedures to impliment.

(1)Editting System Definition
Edit spec file using X-TEA Editor. In order to have system communicate with X-TEA Server, edit DB Method URL as follows:
http://localhost:8080/xteaServer/DBMethod
(put IP or your server name at localhost)

(2)Setting Tomcat
Edit web.xml (configurations of servelet) as follows. "DBMethod" is a name of main class of X-TEA Server and "xeadServer" is a package name.

<?xml version="1.0" encoding="Windows-31J"?>
<web-app>
<servlet>
<servlet-name>DBMethod</servlet-name>
<servlet-class>xeadServer.DBMethod</servlet-class>
<init-param>
<param-name>SystemDefinition</param-name>
<param-value>\\Mary\XTeaDriver\mySystem.xeaf</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>DBMethod</servlet-name>
<url-pattern>/DBMethod</url-pattern>
</servlet-mapping>
</web-app>

Place web.xml and JAR files(all JAR files in X-TEA Driver install folder) as follows:

-Tomcat Folders-
../webapps (Folder for user servelets)
   /xteaServer (Folder for your project)
     /WEB-INF (Place web.xml here)
       /lib (Place JAR files here)

(3)Execute to Check
Start Tomcat and type in your DB Method URL to browse. If everything is okay, the page shown below appears by X-TEA Server. Then you launch the system using X-TEA Driver and check how it works.




Security Wargings
Notice that by communicating to DBMethod of X-TEA Server, third person can operate database. Never set your DB server be public to the internet.

H O M E