Database synchronization is accomplished through the Mobile Server and Message Generator and Processor (MGP) server-side tools included with Oracle9i Lite. Mobile Server makes use of a "publish/subscribe" model in which one or more database "publications" can be defined, consisting of a query used to extract data from the database server. Client-side subscriptions register with the Mobile Server and specify which publications (accompanied by filtering parameters) they would like to be synchronized down to the client. Application logic can be built into the sync process through the binding of PL/SQL stored procedures to publication items. This entire publish/subscribe framework is managed through the middle-tier Mobile Server product. Mobile Server can be accessed from a mobile client through the use of the included Java ResourceManager class. A C-language MobileSync API is provided to support direct client-to-database-server synchronization connections.