CloverETL Server (CS) is the most recent member of CloverETL
products family. It introduces the powerful Clover tool into the world of
enterprise applications. CloverETL Server itself is an enterprise class
application, thus it is shipped as WAR file (WAR
stands for Web Archive). CS is tested and works on Apache Tomcat web
container, Sun Glassfish application server or IBM Websphere application
server. CloverETL Server is basically runtime environment for graphs,
which brings new possibilities how to integrate Clover with your own
software. Whereas CloverEngine can be integrated only as embedded library,
CS implements several interfaces which can be called by another
applications using common protocols like http. In addition, CS implements
some optimizations of threads and memory management.
Table 1.1. CloverETl server and CloverETL engine comparison
| CloverETL Server | CloverEngine as executable tool | |
|---|---|---|
| possibilities of executing graphs | by calling http (or JMX, etc.) APIs (See details in Chapter 12, Simple HTTP API.) | by executing external process or by calling java API |
| engine initialization | during server startup | init is called for each graph execution |
| thread and memory optimalization | threads recycling, graphs cache, etc. | not implemented |
| scheduling | scheduling by timetable, onetime trigger, logging included | external tools (i.e. Cron) can bes used |
| statistics | each graph execution has its own log file and result status is stored; each event triggered by the CS is logged | not implemented |
| monitoring | If graph fails, event listener will be notified. It may send email, execute shell command or execute another graph. See details in Chapter 6, Graph Event Listeners. Additionally server implements various APIs (HTTP and JMX) which may be used for monitoring of server/graphs status. | JMX mBean can be used while graph is running |
| storage of graphs and related files | graphs are stored on server file system in so called sandboxes | |
| security and authorization support | CS supports users/groups management, so each sandbox may have its own access privileges set. All interfaces require authentication. See details in Chapter 3, Graphs on Server Side - Sandboxes. | passwords entered by user may be encrypted |
| integration capabilities | CS provides APIs which can be called using common protocols like HTTP. See details in Chapter 12, Simple HTTP API. | CloverEngine library can be used as embedded library in client's Java code or it may be executed as separated OS process for each graph. |
| development of graphs | CS supports team cooperation above one project (sandbox). CloverETL Designer will be integrated with CS in further versions. |