none
Communication server (com-port) design/architecture question RRS feed

  • Question

  • I am willing to create an application which interacts with several serial port protocols. I am investigating the various possibilities within the .NET architecture.
    At the presentation layer the following client types will be used:

    - Web based application (ASP.NET MVC?)
    - Windows Forms GUI Based application (WPF?)

    Within the backend of the application I would like to do the following (this is where I have some doubts about):

    - An application which runs constantly in the background to process data coming from the serial protocol(s). Is it a good idea to use WCF? Or should I go with a regular Windows Service application? What are the pro's and con's?
    - What's recommend to use for data access, should I use ADO.NET considering both the asp.net/wpf and wcf(?) need access to the same data. I want to use SQL Express 2008 R2 as database platform.

    Apart from these doubts, I need to create a flexible framework so users/developers can create custom plugins implementing new serial port protocols. These plugins could incorporate custom UI elements (mainly asp.net pages) Any suggestions for that? I want to expose the data layer to these plugins as well.


    Maarten Damen -> www.maartendamen.com
    Thursday, September 30, 2010 11:24 AM

All replies

  • <!-- [if gte mso 10]> <mce:style>

    Hello there,

     Web Application : Please MVVM pattern with silver light technology using .net framework 4.0.

     Desktop Application : you can use MVP or MVVM design pattern along with wpf from the graphical user interface. For the design of sample screens  you can use expression blend from Microsoft.  I would suggest you to look to Prism framework and agile software methodology.

     For Different protocols: WCF will best technology for multiple protocols.

     Business layer : Please do create a business layer for your software applications, all the related activities should come here in business access layer.

     Data Access layer: You can use linq to sql or ado,net framework 3.4 or 4.0 for the database related operation  ie dal layer interacting with sql server database.

     Database : I would suggest you to use sql server 2008.

     For main server environment, I would suggest you to use suggest windows server 2008.

     Note : Please do us Team foundation Server for your project and follow strict guidelines in terms of  software design , coding , testing , factory testing  and  checking very works fine in customer environment as per customer requirments.

     

    For more clarity and technical guidance , please do contact Microsoft support directly

     

    Hope this helps.

      Veel geluk en alle goeds

     Regards,

    Phijo Mathew Philip.

     

     

     

     

     

     


    PHIJO MP
    Friday, October 1, 2010 10:53 AM
  • One recommendation at DAL(Data Access Layer) is to use LInQ to Entity via Entity Data Model template.  As the industry best practice, LInQ to SQL classes are not recommended for the enterprise application.
    Sunday, January 9, 2011 6:38 AM
  • One recommendation at DAL(Data Access Layer) is to use LInQ to Entity via Entity Data Model template.  As the industry best practice, LInQ to SQL classes are not recommended for the enterprise application.
    Sunday, January 9, 2011 6:41 AM
  • Well the first thing to ask is do you really mean what you've posted?

    What is it you're writing, where does it run, what do you imagine talking to it and how is a serial port involved?  Why are you not talking about HTTP or TCP?

    The most likely candidates are WCF or TCP/Sockets and which is best depends what you mean and what you want to do.  WCF seems the most likely since you can define an interface.  On the other hand it'd have nothing to do with serial port protocols and a lot more to do with TCP or HTTP.

    "New serial port protocols"

    That's a particularly worrying phrase.  What exactly would one of those be?

    Tuesday, January 11, 2011 8:45 AM