Vikram Rajkondawar CEO Architect Advisor Indigo...
Transcript of Vikram Rajkondawar CEO Architect Advisor Indigo...
Vikram RajkondawarArchitect AdvisorDPE -Microsoft India
Sudhir ModyCEOIndigo Architects
Agenda
Recap …
Web 2.0 Scenario of the Future
Architecture/Design of the Application
Code Preview
Further thoughts …
2010
A Tale of Two Travelers
In the year 2010 …
Semantic Web Content
Cloud Computing
Smart Mobile Agents
(Organizers)
SOARSS1.0
010101101
www.expedia.com
2008: Web Content
www.yourHotels.com
www.bookMytrip.com
www.yourHotels.com
01<div>101001
<div>
<div>
www.amazon.com
www.microsoft.com
www.facebook.com
www.cnet.com
www.ebay.com
www.espn.com
www.expedia.com
Social Contact Networking
2010: Personal Organizer (Contacts)
Introductions
Meet Alice
Busy
Organized
Workaholic
Meet Ramnish Travel
Fun
Snorkeling
Reasons to Travel
London
HyderabadBahamas
Boston
Serendipity strikes
First … Hurricane Strikes
Un-seasonal weather forces guests to cancel flights
Alice’s Meet-up
Alice decides to organize a “meet-up” event
Ramnish Registers
Ramnish receives (bulk) invite
Having nothing better to do, Ramnish decides to attend the meet-up
Then … Boredom Strikes
Atom MTOM
XML
BEPL
Bored with the meet-up, Bob tries to explore other interesting alternatives
Finally … Serendipity Strikes
Serendipity helps in connecting 2 people…
… a beginning of a long friendship
Summary - Web 2.0 Futures
Semantic Web Content (hContact …)
Smart Mobile Clients
Cloud Computing
Social Aspects of the Applications
Architectural Drivers/Challenges
Scalability – to scale to millions of users
Availability – 24X7 seamless
Storage – of Data
Integration with GPS Device
Possibilities of Web 2.0 for Collaboration
Millions of combinations for degrees of separation
User Context
Users
Social Networking
sites
Serendipity
Location matching Algorithm
Interest Matching
1 Degree Separation
Location context
Location Specific Contacts
Login tokensLogin
Logical Architecture …
Yahoo
Linked In
Live Messenger
=fnCalcNetwork()=fnDeregisterUser()
=fnRegisterUser()=fnUpdateLocation() =fnGetConn ()
StorageTables Queue
Windows Azure Datacenter
Your Service
Windows Azure Building Blocks
LB
Internet
Web Site(ASPX, ASMX, WCF)
Web Site(ASPX, ASMX, WCF)
Web Role(ASPX, WCF)
Worker Service
Worker Role
LB
StorageTables
Blobs
Queue
Designing Massively Scalable Storage
Table Storage
Provides Structured StorageMassively Scalable Tables
Billions of entities (rows) and TBs of data
Can use thousands of servers as traffic grows
Highly AvailableCan always access your data
DurableData is replicated several times
Familiar ADO.NET Data Services API.NET classes and LINQ
REST – with any platform or language
Data Model
Data stored in TablesA Table is a set of Entities (rows)
An Entity is a set of Properties (columns)
Entity has:PartitionKey – enables scalability
RowKey – unique id within the partition
the only indexed property
Timestamp – for optimistic concurrency
255 properties for your data
Max size of 1MB
Table Schema
Define the schema as a .NET class
[DataServiceKey("PartitionKey", "RowKey")]public class User{
// ChannelNamepublic string PartitionKey { get; set; }// PostedDatepublic string RowKey { get; set; }
// User defined propertiespublic string Id { get; set; }public int Name { get; set; }
}
Windows Platform Integration
Reuse .NET skills
Fully compatible with ADO.NET data services
.NET client included in .NET 3.5 SP1
LINQ support
ASP.NET integration for website authoringSample data source control for data binding
ASP.NET dynamic data for instant front-ends
ASP.NET providers for membership, roles, etc.
Related Content
Azure Sitewww.azure.com
ADO.NET Data Serviceshttp://blogs.msdn.com/astoriateam
CTP Access,SDK, Forums, white papers, Talkshttp://www.microsoft.com/azure/windowsazure.mspx
http://msdn.microsoft.com/en-us/azure/cc994380.aspx
Related Content
Breakout Sessions (session codes and titles)
Interactive Theater Sessions (session codes and titles)
Hands-on Labs (session codes and titles)
Hands-on Labs (session codes and titles)
Track Resources
Resource 1
Resource 2
Resource 3
Resource 4
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it
should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.