The following is a list of changes and additions to the software introduced in version 8.0.
Java synchronization logic Synchronization scripts can now be implemented in Java instead of or in addition to the SQL language. These scripts are run in an external JRE using the MobiLink Java environment.
For more information, see Writing Synchronization Scripts in Java.
Synchronization using publications All the data in a MobiLink client no longer needs to be synchronized at the same time. Rather, data can be organized into publications and each publication synchronized independently. A new syntax for publications and synchronization subscriptions is provided, that is simpler and more precise than the previous syntax.
For more information, see SQL Anywhere Clients.
Configuring Web servers to handle MobiLink synchronization You can now carry out HTTP synchronization with the MobiLink server behind a firewall. A Web server plug-in for popular Web servers allows you to carry out HTTP synchronization through Web servers.
For more information, see Synchronizing Through a Web Server with the Redirector.
ActiveSync support for Windows CE clients Both Adaptive Server Anywhere and UltraLite Windows CE MobiLink clients can use the Windows CE ActiveSync synchronization software.
For more information, see Using ActiveSync synchronization.
Enhanced client command line functionality You can specify extended options in both
CREATE/ALTER SYNCHRONIZATION SUBSCRIPTION statements and on the command line.
For more information, see dbmlsync syntax.
Extended options can be stored in the database Using the
CREATE/ALTER SYNCHRONIZATION SUBSCRIPTION statements it is possible to store extended options and connection parameters in the database and associate them with subscriptions, users or publications. Dbmlsync now reads this information from the database.
For more information see dbmlsync syntax.
Statement-based uploads MobiLink now allows statement-based uploads that are not only more intuitive than cursor-based uploads, but also significantly faster. Statement-based uploads employ the upload_insert, upload_delete, upload_update, upload_new_row_insert, and upload_old_row_insert events. upload_fetch script is used for conflict resolution.
For more information see Writing scripts to upload rows.
Multi-processor administration MobiLink has a new option for setting the maximum number of processors to use. The -zt option provides for greater control of the resources used by the MobiLink server. It can also help to discover and/or work around an ODBC driver with multi-processor issues.
For more information see -zt option.
Optional download acknowledgement The MobiLink synchronization client can now synchronize without a download acknowledgement, so that the MobiLink server worker thread does not need to wait for the client to apply the download, freeing up the worker thread sooner for its next synchronization. Download acknowledgement is now an option. Eliminating the download acknowledgement can improve throughput, particularly for slower clients. Note that without a download acknowledgement, the consolidated side will not know that the download succeeded until the next synchronization.
For more information, see MobiLink SQL Anywhere Client Extended Options.
Buffered download stream The MobiLink server now buffers the download stream in a download cache. Since acknowledgement is not required from the client to commit the download transaction, the buffered download stream is sent to the client after the commit. The download transaction is no longer potentially held up by network delays.
The download stream can also be buffered at Adaptive Server Anywhere clients. The size of the buffer available can be set using the dbmlsync DownloadBufferSize extended option.
For more information, see MobiLink SQL Anywhere Client Extended Options.
Bulk loading of connection and table scripts The first connection or table script requested for a specific table to version_id pairing will cause a bulk load of all the scripts into the cache. The result is improved performance by getting all the scripts in bulk rather than individually.
MobiLink server shutdown enhancements You can tell dbmlstop to wait until the MobiLink server is completely shutdown before proceeding. You can also use dbmlstop to stop a specific MobiLink server by name.
For more information, see MobiLink stop utility [mlstop].
Connection timeout MobiLink database connections that are unused for a specified amount of time are now disconnected automatically by the server. The timeout can be set using the -ct (connection timeout) command line option.
For more information, see -ct option.
Maximum number of concurrent uploaders option The -wu command line option can set the maximum number of worker threads allowed to upload concurrently, resulting in, for some deployments, increased throughput.
For more information, see -wu option.
MobiLink user authentication A password-based system for user authentication adds additional security to your MobiLink installation. Now, using -zu, you can allow automatic addition of users when the authenticate_user script is undefined. This allows for user schema information to be used as MobiLink authentication.
For more information, see MobiLink Users.
MobiLink user administration The dbmluser utility has been extended to allow users to be deleted from the system as well as added. Other refinements have been made to this utility. The dbmluser command line options -pf, -pp, and -pu have been deprecated and replaced with -f, -p, and -u respectively.
For more information, see MobiLink user authentication utility [mluser].
Statistical scripts MobiLink now has scripts for tracking synchronization statistics. Once gathered, these synchronization statistics may be used for monitoring the performance of your synchronizations.
Detailed network error information The MobiLink server and client now display detailed error information along with error codes to help you better resolve any errors as they arise. You will see the network layer reporting the error, the network operation being performed, the error itself and a system-specific error code.
Remote Adaptive Server Anywhere output log sent to MobiLink server on error Troubleshooting synchronization problems is simplest when both the remote log and the MobiLink server log are available for inspection. This new feature sends the Adaptive Server Anywhere remote's output log up to the MobiLink server when a client-side error occurs.
For more information, see -e option.
Log messages identify the worker thread Messages displayed to the MobiLink server log now indicate the worker thread that logged the message. This makes it possible to distinguish messages that are due to the same user attempting to synchronize concurrently. It also helps distinguish messages when the same user synchronizes twice without delay.
Verbose logging You can use additional modifiers on the MobiLink server -v command line option to configure MobiLink server logging.
For more information, see -v option.
Ignored rows are reported to clients If the MobiLink server ignores any uploaded rows because of absent scripts, a messages is returned to the client. The message is displayed as a warning by Adaptive Server Anywhere clients, and in the ignored_rows synchronization parameter in UltraLite clients.
For more information, see Ignored Rows synchronization parameter.
Last download timestamp The last download timestamp is written to the MobiLink client database automatically.
Automatic synchronization script generation MobiLink can be instructed to generate scripts suitable for snapshot synchronization. The -za option controls creation and activation of these scripts.
Example synchronization script generation MobiLink can be instructed to generate example synchronization scripts. The -ze command line option is used to control whether example scripts are to be generated.
Support for popular RDBMSs As consolidated databases, MobiLink now supports Oracle 8i and 9i, Microsoft SQL Server 7, Microsoft SQL Server 2000, IBM's DB2 and more.
For more information, see ODBC drivers supported by MobiLink.
Liveness detection in TCP/IP streams The TCP/IP-based streams that are used during MobiLink synchronization now accept a new parameter, both on the client and server side, called keep_alive, that enables liveness checking.
For more information, see -x option.