The second pre-alpha release for Lilac (jlilac) is ready.
Lilac is a Java™ (JDK1.5) application intended to assist users in managing an extensive linguistic database.
Lilac has been tested relying on some Java API features, but it is going to be ported to Kaffe as soon as possible, to rely solely on open source material.
Apart from the main practical purpose, i.e. the linguistic one, Lilac aims to be a proof of concept to picture a lightweight application framework.
Lilac has been developed on Linux operative systems, yet it can work on
several other platforms, and also in hybrid networks. Command starting with
# are intended as runnable on Linux, while thos starting with
">" are intended to be run on Windows, and
will refer to Lilac shell.
Integration relies on some cross platform solutions, such as those based on XML and HTTP.
To run Lilac you must have:
The minimal configuration to start using Lilac consists of:
There are different ways lilac can be used:
Lilac can be run directly this way:
# lilac.sh -c verb "argument"
# lilac.sh -c findLanguage <Languages><Language><SILCode>TKI</SILCode></Language></Languages>
Argument parameter can be piped from standard input:
# lilac.sh -c verb
> type query.xml | lilac.bat -c readLanguage
# lilac.sh -c readLanguage << query.xml
Argument parameter can also be entered directly by means of standard input (Ctrl-D or equivalend EOT marker must terminate the input):
The result will be directed to the standard output, and will be an XML document, for instance:
<Languages> <Language> <SILCode> ITL </SILCode> <EnglishName> Italian </EnglishName> </Language> </Languages>
When called with no argument,
lilac.sh -c opens a shell where the user can enter
complete XML commands of the form:
>> verb argument
>> readLanguage <Languages><Language><SILCode>TKI</SILCode></Language></Languages>
Lilac interactive shell provides a set of instruction to repeat commands, redirect to files and so on.
The j-archive can be imported into Java applications, and through the class LilacFacade stateless methods can be accessed from clients.
The application library will run as an in-process segment.
Lilac can work as an XML Service (not exactly a Web Service, but conceptually quite similar to that).
To run Lilac server, the easier way is running:
# lilac.sh -s
This means that it can be called by any XML/HTTP client (such as Lilac shell itself, or Lilac COM interface, and others).
The application server will obviously run as an out-of-process segment.
The implemented features are:
Overall framework (see doc. 1) [to move to standalone library in the future]
Interactive/runnable prompt XML-based shell
XML-based web server
Languages (CRUD functions)
Concepts (only tree browsing)
The framework consists of several libraries.
An extensive javadoc documentation will be provided.
A set of all-purpose utilities to help the developer in performing simple common tasks.
A set of interfaces and simple classes on which the user can build fully customised applications.
The core functionalities comprehend: