With the JDBC development interface for external use, esProc can be called by the external Java program as an embedded database, and then return the results to that Java program to further process and utilize. Its method of invoking conforms to the public JDBC interface specifications. The result will be returned in the form of stored procedures, just as same as a standard stored procedure. esProc can receive parameters before called, and return multiple results after called, as given in the below example:
Invoking esProc via external Java program mainly falls into several scenarios below:
Java System for Complicated Data Computing
In a system taking Java as the main development language, if needing to perform the complex computations on massive data, then you can invoke esProc to handle it easily.
Java is one of the most widely used programming languages. Although boasting an excellent architecture, Java is not perfect regarding some specifics. For example, Java is not efficient enough in graphic animation rendering, costs too great resources, and is awkward in the complex computation on mass data. However, the disadvantages of Java can be solved by invoking the superior external components like esProc to handle the complex computation on mass data.
JDBC Invoking Method is commonplace to Developer
esProc allows developer to invoke via standard JDBC communication interface. Those who are familiar with the methods of JDBC invoking can invoke esProc more easily.
There are several communication interfaces between systems: mapping files, WebService and XML, API invocating, socket communications, JDBC, and others. JDBC is one of the widely applied interfaces with standard specifications, commonly used to access to various database. The developer is quite familiar with this methods of invoking. esProc provides the JDBC interface, allowing developer to access database in the same way to access esProc.
Access to Highly Efficient Embedded Database
As for the systems sensitive to the database access efficiency, the embedded database is ideal because the embedded database share the memory address space with the caller. Therefore, the time for communications between processes is saved, and the efficiency is similar to the invoking between functions. Compared with the non- embedded, the access efficiency improves greatly.
If you call esProc in the Java language, esProc will be recognized and interpreted as an embedded database, that is, both esProc and the caller will be in a same Java virtual machine. Only the code in this virtual machine can access esProc directly, while the code outside the virtual machine cannot.
In the last example, suppose that there is a software company whose CRM system is running on the WebLogic® application server. When making a statistics on the customer data, several statistics analysis algorithms are too complicated to be implemented with SQL. Then, esProc will be an ideal choice:
- In CRM system, develop the Java/Servlet/JSP program to accept the request from the foreground browser, such as the parameter list for customer statistics.
- In this Servlet/JSP, call esProc cellset via JDBC and pass the parameter list.
- Run the complicated statistics and analysis on esProc cellset file and return the result.
- Use the suitable format to organize data in Servlet/JSP.
- Return the final representation result to display, and user can view the result in the browser.