Browse by Tags

Tagged Content List
  • Blog Post: JSON Light Sample Payloads

    We recently put together a document that contains some of our thinking about JSON light as well as a whole slew of sample payloads. We would love to hear any feedback you have on the format; you can comment in the accompanying OneNote. We will be accepting public feedback on JSON light until May 4, 2012...
  • Blog Post: Relationship links

    Problem Statement OData (the protocol used by WCF Data Services) enables you to address the relationships between Entries. This functionality is required to be able to create or change a relationship between two instances, such as an Order_Detail that is related to a given Order. Currently the OData...
  • Blog Post: Design Notes: Row Count

    One of the scenarios we have heard feedback around is the ability for the a client of a data service to determine the total number of entities in a set without having to retrieve them all. The following video discusses this scenario in more detail and some of our thoughts regarding how to make the experience...
  • Blog Post: Alpha preview of Project Codename "Astoria Offline" coming soon

    As we already discussed in a previous blog post , one of the problem spaces related to data services we’d like to take on is synchronization-capable services, enabling offline scenarios. We’re still in the early stages of the project, where direction can be adjusted and good feedback can...
  • Blog Post: Astoria futures: offline-enabled data services

    We mentioned that we were doing some early thinking of “Astoria Offline” back in Mix 2008, where we even demo’ed an early proof of concept. Now we’ve been working on various design aspects of Data Services for its future versions, and synchronization/offline support is one of...
  • Blog Post: Making Feeds Friendly

    The goal of Astoria in V1 is to easily expose a data source using the REST approach to the web (with support for concurrency, versioning, auth, etc).  In general, the way we think about serialization formats (ie. how we represent entites on the wire) is that they are a tool and an application will...
  • Blog Post: Merge vs. Replace Semantics for Update Operations

    So far Astoria has used “merge” semantics for update. That is, an “update” operation (an HTTP PUT request) replaces the values of the properties for the target entity that are specified in the input payload; this applies both to properties and links. If a property or link is not present in a PUT operation...
  • Blog Post: Optimistic Concurrency & Data Services

    Different applications have different requirements around consistency and how concurrent modifications are handled. I’ll oversimplify and put all these applications in two buckets: either you care about controlling concurrent changes or you don’t. If you’re creating a REST interface to your data and...
  • Blog Post: IUpdatable & ADO.NET Data Services Framework

    Astoria service allows reading/querying of data via the already-established IQueryable interface – this helps in abstracting Astoria from the underlying data source. But there is no existing interface for the update operations (CUD – create, update, delete operations). Hence we came up with IUpdatable...
  • Blog Post: Batching Data Service Requests

    We have received a fair amount of feedback regarding a number of use cases where it would be beneficial to enable a client of a data service to “batch” up a group of operations and send them to the data service in a single HTTP request . This reduces the number of roundtrips to the data service for apps...
  • Blog Post: Looking for feedback: query caching in data services

    (sorry, tricky problem -> long write-up) One of the few things pending in the server library of the ADO.NET Data Services Framework is query caching to help with performance. Here is a brief explanation of why we needed and a couple of design options. Feedback is welcome. Query processing in Astoria...
  • Blog Post: Related entries and feeds: links and link expansion

    While going through application scenarios for the ADO.NET Data Services Framework (Project Astoria) one of the first things we noticed is that data-centric applications usually want to bring down graphs of related resources in each interaction with the server. For example, if you are retrieving a resource...
  • Blog Post: AtomPub support in the ADO.NET Data Services Framework

    We have been looking for the last few months at adding first-class support for AtomPub to Project Astoria (we briefly touched on it before here ). We are at a point where we have some parts of the AtomPub story and their initial implementation running (and we'll share fresh experimental bits soon), some...
  • Blog Post: Design Notes: URI Containment in Astoria

    Problem statement Today in Astoria if you have two entity types that are functionally in a containment relationship, you still see a top-level entity set for the instances of the contained type, and further the URLs for instances of the contained types that go through the parent type contain redundant...
  • Blog Post: ADO.NET Data Services Dec2007 CTP - Validation and Access Control

    Note: This post refers to the CTP available here . When building frameworks to expose and consume data on the web, access policy and data validation are always one of the first topics discussed during the design process, at conferences, etc. Given this, we thought the topic would be a good one to kick...
  • Blog Post: Astoria data sources and system layering

    The question is: what data sources should Astoria support as inputs? Should we allow ADO.NET Entity Framework only or open up more? If we open up more, how does the system need to be layered to enable the use of those alternate data sources? Let me step back for a second first and establish why certain...
  • Blog Post: URI Format - Part 1 - Addressing resources using URI path segments

    Deciding on something that becomes a public interface of a developer-oriented technology is a tricky task. Not only does the resulting design need to be correct and complete, but also there are various aspects that are more around aesthetics and personal preference. The URI format used by Astoria will...
  • Blog Post: Astoria Design: payload formats

    The goal of Astoria is to make data available to loosely coupled systems for querying and manipulation. In order to do that we need to use protocols that define the interaction model between the producer and the consumer of that data, and of course we have to serialize the data in some form that all...
Page 1 of 1 (18 items)