General Requirements Document
Email Message Delivery Web Services System
PLEASE RESPOND ONLY IF YOU HAVE PROVEN WEB SERVICES EXPERIENCE!!
The Email Message Delivery Web Services System is comprised of two interoperable Web Services Components --
A. Job Dispatcher (Controller)
B. Job Runner (Messenger)
The Job Dispatcher is a Console program that gets called upon Operating System bootup during the O/S Job Scheduler.
This program calls a Stored Procedure on its local system every INTERVAL_CHECK period to retrieve email messenger jobs from a Queue. If no jobs are available in the queue, it goes back to sleep and awakens on the next INTERVAL_CHECK.
Once jobs are showing in the queue, it alerts 1 or more Job Runners by sending a JobRunnerReady Web Service Message to their machine. If the Job Runner is online and available, it responds with a JobRunRequest Web Service to the Job Dispatcher.
Upon receiving a JobRunRequest Web Service Request from a Job Runner, the Job Dispatcher acknowledges by sending a JobRun Web Service to the Job Runner with a list of email messages to deliver.
The Job Runner machine would be supplied with a BATCH OF messages in the JobRun Web Service -- each message inclucing the SMTP Server Username, Password, To, From, Subject, Message, etc.
In a continuous loop manner, upon delivery of all of the email messages, the Job Runner, responds to the Job Dispatcher with another JobRunRequest UNTIL the Job Dispatcher responds with an EMPTY LIST of messages; or until a timeout or no response from Job Dispatcher.
The SOAP Web Services each of the above components accepts and responds to the following Web Services --
1. Job Dispatcher (OUTBOUND WEB SERVICES)
A. JobRunnerReady à To Job Runner Machine
B. JobRunnerConfigUpdate à To Job Runner Machine
2. Job Runner (OUTBOUND WEB SERVICES)
A. JobRunRequest à To Job Dispatcher
The Job Runner applications MUST --
a. Run on Linux / Perl / PHP with NO EXECUTABLES -- Only Web Programming Components
b. Run in a SHARED ISP HOSTING ENVIRONEMENT
c. Be Self-Extracting upon FTP Upload to the Server -- and ready to go!
The Job Dispatcher application could have an Executable with No Limitations as it would be on a Dedicated Server.