Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 » QAnywhere » Writing QAnywhere client applications


Introduction to the QAnywhere interfaces

QAnywhere client applications manage the receiving and sending of QAnywhere messages. The applications can be written using one of several QAnywhere APIs:

  • QAnywhere .NET API

  • QAnywhere C++ API

  • QAnywhere Java API

  • QAnywhere SQL API

You can use a combination of client types in your QAnywhere system. For example, messages that are generated using QAnywhere SQL can also be received by a client created using the APIs for .NET, C++, or Java. If you have configured a JMS connector on your server, the messages can also be received by JMS clients. Similarly, QAnywhere SQL can be used to receive messages that were generated by QAnywhere .NET, C++, Java, or JMS clients.

QAnywhere .NET API

The QAnywhere .NET API is a programming interface for deployment to Windows computers using the Microsoft .NET Framework and to handheld devices running the Microsoft .NET Compact Framework. The QAnywhere .NET API is provided as the iAnywhere.QAnywhere.Client namespace.

QAnywhere supports Microsoft Visual Studio.


In this document, code samples for the .NET API use the C# programming language, but the API can be accessed using any programming language that Microsoft .NET supports.

Versions of the TestMessage sample application are written in Java, C#, and Visual Basic .NET. There is also a .NET compact framework sample.

For more information about the .NET version of the TestMessage sample application, see Lesson 4: Explore the TestMessage client source code.

See QAnywhere .NET API for clients (.NET 2.0).

QAnywhere C++ API

The QAnywhere C++ API supports Microsoft Visual Studio.

The QAnywhere C++ API consists of the following files:

  • A set of header files (the main one being qa.hpp), located in install-dir\sdk\include.

  • An import library (qany11.lib), located in install-dir\sdk\lib\x86, and install-dir\sdk\lib\ce\arm.50.

  • A run-time DLL (qany11.dll) located in install-dir\bin32, and install-dir\ce\arm.50.

To access the API, your source code file must include the header file. The import library is used to link your application to the run-time DLL. The run-time DLL must be deployed with your application.

A version of the TestMessage sample application written in C++ is supplied in samples-dir\QAnywhere\Desktop\MFC.

See QAnywhere C++ API reference.

QAnywhere Java API

The QAnywhere Java API supports JRE 1.4.2 and up. The Mobile web services wsdl compiler generates Java classes compatible with JDK 1.5.0 and up.

The QAnywhere Java API consists of the following files:

  • API reference material, available in this book or in Javadoc format in the documentation\en\javadocs\QAnywhere subdirectory of your SQL Anywhere 11 installation.

  • Runtime DLL (qadbiuljni.dll) for UltraLite message stores, located in the bin32 subdirectory of your SQL Anywhere 11 installation.

  • An archive of the class files (qaclient.jar), located in the java subdirectory of your SQL Anywhere 11 installation.

The class file archive must be included in your path when you compile your application. The runtime DLL must be deployed with your application.

A version of the TestMessage sample application written in Java is supplied in samples-dir\QAnywhere\Java\. (For information about samples-dir, see Samples directory.)

See QAnywhere Java API reference.

QAnywhere SQL API

The QAnywhere SQL API is a set of stored procedures that implement a messaging API in SQL. Using the QAnywhere SQL API, you can create messages, set or get message properties and content, send and receive messages, trigger message synchronization, and set and get message store properties.

See QAnywhere SQL API reference.

JMS connector

QAnywhere includes a JMS connector that provides connectivity between QAnywhere and JMS applications. See:

Mobile web services connector

QAnywhere includes a mobile web services connector for messaging between QAnywhere and web services.

See Mobile web services.