473,387 Members | 1,528 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

Adding scheduling to an application

I'm looking at adding scheduling features to an application and I
wanted to ask the community about any experience with scheduling
components, either open source like from code project or from a vendor.
I'd like to be able to create schedules and lock resources for things
like collision detection (two events trying to use the same resource).
I've seen some GANTT charting components but I don't think that's what
I'm looking for. I'd essentially like to mimic the sort of
functionality that outlook has and work out the UI later. This will be
a web project to begin with, but eventually I'd like to separate out
the scheduler and have it run as some sort of service that can initiate
tasks much like the windows scheduler.

The options I'm looking at are these:
1) Roll your own: I've already written something like this once before.
I never got to see the long term viability of my solution but it was
designed to be very flexible. I could go back and write something
again, but I can't help wonder why I need to if someone else has done
something like this.

2) Database scheduling services: Most major DBs have a scheduling and
event tool but I don't know how easy integration with my app will be.
We're using SQL Server 2005 for this project and I know that reporting
services has a scheduling component but I still have integration
concerns. If anyone has used this as an option, please let me know how
it went.

3) Scheduling components: I'm looking at external tools for scheduling.
Does anyone have any experience with third party schedulers? Any input
would be good. I have started looking at GTP (Gantt Tool by
plexityhide), and XGantt by Netronic which is ASP.Net ready.
Any feedback would be great.

Thanks in advance!
Dinsdale

Aug 25 '06 #1
4 2809
"Dinsdale" <ru********@gmail.comwrote in message
news:11**********************@i42g2000cwa.googlegr oups.com...
I'm looking at adding scheduling features to an application and I
wanted to ask the community about any experience with scheduling
components, either open source like from code project or from a vendor.
I'd like to be able to create schedules and lock resources for things
like collision detection (two events trying to use the same resource).
I've seen some GANTT charting components but I don't think that's what
I'm looking for. I'd essentially like to mimic the sort of
functionality that outlook has and work out the UI later. This will be
a web project to begin with, but eventually I'd like to separate out
the scheduler and have it run as some sort of service that can initiate
tasks much like the windows scheduler.

The options I'm looking at are these:
1) Roll your own: I've already written something like this once before.
I never got to see the long term viability of my solution but it was
designed to be very flexible. I could go back and write something
again, but I can't help wonder why I need to if someone else has done
something like this.

2) Database scheduling services: Most major DBs have a scheduling and
event tool but I don't know how easy integration with my app will be.
We're using SQL Server 2005 for this project and I know that reporting
services has a scheduling component but I still have integration
concerns. If anyone has used this as an option, please let me know how
it went.

3) Scheduling components: I'm looking at external tools for scheduling.
Does anyone have any experience with third party schedulers? Any input
would be good. I have started looking at GTP (Gantt Tool by
plexityhide), and XGantt by Netronic which is ASP.Net ready.
Most of the scheduling components that I have seen just provide a UI tool
for creating an application that schedules things, they don't actually
schedule things.

Our product, JAMS, is an enterprise class task scheduler. JAMS supports:

- Time based schedules
- Event based scheduled
- Dependencies
- Resource allocation
- Parameter handling
- Load balancing
- Queues
- Centralized monitoring and management
- Easy integration with any .NET application
- Extensive control of security via ACLs
- Much, much more.

Coming soon:
- PowerShell support
- Workflow Foundation support
- ASP.NET interface

You can get more information and a free developers edition at:

http://www.mvpsi.com

John Vottero
JAMS Technical Support
Aug 25 '06 #2
Scheduling features are easy, once you have thoroughly identified your
requirements. Unfortunately, although you may know what they are, you
haven't told us what they are. Instead, you've only talked in generalities.
And the problem with that is, there are many ways to implement scheduling,
but only one best way to implement scheduling for a particular application,
according to the requirements of the app.

Some applications have a Windows Service that handles scheduling. The
advantage of this over something like Outlook is that Outlook must be
running for the scheduled tasks to be performed. So, you can create a
service which handles the scheduled stuff, and an application that can talk
to the service if it needs to.

With an ASP.Net or web application, you have some serious problems to
surmount. Again, a Windows Service might be your best bet. The problem there
is that the only place you can schedule tasks in an ASP.Net app is in the
Application itself. The problem with that is that the Application will shut
itself down after a period of time with no user requests.

Another alternative is to include an API in your app code that can be
accessed from outside the running app, for example, in a class library. This
way, you can use something like Windows Task Scheduler to run the task
without having to start the app.

You can use a timer in your application to do scheduling. But again, the
problem there is, how can you be sure the app is running? As I said, it all
boils down to the specific requirements of your app.

--
HTH,

Kevin Spencer
Microsoft MVP
Chicken Salad Surgery

It takes a tough man to make a tender chicken salad.
"Dinsdale" <ru********@gmail.comwrote in message
news:11**********************@i42g2000cwa.googlegr oups.com...
I'm looking at adding scheduling features to an application and I
wanted to ask the community about any experience with scheduling
components, either open source like from code project or from a vendor.
I'd like to be able to create schedules and lock resources for things
like collision detection (two events trying to use the same resource).
I've seen some GANTT charting components but I don't think that's what
I'm looking for. I'd essentially like to mimic the sort of
functionality that outlook has and work out the UI later. This will be
a web project to begin with, but eventually I'd like to separate out
the scheduler and have it run as some sort of service that can initiate
tasks much like the windows scheduler.

The options I'm looking at are these:
1) Roll your own: I've already written something like this once before.
I never got to see the long term viability of my solution but it was
designed to be very flexible. I could go back and write something
again, but I can't help wonder why I need to if someone else has done
something like this.

2) Database scheduling services: Most major DBs have a scheduling and
event tool but I don't know how easy integration with my app will be.
We're using SQL Server 2005 for this project and I know that reporting
services has a scheduling component but I still have integration
concerns. If anyone has used this as an option, please let me know how
it went.

3) Scheduling components: I'm looking at external tools for scheduling.
Does anyone have any experience with third party schedulers? Any input
would be good. I have started looking at GTP (Gantt Tool by
plexityhide), and XGantt by Netronic which is ASP.Net ready.
Any feedback would be great.

Thanks in advance!
Dinsdale

Aug 25 '06 #3
You bring up a good point. "Scheduling" is a pretty general idea.

- Single instance events, scheduled/re-occuring events: These could
range from meetings between clients, to planning a year long process
such as a project or fiscal year. It would be reall cool if we could
nest these events...
- Schedule Exceptions: Re-assigning a scheduled event to a different
time without re-adjusting the entire schedule. We also need to be able
to add notes to events in the future but have that re-adjusted so that
if the schedule changes, the notes are not lost... (at least stored so
the user can re-attach the comments to a new instance of the event)
- Resource Management: Taging resources for event occurances and
checking for collisions when adding new items.

At a later date, we will want to re-use this for things like event
notification and processing. At that time, I will look at moving the
"scheduling" into a Windows service and use remoting and asyncronous
events to do things like SMS messaging, scripted tasks, etc. That said,
I wonder what we can leverage from SQL Server 2005?

I guess the most significant requirement is being able to view and
manage schedules and resources.

As I've said, I've already done something similar before. But after
looking at JAMS, I can see that for a weeks worth of my wages, we can
have the functionality we need and just integrate it into the app.

Dinsdale

Kevin Spencer wrote:
Scheduling features are easy, once you have thoroughly identified your
requirements. Unfortunately, although you may know what they are, you
haven't told us what they are. Instead, you've only talked in generalities.
And the problem with that is, there are many ways to implement scheduling,
but only one best way to implement scheduling for a particular application,
according to the requirements of the app.

Some applications have a Windows Service that handles scheduling. The
advantage of this over something like Outlook is that Outlook must be
running for the scheduled tasks to be performed. So, you can create a
service which handles the scheduled stuff, and an application that can talk
to the service if it needs to.

With an ASP.Net or web application, you have some serious problems to
surmount. Again, a Windows Service might be your best bet. The problem there
is that the only place you can schedule tasks in an ASP.Net app is in the
Application itself. The problem with that is that the Application will shut
itself down after a period of time with no user requests.

Another alternative is to include an API in your app code that can be
accessed from outside the running app, for example, in a class library. This
way, you can use something like Windows Task Scheduler to run the task
without having to start the app.

You can use a timer in your application to do scheduling. But again, the
problem there is, how can you be sure the app is running? As I said, it all
boils down to the specific requirements of your app.

--
HTH,

Kevin Spencer
Microsoft MVP
Chicken Salad Surgery

It takes a tough man to make a tender chicken salad.
"Dinsdale" <ru********@gmail.comwrote in message
news:11**********************@i42g2000cwa.googlegr oups.com...
I'm looking at adding scheduling features to an application and I
wanted to ask the community about any experience with scheduling
components, either open source like from code project or from a vendor.
I'd like to be able to create schedules and lock resources for things
like collision detection (two events trying to use the same resource).
I've seen some GANTT charting components but I don't think that's what
I'm looking for. I'd essentially like to mimic the sort of
functionality that outlook has and work out the UI later. This will be
a web project to begin with, but eventually I'd like to separate out
the scheduler and have it run as some sort of service that can initiate
tasks much like the windows scheduler.

The options I'm looking at are these:
1) Roll your own: I've already written something like this once before.
I never got to see the long term viability of my solution but it was
designed to be very flexible. I could go back and write something
again, but I can't help wonder why I need to if someone else has done
something like this.

2) Database scheduling services: Most major DBs have a scheduling and
event tool but I don't know how easy integration with my app will be.
We're using SQL Server 2005 for this project and I know that reporting
services has a scheduling component but I still have integration
concerns. If anyone has used this as an option, please let me know how
it went.

3) Scheduling components: I'm looking at external tools for scheduling.
Does anyone have any experience with third party schedulers? Any input
would be good. I have started looking at GTP (Gantt Tool by
plexityhide), and XGantt by Netronic which is ASP.Net ready.
Any feedback would be great.

Thanks in advance!
Dinsdale
Aug 25 '06 #4
Ah, I misunderstood your use of the word "schedule." In fact, you're talking
about using a calendar to schedule events, appointments, etc., like Access
does.

Well, you do, as you know, have 2 choices basically, roll your own, or use a
3rd Party app. There are plusses and minuses to both approaches. Using a 3rd
Party app will cost you less in the short run, perhaps a lot less. However,
it does create a dependency upon the tool in your app. Rolling your own is
going to cost more, unless you can offset the cost somehow, like creating a
library and/or a set of Controls to work with your own solution and
marketing these.

Which approach you take is largely a matter of which set of circumstances
you prefer in your situation. I generally go with the second option, as I
like to design my software for reusability and maintainability, with loose
coupling in many places. So, I'm going to have something reusable when it's
done in any case, and there's nothing like learning something new from time
to time, when you create something you haven't had the opportunity to create
before. But I can certainly see situations in which the logical choice would
be to go with a reliable 3rd Party vendor, as long as they were reliable.

--
HTH,

Kevin Spencer
Microsoft MVP
Chicken Salad Surgery

It takes a tough man to make a tender chicken salad.
"Dinsdale" <ru********@gmail.comwrote in message
news:11**********************@h48g2000cwc.googlegr oups.com...
You bring up a good point. "Scheduling" is a pretty general idea.

- Single instance events, scheduled/re-occuring events: These could
range from meetings between clients, to planning a year long process
such as a project or fiscal year. It would be reall cool if we could
nest these events...
- Schedule Exceptions: Re-assigning a scheduled event to a different
time without re-adjusting the entire schedule. We also need to be able
to add notes to events in the future but have that re-adjusted so that
if the schedule changes, the notes are not lost... (at least stored so
the user can re-attach the comments to a new instance of the event)
- Resource Management: Taging resources for event occurances and
checking for collisions when adding new items.

At a later date, we will want to re-use this for things like event
notification and processing. At that time, I will look at moving the
"scheduling" into a Windows service and use remoting and asyncronous
events to do things like SMS messaging, scripted tasks, etc. That said,
I wonder what we can leverage from SQL Server 2005?

I guess the most significant requirement is being able to view and
manage schedules and resources.

As I've said, I've already done something similar before. But after
looking at JAMS, I can see that for a weeks worth of my wages, we can
have the functionality we need and just integrate it into the app.

Dinsdale

Kevin Spencer wrote:
>Scheduling features are easy, once you have thoroughly identified your
requirements. Unfortunately, although you may know what they are, you
haven't told us what they are. Instead, you've only talked in
generalities.
And the problem with that is, there are many ways to implement
scheduling,
but only one best way to implement scheduling for a particular
application,
according to the requirements of the app.

Some applications have a Windows Service that handles scheduling. The
advantage of this over something like Outlook is that Outlook must be
running for the scheduled tasks to be performed. So, you can create a
service which handles the scheduled stuff, and an application that can
talk
to the service if it needs to.

With an ASP.Net or web application, you have some serious problems to
surmount. Again, a Windows Service might be your best bet. The problem
there
is that the only place you can schedule tasks in an ASP.Net app is in the
Application itself. The problem with that is that the Application will
shut
itself down after a period of time with no user requests.

Another alternative is to include an API in your app code that can be
accessed from outside the running app, for example, in a class library.
This
way, you can use something like Windows Task Scheduler to run the task
without having to start the app.

You can use a timer in your application to do scheduling. But again, the
problem there is, how can you be sure the app is running? As I said, it
all
boils down to the specific requirements of your app.

--
HTH,

Kevin Spencer
Microsoft MVP
Chicken Salad Surgery

It takes a tough man to make a tender chicken salad.
"Dinsdale" <ru********@gmail.comwrote in message
news:11**********************@i42g2000cwa.googleg roups.com...
I'm looking at adding scheduling features to an application and I
wanted to ask the community about any experience with scheduling
components, either open source like from code project or from a vendor.
I'd like to be able to create schedules and lock resources for things
like collision detection (two events trying to use the same resource).
I've seen some GANTT charting components but I don't think that's what
I'm looking for. I'd essentially like to mimic the sort of
functionality that outlook has and work out the UI later. This will be
a web project to begin with, but eventually I'd like to separate out
the scheduler and have it run as some sort of service that can initiate
tasks much like the windows scheduler.

The options I'm looking at are these:
1) Roll your own: I've already written something like this once before.
I never got to see the long term viability of my solution but it was
designed to be very flexible. I could go back and write something
again, but I can't help wonder why I need to if someone else has done
something like this.

2) Database scheduling services: Most major DBs have a scheduling and
event tool but I don't know how easy integration with my app will be.
We're using SQL Server 2005 for this project and I know that reporting
services has a scheduling component but I still have integration
concerns. If anyone has used this as an option, please let me know how
it went.

3) Scheduling components: I'm looking at external tools for scheduling.
Does anyone have any experience with third party schedulers? Any input
would be good. I have started looking at GTP (Gantt Tool by
plexityhide), and XGantt by Netronic which is ASP.Net ready.
Any feedback would be great.

Thanks in advance!
Dinsdale

Aug 26 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: Tony Proctor | last post by:
Hi everyone We're experiencing some serious anomalies with the scheduling of ASP threads. I'd be interested to hear if anyone knows what algorithm is used (e.g. simple round-robin, or something...
1
by: Newbie | last post by:
Could somebody please tell me whether it is possible to create a custom .NET application capable of scheduling Crystal Reports to execute at a certain point in time? I have a book explaining how...
3
by: Muscha | last post by:
Hi, In our application we need to have a high performance scheduling framework. We want to be able to say for item 21 do an update on such and such time. We will have around 1 million items of...
3
by: mirek | last post by:
Hello, My ASP.NET application must have additional functionality which isn't typical for ordinary web use. It is: - connecting to the other server using specified protocol (an option to...
3
by: Alphonse Giambrone | last post by:
Can anyone point me toward a good example of an asp.net scheduling app? Preferrably in vb.net. TIA -- Alphonse Giambrone Email: a-giam at customdatasolutions dot us
1
by: Majed | last post by:
hi I'm planing to make scheduling app and need your advice on the best way to do that,and how to save the tasks to be executed and retrive their data at the right time. your input will be highly...
0
by: Lemune | last post by:
Hello. I need some help on building my sms services application (using modem). My application is to do some scheduling task based on daily, weekly and monthly. On the daily the choice are everyday,...
2
Ritchie
by: Ritchie | last post by:
Please can anyone help me with d programs in C for CPU scheduling: WAP to show FCFS scheduling algorithm. WAP to show SJF scheduling algorithm. WAP to show Priority scheduling algorithm. WAP...
1
by: amundsen | last post by:
I need to build a scheduling program. It will need to schedule a chain of resources. I'm wondering if anyone is aware of an existing framework that might help me to code this application. The...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.