locked
Need help or Architecture RRS feed

  • Question

  •  

    Hello Guru's,

     

    We are trying to design an Offline Work Flow Application.

    The scenario is like this.

    We should have a web application, which has as a work flow in built. When the users logon they should see the work assigned to them and should able to download the work and after that with out even internet connection they should able to complete their work locally on their PC. And once the Work is completed it should synchronise the central database.

     

    I was wondering if you guys give me some kind of possible architectures and the best suitable technology to use.

     

    Thanx in advance.....

    Dev.

    Friday, August 1, 2008 7:58 PM

Answers

  • You would have one application that has some pieces that are offline functionality and some are online functionality.  For example the inbox is online (workflow), but individual work items are offline, when the work is complete you would upload the changes to online database.

     

    You could do this multiple ways...

    One of the way I have done in the past (technology is old, so I changed to newer .NET 3.5) is below...

     

    One web application (has inbox) look at this link for inspiration (http://netfx3.com/files/folders/wf_samples/entry13384.aspx)

     

    When the user clicks each workitem it will use local database to persist information(I have used xml as database because it is only individual line items information so no need for full fledged database, depending on your need you could use SQL server compact edition).  All the dlls needed for the local application is installed in the local machine (look at this link for inspiration on how to manage the local installs http://msdn.microsoft.com/en-us/library/bb384436.aspx)

     

    when the work is complete the Finish/Submit button transmits the data in xml to the server database (and we removed the xml as per our requirement).

     

    Hope this explanation helps.  If you need more details on any specific requirements ask.

     

    Monday, August 4, 2008 1:45 PM

All replies

  • Sounds like a job for Sharepoint and/or it's live equivalent http://smallbusiness.officelive.com/. It's designed for workflow integration with office docs.

    Workflow Foundation and Infopath are also worth looking at if you don't fancy Sharepoint.


    Sunday, August 3, 2008 10:21 AM
  • You would have one application that has some pieces that are offline functionality and some are online functionality.  For example the inbox is online (workflow), but individual work items are offline, when the work is complete you would upload the changes to online database.

     

    You could do this multiple ways...

    One of the way I have done in the past (technology is old, so I changed to newer .NET 3.5) is below...

     

    One web application (has inbox) look at this link for inspiration (http://netfx3.com/files/folders/wf_samples/entry13384.aspx)

     

    When the user clicks each workitem it will use local database to persist information(I have used xml as database because it is only individual line items information so no need for full fledged database, depending on your need you could use SQL server compact edition).  All the dlls needed for the local application is installed in the local machine (look at this link for inspiration on how to manage the local installs http://msdn.microsoft.com/en-us/library/bb384436.aspx)

     

    when the work is complete the Finish/Submit button transmits the data in xml to the server database (and we removed the xml as per our requirement).

     

    Hope this explanation helps.  If you need more details on any specific requirements ask.

     

    Monday, August 4, 2008 1:45 PM
  • Hi Gaja,

     

    Thanks for sharing the thoughts. This really helped us to think in a different direction.

     

    -Dev

    Monday, August 4, 2008 3:15 PM
  • I would look at Sharepoint.

    Wednesday, August 6, 2008 11:10 AM
  •  Andrew Sword wrote:

    I would look at Sharepoint.

     

    I am not sure why Sharepoint (A Portal framework) is being suggested as a solution for online/offline type solution.  Portal framework/applications is not meant for that.

    I am curious to know why you are suggesting this.
    Wednesday, August 6, 2008 2:33 PM
  • Sharepoint isn't just a portal framework, it's spread it's wings to (try) and be an Office workflow system too. Hence major chunks of it are delivered with Office in mind. It's using WF under the hood and provides some simlple workflow editors for you. If your systems are quite simple it sounds like a good idea. They would argue that is still true for more complex systems since you can add applications to it. Take a look at something like http://dev.officelive.com/US/Pages/Training.aspx to see how the on-line variant is pushing itself.
    Wednesday, August 6, 2008 3:59 PM
  • Pkr,

         I know about Sharepoint's MOSS offering.  But what the initiator of this thread requested is "Offline/Web Workflow application", not "Office workflow application".  Hence I have a hard time understanding how "Office workflow" is going to help/morph as "Offline workflow" solution.

     

         Based on my knowledge about Sharepoint (as portal and MOSS) it is quite a stretch to use it for "Offline Workflow Application", unless I missed new features released in the past 2/3 months to have that capability in SharePoint.

     

     

    Wednesday, August 6, 2008 5:10 PM
  • Hi Gaja,

     

    Thanx for pointing to the post, yes according to Gaja i am looking for an application which has both WEB/OFFLINE functionality not limitted to Only MS office like word, excel etc, Which i can build a workflow out of this.

     

    My thooughts are like this.

     

    Build a Web Application with Admin, and some features. And another windows application (smart client) for offline. Smart client will have it's own Internal Database (it can be XML, SQL Express etc). When the user logs in it should syncronise the items/work/jobs etc locally, and periodically synchronise the Server using ADO.NET synchronisation.

     

    I was wondering is this a good solution or if there are some thing beter than this?

     

    Thanx & Regards

    Dev

    Wednesday, August 6, 2008 5:51 PM
  • I wasn't considering Sharepoint as anything other than using Office as the presentation/client tool, with or without infopath. If you don't want to use Office then I certainly wouldn't leap on the Sharepoint bandwagon. So no I don't think you've missed anything unless I have too Wink Sorry for any misdirection.

    If you want a client that sync' data then the sync' framework would certainly be a good technology to look at (I'd look at SQL Compact BTW). WF on the server would probably be fine, although you could use WF on the client too but I guess that's not why you were considering WF? I would be tempted to suggest Silverlight, but its simply too new (a bit of an odd cache story) to use in it's offline guise.


     
    Wednesday, August 6, 2008 8:36 PM
  • Dev,

    You dont really need to build two solutions...  One application (WPF/WinForms/etc.,) that has both online and offline capabilities.  When you need online capabilities the application would use WCF based webservice or server store and when it needs online capabilities and offline you already got it...

    Wednesday, August 6, 2008 10:09 PM
  • Instead of building an offline framework from scratch, consider taking a look at
    Smart Client Offline Application Block
    http://msdn.microsoft.com/en-us/library/ms998454.aspx

    Got to admit, I havent read it though. But thought it might give you design pointers if it is
    not usable as is.

    regards
    Ganesh

    Thursday, August 14, 2008 1:49 PM