File: tag_x2java.html

package info (click to toggle)
lg-issue28 2-1
  • links: PTS
  • area: main
  • in suites: slink
  • size: 2,396 kB
  • ctags: 158
  • sloc: makefile: 30; sh: 3
file content (278 lines) | stat: -rw-r--r-- 11,268 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
<!--startcut =======================================================  -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<TITLE>The Answer Guy 28: Tools for converting X output to java </TITLE> 
</head>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#A000A0"
ALINK="#FF0000">
<!--endcut =========================================================  -->
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <hr> <P>

<!-- ===============================================================  -->
<H1 align="center"><A NAME="answer">
<img src="../gx/dennis/qbubble.gif" alt="" border="0" align="middle">
<a href="./lg_answer28.html">The Answer Guy</a>
<img src="../gx/dennis/bbubble.gif" alt="" border="0" align="middle">
</A></H1> <BR>
<H4 align="center">By James T. Dennis,
<a href="mailto:answerguy@ssc.com">answerguy@ssc.com</a><BR>
Starshine Technical Services, 
<A HREF="http://www.starshine.org/">http://www.starshine.org/</A> </H4>
<p><hr><p>
<H3><img src="../gx/dennis/qbub.gif" alt="(?)" width="50" height="28"
	align="left" border="0">Tools for converting X output to java</H3>

<p><strong>From Sheldon E. Newhouse on Tue, 31 Mar 1998 on the [linuxprog] 
	<a href="http://linux-lists.home.ml.org">mailing list</a></strong></p>

<P><strong>Are there any tools available to convert 
standard C code with X displays to java displays?  Basically, we have a 
long program which is written in C and does low level X output.  We would 
like to port it so that the number crunching part works on a back-end 
server and users can view output on java clients.  The part of the program 
that does the display is fairly short, but intimately connected with the 
X libraires.  Any ideas or references would be appreciated.  
<br><br> 
TIA,
<br>-sen</strong></p>

<blockquote><img src="../gx/dennis/bbub.gif" width="50" height="28" alt="(!)"
	align="left" border="0">I'm not sure about a "Java X Server" per 
se.  However there has been some work done on execution of remote X 
applications through a web browser interface.

<br><br>
 I have yet to use any of this stuff (I barely use X) --- so I can only 
 rely on hearsay and a bit of web searching.
   
<br><br>
 The first technology to consider is the latest release of X Windows 
 itself.  There was an initiative by the X Consortium (*)
 called "Broadway" --- this eventually became the widely accepted 
 code name (possibly widely excepted as well -- but we won't get into that) 
 for the entire X11R6.3 release.
<br>
<ul><li>(Formerly at <A HREF="http://www.x.org">http://www.x.org</A> 
	this now appears to be part of The Open Group at 
	<A HREF="http://www.opengroup.org/">http://www.opengroup.org/</A>)
</ul>
<br>
 Since I don't know most of the details it's probably best for me to
 just refer you to some online articles that discuss it:
<br>

<dl>
<dt>Broadway/Xweb FAQ
<dd><A HREF="http://www.broadwayinfo.com/bwfaq.htm"
	>http://www.broadwayinfo.com/bwfaq.htm</A>

<dt>Can X Survive on the Internet?  By Brad Weinert
<dd><A HREF="http://www.sigs.com/publications/docs/xspot/9609/xspot9609.d.execbrief.html">http://www.sigs.com/publications/docs/xspot/9609/xspot9609.d.execbrief.html</A>

<dt>X Is Dead, Long Live X
<dd><A HREF="http://www.sigs.com/publications/docs/xspot/9603i/xspot9603.d.edit.html">http://www.sigs.com/publications/docs/xspot/9603/xspot9603.d.edit.html</A>
</dl>

<ul>
<li>Both of these articles at sigs.com seem to be
	  a bit out of date, now that ``Broadway'' has been
	  released.  However they offer a pretty quick 
	  preview of what X Web is supposed to be.
</ul>

<br>
 Note that the constraint of this approach is that it seems to require
 that you actually have an X Server on the clients.  This is great if
 you have just about any sort of Linux/Unix clients --- but may be
 prohibitive if you intend for Windows (NT, '95, or 3.x) or MacOS
 clients to access your applications.

<br><br>
 You might be able to deploy the MI/X server (a freely available X Server
 for Windows and MacOS)  but I don't know if it supports the X11R6.x
 "Broadway" features.  You can find out more about MI/X at
 <A HREF="http://tnt.microimages.com/freestuf/mix/"
	>http://tnt.microimages.com/freestuf/mix/</A> and read MicroImages 
Inc.'s FAQ at <A HREF="http://tnt.microimages.com/freestuf/mix/mix-faq.htm"
	>http://tnt.microimages.com/freestuf/mix/mix-faq.htm</A>.  

<br><br>
 A quick perusal of that suggests that it won't support the Broadway
 set of extensions (since the FAQ says that it doesn't support LBX --
 the "low bandwidth X" which is apparently a key part of Broadway).

<br><br>
 I don't know what commercial X Servers for Windows or the Mac will
 help --- but I needn't spend any more space on that issue since I
 you don't specify that as a requirement. Hummingbird's Exceed 
 (<A HREF="http://www.unipres.com/hbird/exceed/"
	>http://www.unipres.com/hbird/exceed/</A>) is a likely candidate.

<br><br>
 Another approach might be to provide your clients with VNC ---
 which was listed in Linux Weekly News 
(<A HREF="http://www.eklektix.com/lwn/">http://www.eklektix.com/lwn/</A>)
 a few weeks ago.  This has nothing to do with Java and almost nothing
 to do with X Windows.  However it does allow you to view X Windows 
 displays from Windows and Mac clients and vice versa --- using an 
 alternative to the X communications protocols.

<br><br>
 The potential advantage is that it sounds much easier to install and 
 configure than a Windows or MacOS X server.  Take a look at at the 
 "Olivetti and Oracle Research Laboratories" 
	(<A HREF="http://www.orl.co.uk/vnc/">http://www.orl.co.uk/vnc/</A>)
 for more on that.  Another advantage of this over MI/X would be that it 
 is open source available under the GPL --- MI/X is free to use but the 
 sources are not available.

<br><br>
 The two approaches that are more directly suggested by your 
 question are:
<br><blockquote>

	An Xlib to Java awt cross compiler (or class or library)

</blockquote><br>
 ... or:

<br><blockquote>
	An X Server for the Java virtual machine (a class that implements
	Xlib).

</blockquote><br>
 I suspect that both of these are feasible --- though the performance 
 costs of the latter may not make it palatable and I'm sure that the
 portability issues in each would be significant.

<br><br>
 Despite my search engine efforts I was unable to find any information
 on any work being done on either approach.  However,  I'm not an expert
 in Java and I don't keep up on it much.  So, maybe someone else here
 will help us out.

<br><br>
 I did look in several likely places at 
<A HREF="http://www.developer.com/directories/"
	>http://www.developer.com/directories/</A>
 (formerly the Gamelan archives).  The closest I found is a JXTerm ---
 allegedly an 'xterm' in Java.  This includes telnet and cut and paste
 features.  There are several Java terminal emulators including VT100,
 VT220, ANSI-BBS, TN3270 and TN5250 applets.  

<br><br>
 Meanwhile I've been hearing snippets of SCO's 
	(<A HREF="http://www.sco.com/">http://www.sco.com/</A>)
 "Tarantella" for the last year or so.  This apparently does act as
 an X Windows to Java gateway, providing a sort of "web desktop" or
 "webtop" as their marketing copy refers to it. It appears that you'd 
 have to install a SCO OpenServer system to either run your application 
 or to act as a gateway between your applications server and your clients.
 (I doubt sincerely that SCO will make Tarantella available for Linux
 --- and it doesn't seem to be written <em>in</em> Java).  I'm really curious
 as to how this works.

<br><br>
	(While I was writing this I installed a new copy of the Netscape
	RPM from my Red Hat CD -- this is a new system that I just built 
	from parts, it's running S.u.S.E. -- started an X session, started 
	Navigator, pointed my browswer at 
	<A HREF="http://tarantella.sco.com/">http://tarantella.sco.com/</A> and
	tried to access their demo.  It gets to some point before showing
	my anything like X or it's "webtop" with some complaint about a
	Java Security violation in some class or another.    Exiting and
	retrying got me further along.  Hint:  don't try 'Tarantella'
	during your first Navigator session.  Eventually I was able to
	get it running ...err... walking ...err... limping along.  
	It might be faster over a T1 or an ethernet -- I happen to be
	using the 28.8 PPP connection at the moment).

<br><br>
 If you're curious, go try the demo yourself.  You can also find a
 set of slides from a presentation by Andy Bovington (?) on:
<br><dl>

<dt>Controlling X/Motif apps from Java and Javascript. 
<dd><A HREF="http://www.sco.com/forum97/tarantella/presentations/bov/"
	>http://www.sco.com/forum97/tarantella/presentations/bov/</A>

</dl><br>
 In typical "big company" fashion SCO doesn't tell you how much this
 product costs. They expect you to fill out a survey and have their 
 sales critters call you.  

<br><br>
 I suspect that this circumlocution may result in more converts to 
 open source software than all of the other "freedom" arguments we can 
 muster.

<br><br>
 Meanwhile, my wife, Heather, found a couple of promising links 
 (she's the <em>real</em> search engine wiz in the family).

<br><br>
 Here's the most promising:

<br><dl>
<dt>Eugene O'Neil's XTC, the X Tool Collection
<dd><A HREF="http://www.cs.umb.edu/~eugene/XTC/"
	>http://www.cs.umb.edu/~eugene/XTC/</A>

</dl><br>
 ... which appears to be at the early alpha stages but, in his own 
 words:

<br><blockquote>
   ... is an implementation of the X Window Protocol, written in pure
   Java. It does not require any native C libraries, such as Xlib:
   instead, it is intended as a complete replacement for Xlib, written
   from the ground up to be flexible, object-oriented, and
   multi-threaded.

</blockquote><br>
 (Wow!)

<br><br>
 There was also some work done by a Mr. Igor Boukanov at:

<br><dl>
<dt>Pure Java X client
<dd><A HREF="http://asfys3.fi.uib.no/~boukanov/java.doc/lib.x.html"
	>http://asfys3.fi.uib.no/~boukanov/java.doc/lib.x.html</A>

</dl><br>
 By far the best technical information I found on X Windows in my
 search was:

<br>
<dl>
<dt>Kenton Lee's: Technical X Window System and Motif WWW Sites
<dd><A HREF="http://www.rahul.net/kenton/xsites.html"
	>http://www.rahul.net/kenton/xsites.html</A>
</dl><br>

 Kenton has the best set of links on the subject, and apparently has
 written articles for 'X Advisor Magazine' and several others.
</blockquote>
<!--================================================================-->
<P> <hr> <P>
<H5 align="center"><a href="http://www.linuxgazette.com/ssc.copying.html"
	>Copyright &copy;</a> 1998, James T. Dennis <BR>
Published in <I>Linux Gazette</I> Issue 28 May 1998</H5>
<P> <hr> <P>
<!--================================================================-->
<A HREF="./lg_toc28.html"><IMG SRC="../gx/indexnew.gif" 
	ALT="[ Table Of Contents ]"></A> 
<A HREF="../index.html"><IMG SRC="../gx/homenew.gif" 
	ALT="[ Front Page ]"></A>
<A HREF="./lg_answer28.html"><IMG SRC="../gx/dennis/answernew.gif"
        ALT="[ Answer Guy Index ]"></A>
<!--startcut =======================================================  -->
</body>
</html>
<!--endcut =========================================================  -->