Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / General / December 2007

Tip: Looking for answers? Try searching our database.

How complex is this, really?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
sam - 14 Dec 2007 04:27 GMT
I have been a Window application developer for over 13 years.  I know
SQL though I have been able to avoid it for a vast majority of my
career.  I understand the basics of ASP.Net and Web servers, actually
put together a VERY basic Asp.net web site for my little business.  It
was basically a static site that I used ASP.Net to implement a fancy
navigation system.  But now I am wondering if I am biting off more
then I can chew...

My son's Boy Scout Troop has one big fund raiser each year and I have
volunteered to revamp the order entry/tracking software.  Two people
from their respected homes will enter the orders into the system
through out the week. The night of the meeting orders will be entered
on a laptop that is disconnected from the Internet.

My whole strategy is to leverage what I know best, Windows.Form
development.  I will develop a basic Windows Application in .Net 3.5
to enter orders.  Originally I had some crazy ideas to make the data
store XML and sync everything myself.  Then last night I learned of
the existence of SQL Server Compact 3.5 and Sync Services.

My thought now is to leverage SQL Server Compact 3.5, Sync Services,
and Web Services.  All the web service would be doing is keeping four
different tables in sync for a handful of known users.  My web hosting
account is .Net 2.0 but I only have access to a MySQL database.  One
of the other things the web service is going to have to do is allow
large (500K ~ 4M) images to be uploaded (I am going to have the order
forms scanned into the system to ease order verification).

It sounds like pretty straight forward web service to me, but is it?
One of my issues is I don't know how to contend with security.

Hay, is there anyone out there that might be willing to give me hand
in this?

Sam
Barrie Wilson - 14 Dec 2007 05:57 GMT
Sounds like a lot of effort for a Boy Scout app that doesn't need to do much
nor for very long, Sam ... but I like the idea of doing a hybrid
Winforms/Web Services app as a general matter ... you really need to scan
order forms for verification?  sounds like too much digital bling for what
you're doing here ... but maybe you want to take the opportunity to work on
that sort of thing?

Seems to me you could more easily just use HttpWebRequest to POST the home
orders from the WinForms app to MySQL via a simple ASP or ASP.NET page
during the week and then just merge that data with the table(s) from the
meeting ... it's a one-time thing, right?  But that wouldn't be as much fun
or as good of a tech workout ...

>I have been a Window application developer for over 13 years.  I know
> SQL though I have been able to avoid it for a vast majority of my
[quoted text clipped - 31 lines]
>
> Sam
sam - 14 Dec 2007 12:35 GMT
> Sounds like a lot of effort for a Boy Scout app that doesn't need to do much
> nor for very long, Sam ...

The event happens once a year, so the solution will be used annually.

> you really need to scan order forms for verification?  sounds like too much
> digital bling for what you're doing here ... but maybe you want to take the
> opportunity to work on that sort of thing?

It is two fold, I know imaging well, I am writing image acquisition
software during the day and I am a professional photographer at night,
so the concept is right up my ally.  From the business side of things,
the real problem I am trying to solve is this:

There is one day the product is delivered by all the scouts to all the
customers.  There is someone at a central location that is able to
take calls when customers call and complain they did not get the
correct items.  In the past they had to figure out which order number
the person was, find the paper order to determine of there was an
error in entering the order or if the customer marked the wrong thing.

My solution is to scan in that order form so that it is easy for
others to double check that it WAS entered correctly.  More
importantly, on delivery day, make is a one click stop to confirm what
the customer wrote down.

P.S.  Normally even of the customer marked down the wrong thing, the
troop tries their best to get the customer what they really wanted;)

> Seems to me you could more easily just use HttpWebRequest to POST the home
> orders from the WinForms app to MySQL via a simple ASP or ASP.NET page
> during the week and then just merge that data with the table(s) from the
> meeting ... it's a one-time thing, right?  But that wouldn't be as much fun
> or as good of a tech workout ...

I am really very open to any approach that is fast and easy.  Can you
give me a bit more detail on HttpWebRequest?  I looked it up and it
looks like a generic way to post data to a web server.  Would not a
Web Service be easier because it will do all the packaging and
unpackaging of the data for me?  It is my understanding that
WebServices is simply Microsoft's version of SOAP which is simply an
interface to make function calls and to interact with classes over
HTTP.  Am I mistaken?

Sam
Barrie Wilson - 14 Dec 2007 19:09 GMT
> There is one day the product is delivered by all the scouts to all the
> customers.  There is someone at a central location that is able to
> take calls when customers call and complain they did not get the
> correct items.  In the past they had to figure out which order number
> the person was, find the paper order to determine of there was an
> error in entering the order or if the customer marked the wrong thing.

ah, this one is easy ... outsource the call center to India, put people on
hold for 45 minutes and then drop the call ... it works great for Dell;
they save money and I live with the problem

> I am really very open to any approach that is fast and easy.  Can you
> give me a bit more detail on HttpWebRequest?  I looked it up and it
> looks like a generic way to post data to a web server.

it's a way to make a request over HTTP, with or without data being sent;
this is an example of what it takes to send data from a WinForm to a web
server;  I'm leaving out what comes back from the server; you can have your
web page send back whatever makes sense (or nothing at all);  the page you
request just has to handle the data in the Request collection and dump it in
the SQL store ... simple ...

string url = "http://www.MyServer.com/DataPost.asp";

HttpWebRequest req;
req = (HttpWebRequest)HttpWebRequest.Create(url);

// no search for proxy; takes forever
req.Proxy = null;

// create an arbitrary HTTP request header
req.AllowAutoRedirect = true;
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR
1.1.4322)";
req.Accept = "*/*";
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";  // important

// you have to build up your data string from the WinForm
string postData = "var1=POSTMEISTER&var2=message";
byte[] postDataBytes = Encoding.UTF8.GetBytes(postData.ToString());

req.ContentLength = postDataBytes.Length;

Stream postDataStream = req.GetRequestStream();
postDataStream.Write(postDataBytes, 0, postDataBytes.Length);
postDataStream.Close();

> Would not a
> Web Service be easier because it will do all the packaging and
> unpackaging of the data for me?

I think it's hard to get simpler than what I posted above ...

> It is my understanding that
> WebServices is simply Microsoft's version of SOAP which is simply an
> interface to make function calls and to interact with classes over
> HTTP.  Am I mistaken?

not mistaken but over-simplified ... but I am by no means knocking web
services and if learning to write a web service to do this project is
valuable payback for taking on the project then by all means do it would be
my view
Scott Roberts - 14 Dec 2007 06:23 GMT
If it were me, I'd just create an asp.net web app with a SQL backend. Users
can enter orders on a "public" web site up until the event (hosting is dirt
cheap). Also install the web app on the notebook (I assume it's yours).

The night of the event, I'd back up the SQL database and restore it to the
notebook. You can run the web app locally (on the notebook) the night of the
meeting and continue to enter orders as usual.

After the event, you can move the database back to the hosted site (if
necessary).

>I have been a Window application developer for over 13 years.  I know
> SQL though I have been able to avoid it for a vast majority of my
[quoted text clipped - 31 lines]
>
> Sam
sam - 14 Dec 2007 12:38 GMT
On Dec 14, 1:23 am, "Scott Roberts" <srobe...@no.spam.here-webworks-
software.com> wrote:
> If it were me, I'd just create an asp.net web app with a SQL backend. Users
> can enter orders on a "public" web site up until the event (hosting is dirt
[quoted text clipped - 6 lines]
> After the event, you can move the database back to the hosted site (if
> necessary).

Well, the thing is... I don't own a laptop:(

The other thing I did not mention is that the orders/sales goes on for
about two months. At the weekly meetings the scouts compete against
one another to see who brought in the most orders.  At the meetings,
orders are entered and reports are generated so the scouts know where
everyone stands.

Besides, I would REALLY like to learn more about web development.

Sam
Scott Roberts - 14 Dec 2007 15:29 GMT
> On Dec 14, 1:23 am, "Scott Roberts" <srobe...@no.spam.here-webworks-
> software.com> wrote:
[quoted text clipped - 24 lines]
>
> Sam

Ah, I completely misunderstood you.

You may want to check out Google Gears as well. I've never used it, but it
looks like it might be up your alley:

http://code.google.com/apis/gears/
Kevin Spencer - 14 Dec 2007 12:51 GMT
It sounds pretty straightforward, Sam, except for one thing:

>(I am going to have the order
> forms scanned into the system to ease order verification).

There's nothing easy about this approach. First, an order form is a
container of string data, such as name, address, etc. An image is a
container of pixel data (colors in a plane). Images are useful with forms
only when the original form is in a paper format, since a sheet of paper is
also a container of colors in a plane. To extract string data from an image,
a human being must display the image and read the data in it. To extract
string data from a container of string data, a computer can read the string
data easily. It can also be displayed in a Windows form application, or
formatted as an image for viewing by humans.

In addition, string data is small, consisting only of the characters which
comprise the data. Image data is large, because most of the data is the
background of the image.

In other words, any way you slice it, putting your form data into an image
does nothing to ease order verification, and in fact, makes the whole
process much more difficult.

If you have a client Windows Forms app that uploads form data to a Web
Service, it makes much more sense to upload string data.

Signature

HTH,

Kevin Spencer
Chicken Salad Surgeon
Microsoft MVP

>I have been a Window application developer for over 13 years.  I know
> SQL though I have been able to avoid it for a vast majority of my
[quoted text clipped - 31 lines]
>
> Sam
sam - 14 Dec 2007 15:16 GMT
> It sounds pretty straightforward, Sam, except for one thing:
>
[quoted text clipped - 10 lines]
> data easily. It can also be displayed in a Windows form application, or
> formatted as an image for viewing by humans.

Kevin,

Come on Kevin, it is clear to me that you are a smart guy, think
outside the box just a little;)

First off, if you had read the whole thread, you would have seen that
I have 13 years of professional software development under my belt AND
that I am a photographer.  I know you are smart enough to put together
these facts to realize that I know the difference between a scanned
image and manually entered data.

Second, the data verification is *NOT* going to be done by a computer,
but a human.  I was hoping I did not need to spell it out, but I
will...  Here is the data entry process:

1: person picks up orders from the PO box
2: person starts my application
3: person reads all the data off the order and enters it into my
Windows Application
4: person places the order in the scanner
5: person scans the order form that is saved as a PNG file
6: person saves the complete order, both text data (from step 3) and
the binary image (step 5)

At some point all this is sync with the main data source

Another human needs to verify that the order was entered correct...

1: person selects an order and see the entered data and the binary
image.
2: person zooms into the area on the binary image of interest and
verifies that is was is in the entered data.

I don't see anything all to hard about this other the me learning how
to get the PNG file from the application to the web site.

Sam
Kevin Spencer - 17 Dec 2007 12:44 GMT
Hi Sam,

I think outside the box for a living. Also, I read the whole thread, and I
know what you are experienced in, as well as what you are NOT experienced
in.

I don't have to time to get into a debate about this, but suffice it to say
I don't believe you've thought the problem through quite thoroughly. As I
mentioned, there are issues with the size of the data being transmitted, as
well as the readability of the data, both by computers and by humans. In
addition, the verification of the form data is not likely to be the last
usage of it, and again, text/string data is represented in computers by the
use of strings rather than images for the same sorts of reasons that numeric
and date-time data is not stored as text.

You're free, of course, to choose whatever solution you desire. My desire is
to be helpful by providing what I know, and I have done that. Convincing
people that I'm right about it is not in my agenda.

Signature

HTH,

Kevin Spencer
Chicken Salad Surgeon
Microsoft MVP

>> It sounds pretty straightforward, Sam, except for one thing:
>>
[quoted text clipped - 51 lines]
>
> Sam
Barrie Wilson - 17 Dec 2007 16:46 GMT
Kevin

I don't think Sam was intending to machine-read the images and extract
strings; looked like the idea was to be able to display the scanned order
form and have a human read it and verify it .. personally, I think it's
overkill either way ... but it's not my project

> Hi Sam,
>
[quoted text clipped - 71 lines]
>>
>> Sam

Rate this thread:







Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.