Task Scheduling with Quartz
|
|
|
- Abel Powell
- 10 years ago
- Views:
Transcription
1 In this chapter, we will explore the Quartz task scheduler and its integration with OSWorkflow. We will also give a tutorial with Quartz sending events and actions to OSWorkflow. This gives OSWorkflow temporal capabilities found in some business domains, such as call centers or customer care services. Both people-oriented and system-oriented BPM systems need a mechanism to execute tasks within an event or temporal constraint, for example, every time a state change occurs or every two weeks. BPM suites address these requirements with a job-scheduling component responsible for executing tasks at a given time. OSWorkflow, the core of our open-source BPM solution, doesn't include these temporal capabilities by default. Thus, we can enhance OSWorkflow by adding the features present in the Quartz open-source project. What is Quartz? Quartz is a Java job-scheduling system capable of scheduling and executing jobs in a very flexible manner. The latest stable Quartz version is 1.6. You can download Quartz from Installing The only file you need in order to use Quartz out of the box is quartz.jar. It contains everything you need for basic usage. Quartz configuration is in the quartz. properties file, which you must put in your application's classpath. Basic Concepts The Quartz API is very simple and easy to use. The first concept that you need to be familiar with is the scheduler. The scheduler is the most important part of Quartz, managing as the word implies the scheduling and unscheduling of jobs and the firing of triggers.
2 A job is a Java class containing the task to be executed and the trigger is the temporal specification of when to execute the job. A job is associated with one or more triggers and when a trigger fires, it executes all its related jobs. That's all you need to know to execute our Hello World job. Integration with OSWorkflow By complementing the features of OSWorkflow with the temporal capabilities of Quartz, our open-source BPM solution greatly enhances its usefulness. The Quartz-OSWorkflow integration can be done in two ways Quartz calling OSWorkflow workflow instances and OSWorkflow scheduling and unscheduling Quartz jobs. We will cover the former first, by using trigger-functions, and the latter with the ScheduleJob function provider. Creating a Custom Job Job's are built by implementing the org.quartz.job interface as follows: public void execute(jobexecutioncontext context) throws JobExecutionException; The interface is very simple and concise, with just one method to be implemented. The Scheduler will invoke the execute method when the trigger associated with the job fires. The JobExecutionContext object passed as an argument has all the context and environment data for the job, such as the JobDataMap. The JobDataMap is very similar to a Java map but provides strongly typed put and get methods. This JobDataMap is set in the JobDetail file before scheduling the job and can be retrieved later during the execution of the job via the JobExecutionContext's getjobdetail().getjobdatamap() method. Trigger Functions trigger-functions are a special type of OSWorkflow function designed specifically for job scheduling and external triggering. These functions are executed when the Quartz trigger fires, thus the name. trigger-functions are not associated with an action and they have a unique ID. You shouldn't execute a trigger-function in your code. To define a trigger-function in the definition, put the trigger-functions declaration before the initial-actions element. <trigger-functions> <trigger-function id="10"> [ 116 ]
3 Chapter 6 <function type="beanshell"> <arg name="script"> propertyset.setstring("triggered", "true"); </function> </trigger-function> </trigger-functions> <initial-actions> This XML definition fragment declares a trigger-function (having an ID of 10), which executes a beanshell script. This script will put a named property inside the PropertySet of the instance but you can define a trigger-function just like any other Java- or BeanShell-based function. To invoke this trigger-function, you will need an OSWorkflow built-in function provider to execute trigger-functions and to schedule a custom job the ScheduleJob FunctionProvider. More about Triggers Quartz's triggers are of two types the SimpleTrigger and the CronTrigger. The former, as its name implies, serves for very simple purposes while the latter is more complex and powerful; it allows for unlimited flexibility for specifying time periods. SimpleTrigger SimpleTrigger is more suited for job firing at specific points in time, such as Saturday 1st at 3.00 PM, or at an exact point in time repeating the triggering at fixed intervals. The properties for this trigger are the shown in the following table: Property Start time End time Repeat interval Repeat count Description The fire time of the trigger. The end time of the trigger. If it is specified, then it overrides the repeat count. The interval time between repetitions. It can be 0 or a positive integer. If it is 0, then the repeat count will happen in parallel. How many times the trigger will fire. It can be 0, a positive integer, or SimpleTrigger.REPEAT_INDEFINITELY. [ 117 ]
4 CronTrigger The CronTrigger is based on the concept of the UN*X Cron utility. It lets you specify complex schedules, like every Wednesday at 5.00 AM, or every twenty minutes, or every 5 seconds on Monday. Like the SimpleTrigger, the CronTrigger has a start time property and an optional end time. A CronExpression is made of seven parts, each representing a time component: Each number represents a time part: 1 represents seconds 2 represents minutes 3 represents hours 4 represents the day-of-month 5 represents month 6 represents the day-of-week 7 represents year (optional field) Here are a couple of examples of cron expression: 0 0 6? * MON: This CronExpression means "Every Monday at 6 AM" * *: This CronExpression mans "Every day at 6 am". For more information about CronExpressions refer to the following website: CronTriggers%20Tutorial.html. Scheduling a Job We will get a first taste of Quartz, by executing a very simple job. The following snippet of code shows how easy it is to schedule a job. SchedulerFactory schedfact = new org.quartz.impl.stdschedulerfactory(); Scheduler sched = schedfact.getscheduler(); sched.start(); [ 118 ]
5 Chapter 6 JobDetail jobdetail = new JobDetail("myJob", null, HelloJob.class); Trigger trigger = TriggerUtils.makeHourlyTrigger(); // fire every hour trigger.setstarttime(triggerutils.getevenhourdate(new Date())); // start on the next even hour trigger.setname("mytrigger"); sched.schedulejob(jobdetail, trigger); The following code assumes a HelloJob class exists. It is a very simple class that implements the job interface and just prints a message to the console. package packtpub.osw; import org.quartz.job; import org.quartz.jobexecutioncontext; import org.quartz.jobexecutionexception; /** * Hello world job. */ public class HelloJob implements Job public void execute(jobexecutioncontext ctx) throws JobExecutionException System.out.println("Hello Quartz world."); The first three lines of the following code create a SchedulerFactory, an object that creates Schedulers, and then proceed to create and start a new Scheduler. SchedulerFactory schedfact = new org.quartz.impl.stdschedulerfactory(); Scheduler sched = schedfact.getscheduler(); sched.start(); This Scheduler will fire the trigger and subsequently the jobs associated with the trigger. After creating the Scheduler, we must create a JobDetail object that contains information about the job to be executed, the job group to which it belongs, and other administrative data. JobDetail jobdetail = new JobDetail("myJob", null, HelloJob.class); This JobDetail tells the Scheduler to instantiate a HelloJob object when appropriate, has a null JobGroup, and has a Job name of "myjob". After defining the JobDetail, we must create and define the Trigger, that is, when the Job will be executed and how many times, etc. [ 119 ]
6 Trigger trigger = TriggerUtils.makeHourlyTrigger(); // fire every hour trigger.setstarttime(triggerutils.getevenhourdate(new Date())); // start on the next even hour trigger.setname("mytrigger"); The TriggerUtils is a helper object used to simplify the trigger code. With the help of the TriggerUtils, we will create a trigger that will fire every hour. This trigger will start firing the next even hour after the trigger is registered with the Scheduler. The last line of code puts a name to the trigger for housekeeping purposes. Finally, the last line of code associates the trigger with the job and puts them under the control of the Scheduler. sched.schedulejob(jobdetail, trigger); When the next even hour arrives after this line of code is executed, the Scheduler will fire the trigger and it will execute the job by reading the JobDetail and instantiating the HelloJob.class. This requires that the class implementing the job interface must have a no-arguments constructor. An alternative method is to use an XML file for declaring the jobs and triggers. This will not be covered in the book, but you can find more information about it in the Quartz documentation. Scheduling from a Workflow Definition The ScheduleJob FunctionProvider has two modes of operation, depending on whether you specify the jobclass parameter or not. If you declare the jobclass parameter, ScheduleJob will create a JobDetail with jobclass as the class implementing the job interface. <pre-functions> <function type="class"> <arg name="class.name">com.opensymphony.workflow.util.schedulejob <arg name="jobname">scheduler Test <arg name="triggername">schedulertesttrigger <arg name="triggerid">10 <arg name="jobclass">packtpub.osw.sendmailifactive <arg name="schedulerstart">true [ 120 ]
7 Chapter 6 <arg name="local">true </function> </pre-functions> This fragment will schedule a job based on the SendMailIfActive class with the current time as the start time. The ScheduleJob like any FunctionProvider can be declared as a pre or a post function. On the other hand, if you don't declare the jobclass, ScheduleJob will use the WorkflowJob.class as the class implementing the job interface. This job executes a trigger-function on the instance that scheduled it when fired. <pre-functions> <function type="class"> <arg name="class.name">com.opensymphony.workflow.util.schedulejob <arg name="jobname">scheduler Test <arg name="triggername">schedulertesttrigger <arg name="triggerid">10 <arg name="schedulerstart">true <arg name="local">true </function> </pre-functions> This definition fragment will execute the trigger-function with ID 10 as soon as possible, because no CronExpression or start time arguments have been specified. This FunctionProvider has the arguments shown in the following table: Argument Description Mandatory triggerid ID of the trigger function to be executed if no jobclass class name is set. If jobclass is specified, this argument is ignored. jobname The job name. Yes triggername The trigger name. Yes groupname The group name to be shared between the trigger and the job. Yes No [ 121 ]
8 Argument Description Mandatory Username Password Jobclass The user name to be used when executing the trigger function. The password to be used when executing the trigger function. If this is specified, ScheduleJob will use this class when creating JobDetail. Otherwise, ScheduleJob will create a job with a class WorkflowJob, used to execute the trigger function with the ID of triggerid. schedulername The scheduler name to be used. No schedulerstart txhack cronexpression startoffset endoffset Repeat If this is set to true, ScheduleJob will create and start a new scheduler. Set this parameter to true if you are having problems with deadlocks in transactions. The cron expression. If this argument is set, a CronTrigger will be created. Otherwise, a SimpleTrigger will be instantiated. This is the offset from the time of execution of the ScheduleJob function provider to the next job. Default is 0. This is the offset from the time of execution of the ScheduleJob function provider to the end of the job. Default is no ending. The repeat count of the Job. The default can be 0 or REPEAT_INDEFINITELY. Repeatdelay The offset between repetitions. No No No No No No No No No No Transactions in Quartz Excluding a few minor exceptions, Quartz performs the same transactions in a standalone application or inside a full-blown J2EE Container. One of these exceptions is the use of global JTA transactions inside a JTA-complaint container. To enable the creation of a new JTA transaction or to join to an existing JTA transaction, just set the org.quartz.scheduler.wrapjobexecutioninusertransaction property inside the quartz.properties file to true. Enabling this parameter allows the Quartz job to participate inside a global JTA transaction. This in combination with a JTA workflow implementation puts the workflow step and the temporal task into one transaction, thus assuring the information integrity. [ 122 ]
9 JobStores The JobStore interface designed in Quartz is responsible for the persistence and retrieval of all job and trigger data. There are two built-in implementations of the JobStore interface, the RamJobStore and the JDBCJobStore. Chapter 6 The RamJobStore stores the job, trigger, and calendar data in memory, losing its contents after JVM restarts. On the other hand, JDBCJobStore uses the JDBC API to store the same data. The JDBCJobStore uses a delegate to use specific functions of each database, for example, DB2, PostgreSQL, etc. The JobStore configuration is located in the quartz.properties file. To set the JobStore, add the following line to the configuration file, if you want to use the RamJobStore: org.quartz.jobstore.class = org.quartz.simpl.ramjobstore The configuration of the JDBCJobStore is a little more complex as it involves datasources, transactions, and delegates: To use local JDBC transactions, you only need to set the following parameters: org.quartz.jobstore.class = org.quartz.impl.jdbcjobstore.jobstoretx org.quartz.jobstore.datasource = jdbc/defaultds The datasource is your datasource JNDI name. To use global JTA transactions, you need the following parameters: org.quartz.jobstore.class = org.quartz.impl.jdbcjobstore.jobstorecmt org.quartz.jobstore.datasource = jdbc/defaultds org.quartz.jobstore.nonmanagedtxdatasource = jdbc/nontxdatasource This differs from the JDBC transaction mode in its use of a non-jta managed datasource for internal JobStore use. For both transaction modes you need to set the database delegate appropriate for your database. org.quartz.jobstore.driverdelegateclass= org.quartz.impl.jdbcjobstore.stdjdbcdelegate [ 123 ]
10 The delegates included with Quartz are as follows: Database Generic JDBC Microsoft SQL Server and Sybase PostgreSQL Oracle Cloudscape DB2 v7 DB2 v8 HSQLDB Pointbase Delegate class org.quartz.impl.jdbcjobstore.stdjdbcdelegate org.quartz.impl.jdbcjobstore.mssqldelegate org.quartz.impl.jdbcjobstore.postgresqldelegate org.quartz.impl.jdbcjobstore.oracle. OracleDelegate org.quartz.impl.jdbcjobstore.cloudscapedelegate org.quartz.impl.jdbcjobstore.db2v7delegate org.quartz.impl.jdbcjobstore.db2v8delegate org.quartz.impl.jdbcjobstore.hsqldbdelegate org.quartz.impl.jdbcjobstore.pointbasedelegate For more detailed configuration options, refer to the Quartz documentation at Example Application Customer Support In this section we will develop an example to show the capabilities of the OSWorkflow Quartz duo. In every company, the customer plays a central role. If not attended to correctly, he or she can turn around and buy services or products from a competitor. Every company also has a customer support department and a good performance indicator for this department would be the number of customer requests attended to. Some customer support requests come from mail or web interfaces. Suppose you have an web application that receives customer support requests. A typical customer support process is as follows: [ 124 ]
11 Chapter 6 This is the most simple of processes and the most commonly implemented. While in the pending state, the request can be forwarded to many people to finally reach completion. If the request is stalled in this state, the process doesn't add value to the business and doesn't match customer expectations, thereby downgrading the company image and customer loyalty. So a good approach to the process would be to reduce the percentage of support requests in the pending state. If a support request is in the same state for two hours, an to the customer support coordinator is send, and if a six hour threshold is exceeded an is send directly to the customer support manager for notification purposes. These notifications assure the request will never be accidentally forgotten. The decision flow is depicted in the following figure: To implement this process logic, we need temporal support in our business process. Obviously this is done by Quartz. The workflow definition is as follows: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE workflow PUBLIC "-//OpenSymphony Group//DTD OSWorkflow 2.6 //EN" " osworkflow/workflow_2_8.dtd"> <workflow> <initial-actions> <action id="100" name="start Workflow"> <pre-functions> <function type="class"> [ 125 ]
12 <arg name="class.name">packtpub.osw.schedulejob <arg name="jobname">twohourmail <arg name="jobclass">packtpub.osw.sendmailifactive <arg name="triggername">mailifactive2htrigger <arg name="triggerid">10 <arg name="schedulerstart">false <arg name="local">true <arg name="groupname">customersupportjobs <arg name="cronexpression">0 0 */2 * *? </function> <function type="class"> <arg name="class.name">packtpub.osw.schedulejob <arg name="jobname">sixhourmail <arg name="jobclass">packtpub.osw.sendmailifactive <arg name="triggername">mailifactive6htrigger <arg name="triggerid">10 <arg name="schedulerstart">false <arg name="local">true <arg name="groupname">customersupportjobs <arg name="cronexpression">0 0 */6 * *? </function> </pre-functions> <results> <unconditional-result old-status="finished" status="pending" step="1" /> </results> [ 126 ]
13 Chapter 6 </action> </initial-actions> <steps> <step id="1" name="pending"> <actions> <action id="1" name="finish request" finish="true"> <results> <unconditional-result old-status="finished" step="2" status="finished" /> </results> </action> </actions> </step> </steps> </workflow> So the process definition is very easy, as we have two steps, but the key of the solution lies in the ScheduleJob2 FunctionProvider. This FunctionProvider is a slightly modified version of OSWorkflow's built-in ScheduleJob; the only difference is that the new implementation puts the function provider's arguments in the JobDataMap of the job. The difference from the original ScheduleJob code is as follows: datamap.putall(args); There is just one line to put the arguments of the FunctionProvider into the JobDataMap. The process definition schedules a custom SendMailIfActive job every two hours and a SendMailIfActive job every six hours. If the process is still in pending state, then a mail is sent, otherwise the job is unscheduled. The job code is as follows: package packtpub.osw; import java.util.date; import java.util.properties; import javax.mail.message; import javax.mail.session; import javax.mail.transport; import javax.mail.internet.internetaddress; import javax.mail.internet.mimemessage; import org.quartz.job; import org.quartz.jobexecutioncontext; import org.quartz.jobexecutionexception; import org.quartz.schedulerexception; import com.opensymphony.workflow.workflow; [ 127 ]
14 import com.opensymphony.workflow.basic.basicworkflow; /** * Quartz job that send an if the specified workflow is active. */ public class SendMailIfActive implements Job public void execute(jobexecutioncontext ctx) throws JobExecutionException long wfid = ctx.getjobdetail().getjobdatamap().getlong("entryid"); String username = ctx.getjobdetail().getjobdatamap().getstring("username"); String to = ctx.getjobdetail().getjobdatamap().getstring("to"); String from = ctx.getjobdetail().getjobdatamap().getstring("from"); String subject = ctx.getjobdetail().getjobdatamap().getstring("subject"); String text = ctx.getjobdetail().getjobdatamap().getstring("text"); String smtphost = ctx.getjobdetail().getjobdatamap().getstring("smtphost"); String triggername = ctx.getjobdetail().getjobdatamap().getstring("triggername"); String groupname = ctx.getjobdetail().getjobdatamap().getstring("groupname"); Workflow workflow = new BasicWorkflow(username); long state = workflow.getentrystate(wfid); System.out.println("State:" + state + " for wf:" + wfid); if(state!= 4) sendmail(smtphost, from, to, subject, text); else try ctx.getscheduler().unschedulejob(triggername, groupname); catch (SchedulerException e) e.printstacktrace(); [ 128 ]
15 Chapter 6 private void sendmail(string smtphost, String from, String to, String subject, String text) Properties props = new Properties(); props.put("mail.smtp.host", smtphost); Session sendmailsession = Session.getInstance(props, null); try Transport transport = sendmailsession.gettransport("smtp"); Message message = new MimeMessage(sendMailSession); message.setfrom(new InternetAddress(from)); message.setrecipient(message.recipienttype.to, new InternetAddress(to)); message.setsubject(subject); message.setsentdate(new Date()); message.settext(text); message.savechanges(); transport.connect(); transport.sendmessage(message, message.getallrecipients()); transport.close(); catch (Exception e) e.printstacktrace(); This completes the proactive workflow solution commonly requested by users. Example Application Claims Processing Every service organization has a business process to claim for unpaid services. This process is commonly called claim processing. For every unpaid service a new claim is issued to a representative, to contact the customer for payment. This process is suited for system-oriented BPM, because it's a batch process that goes through every unpaid service, creates a new claim associated with that service, and assigns this claim to a customer representative. This process runs every day and can be represented with an OSWorkflow workflow definition. In this workflow definition, there's no human intervention; the representative sees only the end result the customers he or she has to contact. [ 129 ]
16 Additionally this customer contact is a business process in itself, but this time it is a human-oriented business process. The customer representative has a list of customers he or she has to contact each day. The components of this business solution are as follows: A Quartz job that runs every night and creates new instances of the claim processing workflow. A workflow definition that uses auto-actions and needs no human interaction at all. This definition reflects the real-business process. It gets all the unpaid services from a web service and creates a new customer contact workflow. A FunctionProvider to call the unpaid services from a web service and create a new customer contact workflow for each one of them. A workflow definition for the customer contact business process. By creating a new workflow every day, this workflow is fully automatic and has a little intelligence for identifying failed states. The first component of the solution is a Quartz job to instantiate a new workflow. We will call this job WorkflowInitJob. It is described in the following snippet of code: package packtpub.osw; import java.util.map; import org.quartz.job; import org.quartz.jobexecutioncontext; import org.quartz.jobexecutionexception; import com.opensymphony.workflow.workflow; import com.opensymphony.workflow.basic.basicworkflow; import com.opensymphony.workflow.config.configuration; import com.opensymphony.workflow.config.defaultconfiguration; /** * Creates a new workflow instance. */ public class WorkflowInitJob implements Job public void execute(jobexecutioncontext ctx) throws [ 130 ]
17 Chapter 6 JobExecutionException String username = ctx.getjobdetail().getjobdatamap().getstring("user"); String wfname = ctx.getjobdetail().getjobdatamap().getstring("wfname"); Map inputs = (Map) ctx.getjobdetail().getjobdatamap().get("inputs"); int initaction = ctx.getjobdetail().getjobdatamap().getint("initaction"); Workflow workflow = new BasicWorkflow(userName); Configuration config = new DefaultConfiguration(); workflow.setconfiguration(config); try long workflowid = workflow.initialize(wfname, initaction, inputs); System.out.println("Instantiated new workflow with id:" + workflowid); catch (Exception e) throw new JobExecutionException(e); The second component of the claims processing workflow solution is a workflow definition. It is as follows: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE workflow PUBLIC "-//OpenSymphony Group//DTD OSWorkflow 2.6 //EN" " osworkflow/workflow_2_8.dtd"> <workflow> <initial-actions> <action id="100" name="start Workflow"> <results> <unconditional-result old-status="finished" status="pending" step="1" /> </results> </action> </initial-actions> <steps> <step id="1" name="get unpaid and create contact"> <actions> [ 131 ]
18 <action id="1" name="process data" finish="true" auto="true"> <pre-functions> <function type="class"> <arg name="class.name">packtpub.osw.claimswebserviceprovider <arg name="url"> <arg name="username">$caller </function> </pre-functions> <results> <unconditional-result old-status="finished" step="1" status="created" /> </results> </action> </actions> </step> </steps> </workflow> The customer contact definition is simpler and is as follows: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE workflow PUBLIC "-//OpenSymphony Group//DTD OSWorkflow 2.6 //EN" " osworkflow/workflow_2_8.dtd"> <workflow> <initial-actions> <action id="100" name="start Workflow"> <results> <unconditional-result old-status="finished" status="pending" step="1" /> </results> </action> </initial-actions> <steps> <step id="1" name="contact"> <actions> <action id="1" name="finish contact" finish="true"> <results> <unconditional-result old-status="finished" step="1" status="contacted" /> </results> [ 132 ]
19 Chapter 6 </action> </actions> </step> </steps> </workflow> The third component is a FunctionProvider, which calls the unpaid services from a web service and for each unpaid service generates a new customer contact workflow. This FunctionProvider uses the Apache Axis Web Service Framework to call a standard SOAP web service. You can find more information about the Apache Axis framework at the following website: The FunctionProvider code is as follows: package packtpub.osw; import java.util.iterator; import java.util.list; import java.util.map; import com.opensymphony.module.propertyset.propertyset; import com.opensymphony.workflow.functionprovider; import com.opensymphony.workflow.workflow; import com.opensymphony.workflow.workflowexception; import com.opensymphony.workflow.basic.basicworkflow; import com.opensymphony.workflow.config.configuration; import com.opensymphony.workflow.config.defaultconfiguration; /** * Gets unpaid services data from web service and * creates a new customer contact workflow for each one. */ public class ClaimsWebServiceProvider implements FunctionProvider public void execute(map arg0, Map arg1, PropertySet arg2) throws WorkflowException Workflow workflow = new BasicWorkflow("test"); Configuration config = new DefaultConfiguration(); workflow.setconfiguration(config); List unpaiddata = getunpaiddatafromwebservice(); for (Iterator iter = unpaiddata.iterator(); iter.hasnext();) UnpaidService service = (UnpaidService) iter.next(); Map servicedata = servicetomap(service); [ 133 ]
20 workflow.initialize("customer-contact", 100, servicedata); private Map servicetomap(unpaidservice service) private List getunpaiddatafromwebservice() Finally and to integrate all the solution, there's a Java class designed specifically to call the Quartz Scheduler and schedule the Quartz job for running every night. Quartz has many more features worth exploring. For more information about Quartz check its website and the Quartz Wiki at display/qrtz1/quartz+1. Summary In this chapter, we covered the integration of the Quartz job-scheduling system with OSWorkflow, which provided temporal capabilities to OSWorkflow. We also took a look at the trigger-functions, which are executed when a Quartz trigger fires. We also learned how to schedule a job from a Workflow definition by using ScheduleJob. Finally, we showed the capabilities of the Quartz-OSWorkflow duo with the help of two sample applications. [ 134 ]
OSWorkflow. A guide for Java developers and architects to integrating open-source Business Process Management products
OSWorkflow A guide for Java developers and architects to integrating open-source Business Process Management products Diego Adrian Naya Lazo Chapter 6 Task Scheduling with Quartz" In this package, you
Background Tasks and Blackboard Building Blocks TM. Two great tastes that taste great together
Background Tasks and Blackboard Building Blocks TM Two great tastes that taste great together Why? Recurring tasks? Processing-intensive tasks? Secret, shameful tasks! Considerations Basic Java Thread
Job Scheduling with Spring
CHAPTER 12 Job Scheduling with Spring Most application logic happens in response to some form of user action, such as a button click or a form submission. However, in many applications certain processes
Geronimo Quartz Plugins
Table of Contents 1. Introduction 1 1.1. Target Use Cases.. 1 1.2. Not Target Use Cases.. 2 2. About the Geronimo Quartz Plugins. 2 3. Installing the Geronimo Quartz Plugins 2 4. Usage Examples 3 4.1.
Configure a SOAScheduler for a composite in SOA Suite 11g. By Robert Baumgartner, Senior Solution Architect ORACLE
Configure a SOAScheduler for a composite in SOA Suite 11g By Robert Baumgartner, Senior Solution Architect ORACLE November 2010 Scheduler for the Oracle SOA Suite 11g: SOAScheduler Page 1 Prerequisite
Quartz Scheduler 2.1.x Documentation
Quartz Scheduler 2.1.x Documentation Quartz Overview...1/131 What Can Quartz Do For You?...1/131 Quartz Features...2/131 Runtime Environments...2/131 Job Scheduling...2/131 Job Execution...2/131 Job Persistence...2/131
Quartz Scheduler Developer Guide. Version 2.2.1
Quartz Scheduler Developer Guide Version 2.2.1 This document applies to Quar Scheduler Version 2.2.1 and to all subsequent releases. Specifications contained herein are subject to change and these changes
Cello How-To Guide. Scheduler
Cello How-To Guide Scheduler Contents 1 Time based Scheduler... 3 1.1 Create Jobs... 3 1.2 Register Job in Quartz... 4 1.3 Triggers... 5 1.4 Installation... 6 2 Contact Information... 9 2 1 Time based
Getting Started with Quartz Scheduler. Version 2.2.1
Getting Started with Quartz Scheduler Version 2.2.1 This document applies to Quar Scheduler Version 2.2.1 and to all subsequent releases. Specifications contained herein are subject to change and these
Quartz Scheduler Configuration Guide. Version 2.2.1
Quartz Scheduler Configuration Guide Version 2.2.1 This document applies to Quar Scheduler Version 2.2.1 and to all subsequent releases. Specifications contained herein are subject to change and these
Scheduling. Reusing a Good Engine. Marian Edu. [email protected] http://www.ganimede.ro
Scheduling Reusing a Good Engine Marian Edu [email protected] http://www.ganimede.ro Job Scheduling Batch processing, traditional date and time based execution of background tasks Event-driven process automation,
A Sample OFBiz application implementing remote access via RMI and SOAP Table of contents
A Sample OFBiz application implementing remote access via RMI and SOAP Table of contents 1 About this document... 2 2 Introduction... 2 3 Defining the data model... 2 4 Populating the database tables with
APScheduler Documentation
APScheduler Documentation Release 2.1.2 Alex Grönholm September 06, 2014 Contents 1 Introduction 3 2 Features 5 3 Usage 7 3.1 Installing APScheduler.......................................... 7 3.2 Starting
Quartz.Net Scheduler in Depth
Quartz.Net Scheduler in Depth Introduction What is a Job Scheduler? Wikipedia defines a job scheduler as: A job scheduler is a software application that is in charge of unattended background executions,
PATROL From a Database Administrator s Perspective
PATROL From a Database Administrator s Perspective September 28, 2001 Author: Cindy Bean Senior Software Consultant BMC Software, Inc. 3/4/02 2 Table of Contents Introduction 5 Database Administrator Tasks
Using DOTS as Apache Derby System Test
Using DOTS as Apache Derby System Test Date: 02/16/2005 Author: Ramandeep Kaur [email protected] Table of Contents 1 Introduction... 3 2 DOTS Overview... 3 3 Running DOTS... 4 4 Issues/Tips/Hints... 6 5
1z0-102 Q&A. DEMO Version
Oracle Weblogic Server 11g: System Administration Q&A DEMO Version Copyright (c) 2013 Chinatag LLC. All rights reserved. Important Note Please Read Carefully For demonstration purpose only, this free version
Oracle EXAM - 1Z0-102. Oracle Weblogic Server 11g: System Administration I. Buy Full Product. http://www.examskey.com/1z0-102.html
Oracle EXAM - 1Z0-102 Oracle Weblogic Server 11g: System Administration I Buy Full Product http://www.examskey.com/1z0-102.html Examskey Oracle 1Z0-102 exam demo product is here for you to test the quality
Install guide for Websphere 7.0
DOCUMENTATION Install guide for Websphere 7.0 Jahia EE v6.6.1.0 Jahia s next-generation, open source CMS stems from a widely acknowledged vision of enterprise application convergence web, document, search,
000-420. IBM InfoSphere MDM Server v9.0. Version: Demo. Page <<1/11>>
000-420 IBM InfoSphere MDM Server v9.0 Version: Demo Page 1. As part of a maintenance team for an InfoSphere MDM Server implementation, you are investigating the "EndDate must be after StartDate"
Specialized Programme on Web Application Development using Open Source Tools
Specialized Programme on Web Application Development using Open Source Tools A. NAME OF INSTITUTE Centre For Development of Advanced Computing B. NAME/TITLE OF THE COURSE C. COURSE DATES WITH DURATION
Offline Payment Methods
Offline Payment Methods STRONGVON Tournament Management System 1 Overview The STRONGVON Tournament Management System allows you to collect online registration, while arranging for offline payment methods
Flux Software Component
Flux Software Component Job Scheduler Workflow Engine Business Process Management System Version 6.2, 30 July 2004 Software Developers Manual Copyright 2000-2004 Sims Computing, Inc. All rights reserved.
T320 E-business technologies: foundations and practice
T320 E-business technologies: foundations and practice Block 3 Part 2 Activity 2: Generating a client from WSDL Prepared for the course team by Neil Simpkins Introduction 1 WSDL for client access 2 Static
Dove User Guide Copyright 2010-2011 Virgil Trasca
Dove User Guide Dove User Guide Copyright 2010-2011 Virgil Trasca Table of Contents 1. Introduction... 1 2. Distribute reports and documents... 3 Email... 3 Messages and templates... 3 Which message is
Sample copy. Introduction To WebLogic Server Property of Web 10.3 Age Solutions Inc.
Introduction To WebLogic Server Property of Web 10.3 Age Solutions Inc. Objectives At the end of this chapter, participants should be able to: Understand basic WebLogic Server architecture Understand the
Deploying Microsoft Operations Manager with the BIG-IP system and icontrol
Deployment Guide Deploying Microsoft Operations Manager with the BIG-IP system and icontrol Deploying Microsoft Operations Manager with the BIG-IP system and icontrol Welcome to the BIG-IP LTM system -
Release Notes Skelta BPM.NET 2007 (Service Pack 2)
Skelta BPM.NET 2007 (Service Pack 2) Version: 3.5.4187.0 Date: November 12 th, 2008 Table of Contents OVERVIEW... 3 Introduction... 3 RELEASE SUMMARY... 3 Enhancements in this release... 3 Fixes in this
A Meeting Room Scheduling Problem
A Scheduling Problem Objective Engineering, Inc. 699 Windsong Trail Austin, Texas 78746 512-328-9658 FAX: 512-328-9661 [email protected] http://www.oeng.com Objective Engineering, Inc., 1999-2007. Photocopying,
WebLogic Server Foundation Topology, Configuration and Administration
WebLogic Server Foundation Topology, Configuration and Administration Duško Vukmanović Senior Sales Consultant Agenda Topology Domain Server Admin Server Managed Server Cluster Node
Healthstone Monitoring System
Healthstone Monitoring System Patrick Lambert v1.1.0 Healthstone Monitoring System 1 Contents 1 Introduction 2 2 Windows client 2 2.1 Installation.............................................. 2 2.2 Troubleshooting...........................................
White Paper March 1, 2005. Integrating AR System with Single Sign-On (SSO) authentication systems
White Paper March 1, 2005 Integrating AR System with Single Sign-On (SSO) authentication systems Copyright 2005 BMC Software, Inc. All rights reserved. BMC, the BMC logo, all other BMC product or service
The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.
Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...
Log Analyzer Reference
IceWarp Unified Communications Log Analyzer Reference Version 10.4 Printed on 27 February, 2012 Contents Log Analyzer 1 Quick Start... 2 Required Steps... 2 Optional Steps... 3 Advanced Configuration...
NRG Software Postal Tool Kit v1.5
NRG Software Postal Tool Kit v1.5 How Can It Help Me? Catch data entry errors to insure proper mailing of packages. Proper addressing can reduce delivery time and package returns. Determine cost of mailing
WASv6_Scheduler.ppt Page 1 of 18
This presentation will discuss the Scheduler Service available in IBM WebSphere Application Server V6. This service allows you to schedule time-dependent actions. WASv6_Scheduler.ppt Page 1 of 18 The goals
How to use JavaMail to send email
Chapter 15 How to use JavaMail to send email Objectives Applied Knowledge How email works Sending client Mail client software Receiving client Mail client software SMTP Sending server Mail server software
JobScheduler Web Services Executing JobScheduler commands
JobScheduler - Job Execution and Scheduling System JobScheduler Web Services Executing JobScheduler commands Technical Reference March 2015 March 2015 JobScheduler Web Services page: 1 JobScheduler Web
OpenReports: Users Guide
OpenReports: Users Guide Author: Erik Swenson Company: Open Source Software Solutions Revision: Revision: 1.3 Last Modified: Date: 05/24/2004 1 Open Source Software Solutions Table Of Contents 1. Introduction...
Oracle WebLogic Server
Oracle WebLogic Server Monitoring and Managing with the Java EE Management APIs 10g Release 3 (10.3) July 2008 Oracle WebLogic Server Monitoring and Managing with the Java EE Management APIs, 10g Release
Novell Identity Manager
Password Management Guide AUTHORIZED DOCUMENTATION Novell Identity Manager 3.6.1 June 05, 2009 www.novell.com Identity Manager 3.6.1 Password Management Guide Legal Notices Novell, Inc. makes no representations
E-mail Listeners. E-mail Formats. Free Form. Formatted
E-mail Listeners 6 E-mail Formats You use the E-mail Listeners application to receive and process Service Requests and other types of tickets through e-mail in the form of e-mail messages. Using E- mail
This document summarizes the steps of deploying ActiveVOS on oracle Weblogic Platform.
logic Overview This document summarizes the steps of deploying ActiveVOS on oracle Weblogic Platform. Legal Notice The information in this document is preliminary and is subject to change without notice
Deploying Oracle Business Intelligence Publisher in J2EE Application Servers Release 10.1.3.2.0
Oracle Business Intelligence Publisher Deploying Oracle Business Intelligence Publisher in J2EE Application Servers Release 10.1.3.2.0 Part No. B32481-01 December 2006 Introduction Oracle BI Publisher
OSWorkflow. A guide for Java developers and architectsto integrating open-source Business Process Management. Diego Adrian Naya Lazo
OSWorkflow A guide for Java developers and architectsto integrating open-source Business Process Management Diego Adrian Naya Lazo BIRMINGHAM - MUMBAI OSWorkflow Copyright 2007 Packt Publishing All rights
Exam Name: IBM InfoSphere MDM Server v9.0
Vendor: IBM Exam Code: 000-420 Exam Name: IBM InfoSphere MDM Server v9.0 Version: DEMO 1. As part of a maintenance team for an InfoSphere MDM Server implementation, you are investigating the "EndDate must
Administering batch environments
Administering batch environments, Version 8.5 Administering batch environments SA32-1093-00 Note Before using this information, be sure to read the general information under Notices on page 261. Compilation
Web Service Caching Using Command Cache
Web Service Caching Using Command Cache Introduction Caching can be done at Server Side or Client Side. This article focuses on server side caching of web services using command cache. This article will
echomountain Enterprise Monitoring, Notification & Reporting Services Protect your business
Protect your business Enterprise Monitoring, Notification & Reporting Services echomountain 1483 Patriot Blvd Glenview, IL 60026 877.311.1980 [email protected] echomountain Enterprise Monitoring,
Nintex Workflow 2013 Help
Nintex Workflow 2013 Help Last updated: Wednesday, January 15, 2014 1 Workflow Actions... 7 1.1 Action Set... 7 1.2 Add User To AD Group... 8 1.3 Assign Flexi Task... 10 1.4 Assign To-Do Task... 25 1.5
JobScheduler - Quickstart
JobScheduler - Job Execution and Scheduling System JobScheduler - Quickstart An Introduction to Job Scheduling March 2015 March 2015 JobScheduler - Quickstart page: 1 JobScheduler - Quickstart - Contact
Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.
Oracle WebLogic Foundation of Oracle Fusion Middleware Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.com/in/lawrence143 History of WebLogic WebLogic Inc started in 1995 was a company
Specialized Programme on Web Application Development using Open Source Tools
Specialized Programme on Web Application Development using Open Source Tools Objective: At the end of the course, Students will be able to: Understand various open source tools(programming tools and databases)
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
Software Architecture Document
Software Architecture Document Project Management Cell 1.0 1 of 16 Abstract: This is a software architecture document for Project Management(PM ) cell. It identifies and explains important architectural
Custom Encryption in Siebel & Siebel Web Service Security Test Guide 1.0
Custom Encryption in Siebel & Siebel Web Security Test Guide 1.0 Muralidhar Reddy Introduction Siebel (7.5 onwards and upto 8.1) natively supports 2 Types of Inbound web Security 1. WS Security UserName
MS Enterprise Library 5.0 (Logging Application Block)
International Journal of Scientific and Research Publications, Volume 4, Issue 8, August 2014 1 MS Enterprise Library 5.0 (Logging Application Block) Anubhav Tiwari * R&D Dept., Syscom Corporation Ltd.
Job Scheduler Oracle FLEXCUBE Universal Banking Release 11.3.83.02.0 [April] [2014] Oracle Part Number E53607-01
Job Scheduler Oracle FLEXCUBE Universal Banking Release 11.3.83.02.0 [April] [2014] Oracle Part Number E53607-01 Table of Contents Job Scheduler 1. ABOUT THIS MANUAL... 1-1 1.1 INTRODUCTION... 1-1 1.1.1
Overview of Web Services API
1 CHAPTER The Cisco IP Interoperability and Collaboration System (IPICS) 4.5(x) application programming interface (API) provides a web services-based API that enables the management and control of various
Tutorial for Spring DAO with JDBC
Overview Tutorial for Spring DAO with JDBC Prepared by: Nigusse Duguma This tutorial demonstrates how to work with data access objects in the spring framework. It implements the Spring Data Access Object
An Oracle White Paper October 2011. BI Publisher 11g Scheduling & Apache ActiveMQ as JMS Provider
An Oracle White Paper October 2011 BI Publisher 11g Scheduling & Apache ActiveMQ as JMS Provider Disclaimer The following is intended to outline our general product direction. It is intended for information
PASS4TEST 専 門 IT 認 証 試 験 問 題 集 提 供 者
PASS4TEST 専 門 IT 認 証 試 験 問 題 集 提 供 者 http://www.pass4test.jp 1 年 で 無 料 進 級 することに 提 供 する Exam : C2090-420 Title : IBM InfoSphere MDM Server v9.0 Vendors : IBM Version : DEMO NO.1 Which two reasons would
MBAM Self-Help Portals
MBAM Self-Help Portals Authoring a self-help portal workflow for BitLocker Recovery Using Microsoft BitLocker Administration and Monitoring (MBAM) Technical White Paper Published: September 2011 Priyaa
Building Web Services with Apache Axis2
2009 Marty Hall Building Web Services with Apache Axis2 Part I: Java-First (Bottom-Up) Services Customized Java EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF/MyFaces/Facelets,
NGASI AppServer Manager SaaS/ASP Hosting Automation for Cloud Computing Administrator and User Guide
NGASI AppServer Manager SaaS/ASP Hosting Automation for Cloud Computing Administrator and User Guide NGASI SaaS Hosting Automation is a JAVA SaaS Enablement infrastructure that enables web hosting services
EDI Process Specification
EDI Batch Process CONTENTS 1 Purpose...3 1.1 Use Case EDI service...3 1.2 Use Case EDI Daily Reporting...3 1.3 Use Case EDI Service Monitoring Process...3 2 EDI Process Design High Level...4 2.1 EDI Batch
Elixir Schedule Designer User Manual
Elixir Schedule Designer User Manual Release 7.3 Elixir Technology Pte Ltd Elixir Schedule Designer User Manual: Release 7.3 Elixir Technology Pte Ltd Published 2008 Copyright 2008 Elixir Technology Pte
Integrating VoltDB with Hadoop
The NewSQL database you ll never outgrow Integrating with Hadoop Hadoop is an open source framework for managing and manipulating massive volumes of data. is an database for handling high velocity data.
Using ilove SharePoint Web Services Workflow Action
Using ilove SharePoint Web Services Workflow Action This guide describes the steps to create a workflow that will add some information to Contacts in CRM. As an example, we will use demonstration site
026-1010 Rev 7 06-OCT-2011. Site Manager Installation Guide
026-1010 Rev 7 06-OCT-2011 Site Manager Installation Guide Retail Solutions 3240 Town Point Drive NW, Suite 100 Kennesaw, GA 30144, USA Phone: 770-425-2724 Fax: 770-425-9319 Table of Contents 1 SERVER
Kony MobileFabric. Sync Server Tomcat Installation Manual. On-Premises
Kony MobileFabric Sync Server Tomcat Installation Manual On-Premises Release 6.5 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document
Instrumentation for Linux Event Log Analysis
Instrumentation for Linux Event Log Analysis Rajarshi Das Linux Technology Center IBM India Software Lab [email protected] Hien Q Nguyen Linux Technology Center IBM Beaverton [email protected] Abstract
Spectrum Technology Platform. Version 9.0. Spectrum Spatial Administration Guide
Spectrum Technology Platform Version 9.0 Spectrum Spatial Administration Guide Contents Chapter 1: Introduction...7 Welcome and Overview...8 Chapter 2: Configuring Your System...9 Changing the Default
How To Use The Jobscheduler On A Linux Box 2.5.2.2 (Jid) On A Pcode (Jio) Or Macbook 2.2 On A Microsoft Powerbook 2 (For A Freebie
JobScheduler - Job Execution and Scheduling System JobScheduler Information Dashboard Work Plan and History March 2015 March 2015 JobScheduler page: 1 JobScheduler - Contact Information Contact Information
Install BA Server with Your Own BA Repository
Install BA Server with Your Own BA Repository This document supports Pentaho Business Analytics Suite 5.0 GA and Pentaho Data Integration 5.0 GA, documentation revision February 3, 2014, copyright 2014
Microsoft Business Intelligence 2012 Single Server Install Guide
Microsoft Business Intelligence 2012 Single Server Install Guide Howard Morgenstern Business Intelligence Expert Microsoft Canada 1 Table of Contents Microsoft Business Intelligence 2012 Single Server
Web Services for Management Perl Library VMware ESX Server 3.5, VMware ESX Server 3i version 3.5, and VMware VirtualCenter 2.5
Technical Note Web Services for Management Perl Library VMware ESX Server 3.5, VMware ESX Server 3i version 3.5, and VMware VirtualCenter 2.5 In the VMware Infrastructure (VI) Perl Toolkit 1.5, VMware
Using RADIUS Agent for Transparent User Identification
Using RADIUS Agent for Transparent User Identification Using RADIUS Agent Web Security Solutions Version 7.7, 7.8 Websense RADIUS Agent works together with the RADIUS server and RADIUS clients in your
Overview of Archival and Purge Process in IBM Sterling B2B Integrator
Overview of Archival and Purge Process in IBM Sterling B2B Integrator - Bhavya M Reddy ([email protected]), Staff Software Engineer, IBM Sterling B2B Integrator L2 Support Table Of Contents Introduction
OPENRULES. Database Integration. Open Source Business Decision Management System. Release 6.2.1
OPENRULES Open Source Business Decision Management System Release 6.2.1 Database Integration OpenRules, Inc. www.openrules.com June-2012 TABLE OF CONTENTS Introduction... 3 Accessing Data Located in Database...
What s New Guide: Version 5.6
What s New Guide: Version 5.6 A QUEST SOFTWARE COMPANY 1. 8 0 0. 4 2 4. 9 4 1 1 w w w. s c r i p t l o g i c. c o m WHAT S NEW IN ACTIVE ADMINISTRATOR 5.6? Contents...3 Active Administrator Product Overview...3
CONFIGURATION AND APPLICATIONS DEPLOYMENT IN WEBSPHERE 6.1
CONFIGURATION AND APPLICATIONS DEPLOYMENT IN WEBSPHERE 6.1 BUSINESS LOGIC FOR TRANSACTIONAL EJB ARCHITECTURE JAVA PLATFORM Last Update: May 2011 Table of Contents 1 INSTALLING WEBSPHERE 6.1 2 2 BEFORE
SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24. Data Federation Administration Tool Guide
SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24 Data Federation Administration Tool Guide Content 1 What's new in the.... 5 2 Introduction to administration
bbc Developing Service Providers Adobe Flash Media Rights Management Server November 2008 Version 1.5
bbc Developing Service Providers Adobe Flash Media Rights Management Server November 2008 Version 1.5 2008 Adobe Systems Incorporated. All rights reserved. Adobe Flash Media Rights Management Server 1.5
Using EMC Documentum with Adobe LiveCycle ES
Technical Guide Using EMC Documentum with Adobe LiveCycle ES Table of contents 1 Deployment 3 Managing LiveCycle ES development assets in Documentum 5 Developing LiveCycle applications with contents in
WSO2 Business Process Server Clustering Guide for 3.2.0
WSO2 Business Process Server Clustering Guide for 3.2.0 Throughout this document we would refer to WSO2 Business Process server as BPS. Cluster Architecture Server clustering is done mainly in order to
Supplement IV.C: Tutorial for Oracle. For Introduction to Java Programming By Y. Daniel Liang
Supplement IV.C: Tutorial for Oracle For Introduction to Java Programming By Y. Daniel Liang This supplement covers the following topics: Connecting and Using Oracle Creating User Accounts Accessing Oracle
ActiveVOS Server Architecture. March 2009
ActiveVOS Server Architecture March 2009 Topics ActiveVOS Server Architecture Core Engine, Managers, Expression Languages BPEL4People People Activity WS HT Human Tasks Other Services JMS, REST, POJO,...
Various Load Testing Tools
Various Load Testing Tools Animesh Das May 23, 2014 Animesh Das () Various Load Testing Tools May 23, 2014 1 / 39 Outline 3 Open Source Tools 1 Load Testing 2 Tools available for Load Testing 4 Proprietary
Service Level Agreement Guide. Operations Center 5.0
Service Level Agreement Guide Operations Center 5.0 November 6, 2013 Legal Notices THIS DOCUMENT AND THE SOFTWARE DESCRIBED IN THIS DOCUMENT ARE FURNISHED UNDER AND ARE SUBJECT TO THE TERMS OF A LICENSE
Copyright 2013 Consona Corporation. All rights reserved www.compiere.com
COMPIERE 3.8.1 SOAP FRAMEWORK Copyright 2013 Consona Corporation. All rights reserved www.compiere.com Table of Contents Compiere SOAP API... 3 Accessing Compiere SOAP... 3 Generate Java Compiere SOAP
What I Advise Every Customer To Do On Their Oracle SOA Projects
What I Advise Every Customer To Do On Their Oracle SOA Projects Save yourself future redesign by considering a few key elements when embarking on your new SOA project. By Javier Mendez & Ahmed Aboulnaga,
Sharding with postgres_fdw
Sharding with postgres_fdw Postgres Open 2013 Chicago Stephen Frost [email protected] Resonate, Inc. Digital Media PostgreSQL Hadoop [email protected] http://www.resonateinsights.com Stephen
SpagoBI exo Tomcat Installation Manual
SpagoBI exo Tomcat Installation Manual Authors Luca Fiscato Andrea Zoppello Davide Serbetto Review Grazia Cazzin SpagoBI exo Tomcat Installation Manual ver 1.3 May, 18 th 2006 pag. 1 of 8 Index 1 VERSION...3
Using Apache Derby in the real world
Apache Derby a 100% Java Open Source RDBMS Using Apache Derby in the real world Victorian AJUG, Australia 28 th August 2008 Chris Dance Chris Dance Introduction Director and Found of PaperCut Software
KINETIC SR (Survey and Request)
KINETIC SR (Survey and Request) Installation and Configuration Guide Version 5.0 Revised October 14, 2010 Kinetic SR Installation and Configuration Guide 2007-2010, Kinetic Data, Inc. Kinetic Data, Inc,
