Deploying Via Ultralite
Earlier in the article, I briefly mentioned SQL Anywhere's Ultralite deployment option. For those not requiring the services of a full-fledged SQL database server (that is, integrated security, stored procedures, triggers, views, and so on), the Ultralite option offers a file-based deployment method that can be accessed by using either C or Java APIs. This approach offers much greater simplicity, including no installation requirements at the expense of advanced capabilities and application flexibility. Ultralite applications require the definition of an Ultralite project at design time and the predefinition of all SQL statements to be used. These SQL statements are then gathered during a "preprocessing" procedure (ulgen) to generate required Java, C, or C++ source code. This code can then be compiled into the parent application; when the resultant app is run for the first time, a new Ultralite database file will be created on-the-fly by the embedded runtime. Ultralite applications can be synchronized via MobiLink synchronization just like ASA databases. As mentioned earlier, they don't offer any data processing logic or security in the database, which places the burden on the application developer.