1. What is IIIM?
Internet/Intranet Input Method (IIIM) is a distributed Input
Method solution that provides Input support for Java & X11 clients
via Internet/Intranet.
2. Can you provide a list of acronyms with definitions?
- Internet/Intranet Input Method Framework (IIIMF)
Server framework(IIIMSF) Server Component which supports pluggable Language Engines
- Client framework(IIIMCF) Client component with multiscript support and
downloadable GUI objects from Server
- IIIM Protocol (IIIMP) Protocol to interact between Server & Client components
- IIIM X11 client framework (IIIMXCF)
- IIIM Java2 client framework (IIIMJCF),
- X/Window Input Method (XIM)
- Service Provider Interface(SPI) interface which allows Language Engines or
Input method support that can be plugged in
- Light Weight Engine(LWE)
- Primary Composition Engine(PCE) a syntax based Light Weight Engine to support all scripts.
3. What is IIIMP & IIIMF?
Internet/Intranet Input Method Framework (IIIMF) consists
of Server Framework (IIIMSF), Client Framework (IIIMCF) and
IIIM Protocol (IIIMP).
IIIMCF enables an IIIM client to access the IMEs resident on the
IIIM server host via IIIM protocol (IIIMP). It is designed to be
independent of the operating system the client or server
is running on. IIIMSF allows IME providers to leverage their existing
IMEs to operate under the distributed input method paradigm.
IIIMF offers Input Method Services across platform boundaries
via platform independent Distributed Input Method Protocol (IIIMP).
4. How can ISVs or developers use IIIM SDK 1?
IIIM SDK 1 contains an early snapshot of IIIMSF, which has the
IIIM Protocol driver for IIIM Protocol Version 1 and Unix
dependent Server Framework. Both these drivers will become obsolete when IIIM
SDK 2 is released in the near future.
IIIM SDK 1 is a preview of IIIM SDK 2. All these interfaces are subject
to change and should only be used for the purposes of evaluating IIIM
Protocol Version 1.
5. What will the next the version of IIIM SDK (2) support?
IIIM SDK 2 contains IIIMF source and documents including:
- IIIM Server Framework
- Client Framework
- IIIM Protocol Version 2
IIIMCF consists of IIIM Java2 Client Framework and IIIM X11
Client Framework. Java Client Framework is written as 100% pure Java IM
for Java2. X11 Client Framework is written in C and uses the X11R6
Xlib enhancement.
IIIM platform independent Server Framework is written in C++ and
supports the New Language Engine SPI which allows for plugging in existing Language Engines.
IME providers can write an interface module to IMEs using this new SPI. IIIM Unix dependent
Server Framework that is bundled in this distribution as SDK 1 will become obsolete
in IIIM SDK 2.
IIIMJCF can be built as is using Javac. It can then be plugged into Java2 installed
image without having to change Java2. The IIIMXCF requires
X11R6 source to rebuild Xlib with IIIM Protocol support.
6. How can I get feedback on IIIM to Sun?
You can contact Sun via email or web site.
7. Which IIIM SDK components can be modified?
SDK2 consists of several interfaces which they must remain
compatible. The components cannot be modified without the consent of Sun Microsystems.
The interfaces are:
- IIIM engine SPI in IIIMSF
- XSunIM engine SPI in IIIMSF
- IIIM Protocol
- IIIMJCF LWE manager syntax
- IIIMJCF PCE1 syntax.
- IIIMJCF LWE SPI
- IIIMJCF GUI object SPI
Any modifications to these interfaces must be approved by
Sun Microsystems, Inc.
8. How can I use IIIM SDK?
IME providers can:
- Port/implement Input Method Engines by using IIIM engine SPI in the
server.
- Port/implement Input Method Collaborative Frontend on the
client side using IIIMJCF SPIs
- Port/implement Customized Input Method GUIs by using
IIIMJCF GUI object SPIs
- Contribute to IIIM community by providing feedback
Platform vendors can (in addition to all the above):
- Port/implement IIIMSF onto existing Windows NT and AIX platforms
- Port/implement IIIMCF onto existing Java 2 & JavaOS4B platforms
9. What is the objective of IIIM?
The goal of IIIM is to provide users's and Input Method Service
Providers with an opportunity to design an Input Method solution that
can scale from PDA to Internet/Intranet based NC's. This flexible and scalable
framework removes the barriers of operating systems, platforms,
implementation languages and windowing systems.
Users can access their preferred input method irrespective of the
operating system/platform they are running on. It also allows Input Method
Service Providers to supply solutions that provide Input Method needs of
platforms ranging from small devices to Internet/Intranet NC's without
compromising performance, footprint size or functionality.
10. What kinds of Language Engines will the IIIM SDK provide?
SDK1 and SDK2 do not include any industry quality Language
Engines on the server side. They do provide an interface to which Language Engines
can be written. We expect Input Method Vendors to provide
Language Engines that can be plugged in via SPI interface.
IIIMSF in SDK2 provides a sample Language Engine for Japanese which
will demonstrate the use of the IIIM Language Engine SPI on the server.
11. What are the current commercial products of IIIM from Sun?
- JavaOS for Business designed for Network Computer has
implemented a subset of IIIMJCF
- Netra-J/Solaris has implemented a subset of IIIMSF using IIIM SDK 1
- Java2 supports IIIMP using the IIIMP Adapter
12. How can I plug in my own Language Engine on the server side?
A Language Engine based on the Language Engine Adaptor Interface
library should plug into the IIIM core server. Locate the build library on UNIX in
/opt/SUNWiiimf/lib/{script}/{}.so
Configure the server option file to use this
engine for the script support.
13. How is Java2's IIIMP client-side adapter architected? What are
the differences between the JavaOS1.1 implementation and IIIMJCF implementation in
SDK2?
In functional terms, Java2's IIIMP Client-Side adapter is
a subset of the JavaOS1.1 implementation. The JavaOS1.1 implementation
is a subset of IIIMJCF in SDK2.
Java2's IIIMP Client-Side Adapter implementation
consists of the IIIMP protocol driver only. It fits under
Java Input Method Framework and interfaces via Input Method Engine SPI
(which is a private SPI of Java2).
The JavaOS1.1 implementation consists of JavaOS1.x Light Weight Engine,
an engine switcher for Disconnected Mode, and an IIIMP protocol driver.
The implementation fits under JavaOS1.x private Input Method Framework.
Since Java2's IIIMP Client-Side adapter only provides a protocol driver,
there is no support for client/server collaborative
operations similar to those that are available in IIIMJCF in SDK2.
14. How is Input Method support architected for Java Client in SDK2?
IIIMCF consists of IIIM Java2 Client Framework (IIIMJCF) and is
capable of providing Input Method support in:
- full server based operation mode
- server/client collaborative mode
- disconnected mode
by using a syntax rule driven Primary Composition Engine (PCE),
a Light Weight Engine (LWE), and LWE Manager.
The manager on the client side is capable of switching and
stacking among PCE, LWE and the server side Language Engines. It
provides a flexible mechanism that adopts to a variety of input
method needs.
15. What is a Lightweight Engine?
Light Weight Engine (LWE) is an Input Method Engine written in
Java. LWE resides completely on the client side at run time
and can be loaded from the server on demand. LWE provides
Collaborative Input Method support with the server.
16. What is a cascade adapter?
The cascade adapter is a special interface driver module,
which dynamically plugs into IIIMP input method server. It
acts like a bridge between this IIIMP input method server and
another IIIMP input method server.
While a regular interface driver module is mainly prepared
for serving a particular language engine, the cascade adaptor does
not have a direct relationship to any language engine, but
connects to the other IIIMP input method server as an IIIMP client
and gets the input method service from that secondary server,
and returns it to the first input method server which is loading
the cascade adaptor.
17. How can I test IM SDK 2?
Testing should be done on component levels as below:
- Testing 100% server based engines.
Requires an IIIM server based on IIIMSF. Unless the engines
use functionalities require IIIMP2. The client can be
Java2, IIIMXCF, or JavaOS commercial products.
- Testing Collaborative Engines.
Requires an IIIM server based on IIIMSF, Java2 and IIIMJCF.
- Testing your standalone but downloadable LWEs.
Requires an IIIM server based on IIIMSF, Java2 and IIIMJCF.
Install your LWEs in separate jar format, and place in
TBD.
- Testing 100% standalone LWEs.
Does not require any server. Install Java2 and repackage IIIMJCF
(iiimp.jar) with your LWEs and updated LWE manager rules.
Run IMFdemo (Java2 Input Method Demo program).
18. How is IIIMF installed to work with Java2?
IIIMJCF in SDK2 works well with Java2 Install IIIMF by replacing
$JDK_HOME/lib/ext/iiimp.jar
with SDK2's iiimp.jar. This installation can be added to the standard Java IM
installation process for future installations.
19. What clients are currently supported in IIIM?
Java2 based Java environment and IIIMP supported X11 environment.
20. How do we specify server options and what options are configurable?
The server side parameters can be configured using a config
file located in /opt/SUNWiiimf/server.config. The config parameters
include 1) type of protocol 2) script support 3) choice of engine for
script support. Other options are TBD.
On other platforms, options are TBD.
|
Copyright © 1995-2000 Sun Microsystems, Inc. All Rights Reserved. Terms of Use. Privacy Policy. |