Net.Data provides servlets and NetObjects Fusion plug-ins with Net.Data functions that can be used in a Java environment. With servlets and plug-ins you can:
This section describes the following servlet topics:
Net.Data provides servlets to help you develop and manage macros using the Java environment. Servlets are Java classes that perform a role similar to that of CGI programs or Web server API plug-ins. Servlets are used by a Java servlet-enabled Web server to build HTML pages. Servlets do not have their own graphical user interface, but their classes can be dynamically loaded locally, or from across the network, and can be called using a URL address (remotely) or by a class name (locally). Servlets are available for Windows NT and AIX operating systems.
The Net.Data servlets are a Java-based wrapper that run a Net.Data Version 2 macro or direct request using a native DLL file. These servlets allow you to run an existing macro (MacroServlet) or a single function (FunctionServlet). Net.Data Version 2 is required to use these servlets. Net.Data servlets can run the database or non-database language environments and can run with Live Connection.
The servlets come with an API for use with your applications. The servlet APIs are documented with Net.Data. See the <inst_dir>/servlets/NetDataServlets.jar file for API documentation.
Net.Data provides two servlets:
Using the macro servlet is similar to running a Net.Data macro through the CGI-BIN interface, except you run the macro through a Java servlet. The macro servlet requires that Net.Data Version 2 or higher be installed.
The advantages of using the macro servlet include:
The macro servlet also allows native access to heterogeneous databases, such as DB2 and Oracle, as well as various language environments, such as Perl, REXX, and Java.
The function servlet requires that Net.Data Version 2 be installed.
The Net.Data servlets can be run either from a URL or as an SSI within an HTML file. You can use the NetObjects Fusion plug-ins to incorporate the Net.Data servlets into your NOF site. The following sections discuss how to modify and run the servlets by typing in the syntax for the servlet. See Appendix E, Using NetObjects Fusion NOF Plug-ins with Net.Data Servlets to learn how to modify and run the servlets with NetObjects Fusion.
From within an HTML file, enter the servlet parameters using one of the following syntax options:
http://myserver/servlet/com.ibm.netdata.servlets.MacroServlet ?MACRO=macro_value&BLOCK=block_value&parmnn=valuenn
For example:
http://myserver/servlet/com.ibm.netdata.servlets.MacroServlet ?MACRO=my_macro&BLOCK=my_block&field1=custno
<servlet code="com.ibm.netdata.servlets.MacroServlet"> <param name="MACRO" value="macro_value"> <param name="BLOCK" value="block_value"> <param name="parmnn" value="valuenn"> </servlet>
For example:
<servlet code="com.ibm.netdata.servlets.MacroServlet"> <param name="MACRO" value="my_macro.d2w"> <param name="BLOCK" value="report"> <param name="field1" value="custno"> </servlet>
Parameters:
<param name="field1" ...
... value="custnum"
HTMLPATH parameter: If you get an error message referring to a missing HTMLPATH parameter, add the HTMLPATH parameter to your servlet invocation command:
http://myserver/servlet/com.ibm.netdata.servlets.MacroServlet ?MACRO=macro_name&BLOCK=block_value&htmlpath=html_path&parmnn=valuenn
For example:
http://myserver/servlet/com.ibm.netdata.servlets.MacroServlet?MACRO=my_macro &BLOCK=my_blockhtmlpath=e:\html&field1=custno
<servlet code="com.ibm.netdata.servlets.MacroServlet"> <param name="MACRO" value="macro_value"> <param name="BLOCK" value="block_value"> <param name="htmlpath" value="html_path"> <param name="parmnn" value="valuenn"> </servlet>
For example:
<servlet code="com.ibm.netdata.servlets.MacroServlet"> <param name="MACRO" value="my_macro"> <param name="BLOCK" value="my_block"> <param name="htmlpath" value="e:\html"> <param name="field1" value="custno"> </servlet>
OUTBUFLEN parameter: If your macro results are larger than 32 KB, specify the OUTBUFLEN parameter. Failure to specify these parameters when required can result in unpredictable results.
http://myserver/servlet/com.ibm.netdata.servlets.MacroServlet ?MACRO=macro_name&BLOCK=block_value &OUTBUFLEN=output_buffer_size&parmnn=valuenn
For example:
http://myserver/servlet/com.ibm.netdata.servlets.MacroServlet?MACRO=my_macro &BLOCK=my_block&OUTBUFLEN=48&field1=custno
<servlet code="com.ibm.netdata.servlets.MacroServlet"> <param name="MACRO" value="macro_value"> <param name="BLOCK" value="block_value"> <param name="OUTBUFLEN" value="output_buffer_size"> <param name="parmnn" value="valuenn"> </servlet>
For example:
<servlet code="com.ibm.netdata.servlets.MacroServlet"> <param name="MACRO" value="my_macro"> <param name="BLOCK" value="my_block"> <param name="OUTBUFLEN" value="48"> <param name="field1" value="custno"> </servlet>
The function servlet can invoke Net.Data using direct request to execute either a function (such as a REXX function) or an SQL statement. The parameters you specify for the servlet depend on whether you are executing a function or an SQL statement. From within an HTML file, enter the servlet parameters using one of the following syntax options:
http://myserver/servlet/com.ibm.netdata.servlets.FunctionServlet ?LANGENV=lang_env_name&FUNC=program_name&parmnn=valuenn
For example:
http://myserver/servlet/com.ibm.netdata.servlets.FunctionServlet ?LANGENV=DTW_REXX&FUNC=my_rexx&field1=custno
http://myserver/servlet/com.ibm.netdata.servlets.FunctionServlet ?LANGENV=database_lang_env_name&SQL=SQL_statement &DATABASE=database_name&parmnn=valuenn
For example:
http://myserver/servlet/com.ibm.netdata.servlets.FunctionServlet ?LANGENV=DTW_SQL&SQL=select+*+from+myTable&DATABASE=CELDIAL
<servlet code="com.ibm.netdata.servlets.FunctionServlet"> <param name="LANGENV" value="lang_env_name"> <param name="FUNC" value="program_name"> <param name="parmnn" value="valuenn"> </servlet>
For example:
<servlet code="com.ibm.netdata.servlets.FunctionServlet"> <param name="LANGENV" value="DTW_REXX"> <param name="FUNC" value="myREXX"> <param name="field1" value="custno"> </servlet>
<servlet code="com.ibm.netdata.servlets.FunctionServlet"> <param name="LANGENV" value="lang_env_name"> <param name="SQL" value="SQL_stmt_name"> <param name="DATABASE" value="database_name"> <param name="parmnn" value="valuenn"> </servlet>
For example:
<servlet code="com.ibm.netdata.servlets.FunctionServlet"> <param name="LANGENV" value="DTW_SQL"> <param name="SQL" value="select * from employee"> <param name="DATABASE" value="CELDIAL"> </servlet>
Parameters:
HTMLPATH parameter: If you get an error message referring to a missing HTMLPATH parameter, add the HTMLPATH parameter to your servlet invocation command:
http://myserver/servlet/com.ibm.netdata.servlets.FunctionServlet ?LANGENV=lang_env_name&FUNC=program_name&htmlpath=html_path &parmnn=valuenn
For example:
http://myserver/servlet/com.ibm.netdata.servlets.FunctionServlet ?LANGENV=DTW_REXX&FUNC=my_rexx&htmlpath=e:\html&field1=custno
<servlet code="com.ibm.netdata.servlets.FunctionServlet"> <param name="LANGENV" value="lang_env_name"> <param name="SQL" value="SQL_stmt_name"> <param name="htmlpath" value="html_path"> <param name="parmnn" value="valuenn"> </servlet>
For example:
<servlet code="com.ibm.netdata.servlets.FunctionServlet"> <param name="LANGENV" value="DTW_SQL"> <param name="SQL" value="select * from employee"> <param name="htmlpath" value="e:\html"> <param name="field1" value="custno"> <param name="DATABASE" value="SAMPLE"> </servlet>
Where html_path specifies the path to the Web server root HTML directory; for example: htmlpath=e:\html.
OUTBUFLEN parameters: If your macro results are larger than 32 KB, you must specify the OUTBUFLEN parameter. Failure to specify these parameters when required can result in unpredictable results.
http://myserver/servlet/com.ibm.netdata.servlets.FunctionServlet ?LANGENV=lang_env_name&FUNC=program_name&OUTBUFLEN=output_buffer_size &parmnn=valuenn
For example:
http://myserver/servlet/com.ibm.netdata.servlets.FunctionServlet ?LANGENV=DTW_REXX&FUNC=my_rexx&OUTBUFLEN=48K&field1=custno
<servlet code="com.ibm.netdata.servlets.FunctionServlet"> <param name="LANGENV" value="lang_env_name"> <param name="FUNC" value="program_name"> <param name="OUTBUFLEN" value="output_buffer_size"> <param name="parmnn" value="valuenn"> </servlet>
For example:
<servlet code="com.ibm.netdata.servlets.FunctionServlet"> <param name="LANGENV" value="DTW_REXX"> <param name="FUNC" value="my_rexx"> <param name="OUTBUFLEN" value="48K"> <param name="field1" value="custno"> </servlet>