DaGlow


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.



Re: WWF Design?

Konstantin Vyaznikov


Sounds to me that best bet in your case would be BizTalk. Otherwise you need to design practically what BizTalk does, but using WF. Btw, there are rumors that future version of BizTalk will be based on WF.

BizTalk was developed with an idea of not loosing messages/files etc. and in this area it is very good.Though there is price involved from the point of performance. If you have high volume of data, you have choice of thoroughly tuning BizTalk parameters (not trivial task) or to scale BizTalk. BizTalk scaling comes with the licensing price though.

Essentially it boils down to time/money question. Either you pay licensing for BizTalk, or you pay for development of what you described using WWF + all support then is yours. Additionally you need to take into account qualification of developer(s).

All above is based on my experience, dealing with BizTalk and WF.

Thanks,

Konstantin.





Re: WWF Design?

DaGlow

The company I work for is not too keen on licensing stuff, we're looking at developing it in house.. just not sure what parts of WF make the most sense yet. Still reading through pages and pages and pages of info about it.






Re: WWF Design?

NewWorldMan

If you can't go down the BizTalk route right now I can recommend the book Pro WF. You can see my customer review there. Also see the comments on Amazon.com as well.