Re: an OO design question
- From: "Nick Malik [Microsoft]" <nickmalik@xxxxxxxxxxxxxxxxxx>
- Date: Mon, 18 Apr 2005 08:57:51 -0700
I see absolutely no reason to use a web service in this system. No one is
sending data to you over HTTP. It is coming in over FTP or via your
download. The only use for a web service that I can see is for a client app
to get status data from your database.
I do see the need for seperate processes: one to accept input from FTP and
the other to poll for files from the unix boxes. They can use same class
structure if you want. I can see the need for a proxy pattern to handle the
download, where the local files don't need downloading.
I can see the possible use of a chain of responsibility for converting data
types from PDF to Tiff etc.
I can see a bridge to handle packaging the file for submission to the third
party company. Depending on the source, you appear to have different
packaging standards.
I can see a strategy pattern for handling the upload to the third party
company or companies.
This is a meaty project. When you are done, you undoubtably will be able to
say that you have some good experience with .Net
--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik
Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
"?????" <@discussions.microsoft.com> wrote in message
news:930FE7F0-D2E9-40D3-A2E9-46940FD17A8D@xxxxxxxxxxxxxxxx
> ok here goes:
>
> first i was told that if i want to use anything "heavy" like database
> reading or file reading, in a windows service i would HAVE to use a web
> service becouse they occur on another process while a windows service
> occurs
> in a shared process.
>
> the entire process is batch driven, right no i have 2 portions:
>
> 1.
> ascii spool report files are uploaded from various sources
> (MF,AS400,UNIX,SAP)
> the files are being uploaded via ftp to my server
>
> each spool file contains in it's first line a record for my application to
> read into a database record, this record contains
> report type (a string)
> report data and time
> report user
> total lines
> total pages
>
> the files come in groups. each group of files represnet a comlete report
> (as
> in monthly payments)
> for each group an ascii file uploaded, a file containing only the first
> record is also uploaded, this is sort of a manifest of what was sent to
> me,
> incase the files them selves are dropped in a connection i would no
> somthing
> is missing.
>
> i read the manifest, record the files data (which is another process by
> itself) and saves them to another location.
>
> once a day i collect all files which were uploaded create my own manifest
> (which more or lest contains the same data) and zip the entire thing and
> send
> it via ftp to another server, where it will be gathered by an external
> company to be printed.
> said company will later then send a single file contaning the status of
> file
> printed (number of actuall pages printed, etc..)
>
> my application simply tracks the file, and lists their statuss
>
> 2.
> my application reads a database table where each record contains data
> about
> an IMAGE file, as far as i'm concened there are 3 type of files
> the first will be a pdf , i have to retireve this one from a unix server
> and
> convert it to tiff image. my appliaction downloads it by http
> the 2nd is a tiff which is locatioed on an nt, also downloaded via http.
> the 3rd is also a tiff but it's location will be given by a web service
> method of another application, the location will vary but will be also
> http.
>
> the records for each image file contain the method of retrieval by a code
> which can retrieved from a table which will holds the actuall location
> (the
> http directory to webservice method)
>
> my application need to be able to automatically recover from errors like
> when server and files sources are down, or the files are missing, report
> them
> via mail or another websevice
>
> oh, after the download, it needs to be able to check if the files are
> valid
> by extracting the number of pages they have (if it's 0 the file is
> invalid)
>
> the files are arranged in packages (each 3-4 records in source table are
> linked witha package no)
> when i save the files i created a directory with package name, and also
> save
> an xml represnation of the records (a mini manifeset)
>
> once a day i send all the files i collected to an extenal company along
> with
> abound xml manfiest contaning what i sent (the whole thing will be in a
> zip)
>
> the company will send back an xml file reporting what happened.
>
> as you can see the 2 portions have in principle in commom, but are so
> different.
>
> i have 2-3 pages of asp.net pages displaying a table of the records,
> showing
> what happens to them (statuss like sent, recieved, printed pages etc...)
>
> i also have anoter thing about reports parts (each group has sub-groups of
> reports which can be identified by the report name, the subgroup is
> divided
> by a report name and uniq id, the 2 compose the actuall file name)
>
> i hold a list which contains the hirarchy of the reports by reports and
> report parts
>
> p.s: this is my first net project, i wonder if i can clain net expirience
> after this one.
>
> i know it's a lot to take in, but i'm very eager to make it work
>
> (sorry for the typo's)
> "Nick Malik [Microsoft]" wrote:
>
>>
>> Not sure how your app involves a web service and a windows service.
>> Normally, these are not easy technologies to mix together.
>>
>> Step away from the technology and describe the problem.
>> If you jump to the solution too quickly, your design will suffer.
>>
>> Tell us what the problem is.
>>
>> You say that you have a web service that retrieves files. Are the files
>> being uploaded by a client? Why upload to a web service? Why not just
>> to a
>> web application?
>>
>> You say that the file will processed and zipped away.
>>
>> Does the processing have to happen in real time, or can it happen after a
>> delay?
>>
>> What security requirements are in play? Is this data transfer happening
>> over an intranet connection, or are you uploading over the internet?
>>
>> What kind of clients do you have? Did you write the client software?
>>
>> How big are the files you are transmitting?
>>
>> --
>> --- Nick Malik [Microsoft]
>> MCSD, CFPS, Certified Scrummaster
>> http://blogs.msdn.com/nickmalik
>>
>> Disclaimer: Opinions expressed in this forum are my own, and not
>> representative of my employer.
>> I do not answer questions on behalf of my employer. I'm just a
>> programmer helping programmers.
>> --
>> "?????" <@discussions.microsoft.com> wrote in message
>> news:A67C6F4D-BE03-4A55-8556-35EFF2EDD697@xxxxxxxxxxxxxxxx
>> > hi..
>> >
>> > i don't know if this is the right group for this..
>> >
>> > i have a small application which involves a windows service, and web
>> > services which bascally retrieves files, process them and zips them
>> > away
>> > (it's a little more complext then that..) i would like to consult ppl
>> > about
>> > creating the right classes for it..
>> >
>>
>>
>>
.
- Follow-Ups:
- Re: an OO design question
- From: Cor Ligthert
- Re: an OO design question
- From: Cor Ligthert
- Re: an OO design question
- References:
- Re: an OO design question
- From: Nick Malik [Microsoft]
- Re: an OO design question
- Prev by Date: Re: Datagrid cell edition ????
- Next by Date: How to create exchange mail when new user is created
- Previous by thread: Re: an OO design question
- Next by thread: Re: an OO design question
- Index(es):
Relevant Pages
|