Hello, do you work for financial institution? We are solving similar problems as you describe for banking and investment sector. I would like to share some ideas about our design which should be used in sculptor. Sorry for long post.
1) Undeletable object: We have objects which are never physically removed from database. They are only marked as deleted and all assocations are kept intact. This mean if you delete business object you should never get it via primary search. However when object is associated to some other object and this object isn't deleted you will get even deleted objects. For example you remove Company from your directory. You should never see it in company list, however all Invoices which have association to this Company should get this deleted company as part of Invoice. This have huge impact on data copying. Normally you should copy many informations from Company to Invoice when new Invoice is created. In case of undeletable objects, when address change in Company it's also changed in Invoice (but this depends on your other design decision - next topic). We implemented this feature via status (prepared, ready, deleted). 2) Historizable. It's little bit hooked to undeletable objects. You should have all versions and changes of you object always in database. Normally it's used for auditing and implementig situation where historical version of object is required for example Invoice -> Company relation where Invoice should never be automatically changed when Company change. This mean Invoice should be associated to historical version. Part of this is also change to future. You can create new version of object for future. For example you plan to rename company for specific date, or make split of shares. Many data should be prepared for future and don't have to be scheduled for batch processing at specific date. You can set your current time (to future or back in time) in your personal profile and see how system data look at this time. It will be nice to have specific information for every relation to historizable objects if relation is pointing to ACTUAL version or HISTORICAL version which was ACTUAL at time of creation. And concept which we don't have now but we found it useful is 'minor edit'. For example you would like to change address of historical version of company because here is mistype which will rewrite specific version and all invoices pointing to this version will get updated however not to actual version of Company which now point to absolutely new business address. Now we are doing it by direct database updates. Question is how to present it for user on GUI. Handling of such complex thing also require clever users. Steffen you mentioned EJBs in list of your stuff. Does it mean you have JPA implementation ready or is it only about Session Beans? Steffen can you please describe shortly (unlike me ;-) ) also your design of previous features? Best regards Pavel On Mon, Dec 1, 2008 at 11:16 PM, Steffen Stundzig <[EMAIL PROTECTED]> wrote: > Hi, > > I'm working on undeletable domain objects, paged finders, identifiable > objects and historizable domain objects. Actually, i'm doing it in our > branch for our current project. But I will send patches asap, at least > in christmas holidays. > > We are also working on ejb deployed in an osgi container as target > plattform and eclipse RAP as ui. Most of it is manual coded but with > generation in mind. > > Regards > > Patrik Nordwall schrieb: >> Thanks a lot. I will take a look at it. >> >> Would you like more tasks? Suggestions: >> >> http://www.fornax-platform.org/tracker/browse/CSC-189 CSC-189 - Service >> injection into service >> >> http://www.fornax-platform.org/tracker/browse/CSC-250 CSC-250 - Ability to >> use Map as reference type >> >> or some bigger task such as: >> >> http://www.fornax-platform.org/tracker/browse/CSC-272 CSC-272 - Use Spring >> annotations instead of XML >> >> http://www.fornax-platform.org/tracker/browse/CSC-85 CSC-85 - Support for >> JPA >> >> >> > > -- > Steffen Stundzig > > Telefon: +49 (0) 341 / 231-0183-401 > Telefax: +49 (0) 341 / 231-0183-411 > Mobil: +49 (0) 151 / 173-9673-1 (!neu) > > http://itemis.de > [EMAIL PROTECTED] > https://www.xing.com/profile/Steffen_Stundzig > > itemis AG > Ludwig-Erhard-Straße 51 > 04103 Leipzig > > Rechtlicher Hinweis: > > Amtsgericht Dortmund, HRB 20621 > > Vorstand: Wolfgang Neuhaus, Jens Wagener, Dr. Georg Pietrek > > Aufsichtsrat: Dr. Burkhard Igel(Vors.), Stephan Grollmann, Michael Neuhaus > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Fornax-developer mailing list > Fornax-developer@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/fornax-developer > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Fornax-developer mailing list Fornax-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fornax-developer