-
Architecture et PLL
Bonjour,
J'ai actuellement un "débat" avec l'architecte en chef au sujet du contenu des PLL. A votre avis que doivent contenir(quel type de code) les PLL en general?
Une PLL doit servir au traitement general au niveau de la presentation.
Elle ne doit quasiment pas contenir de SQL sauf rares exceptions et ne doit manipuler le SQL qu'au travers d'interfaces.
En reponse le chef m'a dit que si tout est en base dans de gros packages, la memoire du serveur pourrait en souffrir???
A votre avis,svp
-
Bonjour,
Il me semble qu'une PLL est l'endroit idéal pour stocker procédures et fonctions partagées par au moins deux modules distincts. Elles ne sont chargées qu'une fois sur la machine qui héberge le Forms Runtime, et de surcroit, seulement si un module en a besoin.
La question de savoir s'il convient ensuite de placer tout le code dans la BDD relève un peu de la métaphysique. Soit c'est le moteur PL/SQL du serveur d'appli, soit c'est celui de la BDD qui va exécuter le code. Dans tous les cas, il faudra les ressources correspondantes quelque part.
L'avantage de tout stocker dans la BDD est de baser les blocs Forms sur des procédures stockées et ainsi, de gérer entièrement l'accès aux données depuis la base, donc de séparer la partie "Design" des règles de gestion. Il n'est, dès lors, plus nécessaire de recompiler et relivrer les formulaires lorsqu'une règle évolue.
Personnellement, je ne code dans des procédures stockées, que le code pouvant être utilisé ailleurs que dans les écrans Forms.
-
merci pour ce point de vue.
Du moment qu'il y a du SQL dans la PLL, nous sommes d'accord que le PL\SQL sera executé sur le serveur de BDD?exact?
merci
-
le PL/SQL ne peut être exécuté que par le serveur Oracle...
-
PL/SQL Architecture
The PL/SQL compilation and run-time system is a technology, not an independent product. Think of this technology as an engine that compiles and executes PL/SQL blocks and subprograms. The engine can be installed in an Oracle server or in an application development tool such as Oracle Forms or Oracle Reports. So, PL/SQL can reside in two environments:- The Oracle database server
- Oracle tools
These two environments are independent. PL/SQL is bundled with the Oracle server but might be unavailable in some tools. In either environment, the PL/SQL engine accepts as input any valid PL/SQL block or subprogram. Figure 1-4 shows the PL/SQL engine processing an anonymous block. The engine executes procedural statements but sends SQL statements to the SQL Statement Executor in the Oracle server.
Figure 1-4 PL/SQL Engine
http://igor.gold.ac.uk/oracle/9i/app...sql_engine.gif
-
Ma foi, je ne savais pas que Forms pouvait embarquer un moteur PL/SQL...
Autant pour moi, je dormirai moins bête ce soir (mais c'est pas pour autant que je ferai du Forms !)