none
How to move ahead with this architecture RRS feed

  • Question

  • Hi,
        I've client who want an application that is capable of running in desktop as well as web-application. With desktop users, they won't get connected to internet always and hence their database needs to be maintained locally and every week uploaded to a centralised database server on Internet. With web-users things are as straight-forward as with other web-application.
       Now, the situation here is either I develop two versions(desktop and web), maintaining which will be a great pain and client might not agree for that much funding. We will be using SQL Server DE 2005 for desktop application while web-app will be SQL enterprise server 2005.
        Below are my doubts:
        A. Is it possible that I create a desktop application in WPF and it will be able to run on web also, assumin all web-users will be having IE 7 installed on their machine.
        B. Is there any other way?
        C. Also, how can I synchronize the data bewtween desktop application and database server on Internet, assuming I don't want to create a utility to do the job?


    Regards.
    Sunday, November 23, 2008 11:03 AM

Answers

  • Here are some of my suggestions...

     

    Use SQL Server CE (Compact edition) on your clients.

    Could use replication to keep your local and central database in sync.

    Are your web clients controlled machines, means is it whole wide world or a controlled set of users (This would give you an idea of whether your UX should be WPF or Silverlight...)  I would use silverlight instead of WPF, because Silverlight is better positioned to run on inside a browser.

    Use ClickOnce deployment to push upgrades to your desktop clients.

     

    On a final note, could you use application virtualization like softgrid (Microsoft), Citrix or Thinstall (VMWare) for your desktop users...

     

    { Gaja; }

    http://gajakannan.com/netarch.aspx

    Monday, November 24, 2008 2:19 AM
  • Hi,

     For this kind of application designing microsft introduced an new frame work called "
    Microsoft Sync Framework".
    This frame work mainly help the disconnected as well as  multiple platform integration.
    More Detail on http://msdn.microsoft.com/en-us/sync/bb821992.aspx .

    Regards,
    Pramod
    Monday, November 24, 2008 6:33 AM
  • Hi,

     

    I would say WPF is better option as compare to silver light. WPF can be deployed as a standalone desktop application and also XAML Browser application. So it will satisfy the need of desktop as well as web users.

     

    Application layer can be implemented by using WCF and exposed services will be accessible to all UI layers.

     

    Developing a utility for synchronizing data seems more controlled option. Also if you have WCF services layer its development will take less time.

     

    Thanks,

    Attiq

    Tuesday, November 25, 2008 9:20 PM

All replies

  • Here are some of my suggestions...

     

    Use SQL Server CE (Compact edition) on your clients.

    Could use replication to keep your local and central database in sync.

    Are your web clients controlled machines, means is it whole wide world or a controlled set of users (This would give you an idea of whether your UX should be WPF or Silverlight...)  I would use silverlight instead of WPF, because Silverlight is better positioned to run on inside a browser.

    Use ClickOnce deployment to push upgrades to your desktop clients.

     

    On a final note, could you use application virtualization like softgrid (Microsoft), Citrix or Thinstall (VMWare) for your desktop users...

     

    { Gaja; }

    http://gajakannan.com/netarch.aspx

    Monday, November 24, 2008 2:19 AM
  • Hi,

     For this kind of application designing microsft introduced an new frame work called "
    Microsoft Sync Framework".
    This frame work mainly help the disconnected as well as  multiple platform integration.
    More Detail on http://msdn.microsoft.com/en-us/sync/bb821992.aspx .

    Regards,
    Pramod
    Monday, November 24, 2008 6:33 AM
  • i'll update after going through the materials and options.
    Monday, November 24, 2008 10:11 PM
  • Hi,

     

    I would say WPF is better option as compare to silver light. WPF can be deployed as a standalone desktop application and also XAML Browser application. So it will satisfy the need of desktop as well as web users.

     

    Application layer can be implemented by using WCF and exposed services will be accessible to all UI layers.

     

    Developing a utility for synchronizing data seems more controlled option. Also if you have WCF services layer its development will take less time.

     

    Thanks,

    Attiq

    Tuesday, November 25, 2008 9:20 PM
  • Hi Attiq,
        Thanks for reply but WCF won't be useful in disconnected environment and also it being a product that my client is willing to sell to other peoples, I can't use all the possible options, since cost and maintenance also add up to project budget.
    Tuesday, December 2, 2008 9:45 PM