Thomas thanks for your hints, I've read the EntityBroker documentation. I like the idea of 'Entity Set'. I've noticed the deep decoupling between the Db and the objects EntityBroker enable. I've some question about the approach and design decisions:
1) Some entities have complex persistence requirement so they need hand-written code, is it possible to seamless put these entities in the same transaction with entities managed by the EntityBroker (I mean business objects derived from EntityBroker.EntityObject)? How? 2) Some business rules and constraints are enforced in the Db, does EntityBroker give the option to have the Db check those constraint? How? Is it possible to check the Db in a Property Set or in a method (to make data validation)? 3) Does EntityBroker map Db constraint violation errors to specific EntityBroker exceptions (uniqueness violated, referential integrity violated, check constraint XXX violated, concurrence error)? 4) Is it possible to manage transactions without the EntityBroker (just like BMP does by the setEntityContext and unsetEntityContext methods? http://java.sun.com/products/ejb/javadoc-2_1-fr/javax/ejb/EntityBean.html#setEntityContext(javax.ejb.EntityContext)) 5) Can EntityBroker persists a tree of objects (a UML composition = an ER Weak Entity Type just like Order->OrderItems->etc.)? How? 6) If I understood the EntityBroker guarantees object instances uniqueness (so when I ask an entity, say Order 101, that's already instantiated I get the reference to that instance). But with Optimistic Concurrency is instance uniqueness still necessary/useful or is it just a complex task that can be avoided? Are there public UML models documentation of EntityBroker? And finally a 'philosophical' question: don't you think that the kind of important and complex tools as EntityBroker should be very very very light (easy to learn, easy to use... can they be???) or they should met a wide community acceptance and support (knowledge shared between all programmers as a common pattern, no vendor lock-in, wide resources for the maintenance and evolution) to reach they value? Ciao, (luKa) On Wed, 12 Feb 2003 03:55:20 +0100, Thomas Tomiczek <[EMAIL PROTECTED]> wrote: >Luca, > >You might want to have a look on our EntityBroker, which we currently >push through the beta process. > >Not perfect, but persistence and complex queries through attributes and >with no code generation. Lots of new features coming up in the next >cycle - just have a look. > >http://www.thona-consulting.com/ is a starting point. Look for the >EntityBroker. > >Besides this there area couple of source generators outside. > >Regards > >Thomas Tomiczek >THONA Consulting Ltd. >(Microsoft MVP C#/.NET) > > >-----Original Message----- >From: Luca Minudel [mailto:[EMAIL PROTECTED]] >Sent: Mittwoch, 12. Februar 2003 01:42 >To: [EMAIL PROTECTED] >Subject: Re: [ADVANCED-DOTNET] Container-Managed Persistence in .NET? > >Hello Frans, > I think that statefull/stateless is just an option and it is not the >problem here. > >I mean that the interesting part of CMP is the declarative programming >approach: it gives programmers the ability to declare a map from Object >Properties to Db Columns and then automagically obtain >Retrieve/Save/Delete methods and Properties getter/setter implemented >without coding. Then programmers just code business logic. > >For sure CMP work well for simple entity object... (80%?) but it's >possible >to code complex objects (20%?) persistence as with BMP. >This was my idea. >Don't you agree? > >And here is a question for a code generator developer as you are: do you >know a generic tool that generate code from a code tempate after >applying >modification declaratively described in XML format? > >TIA, (luKa) > >On Tue, 11 Feb 2003 20:33:03 +0100, Frans Bouma <[EMAIL PROTECTED]> >wrote: > >>> I'm looking around to find something similar to >>> Container-Managed Persistence (CMP, from the Java world) in >>> the .NET world. >>> >>> I've got this idea because I've just finished to code >>> interfaces and services that help to code persistence for >>> entity objects just like Bean- Managed Persistence (BMP, from >>> the Java world). CMP is one step over, it gives a >>> declarative way to develop object persistence. >> >> Because COM+ and MTS are stateless frameworks, I don't think a >>lot of people are willing to go for a stateful persistent framework, >>it's too easy to go the stateless route. >> >>> I think it's a big project to develop CMP-like framework (or code >>> generator) by myself , I cannot afford it! >>> So I would like to know if there is a *good* open source >>> project out there or if Microsoft is going to do something >>> similar to CMP. >>> I've heard rumors about Microsoft OpenSpaces, but it seams to >>> be more similar to JDO than CMP, I've also seen open-source >>> projects in SourceForge.net but none of them seams to meet >>> wide community acceptance. >> >> Are you refering to Object Spaces, btw? >> >> Object Spaces was a nice rumour, however I never saw it >working. >>The newsgroup is not that active either :(. As a code generator >>developer (LLBLGen) I'm very interested in the functionality of Object >>Spaces, because it makes code generation for tier-stack applications >>easier. However, because most developers who are already developing >>n-tier applications on Microsoft platforms are used to work with >>stateless environments, I don't think a lot of people will go for a >>stateful approach. >> >>> What are you doing about persistence? >> >> Nothing really, I only see the benefits for stateful code in 1- >>or 2-tier single user clients. >> >>> Do you know more about OpenSpaces (design, db support, >>> release date, licensing)? >> >> afaik it was a research project that was never developed into a >>product. >> >> FB