on 01-26-2007 8:19 AM
Hi:
We are developing an application which runson SAP Mi 2.5, SP 18,
Windows Mobile 5.0 and Generic Sync for PDAs.
We need persistence in our application. We tried with persistence API but
we found a problem and we send a message to SAP. Until we can solve
this issue we must implement persistence in other way to satisfy our customer requierements
Since now,we have implemented persistence with files but the performance of this solution does not meet our customer requirements (the search of data in the PDA is very slow).
We are thinking in another solution, which consists on using
Syncbos.Using this alternative, before making a generic sync, and
executing the code shown below:
SmartSyncRuntime.getInstance().getSyncBoDescriptorFacade
().getAllSyncBoDescriptors()
the returned syncBOS are those which I have defined in XML. On the
contrary, after making a generic sync, executing the same code, the
returned syncbos ARE NOT those whic I have defined in XML. The only
return that I get is the MIAUTH.
Any other ideas?
Thanks
Kind Regards
hi satur,
there are some things to take care if you want to use the persistence layer of the
SmartSync layer from your GenericSync app.
first, you have to let the MI client think that your application is using the
SmartSync functionality. this can be achieved by just including a dummy metadata
meRepMeta.xml file in the war archive during the deployment process. once the
MI client framework sees this during the installation, it will set a flag on the MSD
that your app is a smartsync.
second, if your app is considered a smartsync, MI will generate the delta request
and upload messages for your data if ever you have your SyncBo defined in the
metadata. Since you don't want such functionalities to be ON, i would suggest to
mark all your SyncBo as local ones; i.e. using attributes suppressDownload=true
and suppressUpload=true. this way, the MI framework will skip creating the requests
and delta upload messages for your app during the synchronization process.
third, your application has to have the syncEventListener implementation to get
notification when the Sync button (or event) was initiated. if you don't want your
app to be notified, you may just add synchronization button within your application
that will call your data manager to prepare your containers (i.e. retrieving the newly
inserted syncbo, modified syncbos and the list of deleted ones -> genericSync
containers) and to call the synchronizeWithBackend method.
fourth, you need to have the inboundProcessor that will parse your data and insert
them a SyncBo into your local database.
having tried this but i guess it might work...
regards
jo
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Satur,
The creation of SyncBos are a two step process. First they have to be created in the middleware using the transaction MEREP_SBUILDER. After you have created all the syncBos you have to create an MCD(Mobile component descriptor) using the transaction MI_MCD. After this is created the XML can be generated using MEREP_SBUILDER. Using this XML you can create an application war file. Now the middleware knows that you have just created a <b>smart sync</b> application. You can use SyncBos only with smart sync applications. When you deploy a smart sync application on the client the framework reads the XML and creates tables in the client. When you deploy a generic sync application the framework does not read the XML and hence the tables are not created.
SmartSyncRuntime.getInstance().getSyncBoDescriptorFacade
().getAllSyncBoDescriptors().
The reason the above method is giving you MIAUTH is because it is a Framework SyncBo present in every client. It is used for authentication purposes.
Maybe you can throw some light how how you have implemented persistence in Generic Sync?
Best Regards,
Karthik
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.