Articles menu

 

The best components for the best developers

maj 01. 2007
Running Win32 kbmMW application servers on Linux using WINE
User article

apr 03. 2007
Performance comparison of kbmMemTable Std/Pro and AnyDAC CDS

nov 15. 2006
The king has died...
Borland/CodeGear

jun 16. 2006
The story of 3rdparty announcements and reactions on them
General

maj 29. 2006
Solving the 'cannot find drf file' problem when compiling packages.
Delphi

feb 21. 2006
kbmMWCnnfig.inc explained
kbmMW

feb 14. 2006
ReportBuilder 10 enduser report design with kbmMW
kbmMW/RB10

feb 09. 2006
Tips to setup IIS/ISA to operate as proxy between kbmMW client and server.
kbmMW/IIS

feb 08. 2006
Some thoughts about Borlands decision to split out its IDE/Tools division
Borland

jan 08. 2006
Things to be aware about when moving from Datasnap to kbmMW
kbmMW related

jan 08. 2006
Long running client controlled (stateful) transactions and the query service.
kbmMW related

jan 08. 2006
Secure messaging tips.
kbmMW WIB related

jan 08. 2006
Updating time in MSAccess Database with ADO
kbmMW related

jan 08. 2006
Upgrade from kbmMW v1 to kbmMW v2
kbmMW related

jan 08. 2006
Cross database and macro support
kbmMW related

Things to be aware about when moving from Datasnap to kbmMW

kbmMW related

This is based on a digested/updated extract from newsgroup post from a user converting from Midas/Datasnap to kbmMW.
Its not ment to be a complete list of things to be aware about when converting, and its also not listing all the additional features in kbmMW not in Midas/Datasnap.

Midas/Datasnap and kbmMW are two frameworks both supporting remoting datasets. As such the basic principles are similar, but the implementations different.
Generally converting from Datasnap to kbmMW is relatively easy. The preferred way for many is to start with one of the kbmMW demos that match the existing Datasnap database setup, and then extend the demo from there, adding the business features from the Datasnap application server to the new kbmMW application server.The following is a non exhaustive list of things to be aware about when doing a conversion:

1) Cloned Datasets are Attached tables in kbmMW. They behave similar.

2) Filtering in Midas is slightly different compared to kbmMW, i has its own expression parser. For example "%" is a valid wilcard on midas. In kbmMW its * and ?.

3) IndexFieldNames works different. On Midas, if you set IndexFieldNames := field it will create a temporary index. On kbm, you need to create the index before setting indexfieldnames, or indexfieldnames will fail silently.

4) Master-Detail is different. In kbmMW you don't have (and this is good!) datasetfields, so you can't create a master-detail on the server. On the other side you have client transactions, and I think it is a far better solution to do atomic updates. (On midas the only way to do an atomic update on masterdetail tables was to create the relationship on the server)

5) Threads on the client work fine, so you can retrieve data from the server on a secondary thread without issues. Even when I have done this on midas too, it is much easier here and you can delete hundresds of lines of code when migrating.

6) Conflict resolving is somewhat different. Midas as a built in reconcile dialog which is activated when 2 people modifies the same record, showing old and new values allowing you to merge, overwrite, skip etc. In kbmMW your client have original client and new client value. To get the newest value from the server your client will have to retrieve it. Having done that you can merge if you want to.

7) Server side resolving is dirrerent too. On Midas for complex updates you would use an UpdateSQL component, here you use the tablename and tablefields or events for more complex things. (the whitepaper about resolving is good to explain this)

8) On Midas reconcile errors (that is, errors because some people modified other record while you were offline) go into the OnReconcileError event, and the rest go as exceptions. On kbmMW, all errors on resolving go in an event.


(Top)

 
 

User comments

<newsgroup snippet>

I'm start to use kbmMW with very little info about them, I ask Kim ...
(more)

 Just wanted to wish you a happy 2003, and say thanks again for some great Delphi/Kylix components. kbmMW™ is a ...
(more)

<snippet from Borland newsgroup>

I just want to let everyone know that doesn't already know: The ...
(more)

Just ported my 2tier app to use kbmMW™ in 1 1/2 days. 17 services, great performance.

 
 
 
CodeGear Technology Partner Components4Developers is the only major 3rdparty CodeGear Technology Partner approved n-tier vendor!

Copyright© 2001-2008 Components4Developers - All rights reserved