Smart client application in .NET CF

R

Reinhold Schalk

Hello,
i have a question concerning the implementation of a smart client
application in .NET CF.
I want the following to do: i would like to have the same code running as
"stand-alone" application and as "distributed application", that means i
want to be able to distribute for example the business layer or the database
layer optionally to the server. The Microsoft solution is web services. If
i have a computer running the full .net framework and a web server, that is
able to host asmx, that's no problem. But what on the mobile device.
I can't find any good solution for this problem. Every way leads to changes
in my code, if i want to distribute a layer to a server.
Does anybody have the same problem or any suggestions?
How do you design and implement the interfaces between the layers of a smart
client app?

Many thanks in advance
Reinhold
 
J

Jonathan Wells [msft]

Hi Reinhold,

In most case assemblies that you build to run against .NET Compact Framework
will run against the full .NET Compact Framework. So it is possible to build
some assemblies that contain middle tier business logic and distribute the
same binary to a device or desktop / server machine. I'm not sure whether or
not this answers your question or not. Are you looking to for code reuse or
something else?

j
--
Jonathan Wells
Product Manager
..NET Compact Framework
Check out the .NET Compact Framework FAQ at:
http://msdn.microsoft.com/mobility/prodtechinfo/devtools/netcf/FAQ/default.aspx

This posting is provided "AS IS" with no warranties, and confers no rights.
 
R

Reinhold Schalk

Hello Jonathan,
thanks for your reply.
Code reuse is only one aspect, we're wishing to achieve.
I think one goal is to build the application as "flexible" as possible.
Consider the following: If you have a rather new pocket pc, you possibly do
have enough resources to run a "stand-alone" application, that means all
your assemblies are installed on the device (and perhaps the needed data
(e.g. SSCE)). Next case could be a customer, who has a "resource-contraint"
smart-phone. Assumed the .NET CF is available for this device, it could
make sense only to have the presentation-layer (UI) running on this device
and having the business-layer and the data lying on the server-side. A
smart-phone does have the connection possibilities "by design".
What i want to achieve is to use exact the same assemblies. I do not want
my application to be modified (except perhaps some config-files).
So i'm looking for a way to do a "service-oriented" communication between
the layer. Web Services is not a good solution, because i currently do not
have a web server that is able to host web services on a small device.
(perhaps in the future).

So it's another apsect of "code -reuse": not against the full framework, but
against different devices an different "deployment scenarios".

Many Thanks
Reinhold
 
J

Jonathan Wells [msft]

Hmmm... You may find the Pocket TaskVision sample interesting:
http://msdn.microsoft.com/mobility/...ry/en-us/dnnetcomp/html/wnf_pkttaskvision.asp

This sample defines an interface that abstracts the application's data
access logic. Two classes then implement the the interface, one for local
data access (SQL Server CE) and another for direct SQL Server access. I'm
not sure that this is exactly what you are after but it may give you some
ideas.

For an alternative to Web services check out this article:
Building a Lightweight Message-Passing System

http://msdn.microsoft.com/library/en-us/dncscol/html/csharp09182003.asp

-j
--
Jonathan Wells
Product Manager
..NET Compact Framework
Check out the .NET Compact Framework FAQ at:
http://msdn.microsoft.com/mobility/prodtechinfo/devtools/netcf/FAQ/default.aspx

This posting is provided "AS IS" with no warranties, and confers no rights.
 
R

Reinhold Schalk

Hi Jonathan,
many thanks for your reply.
i will look at the msdn articles. Perhaps i can gain some ideas...
Do you know wether there are plans about a web server being able to host web
services and asp.net running on "smart devices", that means pocket pc and
smart-phones? (I guess what's required as condition is, that the classes and
interfaces concerning hosting of the clr are available, which are currently
not implemented in .NET CF).

Thanks
Reinhold
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top