# FAQ

      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.