Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [dtp-dev] DTP Connectivity Framework Developer's Quick Start Guide

Hi Max,

You tooling should probably be keyed to a specific connection factory as
this is the best way to decouple your tooling from specific profiles.  It
also allows your tooling to work with any connection profile so long as the
specified connection factory is present.  (Ideally, you should be
referencing the connection factory used to create SQL model instances.)

That said, you can acquire vendor and version information through the
DatabaseDefinition associated with the SQL model returned by the connection
factory.  (Currently, the "raw" connection object associated with the
connection returned by the factory will be an instance of ConnectionInfo.)

To clarify the document, the driver should be used to specify a database
definition (this is currently defined as a URI to a dbdefinition model
instance, but will probably be changing to specify a vender and version
that will be used to locate a dbdefinition from the
DatabaseDefinitionRegistry). Once these details are solidified, I will
update the document with the specific property keys used to store this
information in the driver.  A connection profile references a specific
driver through one of its own property keys.  The information in the
connection profile, along with the information in the referenced driver, is
then used to create a SQL model (via a ConnectionInfo as stated above).
You could locate the vendor and version information from a connection
profile by using its driver property to locate the driver instance, then
inspecting the driver for these properties, however, this approach is not
recommended.

This information is provided for connection profile developers so they can
leverage base implementations provided by the framework when implementing
custom, or vendor specific, DB profiles.  In other words, the default
wizard pages, property pages and connection factory implementation classes
are designed to work with any profile/driver pair that defines themselves
using these properties.  This allows CP developers to simply specify these
classes for their connection factory, wizard, and property page
implementations (more or less).  Given that developers are free to
implement these extensions however they see fit means that relying on this
information will limit your tooling to only working with profiles
implemented using this approach (you'd also need to inspect the internals
of the profile and related driver).  (For example, a provider may choose
not to use a driver definition, preferring some other mechanism for
specifying this information.)

All that said, I would recommend you limit your dependencies to the SQL
model.  (In my opinion, this is the best approach because the SQL model is
a well defined interface that can be compiled against.  Relying on specific
property keys being present in either the profile or driver will make for a
more fragile architecture because these are internal implementation details
of connection profile itself.)

Hope this helps.

Regards,
Rob



                                                                           
             Hui.Cao@xxxxxxxxx                                             
             m                                                             
             Sent by:                                                   To 
             dtp-dev-bounces@e         DTP development mailing list        
             clipse.org                <dtp-dev@xxxxxxxxxxx>               
                                                                        cc 
                                                                           
             11/15/2005 01:43                                      Subject 
             AM                        Re: [dtp-dev] DTP Connectivity      
                                       Framework Developer's Quick Start   
                                       Guide                               
             Please respond to                                             
              DTP development                                              
               mailing list                                                
             <dtp-dev@eclipse.                                             
                   org>                                                    
                                                                           
                                                                           





Hi Rob,
        I saw in your guide, you described the "Keying to Specific Profile
Types" approach, which is used by DMP and DTP SQL Dev Tools now. But you
also talked about "connection profiles capable of connecting to multiple
vendor implementations", which makes me confused. So in DTP connectivity
layer, which one should be responsible to identify a data server type,
connection profile or driver? SQL Dev Tools needs to be customized on data
server types, which includes both vendor name and version. Thanks!


Best Regards!

Max ( Hui ) Cao
Sr S/W Eng - Dev
Sybase, Inc. Shanghai, China
Tel: 86-21-68799918-3047



                                                                           
 rcernich@xxxxxxxxxx                                                       
 Sent by:                                                                  
 dtp-dev-bounces@xxxxxxxxxxx                                            To 
                                      dtp-connect-dev@xxxxxxxxxxx,         
                                      dtp-dev@xxxxxxxxxxx                  
 11/15/2005 02:03 AM                                                    cc 
                                                                           
                                                                   Subject 
        Please respond to             [dtp-dev] DTP Connectivity Framework 
  DTP development mailing list        Developer's Quick Start Guide        
      <dtp-dev@xxxxxxxxxxx>                                                
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           






A quick start guide for developing extensions for the connectivity
framework has been posted to the DTP web site.  This document is intended
to highlight important aspects of the extension points, base classes that
can be used for their implementation, and details regarding how DTP is
using the extension points.  Please refer to extension point and API
documentation for more specific details.

Here's the link:
http://www.eclipse.org/datatools/project_connectivity/connectivity_doc/DTPConnectivityFrameworkDevelopersQSGuide.htm


Happy coding.

Rob

_______________________________________________
dtp-dev mailing list
dtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dtp-dev

_______________________________________________
dtp-dev mailing list
dtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dtp-dev




Back to the top