Below are the project requirements. We have existing technology in place, this is an updated version to replace that application.
This will likely be ongoing after the initial design and we would like a long term relationship with our programmers!
Project Developer Requirements
1. C# .net 3.5
2. MySql 5.0+ Database knowledge
a. Optimal relational table design
b. .net connector knowledge
3. .net 3.5 LINQ technology
4. .net 3.5 WCF technology (and/or .net Remoting)
a. 1 server to N clients (workers)
b. Full duplex communication (server can send method calls to client and vice versa)
c. Help designing an optimal system
5. Regular Expressions (not required)
6. .net 3.5 Web Services (not required)
7. Threading (Parallel threading)
a. Thread safe data objects
b. Thread creation and destruction
c. Thread pools and lifetime management
d. Sandbox for threads to exit without affecting other threads.
8. Web robots or Screen scraping concept (not required)
10. Logging systems
11. Windows Services
1. (1) Client Website – This website is the user interface for the master server. Allows the users to issue commands and view data generated reports.
a. Talks to MasterServer through WCF/.net for server commands
b. Use MasterServer’s WebServices/.net/WCF to lookup data (running thread count or other non-database lookups)
c. Talks directly to shared (with masterserver) MySql database for display data.
2. (1) MasterServer – This is a (windows service/console) application that acts as a job distribution server.
a. Accepts commands from Website.
b. Talks directly to shared (with website) MySql database for long term job data.
c. Accepts Client Requests for connection
d. Sends work via Job Objects (over WCF/.net) to connected clients in a load balancing fashion (client responds with the Thread ID of the thread working on the job).
e. Clients send job results (success or errors) via Result Object (over WCF/.net) and server responds with a string to continue or a null to stop.
f. Clients who lose connection are considered dead and their jobs are distributed out.
g. Masterserver leases out proxy addresses to clients .
h. Keep a log of the results
3. (1) ProxyLeaseServer – This is a (webservice/windows service/console) application that leases out proxy address to the masterserver who assigned it to a client (worker).
a. Keeps a MySql database of proxies addresses
b. Keeps a MySql database of proxies currently leased
c. Keeps a log of proxy uses per day
d. Accepts commands from Masterserver only.
4. (1) Image Server – This is a (webservice/windows service/console) application that accepts images and produces answers once the process is completed.
a. Talks directly to clients (workers) through .net/WCF with an Picture Object and waits for a response (string) or a set timeout.
b. Needs a website to allow workers to manually type answers if needed. (Ajax/.net website)
5. (N) Worker server – This is a (windows service/console) application that performs jobs commanded by the master server.
a. Connects to designated masterserver.
b. Accepts any command from masterserver.
c. When handed a new job create a new thread and keep the thread running until we get a null response from the server
d. Connect to Image server with WCF/.net remoting and submit images and wait for response.
e. Send result (success or errors) to masterserver and await string or null response. String means continue; null means kill thread.
f. Keep historical logs of actions workers take.
6. (N) Result Viewer – This is a windows application that sits on user’s personal machines.
a. The user is alerted when there are results for their running jobs. There are two possible ways to do this:
i. Poll a webpage/webservice for a “result” listing page.
ii. Connect to the masterserver through .net remoting/WCF and have the masterserver push results to the application
b. When a user clicks on a result the masterserver should know which result was clicked and send the user the proper information. (Direct the user to a webpage). Each result should only be used once and should change status (color or someway to notify the user that it was clicked).
52 freelanceria on tarjonnut keskimäärin 3250 $ tähän työhön
We are expert in doing this sort of stuff... No upfront needed, all payments through GAF escrow.. Online 16 Hours a day, Can start right away.. Thanks
Hi, if you can raise the cost then we would like to work on this project, please view pmb for previous experience in large scale projects along with quality. Regards, Tarun
HI... We offer you best of IT services merged with latest technology in the lowest possible price range for website designing & development. Please check your PMB for more details.
Hi, excellent .Net developers with over 6 years of experience in .Net technologies are ready to implement your system. Let's discuss the detail via the PMB!