Documentation
Parameters

The DB Prism properties file is divided in Global, DAD information and Resource Manager parameters section. Click in the correct link to show a full explanation of the parameters.


DAD setting
Global Section
Name  Values  Default Value  Explanation 
global.flexibleRequest  old|compact  old  Defines which funcionality uses DBPrism for flexible parameter pasing. "old" functionality is compatible with Oracle Web Server 4.x that is, for an url like this: http://www.acme.com/pls/myDAD/!scott.my_pkg.my_proc?x=a&y=b&x=c four parameter will be passed, like theses: num_entries ==> 3 name_array ==> (`x', `y', `x') value_array ==> (`a', `b', `c') reserved ==> (reserved) "compact" functionality is compatible with Oracle mod_plsql for the above url example, the encoded argument will be: name_array ==> (`x', `y', `x') value_array ==> (`a', `b', `c') Note that two arguments of type array will be passed 
Name  Values  Default Value  Explanation 
global.webmaster  Any string with an email address  webmaster@yourdomain.com  Email which is displayed on an error page 
Name  Values  Default Value  Explanation 
global.lang,global.country  String to specify JVM country and language  JVM defaults  These parameters overrides the JVM country and language seeting, note that if you changes these parameters, it will override the JVM default setting affecting other servlet container and in many case this operation is not allowed. Changing these settings affects JDBC conversions such as NLS_NUMERIC setting. 
Name  Values  Default Value  Explanation 
global.behavior  0,1,2  Choose behavior of getServletPath() and getPathInfo() function. This depends on your system, change it if DB Prism doesn't work. This value affect how to DB Prism gets a DAD string, for example the url: http://server:port/servlets/test/pkg.proc?arg1=1&arg2=2 With a value 0 in an Apache Web Server with Jserv 1.1 gets test as DAD string.  
Name  Values  Default Value  Explanation 
global.producerparameter  deprecated  deprecated  deprecated.  
Name  Values  Default Value  Explanation 
global.cacheprocedure  true or false  true  Caching procedures description will increase speed, but can cause problems when procedure description changes, for example, during development proces.  
Name  Values  Default Value  Explanation 
global.compatlist  Blank separated strings  7x 8i lite java  Modes of compatibilty supported by DB Prism. This parameter is according to the list of adapters implemented in DB Prism, also refects how many kind of databases are suported.  
Name  Values  Default Value  Explanation 
factory. dbmode   A class name  No default value  Factory Classes which implements creation objects for each compat modes. If you don't write a new adapter do not modify this lines.  
Name  Values  Default Value  Explanation 
jdbcDriver. dbmode   A class name  No default value  JDBC Driver for each compat modes. If you don't write a new adapter do not modify this lines.  
Name  Values  Default Value  Explanation 
global.contenttype  A valid Content type string for an HTTP response  text/html  Default content type of servlet output. If you want to display non-ascii characters set proper charset here, examples: text/html; charset=iso-8859-2 text/html; charset=utf-8  
Name  Values  Default Value  Explanation 
global.UnauthorizedText  A well formed HTML text  You must be enter DB username and password to access at the system  Text to be sent after SC_UNAUTHORIZED response Tips: to redirect to another page use HTML tag META as showing below Remember used well formed XML tags under Cocoon.  
global.UnauthorizedText=<HTML>\
          <HEAD>\
          <META HTTP-EQUIV="REFRESH" CONTENT="0;URL=/unauthorized.html">\
          </META>\
          </HEAD>\
          <BODY bgcolor="c0c0c0">You must be enter DB username
          and password to access at the system</BODY>\
          </HTML>\
          <!-- Author: Marcelo F. Ochoa (mochoa@ieee.org) -->
Name  Values  Default Value  Explanation 
global.alias  Blank separated strings  No Default value  Connection alias to be recognize, for Oracle Web Server Users is same as PL/SQL agent virtual path For example, in Apache Web Server with Jserv or Tomcat the urls:
http://server:port/servlets/plsql/pkg.proc
http://server:port/servlets/xml/pkg.proc
Sets plsql and xml as dad string, then this values must be exists in the global.alias sring. Work with multiple zones definition in servlet engine. The servlet zones argument must be point to the same properties files and Servlets class See servlet.properties for more details, here an example for the url showed. The second example is routed to the Cocoon main entry point, then Cocoon recognize the producer parameter value and route the request to the DB Prism producer.  
Apache Web server servlets.properties file
servlet.plsql.code=com.prism.ServletWrapper
servlet.xml.code=org.apache.cocoon.Cocoon

servlet.plsql.initArgs=properties=/usr/local/prism/conf/prism.properties
servlet.xml.initArgs=properties=/usr/local/prism/conf/cocoon.properties


DAD setting

NoteIn all parameters dad stand for one of the DAD defined in the parameter global.alias

Common
Name  Values  Default Value  Explanation 
dad.dbusername/dad.dbpassword  Any valid string for username and password  empty string  Database username and password, left in blank if you choose dynamic login. Do not use dynamic login with global, per_package or custom authentication, see below for details.  
Name  Values  Default Value  Explanation 
dad.connectString  Any valid JDBC url string  jdbc:oracle:thin:@localhost:1521:ORCL  Database connect string, in jdbc syntax.  
Name  Values  Default Value  Explanation 
dad.errorLevel  0,1,2  How DB Prism returns the errors:
0 - returns 404 error code - Not Found, may be redirect by the Web Server to another page.
1 - no error reporting redirects to errorPage url parameter, see below.
2 - maximum error reporting package+proc+(args,values).  
Name  Values  Default Value  Explanation 
dad.errorPage  A valid URL  http://localhost/error.html  url to redirect if error level is 1.  
Name  Values  Default Value  Explanation 
dad.dynamicLoginRealm  Any valid String  DAD name  String that the browser shows to the users when ask for username and password.  
Name  Values  Default Value  Explanation 
dad.compat  A compatibility mode  7x  A valid compatibility mode defined in the parameter global.compatlist.  
Name  Values  Default Value  Explanation 
dad.producerarg  pass/ignore  pass  Ignore or not the argument producer. Useful with Cocoon framework
pass - normally operation OWS (Default)
ignore - With Cocoon, it normaly needs extra args in Servlet engine to redirect to different producers see cocoon.properties file for details of producer argument.  
Name  Values  Default Value  Explanation 
dad.dbcharset  A valid java string for charset  iso-8859-1  Database charset, used for converting result from the database side in the servlet engine.  
Name  Values  Default Value  Explanation 
dad.clientcharset  A valid java string for charset  iso-8859-1  Charset used by Servlet engine to enable non-ascii input JServ or JSDK needs this - they don't detect parameters charset.  
Name  Values  Default Value  Explanation 
dad.StateLess  true/false  false  If false, DB Prism calls dbms_session.reset_package procedure before a client procedure to guarantee reset all packages variables and global states (OWS 3.0) In Oracle Lite support you has to write StateFull code in com.prism.polite.DBMS_Session class If true, DB Prism don't calls to Reset Session, and then, global variables of packages, for example, persists across differents http calls, this no guarantee same connection objects to the same client for this purpose use Transactions and leave this parameter with the default value.  
Name  Values  Default Value  Explanation 
dad.documentTable  [schema.]table_name  owa_public.wpg_document  This table is used by the upload/download functionality to store the content.  
Name  Values  Default Value  Explanation 
dad.docAccessPath  A valid string in the url path  docs  This path is used by the DB Prism gateway interface to check if the document will be downloaded by the Document Access Procedure.
For example an url like this http://server:port/servlets/plsql/docs/xx/yy/file.ext identified docs as document access path, the instead of calls file.ext as stored procedure, calls to the document access procedure which decode the url and return the correct content to the client.  
Name  Values  Default Value  Explanation 
dad.docAccessProcedure  A valid stored procedure [[schema.]package.]procedure  owa_public.wpg_testdoc.process_download  This procedure is called by the DB Prism gateway in order to set up the file to be download This procedure is called without argument, they must be decode the url information and return the document to be download by using the toolkit procedures.  
Name  Values  Default Value  Explanation 
dad.defaultPage  A valid stored procedure [[schema.]package.]procedure  wwwIndex.html  Defines which procedure is called if a subdirectory is found.  
Name  Values  Default Value  Explanation 
dad.alwaysCallDefaultPage  true/false  false  Ignore package procedure in the url call, calls always to the defaultPage.  
Name  Values  Default Value  Explanation 
dad.customAuthentication  none/global/perPackage/custom  none  This parameters replaces the old style custom authentication seted by OWA_CUSTOM or OWA initialize procedures  

Oracle PLSQL Support
Name  Values  Default Value  Explanation 
dad.toolkit  3x/4x  3x  Htp toolkit used, 3x => WAS 3.x, 4x => OAS 4.x, Web DB or IAS 1.0 See Toolkits section for detail.  
Name  Values  Default Value  Explanation 
dad.exclusion_list  space delimited list of procedures or packages  sys. owa dbms_ htp.  Prevent that malicious user may directly access oracle database server information or write cross-site script attack. Look at this security alert for more information. Unlike mod_plsql it do not requires wildcars (*) and is space delimited. The default values prevent to any user execute packages owned by sys., owa toolkit, dbms_ and htp. packages.  

Oracle 7.x version (PLSQL support only)
Name  Values  Default Value  Explanation 
dad.type_owner  a valid database user (schema)  owa_public  type_owner is the user which has installed the toolkit  
Name  Values  Default Value  Explanation 
dad.type_name  a valid package name  owa_util  type_name is the package which defines the PLSQL table type used for passing multi-valuaded parameters  
Name  Values  Default Value  Explanation 
dad.type_subname  a valid PLSQL type name  ident_arr  type_subname is the PLSQL table type defined to pass multivalued infomation  

Oracle Java Support
Name  Values  Default Value  Explanation 
dad.case  lower/upper/case  lower  Case sensity, with Java Stored procedure support in Oracle Lite Databases this parameter control if the package.procedure is converted to upper, lower or as is  

Oracle 9.2.0+ PLSQL or Java
Name  Values  Default Value  Explanation 
dad.debugHost/dad.debugPort  hostname,port  no default value  Enable remote debugging support for PLSQL or Java Stored procedures using JPDA functionality of JDeveloper 9.0.3+. If debugHost is empty disable debugging functionality. Users who want to use this functionality requires DEBUG CONNECT SESSION and DEBUG ANY PROCEDURE database grants. debugHost/debugPort must be the same as the options of Project->Project Settings...->Debugger-Remote->Listen for JPDA  


DBPrism Connection Cache
Common
Name  Values  Default Value  Explanation 
Manager.class  A valid fully qualified class name  com.prism.utils.JdbcDBPrismConnectionImpl  A valid class name which implements a particular Connection Cache Algorithm. This parameter is mandatory from DBPrism 1.2.0+ . There are three Connection Cache implementations available in this version: com.prism.utils.JdbcDBPrismConnectionCacheImpl, com.prism.utils.JndiDBPrismConnectionCacheImpl and com.prism.oracle.JTADBPrismConnectionCacheImpl.  
Name  Values  Default Value  Explanation 
Manager.timeout  A valid integer in second   600  Timeout off unused connection in second, after this the connection is closed  

Transaction Support
Name  Values  Default Value  Explanation 
Manager.TxEnable  true/false  false  Enable/Disable Transaction support by url demarcation  
Name  Values  Default Value  Explanation 
Manager.TxNames  A space separated list of transaction names  empty  List of space separated TX names. For example "fly demo".  

Transaction Definitions
Name  Values  Default Value  Explanation 
txName.BeginURI  a valid URI  empty  URL who acts as a begin of the transaction, ej: /servlet/plsql/demo_pkg.Begin_URL  
Name  Values  Default Value  Explanation 
txName.CommitURI  a valid URI  empty  URL who acts as a commit of the transaction, ej: /servlet/plsql/demo_pkg.Commit_URL  
Name  Values  Default Value  Explanation 
txName.RollBackURI  a valid URI  empty  URL who acts as a rollback of the transaction, ej: /servlet/plsql/demo_pkg.RollBack_URL  
Name  Values  Default Value  Explanation 
txName.BelongTo  a ; separeted list of valid URI  empty  URIs who belong to the transaction, ej: /servlet/plsql/demo_pkg.*;/servlet/plsql/demo_otherpkg.*  
Name  Values  Default Value  Explanation 
txName.TimeOut  a valid positive number  500  Time out in second after the transaction is automatically rolled back  
Using the Resource Manager, you associate URIs with the operations on
transactions (begin, commit, and rollback). When a user invokes one of these URIs,
the corresponding transaction operation is performed by the ResourceManager.
These URIs can be mapped to stored procedures that
display appropriate pages to the user. For example, the begin transaction URI
could display to the user a list of items to add to his or her shopping cart, the
commit transaction URI could display to the user a list of purchased items, and
the rollback transaction URI could display to the user a page that asks if he wants
to drop the existing shopping cart and start another one.

Between the begin and the commit or rollback URI, the user invokes other URIs that
call procedures to perform some action on the database. These procedures might or
might not belong to a transaction. If the URI belongs to a transaction, the actions
performed by that procedure would be committed or rolled back when the transaction
ends. If the URI does not belong to the transaction, it is not affected by the
transaction, and Prism treats it as a regular request (changes made by that URI are
committed upon completion).
URIs belonging to a transaction usually invoke procedures
within a package.

The sequence of URIs for a stored procedures within the database when invoked
would look like the following:

-- begin a transaction
http://host:port/servlet/demo/test.txn_begin

-- the first operation in the transaction
http://host:port/servlet/demo/test.txn_update1

-- the second operation in the transaction
http://host:port/servlet/demo/test.txn_update2

-- some more operations

-- commit the transaction
http://host:port/servlet/demo/test.txn_commit

utils.JdbcDBPrismConnectionCacheImpl formerly ResourceManager
Name  Values  Default Value  Explanation 
Manager.minconnections  A valid integer value from 0 to n  Minimal numbers of active connections to a database  
Name  Values  Default Value  Explanation 
Manager.maxconnections  A valid integer value from minconnections to n  20  Maximun numbers of active connections to a database  

oracle.JTADBPrismConnectionCacheImpl

Note This Connection Cache implementation has indepent parameters for every DAD definition defined into DAD section.

Name  Values  Default Value  Explanation 
Manager.dad.MinLimit  A valid integer value from 0 to MaxLimit  Minimal numbers of active connections for this dad.  
Name  Values  Default Value  Explanation 
Manager.dad.MaxLimit  A valid integer value from 0 to n  20  Maximal numbers of active connections for this dad.  
Name  Values  Default Value  Explanation 
Manager.dad.LoginTimeout  A valid integer value from 0 to n  60  How many seconds wait for adquiring a particular connection.  
Name  Values  Default Value  Explanation 
Manager.dad.CacheScheme  A valid cache scheme  FixedWait  OracleConnectionCacheImpl class supports three connection cache schemes. Dynamic In this scheme, you can create new pooled connections above and beyond the maximum limit, but each one is automatically closed and freed as soon as the logical connection instance that it provided is no longer in use. FixedNoWait In this scheme, the maximum limit cannot be exceeded Requests for connection when the maximum has already been reached will return an error page. FixedWait Same as the "fixed with no wait" scheme except that a request for a new connection will wait if the limit for the number of connection has been reached. In this case, the connection request waits until another client releases a connection.  

oracle.JndiDBPrismConnectionCacheImpl

Note This Connection Cache implementation provides a simple way to use JNDI datasources defined into [OC4J_HOME]/config/data-sources.xml file. DBPrism will try to lookup a DataSource defintion for every DAD defined into global.alias parameter.

NoteAbout parameters into DAD section

Name  Values  Default Value  Explanation 
dad.dbusername/dad.dbpassword  Any valid string for username and password  empty string  This parameter is unused by this Connection Cache implementation, but if you left it in blank DBPrism will try to connect in dynamic mode, that is DBPrism will prompt the username and password through a browser popup. In the other hand using dynamic mode DBPrism will force to the JNDI DataSources to work in dedication connection mode affecting the performance. To use username and password defined into JNDI Datasources fills dad.username and dad.password with any string values.  
Name  Values  Default Value  Explanation 
dad.connectString  Ignored  Ignored  DBPrism ignores this parameter due to its defined into the DataSource parameter.  

NoteThis implementation do not support Transactions, it is planed for production release.




DBPrism / DBPrism CMS Copyright © 1999/2002 - Marcelo F. Ochoa. All Rights Reserved.