In October of last year we started to talk publicly about an exploration project we called “Astoria Offline”, we showed a working version of it at PDC 2008 and we said we would ship the experimental bits as soon as we could.
It ended up taking us longer than we thought to get a shipping package in reasonable shape (i.e. we had to clean up the bits, add docs/samples, etc). This delay was mostly because we were busy building the next version of the real product (the ADO.NET Data Services framework) we announced a few days ago.
I’m happy to announce that we finally posted the “Astoria Offline” bits in the download center. You can find the installer and readme here:
The installer includes a document that will guide you step-by-step through a first “Astoria Offline” application. If you’d like to hear “the pitch” that includes some context and an end-to-end demo, you can watch the PDC talk where we first discussed this project:
You just announced v1.5 CTP, what’s the relationship between these things?
I think it’s worth it describing how this alpha release relates to the ADO.NET Data Services v1.5 CTP we announced last week.
The v1.5 CTP represents the current state of the next version of ADO.NET Data Services. Modulo any features that may come and go, it will become the next official release that you’ll be able to use to create production solutions.
At the same time, while we build the next version, we continue to explore the space of data services and its ties to other technologies to provide value-added solutions. One of these exploration exercises is “Astoria Offline”. Only a few of these exploration exercises end up becoming products and even those that do usually are transformed a lot between the early days (where “Astoria Offline” is now) and their final form.
Frequently Asked Questions
Q: How solid is this preview?
A: Not at all :). This is an experimental release with the goal of engaging with our developer community and discussing the topic.
Q: Can I start building an application based on this preview, and then expect to able to port it to future versions?
A: We would recommend against that. This preview is better suited for experiments and prototyping. Future releases will most likely heavily differ from this one in many aspects as we learn lessons and as we receive and apply feedback from developers trying it out.
Q: Can I use this preview in a production application?
A: No, this release may not be used in production environments
Q: Do you know when are you going to ship another update?
A: We have no planned dates for an update at this time. We are currently heads down working on other near-term deliverables to address common requests from ADO.NET Data Services framework customers. Where go from here largely depends on your feedback, and may include significant changes in direction based on that feedback.
Q: Is this technology going to be present in the next version of ADO.NET Data Services and/or Visual Studio?
A: No. We are working on two fronts. One is the enhancements we want to make to the ADO.NET Data Services framework in the next release. The other is about long-term direction and exploration. Project Codename "Astoria Offline" falls into the second category.
Q: Where can I ask questions and send suggestions about this preview?
A: The best places are the Astoria Team Blog (http://blogs.msdn.com/astoriateam) and the ADO.NET Data Services forums (http://social.msdn.microsoft.com/Forums/en-US/dataservices/threads)
Q: Should I install this in my main computer? Will it affect other components?
A: While we made an effort to minimize the impact of this preview on what you already have installed, the install is not completely isolated. In particular, we renamed most assemblies that we modified so they would install side-by-side with the originals. However, that wasn't possible for all of them. On the same lines, we tried not to update existing registry entries but we're forced to do it for some settings. Bottom line is that we recommend that you try this preview in a test system, or in a Virtual PC so it doesn't interfere with your main system.
Q: I see that all the documentation and example focus on desktop applications. How about Silverlight? How about mobile devices?
A: This first round is focused on desktop applications as that was a more clearly-understood scenario. As we continue to look at the space we’ll certainly think about these other scenarios as well.
Q: The current bits use SQL Server Express as the local database on the client. Have you considered SQL Server Compact Edition?
A: Yes, definitely. We would have done support for both if we had had the time. For this first round we had to choose one, and SQL Server Express was an easier choice just because we could reuse infrastructure between client and server.
Looking forward to hear your thoughts.
Thank you for submitting this cool story - Trackback from DotNetShoutout
We announced two releases this week, kind of usual but it worked out this way. The first one is the first
Building an Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview:
Comme annoncé mais non montré aux Techdays 2009 car la version n'était malheureusement
Como de esto me va a tocar probar alguna cosa, os cuento que ya tenemos disponible la primera versión
DotNetBurner.com - news and articles about .net DotNetBurner
A nice post. Can you please tell whether Silverlight binding with ADO.Net data service is fully done ?
What enhancements can we see in this ?
Please let us know ?
Microsoft has released an alpha preview of codename Astoria Offline on the Microsoft Download Center
AsrotiaTeamBlogからです。 Announcing Project Codename “Astoria Offline”, Alpha Preview 前回のブログのポストで、このOffline機能は検討段階といったばかりなのですが、
Es Sábado en la noche y estoy aún en Seattle organizando mis cosas y haciendo investigación sobre toda
Hey, this is exciting news! Understandable to focus on one small target first (desktop apps), but I want to cast my vote for Silverlight support. Silverlight *is* a client technology, and with things coming down the pipeline eventually like running Silverlight apps outside of a browser (in its own window), and with competing HTML offline specs, having the ability to cache data content in Isolated Storage with Astoria and to run these apps offline would be very valuable.
I just listened to the .NET Rocks episode with Pablo (great interview), and while it's true that you can't get sucked into the "coolness trap", on the other hand you guys ARE building a platform. As such, it's pretty much your job to build a capable foundation and to let your customers surprise you with what they can do with it. Cool generalization is part of the magic that makes those unanticipated (but still important) scenarios possible.
Keep up the great work!
By the way, how does Astoria Offline differentiate itself from Microsoft Sync Framework? Pablo has explained how Astoria Offline addresses a different problem than database replication, since you're dealing with service interfaces, but isn't that how Sync Framework approaches the problem?
The ADO.NET Data Services team has announced that ADO.NET Data Services 1.5 is will be made available
I'm wondering the same thing as dvanderboom. I am currently building a WPF application that uses the sync framework local data cache (sql server ce). I have the server side sync provder components exposed as a basicHttp WCF service and placed an entity model on top of the client sql compact database. Other than the server side entity framework, what is the difference between this and Astoria offline? Are you focusing in on the server side database schema abstraction that this provides?
Very excited about getting this to work, but found this difference between a regular *.edmx and *.edmxpreview generated code that stops compilation. Manually changing the xml gets the build back on track, but in our instance only fails where 10 characters are specified!
[type] [nvarchar](10) NOT NULL,
[name] [nvarchar](50) NOT NULL,
[description] [nvarchar](200) NOT NULL,
<Property Name="code" Type="nvarchar(10)" a:KeyProperty="code" />
<Property Name="code" Type="nvarchar" a:KeyProperty="code" MaxLength="10" />