Hi, Thierry,

You might have noticed some hesitance in the replies you've gotten. That's because you're describing a very general, but particularly difficult problem, the value of whose solution might never approach the magnitude of the effort you'll put in to solve it if it isn't bounded very carefully.

WO and other computer system development technologies are very sophisticated tools aimed at very bright people who spend hundreds to thousands of hours of their lives learning to use them effectively. Very few people have the ability, the time and the inclination to learn them and apply them correctly to user problems. The people who have all three are usually called applications developers (and many other names, depending on the quality of their work and the mood of their users). :-)

If you're an applications developer, you've probably reached the state where you can grind out an application using WO to meet some general business need of your user. If so, that puts you at the level of most people on this list.

However, you're not describing a general business problem. You're describing a system development problem: "I need to give a customer the possibility to create it's database within our existing Webobjects application..." In other words, you need to develop tools to help your customer develop systems. If that were the sole criterion for your new system, you would already be addressing a problem about 1 to 2 orders of magnitude (that's 10 to 100 times) more difficult than the implementation of a general business system.

But the problem you've described is about another order of magnitude more difficult in its implementation when you say: "All our existing app would do is to create the eomodel that he defined and then write this to the database so that the customer can work with that second database and adapt it to his needs." This is a system used to define its own metalanguage. See Kurt Gödel's incompleteness theorems for some difficulties you might run headlong into as dealt with on a completely abstract basis. You can go here for a brief introduction:

    http://en.wikipedia.org/wiki/Incompleteness_theorem

However, if you think about it for a short while, you'll realize that you've just described a system development technology that already exists in many forms. One manifestation is the WebObjects frameworks, particularly when used with D2W and, perhaps, a seeded model for a base application database.

So your customer is not a person with a typical, reasonably static, business problem requiring the implementation of an automated and relatively stable computer solution. He is a developer who needs to develop systems.

If this is the case, why isn't he using existing system development tools? Their development is incredibly difficult and the popular ones on the market, including WO, have been tested and improved against a vast array of problems.

Having said all that, believe it or not, WO is up to the task of developing yet another set of system development tools. If I haven't yet discouraged you, then start studying the following class descriptions in the WO APIs:

   EOModel, EOModelGroup, EOEntity, EOAttribute, EORelationship.

In particular, read the latter half of the introductory text for EOModel under the headings, "Creating an EOModel Programmatically" and "Loading a Model File".

The above should serve as a start. Eventually, you will probably need a deeper understanding than most of the classes forming an EOF stack. To help you, here is a hierarchical diagram of the object graph for the more important of those classes when used in a typical EOF stack: Be prepared to study a large number of these and their relationships. The diagram is more easily read if you copy it into a text document using a fixed width font:

Enterprise Objects Framework
EOF Stack
                        WODisplayGroup or EODisplayGroup
                        EODatabaseDataSource(DS) -------- EODetailDataSource 
(DS)
                        EOEditingContext(OS)
                        EOObjectStoreCoordinator(OS)
                                |
EOModelGroup                    |
EOModel<<----------EODatabase<--->>EODatabaseContext(OS)<--- >>EODatabaseChannel
      ^         EOAdaptor       
<---->>EOAdaptorContext<-------->>EOAdaptorChannel
       |
       |------->>EOStoredProcedures
       |------->>EOEntity
            ^
             |---------->>EOAttribute
             |---------->>EORelationship

(OS) = subclass of EOObjectStore
(DS) = subclass of EODataSource


If I've misread your statement of requirement and it really isn't sufficiently deep to justify such a general response, then for further help, please further bound your user's problem.

In any case, all the best of luck to you.

Regards,
Jerry



On Jun 10, 2007, at 4:19 AM, Thierry Kramis wrote:


Don't know if this is the way to go because I wanted to preserve my database
independency...


Am 10.6.2007 3:37 Uhr schrieb "jerry porter" unter <[EMAIL PROTECTED]>:

Check this url out.
http://www.stepwise.com/Articles/2005/DBChanges/index.html

I use this exclusively in my apps.

--- Ken Anderson <[EMAIL PROTECTED]> wrote:

Thierry,

Is there a way to do this through meta-data style definitions?  In
the past, when I've wanted to do this, I've found it easiest to build
generic style tables (like fieldName, value) and use additional pre-
defined tables to define the customer's data.

If they don't need to query the database directly or use a report
writer (and meta-data style tables would require more joins, etc),
this might be a nice solution. What you're asking to do is possible,
but certainly more work...

Ken

On Jun 9, 2007, at 5:46 PM, Thierry Kramis wrote:

Hi

I need to give a customer the possibility to create it's database
within our
existing Webobjects application. So the base application stands
with it's
first eomodel. The customer should now be able to login and then
define the
tables and the attributes dynamically in a second separate eomodel
himself.
All our existing app would do is to create the eomodel that he
defined and
then write this to the database so that the customer can work with
that
second database and adapt it to his needs.

Is there any way to do this and could anyone help on explaining how
to do
this with Webobjects?

Thanks.

tk


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/kenlists%
40anderhome.com

This email sent to [EMAIL PROTECTED]

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/jep9816% 40yahoo.com

This email sent to [EMAIL PROTECTED]



---- Being human is the strangest thing I have ever done.

Jerry Porter
IT Distribution MS 34-202
Lincoln Financial Group
One Commerce Square
2005 Market Street
Philadelphia, PA 19103
(215) 255-7031



_____________________________________________________________________ _________
______
Boardwalk for $500? In 2007? Ha! Play Monopoly Here and Now (it's updated for
today's economy) at Yahoo! Games.
http://get.games.yahoo.com/proddesc?gamekey=monopolyherenow

------ Ende der weitergeleiteten Nachricht


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/jerrywwalker% 40gmail.com

This email sent to [EMAIL PROTECTED]


--
__ Jerry W. Walker,
WebObjects Developer/Instructor for High Performance Industrial Strength Internet Enabled Systems

    [EMAIL PROTECTED]
    203 278-4085        office



_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to