Dbm (discuter | contributions) m |
Dbm (discuter | contributions) m |
||
Ligne 22 : | Ligne 22 : | ||
:*<b>Wrappers</b> (''API''). A wrapper is a software component attached to a data source (such as a file and a database) and that provides its users (typically application programs) with a data model that is different from that of the data source. Practically, a wrapper is notably defined by its API. The wrapper technology and architecture have been extensively studied, experimented and used since 1981 in various contexts. | :*<b>Wrappers</b> (''API''). A wrapper is a software component attached to a data source (such as a file and a database) and that provides its users (typically application programs) with a data model that is different from that of the data source. Practically, a wrapper is notably defined by its API. The wrapper technology and architecture have been extensively studied, experimented and used since 1981 in various contexts. | ||
− | : | + | |
− | : | + | ::#Database access code generation [B86]. |
− | : | + | ::#Legacy database interoperability [P99-01] [P01-03] [P04-08] [P05-03] [P06-08]. |
− | : | + | ::#Information system evolution and migration [P03-03] [P04-04] [P06-04] [P08-05] [PHD09]. |
+ | ::#High-level database programming through conceptual object classes to support fast system evolution [P10-05]. | ||
:*<b>Temporal API T-ODBC</b> (''API''). The T-SQL language interacts with the database through the temporal API T-ODBC which is an extension of ODBC [P01-02]. The temporal database is an active DB implemented in Oracle 9. | :*<b>Temporal API T-ODBC</b> (''API''). The T-SQL language interacts with the database through the temporal API T-ODBC which is an extension of ODBC [P01-02]. The temporal database is an active DB implemented in Oracle 9. | ||
:*<b>Conceptual API for system evolution</b> (''API''). The fast evolution of applications systems forces developers to adopt defensive programing techniques to facilitate system adaptation. We have developed a Java API that offers data manipulation at the conceptual level (according to a variant of the Entity-relationship model). The API is automatically generated by the DB-MAIN CASE tool according to rules that minimize the impact of changes on the database, on the data and on the application programs [P10-05]. | :*<b>Conceptual API for system evolution</b> (''API''). The fast evolution of applications systems forces developers to adopt defensive programing techniques to facilitate system adaptation. We have developed a Java API that offers data manipulation at the conceptual level (according to a variant of the Entity-relationship model). The API is automatically generated by the DB-MAIN CASE tool according to rules that minimize the impact of changes on the database, on the data and on the application programs [P10-05]. | ||
Ligne 32 : | Ligne 33 : | ||
:*<b>Co-transformation</b> (''language processing''). [P04-03][P06-04] [P06-06] | :*<b>Co-transformation</b> (''language processing''). [P04-03][P06-04] [P06-06] | ||
− | :*<b>Program understanding</b> (''language processing''). [P96-01] [P98-01] [P98-02] [P08-02] | + | :*<b>Program understanding</b> (''language processing''). Database reverse engineering requires the elicitation of implicit (i.e., not explicitly declared in the DDL code) data structures and constraints. This process relies on various techniques such as data analysis, schema analysis and program source code analysis. Code analysis is a complex matter but it provides essential information on the data structures. For instance, implicit foreign keys can be detected through the examination of the data validation sections that precede the insert statements in application programs. Identification of programming clichés, dependency graph and program slicing are some techniques that have been studied and implemented in DB-MAIN [P96-01] [P98-01] [P98-02] [PHD03]. Recently, we applied dynamic program analysis techniques to the detection of dynamic SQL statements, which are increasingly used in web applications (through JDBC for instance). [P08-02] [PHD09] |
*'''Keywords''' | *'''Keywords''' |
<Back to Themes & Resources page>