Synchronization
Previous Topic  Next Topic 


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 servers 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 servers 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;