I've been reading up on WCF and WF the past couple of days on articles I've run across on Google, blogs, etc. and at this point my head is just swimming in all the new concepts, designs, etc.
Looking for some feedback and/or suggestions for design/development for a future system, so I can focus directly on what is needed vs. all the possible ways you can use the WF system.
The current system we have is made up of a few dozen Window Services, spread across about 5 different Servers.
Each system works off an Inbox/Outbox Folder structure, which could be local or remote Servers or FTP Sites.
Each system may Insert or Read data from SQL Servers, each system may have it's own set of "working" folders where it may need to process/parse data from files that go through the system.
I have run some tutorials on working with WCF Services, and was able to get them to work fine using IIS to host it. I used a simple Windows Application for the Host to interact with the WCF Service. I was thinking of maybe using this in a distributed load balanced scenario, but not sure how to hook it into the rest of the system for load balancing.
Items I'm looking at are:
1. Build a system where each Window Service we have now could work (once redesigned/redeveloped under WWF) in a distributed load balanced environment, across the 5 different Servers we have.
2. Each new WWF System runs independent of each other, so if the Hosting App stops then it doesn't stop all the Systems but only the one.
3. If a file being processed fails, for whatever reason, need a way to make sure on the next cycle or revolution of the processing engine that the file gets processed again. At some point during the day, Databases may be backed up or engineers may be working on the Network and something spikes causing paths not to be found. This doesn't mean the file is bad, it just needs to be processed again. In the event we determine the file is bad, need the ability to remove it from the processing Queue in the event we deem it a failed packet.
4. Need a way to archive files coming in, as well as those going out.
5. Customized Tracking ability of files processed. Counts for files processed, bad packets, emails sent, etc.
6. If the Servers are restarted (occasional patches require this), need the Systems to automatically fire up when the Servers start back up.
I'm just looking for some feedback, maybe linked articles if available, that talk about what components to develop or what parts of the WWF I should be focused on for developing a system like this.