Re: Application design



Hi Patrice,

Gone through the whole article and written the sample app. Towards the end
of article is a sentence that says to download the WROXTester project, but
no link to it. I have done a google for wroxtester but cannot find it.

Any ideas on the other side of this story? It looks like the app I have
written from this site is the receiving side of the queue. I also need to
see the sending side.

This queueing system could be the answer to a lot of the design questions...
it sounds like we can use this to help us scale the app, say for example, we
find one of our services is getting bogged down (being process intensive),
we can quite quickly add in another server to handle some of the processing.
This is quite cool.
--
Best regards,
Dave Colliver.
http://www.AshfieldFOCUS.com
~~
http://www.FOCUSPortals.com - Local franchises available


"David" <david.colliver.NEWS@xxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:OKH1IR0OJHA.3508@xxxxxxxxxxxxxxxxxxxxxxx
Cool. That's going into my favourites...

Cheers Patrice.

--
Best regards,
Dave Colliver.
http://www.AshfieldFOCUS.com
~~
http://www.FOCUSPortals.com - Local franchises available


"Patrice" <http://www.chez.com/scribe/> wrote in message
news:8F1C5A5B-EF91-4B76-850A-986268E3CD0D@xxxxxxxxxxxxxxxx
Hi,

I would suggest :

http://microsoft.apress.com/asptodayarchive/73445/a-managed-multithreaded-msmq-engine-running-as-a-windows-service...

In particular depending on your architecture using MSMQ could help...

--
Patrice

"David" <david.colliver.NEWS@xxxxxxxxxxxxxxxxxxxxxxx> a écrit dans le
message de groupe de discussion : udrUjJeOJHA.588@xxxxxxxxxxxxxxxxxxxxxxx
Thanks Patrice,

I have never done a queue based system (and also done very little in the
way of generating events, which leads me onto a new thread that I will
ask in a short while.).

Would you be able to do a quick mock up so that I can understand the
principle (or point me in the direction)?

Thanks.

--
Best regards,
Dave Colliver.
http://www.AshfieldFOCUS.com
~~
http://www.FOCUSPortals.com - Local franchises available

"Patrice" <http://www.chez.com/scribe/> wrote in message
news:BE6B921E-0F83-43FE-9562-8658659E93CA@xxxxxxxxxxxxxxxx
Same as Peter, I meant I would add them a processing queue (this is the
word I omitted) or even queues (for example depending on priority) . In
addition to the pure technical difference between a file system watcher
and a queue, I feel it would allow to store some additional data that
could help in managing each entry.

It should be quite easy to do a mock up to simulate the base principle
you would use...

--
Patrice

"David" <david.colliver.NEWS@xxxxxxxxxxxxxxxxxxxxxxx> a écrit dans le
message de groupe de discussion :
O1dGeBcOJHA.1744@xxxxxxxxxxxxxxxxxxxxxxx
Hi,

Thanks Sloan, Peter and Patrice. Definately food for thought.

Patrice, can you expand on what you mean?


The system has to work with a plugin architecture and be scalable. For
example, it will also be database driven and I need to be able to use
different databases. This I can easily achieve by using a layered
approach, something I haven't mentioned yet though is that it has to
be able to work from a clustered perspective as well (such as a
clustered DB server or clustered web server etc.) However, I don't
think that affects this part of the structure.


--
Best regards,
Dave Colliver.
http://www.AshfieldFOCUS.com
~~
http://www.FOCUSPortals.com - Local franchises available


"Patrice" <http://www.chez.com/scribe/> wrote in message
news:DD4305A1-614E-44FB-BA1B-59CC117C006D@xxxxxxxxxxxxxxxx
As files are submitted by using a web service I would add them to a
processing at this point rather than just using the file system. This
way you can add whatever you want to each entry (either priority,
chronological time, current status, and even try to reprocess in case
of a failure).

Similary it should be easier to use multiple threads if needed this
way...(i.e. basically you just share reading/setting the current
status).

--
Patrice

"David" <david.colliver.NEWS@xxxxxxxxxxxxxxxxxxxxxxx> a écrit dans le
message de groupe de discussion :
uJyGYbSOJHA.4372@xxxxxxxxxxxxxxxxxxxxxxx
Hi,

This question could be very subjective but I am after a way to
design this...

I am developing in C#, .NET 2.0

Basically, I have data coming in from a mobile phone. This is
sending a file to a webservice. The webservice will save the file to
local disk and also send / receive messages from the mobile phone.
This part is working fine, though wether I should have a
multi-thread on this, I don't know.


Once the file has been saved, I need to then work on it. The process
can become quite intensive. Also, each file can come from a
different customer and each customer will have a 'priority'
preference, for example, some files have to be acted upon
immediately (due to them being time critical) where others that are
not so critical can wait.


My thoughts to handle this is a windows service with a filewatcher
to watch the webservice receiving folder. Then, depending on the
file (customer), react to it...

I guess I should be doing threading here (I have not really done any
threading before...) but I do have to bear in mind priority files.
Also, if there are for example, 3 files from one phone, they have to
be handled chronologically.

We could be talking many thousands of files per day that need to be
handled (both for the webservice and windows service). Also, there
could be varying outputs, for example, some customers may just want
a raw processed file (XML), others may want an image while others
may want a PDF. Also, any / all of these could be selected.

Finally, the file can be delivered either back to the phone, via
email, via FTP, HTTP to another web server or any other common
communications technology. (Again, any / all options could be
selected.)

I also have to make the application work on mulitple servers, though
that probably won't be such an issue unless I have a common
fileserver to store the incoming files and the filewatcher service
on two servers both attempt to collect the same file.

Ideas on how I should approach this would be very much appreciated.


--
Best regards,
Dave Colliver.
http://www.AshfieldFOCUS.com
~~
http://www.FOCUSPortals.com - Local franchises available












.



Relevant Pages

  • Re: Application design
    ... Best regards, ... http://www.FOCUSPortals.com - Local franchises available ... In particular depending on your architecture using MSMQ could help... ... DB server or clustered web server etc.) However, ...
    (microsoft.public.dotnet.framework)
  • Re: finding the running instance of a program in a network
    ... > I would use to provide a list of machine names/ip address where my server ... If your app is available via HTTP then you ... rather than a port for this. ... Best Regards ...
    (microsoft.public.win32.programmer.wmi)
  • Re: finding the running instance of a program in a network
    ... Yes I have aApp and I can check if my server is running given the machine ... If your app is available via HTTP then you ... rather than a port for this. ... > Best Regards ...
    (microsoft.public.win32.programmer.wmi)
  • Re: Can Sql Server Fire an event to ado.net?
    ... It would be the server side of the asp.net app that would pick it up...i.e ... >> Can Sql Server Fire an event to ado.net? ... >> Best Regards, ...
    (microsoft.public.dotnet.framework.adonet)
  • Re: Deploy files
    ... Best regards, ... http://www.FOCUSPortals.com - Local franchises available ... My app expects certain files to be in place before start-up. ... the emulator, I cannot get the files in place prior to debugging. ...
    (microsoft.public.dotnet.framework.compactframework)