offline application building blocks and permitting the use of one or more models the mobile engine architecture is easy to enhance or modify moreover new offline application building blocks can be downloaded and installed via the deployment and installation process discussed hereinafter with respect to fig6 and 7 mobile engine api layer 145 which will be discussed in more detail below provides independence between modular offline application building blocks 125 130 135 and servlet engine 120 modular offline application building blocks 125 130 and 135 utilize programming sources stored in memory 140 while memory 140 is shown within mobile engine 110 it may be located elsewhere mobile engine api layer 145 forms an interface between the various programming models 125 130 and 135 and the application data that resides on database 180 within mobile device 100 while database 180 is shown within mobile engine 110 it may be located elsewhere by providing api layer 145 alternative programming models offline applications and services may be incorporated activated or substituted for existing models offline applications and services in the future without having to completely reprogram mobile engine 110 api layer 145 contains file i o apis database apis synchronization layer apis and xml parsing apis this mobile engine api layer 145 also provides device independence so that any application can run on any device without specific programming for device specific dependencies referring now to fig2 api.