TELS Logo Banner Banner

Development Technologies

Possible Technologies that will used in the design, development and release of SAIL. If you have any ideas please add them.

Quick Java Tech overview

Java PDF

Open Source Solutions

  • iText - iText is a library that allows you to generate PDF files on the fly. The iText classes are very useful for people who need to generate read-only, platform independent documents containing text, lists, tables and images. The library is especially useful in combination with Java(TM) technology-based Servlets: The look and feel of HTML is browser dependent; with iText and PDF you can control exactly how your servlet's output will look.
  • jfreereport- Java reporting tool for formatting PDF reports. It is possible to simply hand off a swing TableModel to JFreeReport and get a paginated pdf as a result.
  • FOP - FOP is an XSL formatter written in Java. It is used in conjunction with an XSLT transformation engine to format XML documents into PDF.
  • JasperReports - JasperReports is a powerful open source Java reporting tool that has the ability to deliver rich content onto the screen, to the printer or into PDF, HTML, XLS, CSV and XML files

older pdf implementation

Open Source Java PDF Viewer
JPedal

Java Messaging Service (JMS)

  • HermesJMS - Swing client that allows interaction between JMS Providers
  • ActiveMQ - JMS Containter

IDE

Eclipse is a kind of universal tool platform - an open extensible IDE for anything and nothing in particular.

See also Building SAIL and Building Pas Suite

Necessary plugins
Name Update site
Maven 2 Plugin http://m2eclipse.codehaus.org/
Subversive http://www.polarion.org/projects/subversive/download/update-site/
Other plugins you may find useful
Name Update site
Log4E http://log4e.jayefem.de/update
Koders search http://www.koders.com/Special/Plugins/Eclipse/Update/site.xml
JarPlug http://www.simontuffs.com/jar-plug
Patternbox none
SFTP http://klomp.org/eclipse/updates/
Protocols none
AdvanQas none
Hibernate Synchronizer http://hibernatesynch.sourceforge.net/update/
Spring IDE http://springide.org/updatesite/

UI Development

  • Piccolo - built on Java2D to create Zoomable User Interfaces (like ICDL)

Java 2 Micro Edition - J2ME

J2ME is the platform for cell phones and thin GUIs on the desktop. That domain is very similar to ours in that you have remote devices that cannot assume any computer savvy and need to be updated automatically. They also have the issues of data exchange over an unreliable link.

Java 2 Enterprise Edition - J2EE

Enterprise Java Beans (EJBs)

Core Java

Coding

  • Retroweaver - converts JRE 1.5 bytecode to run in JRE 1.4
  • Aspect Oriented Programming - O'Reilly primer on AOP
  • Xdoclet
  • JPOXOpen source implemenation of JDO.
  • MockObjects
  • OSGi - Open Services Gateway initiative (OSGi) standard component framework specifies how components should be registered with an application for dynamic loading and unloading

Authoring

Distribution

Peer-to-peer

Distributed Systems

These could be ways to efficiently deploy the owl code and content. And also to maintain synchronized user data.

  • article on JMS and JavaSpaces
  • Distributed Hash Tables (DHTs)
    • Chord Project - group working on CFS and Chord.
      These are not java based but their designs and analysis are very informative. CFS is a cooperative read-only file system. Authors can securely insert data into the file system and then it is dynamically published using a distributed hastable. Chord is the hash search system used by CFS.
    • Tapestry and OceanStore - West coast Chord/CFS
    • Bamboo DHT - "A Robust, Open-Source DHT" using Java NIO
  • PlanetLab - a test bed for distributed systems. We might be able to use this to emulate school servers in our tests.
  • Freenet - anonymous p2p content distribution network
  • SHA1
  • Scope-aware distributed OMF for J2EE - A scope-aware system eases development and prevents memory leaks

Storage

Tools

Patterns

Labels

 
(None)