none
.NET Application in a Citrix Environment RRS feed

  • Question

  • We would like to write a new Application for our small Company in a Citrix Environment (User 50+). This Application almost imports Datas from a Sybase or MS SQL Database to an Excel Sheet and process the Data's in Excel or other calculations.

    We would like to add new Functionalities (not at the same time) that means each Developer should be able to extend the Application without deploying the whole Application to an exe-File.


    Would a plugin based .net Application be a solution? Or a Smart Client with Webservices?

     

    Furthermore it should be

    - Programming-Language-independent

    - Centrally installed and for everyone accessible (in Citrix Environment

    - Active Directory based would be a big advantage to give rights for the users.

     

     

    I am happy for any suggestions.

     

    Lionel

    Friday, February 22, 2008 2:33 PM

Answers

  •  

    Hi Faaip,

    seems like what you need is achievable (easily or hardly depending on your skills and background with decoupled applications)

     

    Basing your application in .NET is a really good option, given the features you told the app must accomplish. Let's revise those and comment beside:

     

    • Extensibility: you wanted your coders adding new functionality without the need of redelivering a single .EXE each time. Let me tell you that your requirement was largerly solved even before the irruption of .NET and Java technologies. You just need to aggregate your functionalities into diffferent, granular assemblies (i.e. dlls)
      Architecturally speaking you may apply the Strategy design pattern (strongly based on interface-based programming), using a dependency injection container (i.e. Spring, EntLib, CastleProject, etc) to weave strategy implementations with strategy consumers (the later ones agnostic of the former ones)
      About your question of using Smart Client + Web Services, if the motivation is just avoiding the delivery of a single .exe file, I'd actually avoid this approach : Web Services are a fabulous way to distribute functionalities among different tiers but you pay a latency time as you consume those services, and also you must handle other issues like atomicity, access authorization, etc. A high price if your original goal was just importing/exporting data from a DB into a spreadsheet
    • Language Independent: while .NET gives you more degrees of freedom, that's partially true (therefore, partially false). You may code in VB.NET, C#, F#, etc, but not in, let's say, Java 1.6
    • Centrally installed: Citrix takes care of that and there's nothing in .NET threating such requirement
    • Active Directory-based: you are covered if you go with .NET. Take a look here
    Thursday, March 27, 2008 9:19 PM

All replies

  • Does noone have a solution?

    I would be happy for every tip.

    Thank you so much.
    Lionel
    Friday, February 29, 2008 8:02 AM
  •  

    Hi Faaip,

    seems like what you need is achievable (easily or hardly depending on your skills and background with decoupled applications)

     

    Basing your application in .NET is a really good option, given the features you told the app must accomplish. Let's revise those and comment beside:

     

    • Extensibility: you wanted your coders adding new functionality without the need of redelivering a single .EXE each time. Let me tell you that your requirement was largerly solved even before the irruption of .NET and Java technologies. You just need to aggregate your functionalities into diffferent, granular assemblies (i.e. dlls)
      Architecturally speaking you may apply the Strategy design pattern (strongly based on interface-based programming), using a dependency injection container (i.e. Spring, EntLib, CastleProject, etc) to weave strategy implementations with strategy consumers (the later ones agnostic of the former ones)
      About your question of using Smart Client + Web Services, if the motivation is just avoiding the delivery of a single .exe file, I'd actually avoid this approach : Web Services are a fabulous way to distribute functionalities among different tiers but you pay a latency time as you consume those services, and also you must handle other issues like atomicity, access authorization, etc. A high price if your original goal was just importing/exporting data from a DB into a spreadsheet
    • Language Independent: while .NET gives you more degrees of freedom, that's partially true (therefore, partially false). You may code in VB.NET, C#, F#, etc, but not in, let's say, Java 1.6
    • Centrally installed: Citrix takes care of that and there's nothing in .NET threating such requirement
    • Active Directory-based: you are covered if you go with .NET. Take a look here
    Thursday, March 27, 2008 9:19 PM