lightdev.com

Light Development
TREC Platform

Home

Products

Open Source

Services

Links

Contact

Search

Open Source

SimplyHTML

SocketTalk

PluginTemplate

SimpleTree

App Package

Album Helper

Playlist Editor

Spectrum Analyzer

DynDNS Client

Audio Library

SAM Framework

TREC Platform

XML-RPC

File System

File Server

File Manager

XML Package

Web Start

Get Thunderbird

Get Firefox!

Transparent Remote Computing

The Light Development Transparent Remote Computing (TREC) platform is an environment for distributed computing. It creates a simple environment developers can base functionality on instantly.

Given a Java EE compliant application server such as Tomcat on one end and Java SE on the other end the TREC platform encapsulates all communication, authentication and authorization and allows developers to fully concentrate on application logic on both sides.

Benefits
  • easy integration, transparent use
    (client uses remote methods without difference to local methods)

  • plain Java
    (no additional scripting in XML, config files, etc. whatsoever)

  • built in serialization/deserialization handling

  • no coding for authentication and authorization
    (modeled and encapsulated in TREC platform)

  • role based authorization easily defined in application and picked up automatically by TREC
    (clear distinction between definition and implementation of role based authorization)

  • no coding related to communication
    (encapsulated by TREC platform)

  • simple setup and administration
    (no scripting, configuration files, etc.)

  • common communication protocol
    (XML-RPC over HTTP)

  • totally secure when using strong SSL encryption on the application server
    (support for SSL and proxy servers built into TREC)

The server side

On the server side a TREC platform application is simply a single Java object or an arbitrary collection of Java objects which expose methods to clients as subclasses of class Agent. The Agent class is the "facade" which makes available methods of classes behind that "facade". An Agent class "facade" can be generated automatically from an existing class.

The client side

On the client side a TREC application is simply an arbitrary collection of Java objects which use one or more remote TREC agents through an instance of the TREC Client object. The developer can build a client application as if it did not call remote methods at all. Remote method calls are generated automatically for an existing Agent. Towards an own client application calling a remote method looks similar to calling a local method.

Simple setup

A TREC server is started instantly with deployment of a single web archive (trec.war) to your Java EE application server. A client application can use remote methods instantly by instanciating the TREC client class (trec_client.jar).

Simple administration

Agent classes and other classes as well as additional libraries are uploaded and plugged into the TREC server easily with the TREC Manager application included in the TREC distribution. Being based on the TREC platform itself the TREC Manager can be used on any Java SE client machine to control a remote TREC server. It serves as a reference implementation for a TREC client application too.

Download Version 2 here

The new version features examples, an enhanced/streamlined Manager application, automatic reload of running agents after stop/restart, enhanced caching of XML-RPC objects, automatic client and server stub generation and probably most important a way to remotely set the SAM database.

Downloads and resources

release package

classes, sources, samples, API docs and documentation as consistent release package (2,7 MB)

read manual online

TREC documentation to read online in your browser

read API docs online

API documentation in Javadoc format for online reading

Platform overview


(click to enlarge)

Requirements

To use the source codes in the package for own solutions a Java Software Development Kit (SDK) is required. The latest Java SDK can be obtained free of charge at

http://java.sun.com

Platform independent

Being implemented in 100% pure Java technology the framework can be used on virtually any platform such as Unix, Linux, Solaris, Mac or Windows.