ITAnyplace uses Services Oriented Architecture. Thin, rich or slim client applications developed with ITAnyplace plug into web services.
If a slim or a rich client mobile application connects to a web service, the developer needs to provide to ITAnyplace server the classes whose objects are exchanged between ITAnyplace server and the web service. For example, if a CRM application exposes Account information through a web service, then the jar containing the Account class should be provided to the server.
ITAnypalce admin console provides an import utility to add these classes to the server. Click on Web Services to access this interface.

Click on Add and add the name space, package name and jar. This adds the jar to ITAnyplace server’s WEB-INF/lib directory. Restart the server for the changes to take effect.

If the web service is dependent on any jars, then you can add those jars by clicking on ‘Add dependency jar’ action. This adds the jar to ITAnyplace server’s WEB-INF/lib directory. Restart the server for the changes to take effect.

Integration
All web services that synchronize with slim and rich client ITanyplace apps should implement com.itanyplace.sync.Syncable interface. This interface has the following methods:
//Adds a record from the client to the data source
public com.itanyplace.sync.SyncRecord addRecord(com.itanyplace.sync.SyncRecord newrecord, com.itanyplace.sync.PasswordAuthentication passwordAuthentication) throws java.rmi.RemoteException;
//Updates a record from the client on the data source
public com.itanyplace.sync.SyncRecord updateRecord(com.itanyplace.sync.SyncRecord updatedrecord,
com.itanyplace.sync.PasswordAuthentication passwordAuthentication) throws java.rmi.RemoteException;
//Deletes the record specified by the client from the data source
public com.itanyplace.sync.SyncRecord deleteRecord(com.itanyplace.sync.SyncRecord deletedrecord,
com.itanyplace.sync.PasswordAuthentication passwordAuthentication) throws java.rmi.RemoteException;
//Gets updated records from the data source since last sync
public com.itanyplace.sync.SyncRecord[] getUpdatedRecords(com.itanyplace.sync.SyncRecord syncRecord_2,
java.util.Calendar timestampoflastsync,
com.itanyplace.sync.PasswordAuthentication passwordAuthentication) throws java.rmi.RemoteException;
//Gets records added to the data source since last sync
public com.itanyplace.sync.SyncRecord[] getAddedRecords(com.itanyplace.sync.SyncRecord syncRecord_1,
java.util.Calendar timestampoflastsync,
com.itanyplace.sync.PasswordAuthentication passwordAuthentication) throws java.rmi.RemoteException;
//Gets records deleted from the data source since last sync
public com.itanyplace.sync.SyncRecord[] getDeletedRecords(com.itanyplace.sync.SyncRecord syncRecord_3,
java.util.Calendar timestampoflastsync,
com.itanyplace.sync.PasswordAuthentication passwordAuthentication) throws java.rmi.RemoteException;
//Gets all records from the data source that satisfy the specified query
public com.itanyplace.sync.SyncRecord[] getRecords(com.itanyplace.sync.SyncRecord syncRecord_4,
com.itanyplace.sync.PasswordAuthentication passwordAuthentication) throws java.rmi.RemoteException;
// Checks if there is a sync conflict between 2 records
public boolean isSyncConflict(com.itanyplace.sync.SyncRecord a, com.itanyplace.sync.SyncRecord b,
com.itanyplace.sync.PasswordAuthentication passwordAuthentication) throws java.rmi.RemoteException;