There are two kind of external Java applications: visual applications and non-visual applications. Both these applications must extend CoordinatedEventSource, so that the task will be able to handle the events fired by the application.
For a visual application, the only other requirements are that it extend from the JComponent class, and that it implement the same behavior as a toolkit business function (for example, having a button in the TaskArea, a navigation area, and the ability to get focus).
For a non-visual application, a DesktopThread with the application will be launched, and a message will advise that an application has been launched. The only restriction is that the class must have a main method, which will be called from the Thread. Any kind of Java application can be launched.