As of October, 2005, there were about 70 projects within IBM actively using Cloudscape
Intended for a “handful” of concurrent connections, although tested successfully with hundreds
J2ME is the overriding technology name for the low-end Java platform, aimed at devices. Within J2ME the first layer is a configuration, configurations define the functionality of the Java Virtual Machine and some core Java libraries, e.g. java.lang.*. J2ME supports two configurations currently: CDC and CLDC (Connected Limited Device Configuration). E.g. CLDC does not support doubles. On-top of a single configuration profiles are added. Profiles describe sub-sets of J2SE or J2ME specific sets of Java libraries. Foundation and Personal are profiles for CDC, MIDP is a profile for CLDC. Foundation is a sub-set of the core java libraries (e.g. java.math, java.util, java.lang, etc.) and produces an environment much like JDK 1.1, except no UI is provided. Thus it works for “headless” devices. Personal profile adds UI (AWT) to Foundation. Thus Cloudscape requires a minimum of CDC/Foundation to run, if a different profile is a super-set of this then Cloudscape will run there, e.g. CDC/Personal.
J2ME provides limited debugging capabilities, so many developers do their development on J2SE and then compile, test and deploy on J2ME. They just need to be aware of the limitations. If you try to use an unsupported feature in J2ME (for example, trying to start the Network Server), you are likely to get Class not found exceptions.
Cloudscape can also be used to fulfill a common need in a development shop: how to provide all application programmers with a database for code development and unit testing. The traditional solution is to create a database on a server somewhere and let all of the developers connect to it. This requires that a DBA be assigned to the project to set up the database and populate it with test data (since the server will be running a high-end database system such as DB2 UDB or Oracle). The DBA must also remain “on-call” for the duration of the project, because every so often, one of the developers will accidentally “trash” the database. For example, if someone’s code submits an SQL “DELETE” statement, but omits the “WHERE” clause, then every row in a table goes away, instead of just the desired one. When something like this happens, development work is halted for the entire team, and the DBA must rush to restore the test data so everyone can get back to work. The logical way to minimize the impact of this kind of coding error is to give each developer his/her own copy of the test data, using a smaller database engine running on the developer’s workstation. All of the major database vendors offer “lite” versions of their products which can be used for this purpose (for example, there is IBM DB2 Express and Oracle Database Lite). However, these still often require a DBA to properly install, set up and administer. Although there may be less administration work for these “lite” database engines, the DBA must do it on every developer’s workstation (and run around fixing them, when the developers “trash” them!).
A better solution is a zero-administration database, such as Cloudscape. No DBA is required to install or set up Cloudscape: the developers simply copy the Cloudscape JAR files onto their workstations, then edit their Java CLASSPATH’s to point to them. Also, since Cloudscape’s data is completely portable, the test data can be loaded once into a “master” database (which is then write-protected), and the developers can copy this onto their workstations. Whenever developers accidentally damage their copies of the test data, they just copy from the master database again. No DBA is involved, and database damage caused by one developer never causes a delay for anyone else. Cloudscape would be used for application coding and unit testing, and in later phases of a large project (integration, performance testing and deployment), a high-end database system would be used. This is why IBM has coined the phrase “Build on Cloudscape, Deploy on DB2”, and IBM has taken steps to make Cloudscape compatible with DB2 UDB. For example, minor data-type and SQL syntax differences have been removed, and certain DB2 features have been added to Cloudscape, such as cascading DELETE.
IMPORTANT: “Informix” support, above, means IDS only (not On-line or older Informix engines)
All administrative tasks are handled on the server side. This includes data source definition, data subscription setup, user/group management, access control and synchronization monitoring. The administrator uses the DB2 Everyplace Mobile Device Administration Center (described in the next section) to perform these tasks. The synchronization client devices are completely zero-admin.
Cloudscape – Past and Present Frank Koconis Advisory Software Engineer/IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia December 8-9, 2005