Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [corona-dev] Should we provide separation layer between generated SDO and our code?

The generated SDO creates a set of interfaces and set of implementations.  If we need to change implementations in the future wouldn’t we just keep existing generated interfaces and wrap the new implementation code to work with these interfaces.  I think I would wait to write the code to fit in a new implementation when we have a new implementation.  If you think the generated interfaces are not correct or not general enough lets fix it in the SDO/EMF code.

 

Glenn Everitt

 


From: corona-dev-bounces@xxxxxxxxxxx [mailto:corona-dev-bounces@xxxxxxxxxxx] On Behalf Of Marcin Okraszewski
Sent: Monday, July 17, 2006 5:37 AM
To: Corona development
Subject: [corona-dev] Should we provide separation layer between generated SDO and our code?

 

I would like to get your opinions on separation of SDO generated models from our code.

Currently on the client side we need to work with project container. There are SDO interfaces generated from XML Schema, which can be used for now, but adding and additional layer makes us more independent. So it would look like this:

module1

module2

module3

...

Our separation interfaces

SDO generated interfaces


Advantages:

  • if we change SDO to any other model (eg. XMLBeans or whatever), we do not have to change code in moduleX
  • we can provide some convenient methods in our interface (eg. getRepositoryByKind() )
  • if the model is changed (eg. repositories goes out from container definition) we can still handle it without changes in moduleX

Disadvantages:

  • additional effort to make adapters (not a big effort)
  • possibility that SDO generated models get out of sync with our separation interfaces
  • people may fill confused with two kinds of interfaces for the same thing
  • an additional layer is always some overhead

Personally I'm for adding the additional layer. What is your opinion about it?

Marcin
The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it.

The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it.

Back to the top