SlideShare une entreprise Scribd logo
1  sur  20
Building Dynamic Applications
with the SharePoint Client Object
             Model

           Eric Shupps
      SharePoint Server MVP
About Me

•   SharePoint Server MVP
•   President, BinaryWave
•   Microsoft Patterns & Practices (spg.codeplex.com)
•   CKS:DEV (cksdev.codeplex.com)
•   Web: www.binarywave.com
•   Blog: www.sharepointcowboy.com
•   Twitter: @eshupps
•   Facebook: www.facebook.com/sharepointcowboy
Agenda
•   Introduction to the Client Object Model
•   .NET Client Object Model
•   Silverlight and Client Object Model
•   JavaScript and Client Object Model
• Demos
     •   Building .NET, Silverlight, Javascript and WPF Client Applications
         with SharePoint Data
                   “T h i s s e s s i o n i s a
                    hunk y dor y j ol l y
                    g o o d a w e s o me n e s s
                              t hi ngy ”
                                            - Tobias Zimmergren
Legacy Data Access

        SharePoint Data


                              Server
         SharePoint API
                            Application

   Web Service



       Client Application
Client Object Model




              Client Application

       .Net CLR    Silverlight     JavaScript
Accessing Data with Client OM
Browser


     JavaScript Controls


                                        Server
              JavaScript OM             Object
                                        Model
                   Proxy
                               Client
                              Service

                  Proxy


                Managed OM              Content
                                        Database


         Managed Controls


Client                                        Server
Equivalent Objects

Server         .NET Managed            Silverlight             JavaScript
(Microsoft     (Microsoft.SharePoint   (Microsoft.SharePoint   (SP.js)
.SharePoint)   .Client)                .Client.Silverlight)
SPContext      ClientContext           ClientContext           clientContext
SPSite         Site                    Site                    site

SPWeb          Web                     Web                     web

SPList         List                    List                    list

SPListItem     ListItem                ListItem                listItem

SPField        Field                   Field                   field
Getting Started: 3 things to know

• ClientContext is the central object
   clientContext =
   new ClientContext(“http://mysite”);

• Before you read a property, you have to ask for it
   clientContext.Load(list);


• All requests must be committed in a batch

   clientContext.ExecuteQuery();
High level handling of commands

   Client Application                   Server

       Sequence of                     Client.svc
       commands:
       command 1;
       command 2;                  Execute commands
       command 3;                     in the batch:
                            XML
  context.ExecuteQuery();             command 1;
                                      command 2;
                                      command 3;
                            JSON
     Process results                Send results back
Client Object Model Limitations

• You must handle synch/update semantics in
  code
• No elevation of privilege capabilities
• Requests are throttled
• .net CLR has sync method;
  Silverlight CLR and Jscript are async
• Limited subset of Server OM functionality
• You only get what you ask for – nothing more
  (but sometimes less)
.Net CLR Client OM

• Provides easy access from remote .NET clients
  to manipulate SharePoint data
• Can be utilized from managed code – also from
  office clients etc.
• Assemblies
   ● Microsoft.SharePoint.Client.dll (281kb)
   ● Microsoft.SharePoint.Client.Runtime.dll
     (145kb)
       • To Compare: Microsoft.SharePoint.dll –
         15.3MB
DEMO
Building a .NET Client OM Application
Using SharePoint Data
Silverlight in SharePoint 2010

• Native Silverlight web part allows for compilation
  and deployment of XAP-only solutions
• One-click deployment from Visual Studio 2010
• Web Parts can contain custom properties that
  are sent to Silverlight via the InitParams property
• Abstracted visual design in Expression (make
  the designer do it!)
Silverlight CLR Client OM

• Use the correct references:
  ● C:Program FilesCommon FilesMicrosoft
    SharedWeb Server Extensions
    14TEMPLATELAYOUTSClientBin
        –Microsoft.SharePoint.Client.Silverlight
           »262KB
        –Microsoft.SharePoint.Client.Silverlight.R
         untime
           »138KB
Silverlight Client OM
Building and Deploying Silverlight

• Built in support in Visual Studio 2010
• Redirect assembly output into Module
• F5 deploy and debug experience



                    SharePoint WSP
    Visual Studio
    builds WSP        Module
    package on
    F5                         XAP
DEMO
Building a Silverlight Client OM Application
Using SharePoint Data
JavaScript Client OM

• Provides similar functionality to .NET/Silverlight COM from
  JavaScript/ECMAScript
• Identical structure
   ● Initialize Context -> Specify Items -> Load Objects ->
     Execute Query
• Limited to current site context (no cross-site scripting)
• Asynchronous (like Silverlight)
• Be aware of syntax changes
   ● get_web()
   ● get_lists()
   ● get_item()
DEMO
Building a Javascript Client OM Application
Using SharePoint Data
Your Feedback is Important

      Please fill out a session evaluation form.

                     Thank you!

Contenu connexe

Tendances

Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.netSHADAB ALI
 
ASP.NET MVC and ajax
ASP.NET MVC and ajax ASP.NET MVC and ajax
ASP.NET MVC and ajax Brij Mishra
 
SharePoint 2013 Javascript Object Model
SharePoint 2013 Javascript Object ModelSharePoint 2013 Javascript Object Model
SharePoint 2013 Javascript Object ModelInnoTech
 
Dot net interview questions and asnwers
Dot net interview questions and asnwersDot net interview questions and asnwers
Dot net interview questions and asnwerskavinilavuG
 
ASP.NET MVC Performance
ASP.NET MVC PerformanceASP.NET MVC Performance
ASP.NET MVC Performancerudib
 
Building Modern Websites with ASP.NET by Rachel Appel
Building Modern Websites with ASP.NET by Rachel AppelBuilding Modern Websites with ASP.NET by Rachel Appel
Building Modern Websites with ASP.NET by Rachel Appel.NET Conf UY
 
Asp .net web form fundamentals
Asp .net web form fundamentalsAsp .net web form fundamentals
Asp .net web form fundamentalsGopal Ji Singh
 
ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!Fioriela Bego
 
ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015Hossein Zahed
 
MVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming modelMVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming modelAlex Thissen
 
Introduction to ajax
Introduction  to  ajaxIntroduction  to  ajax
Introduction to ajaxPihu Goel
 
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl....net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...Nancy Thomas
 
Server-side Web development via Ruby on Rails
Server-side Web development via Ruby on RailsServer-side Web development via Ruby on Rails
Server-side Web development via Ruby on Railsg3ppy
 

Tendances (20)

Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.net
 
ASP.NET MVC and ajax
ASP.NET MVC and ajax ASP.NET MVC and ajax
ASP.NET MVC and ajax
 
SharePoint 2013 Javascript Object Model
SharePoint 2013 Javascript Object ModelSharePoint 2013 Javascript Object Model
SharePoint 2013 Javascript Object Model
 
Dot net interview questions and asnwers
Dot net interview questions and asnwersDot net interview questions and asnwers
Dot net interview questions and asnwers
 
ASP.NET MVC Performance
ASP.NET MVC PerformanceASP.NET MVC Performance
ASP.NET MVC Performance
 
Building Modern Websites with ASP.NET by Rachel Appel
Building Modern Websites with ASP.NET by Rachel AppelBuilding Modern Websites with ASP.NET by Rachel Appel
Building Modern Websites with ASP.NET by Rachel Appel
 
Web api
Web apiWeb api
Web api
 
Asp .net web form fundamentals
Asp .net web form fundamentalsAsp .net web form fundamentals
Asp .net web form fundamentals
 
Introduction ASP
Introduction ASPIntroduction ASP
Introduction ASP
 
ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!
 
ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015
 
Asp dot net final (2)
Asp dot net   final (2)Asp dot net   final (2)
Asp dot net final (2)
 
Asp.net.
Asp.net.Asp.net.
Asp.net.
 
MVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming modelMVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming model
 
Introduction to ajax
Introduction  to  ajaxIntroduction  to  ajax
Introduction to ajax
 
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl....net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...
.net training | learn .net | Microsoft dot net Course | Microsoft dot net onl...
 
MVC Training Part 1
MVC Training Part 1MVC Training Part 1
MVC Training Part 1
 
Ch3 server controls
Ch3 server controlsCh3 server controls
Ch3 server controls
 
JavaCro'15 - Secure Web Services Development - Askar Akhmerov
JavaCro'15 - Secure Web Services Development - Askar AkhmerovJavaCro'15 - Secure Web Services Development - Askar Akhmerov
JavaCro'15 - Secure Web Services Development - Askar Akhmerov
 
Server-side Web development via Ruby on Rails
Server-side Web development via Ruby on RailsServer-side Web development via Ruby on Rails
Server-side Web development via Ruby on Rails
 

Similaire à Building dynamic applications with the share point client object model

SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...Liam Cleary [MVP]
 
Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Ben Robb
 
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...SPTechCon
 
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio AnguloLuis Du Solier
 
Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandboxElaine Van Bergen
 
Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandboxElaine Van Bergen
 
Amish Umesh - Future Of Web App Testing - ClubHack2007
Amish Umesh - Future Of Web App Testing  - ClubHack2007Amish Umesh - Future Of Web App Testing  - ClubHack2007
Amish Umesh - Future Of Web App Testing - ClubHack2007ClubHack
 
NEW LAUNCH! Developing Serverless C# Applications
NEW LAUNCH! Developing Serverless C# ApplicationsNEW LAUNCH! Developing Serverless C# Applications
NEW LAUNCH! Developing Serverless C# ApplicationsAmazon Web Services
 
From server generated pages to client app in a micro-services world
From server generated pages to client app in a micro-services worldFrom server generated pages to client app in a micro-services world
From server generated pages to client app in a micro-services worldAssaf Gannon
 
STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010Shakir Majeed Khan
 
Rest API and Client OM for Developer
Rest API and Client OM for DeveloperRest API and Client OM for Developer
Rest API and Client OM for DeveloperInnoTech
 
ASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentVolodymyr Voytyshyn
 
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechConSharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechConSPTechCon
 
Progressive Web Apps and React
Progressive Web Apps and ReactProgressive Web Apps and React
Progressive Web Apps and ReactMike Melusky
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC vipin kumar
 

Similaire à Building dynamic applications with the share point client object model (20)

SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...
 
Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010
 
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
 
Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandbox
 
AWS Lambda in C#
AWS Lambda in C#AWS Lambda in C#
AWS Lambda in C#
 
Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandbox
 
Amish Umesh - Future Of Web App Testing - ClubHack2007
Amish Umesh - Future Of Web App Testing  - ClubHack2007Amish Umesh - Future Of Web App Testing  - ClubHack2007
Amish Umesh - Future Of Web App Testing - ClubHack2007
 
NEW LAUNCH! Developing Serverless C# Applications
NEW LAUNCH! Developing Serverless C# ApplicationsNEW LAUNCH! Developing Serverless C# Applications
NEW LAUNCH! Developing Serverless C# Applications
 
From server generated pages to client app in a micro-services world
From server generated pages to client app in a micro-services worldFrom server generated pages to client app in a micro-services world
From server generated pages to client app in a micro-services world
 
Access SharePoint Remotely
Access SharePoint RemotelyAccess SharePoint Remotely
Access SharePoint Remotely
 
Scala and Lift
Scala and LiftScala and Lift
Scala and Lift
 
STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010
 
Rest API and Client OM for Developer
Rest API and Client OM for DeveloperRest API and Client OM for Developer
Rest API and Client OM for Developer
 
ASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web development
 
Servlet.pptx
Servlet.pptxServlet.pptx
Servlet.pptx
 
Servlet.pptx
Servlet.pptxServlet.pptx
Servlet.pptx
 
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechConSharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
 
Progressive Web Apps and React
Progressive Web Apps and ReactProgressive Web Apps and React
Progressive Web Apps and React
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
 

Plus de Eric Shupps

Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...
Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...
Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...Eric Shupps
 
Scaling, Securing, Managing, and Publishing Power Platform Custom Connectors....
Scaling, Securing, Managing, and Publishing Power Platform Custom Connectors....Scaling, Securing, Managing, and Publishing Power Platform Custom Connectors....
Scaling, Securing, Managing, and Publishing Power Platform Custom Connectors....Eric Shupps
 
A Beginners Guide to Custom Connectors for Power Apps and Power Automate
A Beginners Guide to Custom Connectors for Power Apps and Power AutomateA Beginners Guide to Custom Connectors for Power Apps and Power Automate
A Beginners Guide to Custom Connectors for Power Apps and Power AutomateEric Shupps
 
App to AppExchange - A Journey from Idea to Market for Salesforce Developers
App to AppExchange - A Journey from Idea to Market for Salesforce DevelopersApp to AppExchange - A Journey from Idea to Market for Salesforce Developers
App to AppExchange - A Journey from Idea to Market for Salesforce DevelopersEric Shupps
 
Beginners Guide to Custom Connectors for Power Apps and Power Automate
Beginners Guide to Custom Connectors for Power Apps and Power AutomateBeginners Guide to Custom Connectors for Power Apps and Power Automate
Beginners Guide to Custom Connectors for Power Apps and Power AutomateEric Shupps
 
OSW06 - A Real World Guide to Building Highly Available Fault Tolerant ShareP...
OSW06 - A Real World Guide to Building Highly Available Fault Tolerant ShareP...OSW06 - A Real World Guide to Building Highly Available Fault Tolerant ShareP...
OSW06 - A Real World Guide to Building Highly Available Fault Tolerant ShareP...Eric Shupps
 
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseOSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseEric Shupps
 
Mastering Modern Authentication and Authorization Techniques for SharePoint, ...
Mastering Modern Authentication and Authorization Techniques for SharePoint, ...Mastering Modern Authentication and Authorization Techniques for SharePoint, ...
Mastering Modern Authentication and Authorization Techniques for SharePoint, ...Eric Shupps
 
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)Eric Shupps
 
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019Developing SharePoint Framework Solutions for the Enterprise - SEF 2019
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019Eric Shupps
 
SharePoint and Office 365 Development Workshop
SharePoint and Office 365 Development WorkshopSharePoint and Office 365 Development Workshop
SharePoint and Office 365 Development WorkshopEric Shupps
 
ECS 2018: Introduction to Azure Web Applications
ECS 2018: Introduction to Azure Web ApplicationsECS 2018: Introduction to Azure Web Applications
ECS 2018: Introduction to Azure Web ApplicationsEric Shupps
 
SharePoint 24x7x365 Architecting for High Availability, Fault Tolerance and D...
SharePoint 24x7x365 Architecting for High Availability, Fault Tolerance and D...SharePoint 24x7x365 Architecting for High Availability, Fault Tolerance and D...
SharePoint 24x7x365 Architecting for High Availability, Fault Tolerance and D...Eric Shupps
 
Overcoming Gender Imbalance in the Technical Field
Overcoming Gender Imbalance in the Technical FieldOvercoming Gender Imbalance in the Technical Field
Overcoming Gender Imbalance in the Technical FieldEric Shupps
 
Mastering Modern Authentication and Authorization for SharePoint and Office A...
Mastering Modern Authentication and Authorization for SharePoint and Office A...Mastering Modern Authentication and Authorization for SharePoint and Office A...
Mastering Modern Authentication and Authorization for SharePoint and Office A...Eric Shupps
 
Enterprise Content Management Solutions in SharePoint and Office 365
Enterprise Content Management Solutions in SharePoint and Office 365Enterprise Content Management Solutions in SharePoint and Office 365
Enterprise Content Management Solutions in SharePoint and Office 365Eric Shupps
 
Introduction to the Office Dev PnP Core Libraries
Introduction to the Office Dev PnP Core LibrariesIntroduction to the Office Dev PnP Core Libraries
Introduction to the Office Dev PnP Core LibrariesEric Shupps
 
SharePoint and Office Development Workshop
SharePoint and Office Development WorkshopSharePoint and Office Development Workshop
SharePoint and Office Development WorkshopEric Shupps
 
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...Eric Shupps
 
SharePoint and Office 365 Performance Best Practices
SharePoint and Office 365 Performance Best PracticesSharePoint and Office 365 Performance Best Practices
SharePoint and Office 365 Performance Best PracticesEric Shupps
 

Plus de Eric Shupps (20)

Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...
Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...
Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...
 
Scaling, Securing, Managing, and Publishing Power Platform Custom Connectors....
Scaling, Securing, Managing, and Publishing Power Platform Custom Connectors....Scaling, Securing, Managing, and Publishing Power Platform Custom Connectors....
Scaling, Securing, Managing, and Publishing Power Platform Custom Connectors....
 
A Beginners Guide to Custom Connectors for Power Apps and Power Automate
A Beginners Guide to Custom Connectors for Power Apps and Power AutomateA Beginners Guide to Custom Connectors for Power Apps and Power Automate
A Beginners Guide to Custom Connectors for Power Apps and Power Automate
 
App to AppExchange - A Journey from Idea to Market for Salesforce Developers
App to AppExchange - A Journey from Idea to Market for Salesforce DevelopersApp to AppExchange - A Journey from Idea to Market for Salesforce Developers
App to AppExchange - A Journey from Idea to Market for Salesforce Developers
 
Beginners Guide to Custom Connectors for Power Apps and Power Automate
Beginners Guide to Custom Connectors for Power Apps and Power AutomateBeginners Guide to Custom Connectors for Power Apps and Power Automate
Beginners Guide to Custom Connectors for Power Apps and Power Automate
 
OSW06 - A Real World Guide to Building Highly Available Fault Tolerant ShareP...
OSW06 - A Real World Guide to Building Highly Available Fault Tolerant ShareP...OSW06 - A Real World Guide to Building Highly Available Fault Tolerant ShareP...
OSW06 - A Real World Guide to Building Highly Available Fault Tolerant ShareP...
 
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseOSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
 
Mastering Modern Authentication and Authorization Techniques for SharePoint, ...
Mastering Modern Authentication and Authorization Techniques for SharePoint, ...Mastering Modern Authentication and Authorization Techniques for SharePoint, ...
Mastering Modern Authentication and Authorization Techniques for SharePoint, ...
 
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
 
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019Developing SharePoint Framework Solutions for the Enterprise - SEF 2019
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019
 
SharePoint and Office 365 Development Workshop
SharePoint and Office 365 Development WorkshopSharePoint and Office 365 Development Workshop
SharePoint and Office 365 Development Workshop
 
ECS 2018: Introduction to Azure Web Applications
ECS 2018: Introduction to Azure Web ApplicationsECS 2018: Introduction to Azure Web Applications
ECS 2018: Introduction to Azure Web Applications
 
SharePoint 24x7x365 Architecting for High Availability, Fault Tolerance and D...
SharePoint 24x7x365 Architecting for High Availability, Fault Tolerance and D...SharePoint 24x7x365 Architecting for High Availability, Fault Tolerance and D...
SharePoint 24x7x365 Architecting for High Availability, Fault Tolerance and D...
 
Overcoming Gender Imbalance in the Technical Field
Overcoming Gender Imbalance in the Technical FieldOvercoming Gender Imbalance in the Technical Field
Overcoming Gender Imbalance in the Technical Field
 
Mastering Modern Authentication and Authorization for SharePoint and Office A...
Mastering Modern Authentication and Authorization for SharePoint and Office A...Mastering Modern Authentication and Authorization for SharePoint and Office A...
Mastering Modern Authentication and Authorization for SharePoint and Office A...
 
Enterprise Content Management Solutions in SharePoint and Office 365
Enterprise Content Management Solutions in SharePoint and Office 365Enterprise Content Management Solutions in SharePoint and Office 365
Enterprise Content Management Solutions in SharePoint and Office 365
 
Introduction to the Office Dev PnP Core Libraries
Introduction to the Office Dev PnP Core LibrariesIntroduction to the Office Dev PnP Core Libraries
Introduction to the Office Dev PnP Core Libraries
 
SharePoint and Office Development Workshop
SharePoint and Office Development WorkshopSharePoint and Office Development Workshop
SharePoint and Office Development Workshop
 
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
 
SharePoint and Office 365 Performance Best Practices
SharePoint and Office 365 Performance Best PracticesSharePoint and Office 365 Performance Best Practices
SharePoint and Office 365 Performance Best Practices
 

Dernier

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Dernier (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Building dynamic applications with the share point client object model

  • 1. Building Dynamic Applications with the SharePoint Client Object Model Eric Shupps SharePoint Server MVP
  • 2. About Me • SharePoint Server MVP • President, BinaryWave • Microsoft Patterns & Practices (spg.codeplex.com) • CKS:DEV (cksdev.codeplex.com) • Web: www.binarywave.com • Blog: www.sharepointcowboy.com • Twitter: @eshupps • Facebook: www.facebook.com/sharepointcowboy
  • 3. Agenda • Introduction to the Client Object Model • .NET Client Object Model • Silverlight and Client Object Model • JavaScript and Client Object Model • Demos • Building .NET, Silverlight, Javascript and WPF Client Applications with SharePoint Data “T h i s s e s s i o n i s a hunk y dor y j ol l y g o o d a w e s o me n e s s t hi ngy ” - Tobias Zimmergren
  • 4. Legacy Data Access SharePoint Data Server SharePoint API Application Web Service Client Application
  • 5. Client Object Model Client Application .Net CLR Silverlight JavaScript
  • 6. Accessing Data with Client OM Browser JavaScript Controls Server JavaScript OM Object Model Proxy Client Service Proxy Managed OM Content Database Managed Controls Client Server
  • 7. Equivalent Objects Server .NET Managed Silverlight JavaScript (Microsoft (Microsoft.SharePoint (Microsoft.SharePoint (SP.js) .SharePoint) .Client) .Client.Silverlight) SPContext ClientContext ClientContext clientContext SPSite Site Site site SPWeb Web Web web SPList List List list SPListItem ListItem ListItem listItem SPField Field Field field
  • 8. Getting Started: 3 things to know • ClientContext is the central object clientContext = new ClientContext(“http://mysite”); • Before you read a property, you have to ask for it clientContext.Load(list); • All requests must be committed in a batch clientContext.ExecuteQuery();
  • 9. High level handling of commands Client Application Server Sequence of Client.svc commands: command 1; command 2; Execute commands command 3; in the batch: XML context.ExecuteQuery(); command 1; command 2; command 3; JSON Process results Send results back
  • 10. Client Object Model Limitations • You must handle synch/update semantics in code • No elevation of privilege capabilities • Requests are throttled • .net CLR has sync method; Silverlight CLR and Jscript are async • Limited subset of Server OM functionality • You only get what you ask for – nothing more (but sometimes less)
  • 11. .Net CLR Client OM • Provides easy access from remote .NET clients to manipulate SharePoint data • Can be utilized from managed code – also from office clients etc. • Assemblies ● Microsoft.SharePoint.Client.dll (281kb) ● Microsoft.SharePoint.Client.Runtime.dll (145kb) • To Compare: Microsoft.SharePoint.dll – 15.3MB
  • 12. DEMO Building a .NET Client OM Application Using SharePoint Data
  • 13. Silverlight in SharePoint 2010 • Native Silverlight web part allows for compilation and deployment of XAP-only solutions • One-click deployment from Visual Studio 2010 • Web Parts can contain custom properties that are sent to Silverlight via the InitParams property • Abstracted visual design in Expression (make the designer do it!)
  • 14. Silverlight CLR Client OM • Use the correct references: ● C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions 14TEMPLATELAYOUTSClientBin –Microsoft.SharePoint.Client.Silverlight »262KB –Microsoft.SharePoint.Client.Silverlight.R untime »138KB
  • 16. Building and Deploying Silverlight • Built in support in Visual Studio 2010 • Redirect assembly output into Module • F5 deploy and debug experience SharePoint WSP Visual Studio builds WSP Module package on F5 XAP
  • 17. DEMO Building a Silverlight Client OM Application Using SharePoint Data
  • 18. JavaScript Client OM • Provides similar functionality to .NET/Silverlight COM from JavaScript/ECMAScript • Identical structure ● Initialize Context -> Specify Items -> Load Objects -> Execute Query • Limited to current site context (no cross-site scripting) • Asynchronous (like Silverlight) • Be aware of syntax changes ● get_web() ● get_lists() ● get_item()
  • 19. DEMO Building a Javascript Client OM Application Using SharePoint Data
  • 20. Your Feedback is Important Please fill out a session evaluation form. Thank you!

Notes de l'éditeur

  1. Show the various resources and their locationsServer – Microsoft.SharePoint – [..]\\14\\ISAPI .NET – Microsoft.SharePoint.Client – [..]\\14\\ISAPISilverlight – Microsoft.SharePoint.Client.Silverlight – [..]\\14\\LAYOUTS\\ClientBinECMAScript– SP.js - [..]\\LAYOUTS