SlideShare a Scribd company logo
1 of 29
AN INTRODUCTION TO THE NEW CLIENT OBJECT
                   MODEL
             IN SHAREPOINT 2010




OR: WE DON’T NEED NO STINKIN’ GOLD-PLATED WEB-SERVICES!
Developing applications using
the SharePoint 2010 Client APIs.

 G. Scott Singleton - Principal SharePoint Architect
 i3solutions, Inc. - Sterling, VA.
   Involved with SharePoint 2010 since May 2009
   One TAP project and three current RTM projects
Learn from yesterday, live for
 today, hope for tomorrow.
The important thing is not to
     stop questioning.

       Albert Einstein
I do “Code Solutions”.
None of this “No-Code”
crap.
There’s no way to take advantage of all of the rich client
experience gains in SP 2010 without code.
Why waste 40 hours looking for that no-code solution
when you could have developed the code-solution in
1/3 the time.
Hell, that’s why we make the big money.
Gotcha! Bet you didn’t think you would see the
 new SharePoint pie in a developer session eh?
Working with SharePoint
Client Applications Today
      in WSS 3.0...
Accessing SharePoint Data

    SharePoint Data (SQL)


       SharePoint API        SharePoint /
                               Server
  SharePoint    Custom Web   Applications
 Web Services     Services



        Your Client
        Application
Working With SharePoint
Client Applications NOW
   in SharePoint 2010
Tomorrow
 ‘RESTful’ Architecture
 ADO.NET Data Services Framework
     Formerly Known as “Astoria”

     ADO.NET Data Services (CTP 2) Required on Server for Beta, RTM for
     Release Candidate

 JSON - JavaScript Object Notation
 Client Object Model (Client OM)
JSON? WTH?
 WASN’T HE IN MY ADVANCED PHYSICS LAB BACK
 IN CALI?
JavaScript Object Notation



   {"menu": {
     "id": "file",
     "value": "File",
     "popup": {
       "menuitem": [
         {"value": "New", "onclick": "CreateNewDoc()"},
         {"value": "Open", "onclick": "OpenDoc()"},
         {"value": "Close", "onclick": "CloseDoc()"}
       ]
     }
   }}


basically a string containing the javascript
  code to create the object in memory
phew! I need a REST!
Using the REST API
                      Representational
                       State Transfer

REST API provided through ADO.NET Data Services
Framework via WCF
/_vti_bin/ListData.svc is base service -- and it is case
sensitive
Can be used to bind to data services from client
applications with ADO.NET Data Services CTP 2
(or Data Services Update for .NET 3.5 SP1 )
A Quick note on Data
 Services Compatibility
If you want to try out Data Services with the SharePoint 2010 Beta today you
have to use CTP2 of Data Services v1.5, because unfortunately the Data Service
RTM version, aka the Data Services Update for .NET 3.5 SP1 is incompatible with
the SharePoint 2010 Beta.

This is a point in time issue – when SharePoint RTMs it will work seamlessly with
the Data Services Update for .NET 3.5 SP1.

Alex James
Program Manager
Microsoft
Atomized Data via REST
By using The REST API We can retrieve atomized
             data directly from a list
RESTful api Demo
cross your fingers!
Available QueryString
parameters
 Default Parameter is item ID and enclosed in parens. ( Links(1) )
 $filter - formatted like a CAML query
 $expand - returns parent object (lookups, relations, etc)
 $orderby - Sets return order by
 $skip - Skips x items
 $top - Returns top x ($top=2 returns top 2)
 Can be stacked together
 example: $orderby=Title&top=1
Client Object Model
Simple API to Add, Retrieve and Update data within
SharePoint 2010
Supports three major client development languages.
    .NET CLR
    JavaScript
    Silverlight CLR

Gives you consistency and efficiency across the
development platforms
Unfortunately you’re still stuck with CAML for the
initial query to the server.
Benefits of Client Object
Model
 A Richer User eXperience (UX) than the simple
 WebForms post-back model
 Reduces impact on server by executing more
 processes on the client’s machine
 Normalizes calls between three available client
 architectures.
 Batches calls to reduce roundtrip
 Provides Asynchronous ability for better UX
 performance
 Late stage data retrieval - returns all the data you
 need, but only the data you need.
What we currently do
.NET CLR client code
Using the client OM in
SilverLight
  Silverlight is Asynchronous by Nature
  Provides both an ExecuteQuery() and
  ExecuteQueryAsync() Method -- but if you’re updating
  the UI you MUST use the Asynchronous call.
  Must provide success and failure callbacks for UI
  Updates
  Must hand off UI work to the dispatcher
  Similar nomenclature to the .NET CLR
DEMO - .NET and Silverlight
CLR - Cross your fingers!
Client Object Model Summary
  Similar constructs and naming convention as Server
  Object Model; reduces developer ramp-up time.
  Reduction of server overhead by offloading processes
  onto the client
  Improves the client’s UX dramatically
  Reduction of round-trips to server via late-stage
  batching
  No need for messy custom web services
  All around cool
Don’t forget to fill out your
 speaker survey forms.
   scottsingleton on twitter - follow me foo
   scott.singleton@i3solutions.com
   http://www.i3solutions.com

  Looking for SharePoint Consulting? -- Call us!

  Looking for a challenging career in SharePoint
development with one of THE leaders in Microsoft’s
         Mid-Atlantic region? -- Call us!

More Related Content

What's hot

SharePoint 2013 REST APIs
SharePoint 2013 REST APIsSharePoint 2013 REST APIs
SharePoint 2013 REST APIsGiuseppe Marchi
 
Understanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST APIUnderstanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST APIChris Beckett
 
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday HoustonCSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday HoustonKunaal Kapoor
 
Hard learned CSOM and REST tips
Hard learned CSOM and REST tipsHard learned CSOM and REST tips
Hard learned CSOM and REST tipsSPC Adriatics
 
Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013Ejada
 
Introduction to the SharePoint 2013 REST API
Introduction to the SharePoint 2013 REST APIIntroduction to the SharePoint 2013 REST API
Introduction to the SharePoint 2013 REST APISparkhound Inc.
 
Taking Advantage of the SharePoint 2013 REST API
Taking Advantage of the SharePoint 2013 REST APITaking Advantage of the SharePoint 2013 REST API
Taking Advantage of the SharePoint 2013 REST APIEric Shupps
 
SharePoint REST vs CSOM
SharePoint REST vs CSOMSharePoint REST vs CSOM
SharePoint REST vs CSOMMark Rackley
 
SharePoint 2013 APIs
SharePoint 2013 APIsSharePoint 2013 APIs
SharePoint 2013 APIsJohn Calvert
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Kashif Imran
 
Hooking SharePoint APIs with Android
Hooking SharePoint APIs with AndroidHooking SharePoint APIs with Android
Hooking SharePoint APIs with AndroidKris Wagner
 
Are you getting Sleepy. REST in SharePoint Apps
Are you getting Sleepy. REST in SharePoint AppsAre you getting Sleepy. REST in SharePoint Apps
Are you getting Sleepy. REST in SharePoint AppsLiam Cleary [MVP]
 
JavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersJavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersRob Windsor
 
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...SPTechCon
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appTalbott Crowell
 
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All TogetherKathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All TogetherSharePoint Saturday NY
 
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...NCCOMMS
 
Android SharePoint
Android SharePointAndroid SharePoint
Android SharePointBenCox35
 

What's hot (20)

SharePoint 2013 REST APIs
SharePoint 2013 REST APIsSharePoint 2013 REST APIs
SharePoint 2013 REST APIs
 
Understanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST APIUnderstanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST API
 
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday HoustonCSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
 
Hard learned CSOM and REST tips
Hard learned CSOM and REST tipsHard learned CSOM and REST tips
Hard learned CSOM and REST tips
 
Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013
 
Introduction to the SharePoint 2013 REST API
Introduction to the SharePoint 2013 REST APIIntroduction to the SharePoint 2013 REST API
Introduction to the SharePoint 2013 REST API
 
Taking Advantage of the SharePoint 2013 REST API
Taking Advantage of the SharePoint 2013 REST APITaking Advantage of the SharePoint 2013 REST API
Taking Advantage of the SharePoint 2013 REST API
 
SharePoint REST vs CSOM
SharePoint REST vs CSOMSharePoint REST vs CSOM
SharePoint REST vs CSOM
 
SharePoint 2013 APIs
SharePoint 2013 APIsSharePoint 2013 APIs
SharePoint 2013 APIs
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
 
Sharepoint Online
Sharepoint OnlineSharepoint Online
Sharepoint Online
 
Hooking SharePoint APIs with Android
Hooking SharePoint APIs with AndroidHooking SharePoint APIs with Android
Hooking SharePoint APIs with Android
 
Are you getting Sleepy. REST in SharePoint Apps
Are you getting Sleepy. REST in SharePoint AppsAre you getting Sleepy. REST in SharePoint Apps
Are you getting Sleepy. REST in SharePoint Apps
 
JavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersJavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint Developers
 
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
 
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All TogetherKathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Brining It All Together
 
Asp.net.
Asp.net.Asp.net.
Asp.net.
 
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...
 
Android SharePoint
Android SharePointAndroid SharePoint
Android SharePoint
 

Viewers also liked

Microsoft Expression Blend e WEB: sob o ponto de vista de um desenvolvedor
Microsoft Expression Blend e WEB: sob o ponto de vista de um desenvolvedorMicrosoft Expression Blend e WEB: sob o ponto de vista de um desenvolvedor
Microsoft Expression Blend e WEB: sob o ponto de vista de um desenvolvedorRodrigo Kono
 
Presentatie terreur noorwegen ict werktuigen
Presentatie terreur noorwegen ict werktuigenPresentatie terreur noorwegen ict werktuigen
Presentatie terreur noorwegen ict werktuigenSchacht Jan
 
Palmetto Scientific Investor Presentation
Palmetto Scientific Investor PresentationPalmetto Scientific Investor Presentation
Palmetto Scientific Investor PresentationPalmettoSci
 
DERECHOS FUNDAMENTALES EN INTERNET
DERECHOS FUNDAMENTALES EN INTERNETDERECHOS FUNDAMENTALES EN INTERNET
DERECHOS FUNDAMENTALES EN INTERNETempresa Industrial
 
Centro educativo media de progreso
Centro educativo media de progresoCentro educativo media de progreso
Centro educativo media de progresoyecm1799
 
Cambodia - more than temples
Cambodia - more than templesCambodia - more than temples
Cambodia - more than templesFred Meng
 
Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010Rob Windsor
 
Proteccion juridica del software.
Proteccion juridica del software.Proteccion juridica del software.
Proteccion juridica del software.Alex Yujra
 
violència de gènere i prevenció en l'adolescència.
violència de gènere i prevenció en l'adolescència. violència de gènere i prevenció en l'adolescència.
violència de gènere i prevenció en l'adolescència. Natalia Bautista Parra
 
Zaman yonetimi (time management)
Zaman yonetimi (time management)Zaman yonetimi (time management)
Zaman yonetimi (time management)Gurkan Ersoy
 
ملحمة بطلها الملياردير المصري صلاح عطية
ملحمة بطلها الملياردير المصري صلاح عطيةملحمة بطلها الملياردير المصري صلاح عطية
ملحمة بطلها الملياردير المصري صلاح عطيةDr Talaat Refaat
 

Viewers also liked (14)

Microsoft Expression Blend e WEB: sob o ponto de vista de um desenvolvedor
Microsoft Expression Blend e WEB: sob o ponto de vista de um desenvolvedorMicrosoft Expression Blend e WEB: sob o ponto de vista de um desenvolvedor
Microsoft Expression Blend e WEB: sob o ponto de vista de um desenvolvedor
 
El internet como derecho
El internet como derechoEl internet como derecho
El internet como derecho
 
Presentatie terreur noorwegen ict werktuigen
Presentatie terreur noorwegen ict werktuigenPresentatie terreur noorwegen ict werktuigen
Presentatie terreur noorwegen ict werktuigen
 
Ronnie Resume
Ronnie ResumeRonnie Resume
Ronnie Resume
 
Palmetto Scientific Investor Presentation
Palmetto Scientific Investor PresentationPalmetto Scientific Investor Presentation
Palmetto Scientific Investor Presentation
 
Akoya Oxygen play
Akoya Oxygen play   Akoya Oxygen play
Akoya Oxygen play
 
DERECHOS FUNDAMENTALES EN INTERNET
DERECHOS FUNDAMENTALES EN INTERNETDERECHOS FUNDAMENTALES EN INTERNET
DERECHOS FUNDAMENTALES EN INTERNET
 
Centro educativo media de progreso
Centro educativo media de progresoCentro educativo media de progreso
Centro educativo media de progreso
 
Cambodia - more than temples
Cambodia - more than templesCambodia - more than temples
Cambodia - more than temples
 
Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010
 
Proteccion juridica del software.
Proteccion juridica del software.Proteccion juridica del software.
Proteccion juridica del software.
 
violència de gènere i prevenció en l'adolescència.
violència de gènere i prevenció en l'adolescència. violència de gènere i prevenció en l'adolescència.
violència de gènere i prevenció en l'adolescència.
 
Zaman yonetimi (time management)
Zaman yonetimi (time management)Zaman yonetimi (time management)
Zaman yonetimi (time management)
 
ملحمة بطلها الملياردير المصري صلاح عطية
ملحمة بطلها الملياردير المصري صلاح عطيةملحمة بطلها الملياردير المصري صلاح عطية
ملحمة بطلها الملياردير المصري صلاح عطية
 

Similar to SharePoint 2010 Client Object Model

MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0Thomas Conté
 
Meteor Workshop - Open Sanca
Meteor Workshop - Open SancaMeteor Workshop - Open Sanca
Meteor Workshop - Open SancaPaulo Hecht
 
Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012daniel plocker
 
O365 Saturday - Deepdive SharePoint Client Side Rendering
O365 Saturday - Deepdive SharePoint Client Side RenderingO365 Saturday - Deepdive SharePoint Client Side Rendering
O365 Saturday - Deepdive SharePoint Client Side RenderingRiwut Libinuko
 
Data Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsData Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsDave Allen
 
ASP.NET 4 and AJAX
ASP.NET 4 and AJAXASP.NET 4 and AJAX
ASP.NET 4 and AJAXKulveerSingh
 
Bn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netBn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netconline training
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET DeveloperJohn Calvert
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patternsukdpe
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Jonas Follesø
 
ADO.NET Data Services
ADO.NET Data ServicesADO.NET Data Services
ADO.NET Data Servicesukdpe
 
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)serge luca
 
Defy Occassionally Connected Challenges With Smart Client Applications
Defy Occassionally Connected Challenges With Smart Client ApplicationsDefy Occassionally Connected Challenges With Smart Client Applications
Defy Occassionally Connected Challenges With Smart Client ApplicationsClint Edmonson
 
A SharePoint Developers Guide to Project Server
A SharePoint Developers Guide to Project ServerA SharePoint Developers Guide to Project Server
A SharePoint Developers Guide to Project ServerAlexander Burton
 
Spsdc what's new in share point 2013 workflow
Spsdc   what's new in share point 2013 workflowSpsdc   what's new in share point 2013 workflow
Spsdc what's new in share point 2013 workflowamitvasu
 
Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)David McCarter
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for DevelopersRob Wilson
 

Similar to SharePoint 2010 Client Object Model (20)

MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
 
Developing With Data Technologies
Developing With Data TechnologiesDeveloping With Data Technologies
Developing With Data Technologies
 
Meteor Workshop - Open Sanca
Meteor Workshop - Open SancaMeteor Workshop - Open Sanca
Meteor Workshop - Open Sanca
 
Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012
 
O365 Saturday - Deepdive SharePoint Client Side Rendering
O365 Saturday - Deepdive SharePoint Client Side RenderingO365 Saturday - Deepdive SharePoint Client Side Rendering
O365 Saturday - Deepdive SharePoint Client Side Rendering
 
MSDN Dec2007
MSDN Dec2007MSDN Dec2007
MSDN Dec2007
 
Data Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsData Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight Applications
 
ASP.NET 4 and AJAX
ASP.NET 4 and AJAXASP.NET 4 and AJAX
ASP.NET 4 and AJAX
 
Bn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netBn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot net
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patterns
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008
 
PPT
PPTPPT
PPT
 
ADO.NET Data Services
ADO.NET Data ServicesADO.NET Data Services
ADO.NET Data Services
 
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)
 
Defy Occassionally Connected Challenges With Smart Client Applications
Defy Occassionally Connected Challenges With Smart Client ApplicationsDefy Occassionally Connected Challenges With Smart Client Applications
Defy Occassionally Connected Challenges With Smart Client Applications
 
A SharePoint Developers Guide to Project Server
A SharePoint Developers Guide to Project ServerA SharePoint Developers Guide to Project Server
A SharePoint Developers Guide to Project Server
 
Spsdc what's new in share point 2013 workflow
Spsdc   what's new in share point 2013 workflowSpsdc   what's new in share point 2013 workflow
Spsdc what's new in share point 2013 workflow
 
Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for Developers
 

Recently uploaded

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Recently uploaded (20)

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

SharePoint 2010 Client Object Model

  • 1. AN INTRODUCTION TO THE NEW CLIENT OBJECT MODEL IN SHAREPOINT 2010 OR: WE DON’T NEED NO STINKIN’ GOLD-PLATED WEB-SERVICES!
  • 2. Developing applications using the SharePoint 2010 Client APIs. G. Scott Singleton - Principal SharePoint Architect i3solutions, Inc. - Sterling, VA. Involved with SharePoint 2010 since May 2009 One TAP project and three current RTM projects
  • 3. Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning. Albert Einstein
  • 4. I do “Code Solutions”. None of this “No-Code” crap. There’s no way to take advantage of all of the rich client experience gains in SP 2010 without code. Why waste 40 hours looking for that no-code solution when you could have developed the code-solution in 1/3 the time. Hell, that’s why we make the big money.
  • 5. Gotcha! Bet you didn’t think you would see the new SharePoint pie in a developer session eh?
  • 6. Working with SharePoint Client Applications Today in WSS 3.0...
  • 7. Accessing SharePoint Data SharePoint Data (SQL) SharePoint API SharePoint / Server SharePoint Custom Web Applications Web Services Services Your Client Application
  • 8. Working With SharePoint Client Applications NOW in SharePoint 2010
  • 9. Tomorrow ‘RESTful’ Architecture ADO.NET Data Services Framework Formerly Known as “Astoria” ADO.NET Data Services (CTP 2) Required on Server for Beta, RTM for Release Candidate JSON - JavaScript Object Notation Client Object Model (Client OM)
  • 10. JSON? WTH? WASN’T HE IN MY ADVANCED PHYSICS LAB BACK IN CALI?
  • 11. JavaScript Object Notation {"menu": { "id": "file", "value": "File", "popup": { "menuitem": [ {"value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"} ] } }} basically a string containing the javascript code to create the object in memory
  • 12. phew! I need a REST!
  • 13. Using the REST API Representational State Transfer REST API provided through ADO.NET Data Services Framework via WCF /_vti_bin/ListData.svc is base service -- and it is case sensitive Can be used to bind to data services from client applications with ADO.NET Data Services CTP 2 (or Data Services Update for .NET 3.5 SP1 )
  • 14. A Quick note on Data Services Compatibility If you want to try out Data Services with the SharePoint 2010 Beta today you have to use CTP2 of Data Services v1.5, because unfortunately the Data Service RTM version, aka the Data Services Update for .NET 3.5 SP1 is incompatible with the SharePoint 2010 Beta. This is a point in time issue – when SharePoint RTMs it will work seamlessly with the Data Services Update for .NET 3.5 SP1. Alex James Program Manager Microsoft
  • 16. By using The REST API We can retrieve atomized data directly from a list
  • 17. RESTful api Demo cross your fingers!
  • 18. Available QueryString parameters Default Parameter is item ID and enclosed in parens. ( Links(1) ) $filter - formatted like a CAML query $expand - returns parent object (lookups, relations, etc) $orderby - Sets return order by $skip - Skips x items $top - Returns top x ($top=2 returns top 2) Can be stacked together example: $orderby=Title&top=1
  • 19. Client Object Model Simple API to Add, Retrieve and Update data within SharePoint 2010 Supports three major client development languages. .NET CLR JavaScript Silverlight CLR Gives you consistency and efficiency across the development platforms Unfortunately you’re still stuck with CAML for the initial query to the server.
  • 20.
  • 21. Benefits of Client Object Model A Richer User eXperience (UX) than the simple WebForms post-back model Reduces impact on server by executing more processes on the client’s machine Normalizes calls between three available client architectures. Batches calls to reduce roundtrip Provides Asynchronous ability for better UX performance Late stage data retrieval - returns all the data you need, but only the data you need.
  • 22.
  • 25. Using the client OM in SilverLight Silverlight is Asynchronous by Nature Provides both an ExecuteQuery() and ExecuteQueryAsync() Method -- but if you’re updating the UI you MUST use the Asynchronous call. Must provide success and failure callbacks for UI Updates Must hand off UI work to the dispatcher Similar nomenclature to the .NET CLR
  • 26.
  • 27. DEMO - .NET and Silverlight CLR - Cross your fingers!
  • 28. Client Object Model Summary Similar constructs and naming convention as Server Object Model; reduces developer ramp-up time. Reduction of server overhead by offloading processes onto the client Improves the client’s UX dramatically Reduction of round-trips to server via late-stage batching No need for messy custom web services All around cool
  • 29. Don’t forget to fill out your speaker survey forms. scottsingleton on twitter - follow me foo scott.singleton@i3solutions.com http://www.i3solutions.com Looking for SharePoint Consulting? -- Call us! Looking for a challenging career in SharePoint development with one of THE leaders in Microsoft’s Mid-Atlantic region? -- Call us!

Editor's Notes