Discussion:
What tools to use?
(too old to reply)
Boomer24
2008-08-22 20:12:08 UTC
Permalink
Hi everyone,



I have a fairly "high level" question and I am hoping that you can point me
in the right direction and save me a lot of time.



I have a fairly sophisticated WM app written in eVB. It uses a lot of data
(large customer, inventory and order tables). It synchronizes with my
customers' Microsoft SQL 2000 Server using SQL CE and the whole "push" and
"pull" model.



Now, I wish to rewrite the app into the .NET CF but functionally it should
be the same. The user should be able to "sync" their PDA when in the
building or via VPN which sends data they have collected/produced on the PDA
to the main system as well as provides them with updated information from
the main system. The app can then make use of this updated data offline not
requiring a connection.



Now the million dollar question: What tools should I be looking at to
accomplish this in .NET CF?



Best regards,



Boomer24
Chris Tacke, eMVP
2008-08-22 20:24:01 UTC
Permalink
SQL CE still has RDA and merge replication, so my guess is that the same
model you're using now will apply to the rewrite.
--
Chris Tacke, Embedded MVP
OpenNETCF Consulting
Giving back to the embedded community
http://community.OpenNETCF.com
Post by Boomer24
Hi everyone,
I have a fairly "high level" question and I am hoping that you can point
me in the right direction and save me a lot of time.
I have a fairly sophisticated WM app written in eVB. It uses a lot of
data (large customer, inventory and order tables). It synchronizes with
my customers' Microsoft SQL 2000 Server using SQL CE and the whole "push"
and "pull" model.
Now, I wish to rewrite the app into the .NET CF but functionally it should
be the same. The user should be able to "sync" their PDA when in the
building or via VPN which sends data they have collected/produced on the
PDA to the main system as well as provides them with updated information
from the main system. The app can then make use of this updated data
offline not requiring a connection.
Now the million dollar question: What tools should I be looking at to
accomplish this in .NET CF?
Best regards,
Boomer24
Boomer24
2008-08-25 18:26:07 UTC
Permalink
OK, thanks that's good to know. Do you know of any sample code you could
point me to? Just something simple to get me started?



Regards,



Boomer24
Post by Chris Tacke, eMVP
SQL CE still has RDA and merge replication, so my guess is that the same
model you're using now will apply to the rewrite.
--
Chris Tacke, Embedded MVP
OpenNETCF Consulting
Giving back to the embedded community
http://community.OpenNETCF.com
Post by Boomer24
Hi everyone,
I have a fairly "high level" question and I am hoping that you can point
me in the right direction and save me a lot of time.
I have a fairly sophisticated WM app written in eVB. It uses a lot of
data (large customer, inventory and order tables). It synchronizes with
my customers' Microsoft SQL 2000 Server using SQL CE and the whole "push"
and "pull" model.
Now, I wish to rewrite the app into the .NET CF but functionally it
should be the same. The user should be able to "sync" their PDA when in
the building or via VPN which sends data they have collected/produced on
the PDA to the main system as well as provides them with updated
information from the main system. The app can then make use of this
updated data offline not requiring a connection.
Now the million dollar question: What tools should I be looking at to
accomplish this in .NET CF?
Best regards,
Boomer24
Ginny Caughey MVP
2008-08-22 20:59:33 UTC
Permalink
In addition to RDA, you also have the option of Sync Services for ADO.NET
for Devices:
http://www.microsoft.com/downloads/details.aspx?FamilyId=75FEF59F-1B5E-49BC-A21A-9EF4F34DE6FC&displaylang=en
--
Ginny Caughey
Device Application Development MVP
Post by Boomer24
Hi everyone,
I have a fairly "high level" question and I am hoping that you can point
me in the right direction and save me a lot of time.
I have a fairly sophisticated WM app written in eVB. It uses a lot of
data (large customer, inventory and order tables). It synchronizes with
my customers' Microsoft SQL 2000 Server using SQL CE and the whole "push"
and "pull" model.
Now, I wish to rewrite the app into the .NET CF but functionally it should
be the same. The user should be able to "sync" their PDA when in the
building or via VPN which sends data they have collected/produced on the
PDA to the main system as well as provides them with updated information
from the main system. The app can then make use of this updated data
offline not requiring a connection.
Now the million dollar question: What tools should I be looking at to
accomplish this in .NET CF?
Best regards,
Boomer24
Richard Grier
2008-08-26 18:17:40 UTC
Permalink
Hi,

You should be able to do this using VB .NET (Standard or higher), and SQL
Server Compact Edition. Here is a link that should help to get you started.
http://www.devx.com/MicrosoftISV/Article/34341

Dick
--
Richard Grier
Hard & Software
www.hardandsoftware.net

Author of Visual Basic Programmer's Guide to Serial Communications, 4th
Edition. Revised June, 2006.
Mehmet AVSAR
2008-08-27 13:37:31 UTC
Permalink
Accessing directly to desktop SQL Server seems a better option if you have
an complicated business logic.
Post by Boomer24
Hi everyone,
I have a fairly "high level" question and I am hoping that you can point
me in the right direction and save me a lot of time.
I have a fairly sophisticated WM app written in eVB. It uses a lot of
data (large customer, inventory and order tables). It synchronizes with
my customers' Microsoft SQL 2000 Server using SQL CE and the whole "push"
and "pull" model.
Now, I wish to rewrite the app into the .NET CF but functionally it should
be the same. The user should be able to "sync" their PDA when in the
building or via VPN which sends data they have collected/produced on the
PDA to the main system as well as provides them with updated information
from the main system. The app can then make use of this updated data
offline not requiring a connection.
Now the million dollar question: What tools should I be looking at to
accomplish this in .NET CF?
Best regards,
Boomer24
Paul G. Tobey [eMVP]
2008-08-27 15:37:44 UTC
Permalink
The problem with directly accessing the server to get/set data is, what
happens when the network is down? If you don't have to worry about the
network ever going down, yes, directly accessing the server data is simpler.
If the network might go down, you really need a local copy of the data or
you can't keep doing work, so merge replication is a better choice.

Paul T.
Post by Mehmet AVSAR
Accessing directly to desktop SQL Server seems a better option if you have
an complicated business logic.
Post by Boomer24
Hi everyone,
I have a fairly "high level" question and I am hoping that you can point
me in the right direction and save me a lot of time.
I have a fairly sophisticated WM app written in eVB. It uses a lot of
data (large customer, inventory and order tables). It synchronizes with
my customers' Microsoft SQL 2000 Server using SQL CE and the whole "push"
and "pull" model.
Now, I wish to rewrite the app into the .NET CF but functionally it
should be the same. The user should be able to "sync" their PDA when in
the building or via VPN which sends data they have collected/produced on
the PDA to the main system as well as provides them with updated
information from the main system. The app can then make use of this
updated data offline not requiring a connection.
Now the million dollar question: What tools should I be looking at to
accomplish this in .NET CF?
Best regards,
Boomer24
Boomer24
2008-08-29 13:14:48 UTC
Permalink
It isn't so much an issue of "what if the network goes down" as much as it
is an issue that there is a requirement to take the data offsite away from
the network.



The application is that of salespersons visiting the customer's site (all
across the country) and taking new orders. The salesperson requires
up-to-date inventory availability information and we need to get a copy of
the salespersons' orders.



As the inventory is quite large and item lookup needs to be fast I have been
using SQL CE on the mobile devices in my current eVB app. However currently
the salesperson requires VPN access to our LAN to sync his PDA. I wish to
eliminate that requirement so that they only require internet access. Would
it be possible to have some kind of interface on my web server (which in
turn has access to my in-house SQL server) that would accept the orders and
publish new inventory?



I can do this with a couple of "classic ASP" files and an HTTP "post" to
send orders but I don't know if this is the best way.



Please advise.



Boomer24



"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT
Post by Paul G. Tobey [eMVP]
The problem with directly accessing the server to get/set data is, what
happens when the network is down? If you don't have to worry about the
network ever going down, yes, directly accessing the server data is
simpler. If the network might go down, you really need a local copy of the
data or you can't keep doing work, so merge replication is a better
choice.
Paul T.
Post by Mehmet AVSAR
Accessing directly to desktop SQL Server seems a better option if you
have an complicated business logic.
Post by Boomer24
Hi everyone,
I have a fairly "high level" question and I am hoping that you can point
me in the right direction and save me a lot of time.
I have a fairly sophisticated WM app written in eVB. It uses a lot of
data (large customer, inventory and order tables). It synchronizes with
my customers' Microsoft SQL 2000 Server using SQL CE and the whole
"push" and "pull" model.
Now, I wish to rewrite the app into the .NET CF but functionally it
should be the same. The user should be able to "sync" their PDA when in
the building or via VPN which sends data they have collected/produced on
the PDA to the main system as well as provides them with updated
information from the main system. The app can then make use of this
updated data offline not requiring a connection.
Now the million dollar question: What tools should I be looking at to
accomplish this in .NET CF?
Best regards,
Boomer24
Chris Tacke, eMVP
2008-08-29 13:38:06 UTC
Permalink
A Web Service would work, but then so would direct access to the server
still if it's got a publicly accessible address. You could always port
forward the SQL port (I suggest changing it away from the default) right to
the box from some other public server (like the web server).
--
Chris Tacke, Embedded MVP
OpenNETCF Consulting
Giving back to the embedded community
http://community.OpenNETCF.com
Post by Boomer24
It isn't so much an issue of "what if the network goes down" as much as it
is an issue that there is a requirement to take the data offsite away from
the network.
The application is that of salespersons visiting the customer's site (all
across the country) and taking new orders. The salesperson requires
up-to-date inventory availability information and we need to get a copy of
the salespersons' orders.
As the inventory is quite large and item lookup needs to be fast I have
been using SQL CE on the mobile devices in my current eVB app. However
currently the salesperson requires VPN access to our LAN to sync his PDA.
I wish to eliminate that requirement so that they only require internet
access. Would it be possible to have some kind of interface on my web
server (which in turn has access to my in-house SQL server) that would
accept the orders and publish new inventory?
I can do this with a couple of "classic ASP" files and an HTTP "post" to
send orders but I don't know if this is the best way.
Please advise.
Boomer24
"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT
Post by Paul G. Tobey [eMVP]
The problem with directly accessing the server to get/set data is, what
happens when the network is down? If you don't have to worry about the
network ever going down, yes, directly accessing the server data is
simpler. If the network might go down, you really need a local copy of
the data or you can't keep doing work, so merge replication is a better
choice.
Paul T.
Post by Mehmet AVSAR
Accessing directly to desktop SQL Server seems a better option if you
have an complicated business logic.
Post by Boomer24
Hi everyone,
I have a fairly "high level" question and I am hoping that you can
point me in the right direction and save me a lot of time.
I have a fairly sophisticated WM app written in eVB. It uses a lot of
data (large customer, inventory and order tables). It synchronizes
with my customers' Microsoft SQL 2000 Server using SQL CE and the whole
"push" and "pull" model.
Now, I wish to rewrite the app into the .NET CF but functionally it
should be the same. The user should be able to "sync" their PDA when
in the building or via VPN which sends data they have
collected/produced on the PDA to the main system as well as provides
them with updated information from the main system. The app can then
make use of this updated data offline not requiring a connection.
Now the million dollar question: What tools should I be looking at to
accomplish this in .NET CF?
Best regards,
Boomer24
Paul G. Tobey [eMVP]
2008-09-02 15:54:37 UTC
Permalink
The network is effectively 'down' when you're not connected to it,
regardless of 'why'.

SQL CE 3.5 merge replication would normally go through an IIS Web server
anyway (and there's a suitable shim that comes with SQL Server that does
this; I use SQLCE 3.5 and SQL Server 2005). You create a new virtual
directory on the Web server, while stepping through a wizard in the SQL
Management Studio for that purpose. As long as your Web server is
accessible outside the building, you should be able to merge with the main
database from anywhere. Of course, this makes security much more-pressing
and your IT department should be very concerned, but yes, it's possible.
The SQL Server 2005 documentation allowed me to do this in a day or two, so
I'd say it's reasonably well-documented.

Paul T.
Post by Boomer24
It isn't so much an issue of "what if the network goes down" as much as it
is an issue that there is a requirement to take the data offsite away from
the network.
The application is that of salespersons visiting the customer's site (all
across the country) and taking new orders. The salesperson requires
up-to-date inventory availability information and we need to get a copy of
the salespersons' orders.
As the inventory is quite large and item lookup needs to be fast I have
been using SQL CE on the mobile devices in my current eVB app. However
currently the salesperson requires VPN access to our LAN to sync his PDA.
I wish to eliminate that requirement so that they only require internet
access. Would it be possible to have some kind of interface on my web
server (which in turn has access to my in-house SQL server) that would
accept the orders and publish new inventory?
I can do this with a couple of "classic ASP" files and an HTTP "post" to
send orders but I don't know if this is the best way.
Please advise.
Boomer24
"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT
Post by Paul G. Tobey [eMVP]
The problem with directly accessing the server to get/set data is, what
happens when the network is down? If you don't have to worry about the
network ever going down, yes, directly accessing the server data is
simpler. If the network might go down, you really need a local copy of
the data or you can't keep doing work, so merge replication is a better
choice.
Paul T.
Post by Mehmet AVSAR
Accessing directly to desktop SQL Server seems a better option if you
have an complicated business logic.
Post by Boomer24
Hi everyone,
I have a fairly "high level" question and I am hoping that you can
point me in the right direction and save me a lot of time.
I have a fairly sophisticated WM app written in eVB. It uses a lot of
data (large customer, inventory and order tables). It synchronizes
with my customers' Microsoft SQL 2000 Server using SQL CE and the whole
"push" and "pull" model.
Now, I wish to rewrite the app into the .NET CF but functionally it
should be the same. The user should be able to "sync" their PDA when
in the building or via VPN which sends data they have
collected/produced on the PDA to the main system as well as provides
them with updated information from the main system. The app can then
make use of this updated data offline not requiring a connection.
Now the million dollar question: What tools should I be looking at to
accomplish this in .NET CF?
Best regards,
Boomer24
Boomer24
2008-09-08 15:59:06 UTC
Permalink
Hi Paul,



Thanks for the info. I am both the developer and the IT department :-)



The company is running SQL Server 2000 SP4 (Standard Edition). Currently we
are using SLQ CE 2.0. I remember doing the setup of the virtual root on
IIS. However I am a little unclear what I need to download to install this
"shim" (as you called it) for SQL CE 3.5. Or is this only a SQL Server 2008
product?



If I want to write an Windows Mobile app targeting WM 5 and WM 6 using the
most current version of SQLCE that I can with using SQL 2000 on the back end
what versions am I looking at?



Thanks,



Boomer24



"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT
Post by Paul G. Tobey [eMVP]
The network is effectively 'down' when you're not connected to it,
regardless of 'why'.
SQL CE 3.5 merge replication would normally go through an IIS Web server
anyway (and there's a suitable shim that comes with SQL Server that does
this; I use SQLCE 3.5 and SQL Server 2005). You create a new virtual
directory on the Web server, while stepping through a wizard in the SQL
Management Studio for that purpose. As long as your Web server is
accessible outside the building, you should be able to merge with the main
database from anywhere. Of course, this makes security much more-pressing
and your IT department should be very concerned, but yes, it's possible.
The SQL Server 2005 documentation allowed me to do this in a day or two,
so I'd say it's reasonably well-documented.
Paul T.
Post by Boomer24
It isn't so much an issue of "what if the network goes down" as much as
it is an issue that there is a requirement to take the data offsite away
from the network.
The application is that of salespersons visiting the customer's site (all
across the country) and taking new orders. The salesperson requires
up-to-date inventory availability information and we need to get a copy
of the salespersons' orders.
As the inventory is quite large and item lookup needs to be fast I have
been using SQL CE on the mobile devices in my current eVB app. However
currently the salesperson requires VPN access to our LAN to sync his PDA.
I wish to eliminate that requirement so that they only require internet
access. Would it be possible to have some kind of interface on my web
server (which in turn has access to my in-house SQL server) that would
accept the orders and publish new inventory?
I can do this with a couple of "classic ASP" files and an HTTP "post" to
send orders but I don't know if this is the best way.
Please advise.
Boomer24
"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam
Post by Paul G. Tobey [eMVP]
The problem with directly accessing the server to get/set data is, what
happens when the network is down? If you don't have to worry about the
network ever going down, yes, directly accessing the server data is
simpler. If the network might go down, you really need a local copy of
the data or you can't keep doing work, so merge replication is a better
choice.
Paul T.
Post by Mehmet AVSAR
Accessing directly to desktop SQL Server seems a better option if you
have an complicated business logic.
Post by Boomer24
Hi everyone,
I have a fairly "high level" question and I am hoping that you can
point me in the right direction and save me a lot of time.
I have a fairly sophisticated WM app written in eVB. It uses a lot of
data (large customer, inventory and order tables). It synchronizes
with my customers' Microsoft SQL 2000 Server using SQL CE and the
whole "push" and "pull" model.
Now, I wish to rewrite the app into the .NET CF but functionally it
should be the same. The user should be able to "sync" their PDA when
in the building or via VPN which sends data they have
collected/produced on the PDA to the main system as well as provides
them with updated information from the main system. The app can then
make use of this updated data offline not requiring a connection.
Now the million dollar question: What tools should I be looking at to
accomplish this in .NET CF?
Best regards,
Boomer24
Paul G. Tobey [eMVP]
2008-09-08 16:20:52 UTC
Permalink
Post by Boomer24
The company is running SQL Server 2000 SP4 (Standard Edition). Currently
we are using SLQ CE 2.0. I remember doing the setup of the virtual root
on IIS. However I am a little unclear what I need to download to install
this "shim" (as you called it) for SQL CE 3.5. Or is this only a SQL
Server 2008 product?
No, I haven't started using SQL Server 2008, yet. It exists for SQL Server
2005 and can be found here:

http://www.microsoft.com/downloads/details.aspx?FamilyID=7849b34f-67ab-481f-a5a5-4990597b0297&DisplayLang=en


I would presume that there is something similar for SQL CE 2.0, but I've
never used it.
Post by Boomer24
If I want to write an Windows Mobile app targeting WM 5 and WM 6 using the
most current version of SQLCE that I can with using SQL 2000 on the back
end what versions am I looking at?
I'm not sure that SQL Server 2000 will do what you want. I seem to recall
that it won't, but probably read that in some message that I'll never find
again. Web search is your best chance of finding information, or you could
just try it.

Paul T.
Boomer24
2008-09-08 16:57:20 UTC
Permalink
The SQL Server 2000 part isn't going to change any time real soon :-( so I
am going to have to limit my version of SQL-CE to the most recent one
supported by SQL 2000.

Currently I have an eVB app that syncs using SQL-CE 2.0. Maybe this is as
far as I can go. I will see what I can figure out. Thanks for your help.

Boomer24


"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT
Post by Paul G. Tobey [eMVP]
I'm not sure that SQL Server 2000 will do what you want. I seem to recall
that it won't, but probably read that in some message that I'll never find
again. Web search is your best chance of finding information, or you
could just try it.
Loading...