Question: I would like know what is the difference between the Quartz Scheduler and JMS, and in what situations is better to do the use of the tools...

Answer: 
The Quartz scheduler is basically about running tasks in / to a schedule. For example, "do XYZ at 10 am every Friday".

JMS is about reliable sending, queueing and delivery of messages between different Java programs (clients) potentially running on different machines.

> 
> ... in what situations is better to do the use of the tools.
> 
> 
> 

As you can see they perform mostly unrelated functions. Use which ever provides the functionality that you actually need ... or both if you need both scheduling and queuing.
[Quartz](http://www.quartz-scheduler.org/) is a library/product for scheduling jobs (just as you cronjobs on most UNIX systems). You can find a little turorial and example of using Quartz [here](http://www.ibm.com/developerworks/java/library/j-quartz/).

On the other hand:

> 
> The Java Message Service (JMS) API is a Java Message Oriented
>  Middleware (MOM) API [1](http://www.quartz-scheduler.org/) for sending messages between two or more
>  clients
> 
> 
>