Print Page | Close Window

Architecture with services

Printed From: IdeaBlade
Category: DevForce
Forum Name: DevForce 2010
Forum Discription: For .NET 4.0
URL: http://www.ideablade.com/forum/forum_posts.asp?TID=2856
Printed Date: 17-Sep-2025 at 1:14am


Topic: Architecture with services
Posted By: GeertvanHorrik
Subject: Architecture with services
Date Posted: 01-Aug-2011 at 2:31am
We are currently investigating the right architecture for our software. We want to create a service that contains methods like we are used to using RIA services. Then, this service can be accessed by different types of client (WPF, Silverlight, WP7, iPhone, etc).
Now we implement a Repository (say customer) where all the queries are located in. How can we move the logic of this repository to the server as a service so we don't have to write the same query logic for each target device or framework?
 
Thanks in advance!



Replies:
Posted By: ting
Date Posted: 01-Aug-2011 at 7:30pm
The same DevForce domain model supports multiple client platforms, so let me describe a few components of the architecture and you can see what works best for you:
  1. DevForce exposes a generic WCF query service that takes an arbitrarily complex LINQ expression and returns serialized entities back to the client over the internet. This services supports any of the .NET platforms - WPF, Silverlight, Mono, and Windows Phone 7 (Mango).
  2. For non-.NET platforms, you can query for DevForce entities by using OData, an open XML service supported by the major platforms including Objective-C, Java, JavaScript, PHP, Ruby, and .NET. You can see the full list here ( http://www.odata.org/developers/odata-sdk - http://www.odata.org/developers/odata-sdk ). We have a tutorial here ( http://drc.ideablade.com/xwiki/bin/view/Documentation/odata-enable - http://drc.ideablade.com/xwiki/bin/view/Documentation/odata-enable ).
  3. If you want to define the query on the server instead of composing it on the client, you can use Named Queries in DevForce to do this ( http://drc.ideablade.com/xwiki/bin/view/Documentation/specialized-named-query - http://drc.ideablade.com/xwiki/bin/view/Documentation/specialized-named-query ). These named queries can be accessed using the EntityManager for .NET clients, or using OData for all other clients.
The named queries sound a lot like what you described, so definitely take a look at that. Hope this helps!




Print Page | Close Window