SlideShare a Scribd company logo
1 of 21
Access SharePoint Remotely Mohamed Yehia February 2010
Ana Meen? Technical Architect www.mohamedyehia.net                         @mohdyehia myehia@live.com
Why? SharePoint is used as:  Data repository File sharing Social network Record management Collaboration Simply, make data available Integrate LOB
Challenges SharePoint Object Model available on the server Web services require XML and CAML Major request to increase web services Different from server side code.
Client Object Model Simple API an abstraction layer to return results as recognizable SharePoint objects .Net CLR Silverlight Javascript
Under the Hood ECMAScriptControlsand Logic Browser JSONResponse Server OM ECMAScript OM Client.svc XMLRequest Proxy XMLRequest Proxy Contentdatabase Managed OM JSONResponse ManagedClient Managed Controls and Logic SharePointServer
Not Another Object Model! Efficiency SQL Like Batch processing Network traffic Server Resources Productivity
.Net CLR – Client Object Model Assemblies Path %ProgramFiles%ommon Filesicrosoft Sharedeb server extensions4SAPI Microsoft.SharePoint.Client.dll Microsoft.SharePoint.Client.Runtime.dll. (145 kb) Compared to  Microsft.SharePoint.dll (15.3 MB)
demo .Net CLR – Client Object Model
.Net CLR – Client OM, Tips ClientContext is the center of the universe Remember to always  ExecuteQuery Use LINQ to load what you really need Use CamlQuery to access Lists
Silverlight – Client Object Model Assemblies Path %ProgramFiles%ommon Filesicrosoft Sharedeb Server Extensions4EMPLATEAYOUTSlientBin Microsoft.SharePoint.Client.Silverlight.dll  Microsoft.SharePoint.Client.Silverlight.Runtime.dll
demo Silverlght– Client Object Model
Silverlight – Client OM, Tips ExecuteQuery is always asynchronous Callback methods are executed on another thread  Use Invokes to update the UI
Javascript – Client Object Model Add link to SP.Js %ProgramFiles%ommon Filesicrosoft Sharedeb Server Extensions4EMPLATEAYOUTS  Debug versions available Automatically adds SP.Core.js,  SP.Runtime.js
demo Javascript– Client Object Model
Javascript– Client OM, Tips ExecuteQuery is always asynchronous Use jQuery Use with  Applications Pages Dialog framework Web parts
The Site is the Limit Anything under SPSite Create / delete subsites Create/ delete/ manage  lists Create custom actions Create Fields Etc.
Alternatives OOB Web Services  ADO.NET Data Services  sitrurl/_vti_bin/listdata.svc Develop your WCF/ Web services
Learn More MSDN (http://MSSharePointDeveloper.com) TechNet (http://MSSharePointITPro.com) Twitter Search #SP2010
Coming Sessions	 When MEF meets Silverlight – Amr El Sehemy What’s New in SharePoint Designer 2010 – Ayman El Hattab  in C 7.02 Session 4 : Architecture of SharePoint 2010  Alexander Meijers  C 7.01
Thanks www.mohamedyehia.net @mohdyehia myehia@live.com

More Related Content

What's hot

What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for Devs
MicrosoftFeed
 
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
Alexander Burton
 
WKDNUG SP2010 Development Presentation
WKDNUG SP2010 Development PresentationWKDNUG SP2010 Development Presentation
WKDNUG SP2010 Development Presentation
Rob Wilson
 
Sp administration-training-prism
Sp administration-training-prismSp administration-training-prism
Sp administration-training-prism
Thuan Ng
 
SharePoint 2010 Application Development
SharePoint 2010 Application DevelopmentSharePoint 2010 Application Development
SharePoint 2010 Application Development
mattbremer
 
Streamlining Business Processes with InfoPath and SharePoint
Streamlining Business Processes with InfoPath and SharePointStreamlining Business Processes with InfoPath and SharePoint
Streamlining Business Processes with InfoPath and SharePoint
Rob Wilson
 
Developing an aspnet web application
Developing an aspnet web applicationDeveloping an aspnet web application
Developing an aspnet web application
Rahul Bansal
 

What's hot (20)

Building high scale, highly available websites in SharePoint 2010
Building high scale, highly available websites in SharePoint 2010Building high scale, highly available websites in SharePoint 2010
Building high scale, highly available websites in SharePoint 2010
 
Build a SharePoint website in 60 minutes
Build a SharePoint website in 60 minutesBuild a SharePoint website in 60 minutes
Build a SharePoint website in 60 minutes
 
What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for Devs
 
ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...
ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...
ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...
 
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
 
SharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern IntranetSharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern Intranet
 
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
 
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
 
WKDNUG SP2010 Development Presentation
WKDNUG SP2010 Development PresentationWKDNUG SP2010 Development Presentation
WKDNUG SP2010 Development Presentation
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
 
When to Develop on a Platform (IndyTechFest 2008)
When to Develop on a Platform (IndyTechFest 2008)When to Develop on a Platform (IndyTechFest 2008)
When to Develop on a Platform (IndyTechFest 2008)
 
Sp administration-training-prism
Sp administration-training-prismSp administration-training-prism
Sp administration-training-prism
 
SharePoint 2010 Application Development
SharePoint 2010 Application DevelopmentSharePoint 2010 Application Development
SharePoint 2010 Application Development
 
Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015
Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015
Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015
 
Building your first app for share point 2013
Building your first app for share point 2013Building your first app for share point 2013
Building your first app for share point 2013
 
Application innovation & Developer Productivity
Application innovation & Developer ProductivityApplication innovation & Developer Productivity
Application innovation & Developer Productivity
 
Deep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft GraphDeep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft Graph
 
Streamlining Business Processes with InfoPath and SharePoint
Streamlining Business Processes with InfoPath and SharePointStreamlining Business Processes with InfoPath and SharePoint
Streamlining Business Processes with InfoPath and SharePoint
 
Practical Business Intelligence in SharePoint 2013 - Honolulu
Practical Business Intelligence in SharePoint 2013 - HonoluluPractical Business Intelligence in SharePoint 2013 - Honolulu
Practical Business Intelligence in SharePoint 2013 - Honolulu
 
Developing an aspnet web application
Developing an aspnet web applicationDeveloping an aspnet web application
Developing an aspnet web application
 

Similar to Access SharePoint Remotely

Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012
daniel plocker
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
Adil Mughal
 
Dh2 Apps Training Part2
Dh2   Apps Training Part2Dh2   Apps Training Part2
Dh2 Apps Training Part2
jamram82
 
SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5
Jon Galloway
 

Similar to Access SharePoint Remotely (20)

Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012
 
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
 
Spicing up SharePoint web parts
Spicing up SharePoint web partsSpicing up SharePoint web parts
Spicing up SharePoint web parts
 
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
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
 
Asp dot net long
Asp dot net longAsp dot net long
Asp dot net long
 
Asp.net
Asp.netAsp.net
Asp.net
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorials
 
ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)
 
Architecting RIAs
Architecting RIAsArchitecting RIAs
Architecting RIAs
 
ASP.NET OVERVIEW
ASP.NET OVERVIEWASP.NET OVERVIEW
ASP.NET OVERVIEW
 
Javascript Client & Server Architectures
Javascript Client & Server ArchitecturesJavascript Client & Server Architectures
Javascript Client & Server Architectures
 
Dh2 Apps Training Part2
Dh2   Apps Training Part2Dh2   Apps Training Part2
Dh2 Apps Training Part2
 
Single Page Apps
Single Page AppsSingle Page Apps
Single Page Apps
 
Web UI Tests: Introduce UI tests using Selenium
Web UI Tests: Introduce UI tests using Selenium Web UI Tests: Introduce UI tests using Selenium
Web UI Tests: Introduce UI tests using Selenium
 
Single page applications with backbone js
Single page applications with backbone jsSingle page applications with backbone js
Single page applications with backbone js
 
Give your web apps some backbone
Give your web apps some backboneGive your web apps some backbone
Give your web apps some backbone
 
SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5
 

Recently uploaded

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
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (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
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
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?
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
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 Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
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
 

Access SharePoint Remotely

  • 1. Access SharePoint Remotely Mohamed Yehia February 2010
  • 2. Ana Meen? Technical Architect www.mohamedyehia.net @mohdyehia myehia@live.com
  • 3. Why? SharePoint is used as: Data repository File sharing Social network Record management Collaboration Simply, make data available Integrate LOB
  • 4. Challenges SharePoint Object Model available on the server Web services require XML and CAML Major request to increase web services Different from server side code.
  • 5. Client Object Model Simple API an abstraction layer to return results as recognizable SharePoint objects .Net CLR Silverlight Javascript
  • 6. Under the Hood ECMAScriptControlsand Logic Browser JSONResponse Server OM ECMAScript OM Client.svc XMLRequest Proxy XMLRequest Proxy Contentdatabase Managed OM JSONResponse ManagedClient Managed Controls and Logic SharePointServer
  • 7. Not Another Object Model! Efficiency SQL Like Batch processing Network traffic Server Resources Productivity
  • 8. .Net CLR – Client Object Model Assemblies Path %ProgramFiles%ommon Filesicrosoft Sharedeb server extensions4SAPI Microsoft.SharePoint.Client.dll Microsoft.SharePoint.Client.Runtime.dll. (145 kb) Compared to Microsft.SharePoint.dll (15.3 MB)
  • 9. demo .Net CLR – Client Object Model
  • 10. .Net CLR – Client OM, Tips ClientContext is the center of the universe Remember to always ExecuteQuery Use LINQ to load what you really need Use CamlQuery to access Lists
  • 11. Silverlight – Client Object Model Assemblies Path %ProgramFiles%ommon Filesicrosoft Sharedeb Server Extensions4EMPLATEAYOUTSlientBin Microsoft.SharePoint.Client.Silverlight.dll Microsoft.SharePoint.Client.Silverlight.Runtime.dll
  • 13. Silverlight – Client OM, Tips ExecuteQuery is always asynchronous Callback methods are executed on another thread Use Invokes to update the UI
  • 14. Javascript – Client Object Model Add link to SP.Js %ProgramFiles%ommon Filesicrosoft Sharedeb Server Extensions4EMPLATEAYOUTS Debug versions available Automatically adds SP.Core.js, SP.Runtime.js
  • 16. Javascript– Client OM, Tips ExecuteQuery is always asynchronous Use jQuery Use with Applications Pages Dialog framework Web parts
  • 17. The Site is the Limit Anything under SPSite Create / delete subsites Create/ delete/ manage lists Create custom actions Create Fields Etc.
  • 18. Alternatives OOB Web Services  ADO.NET Data Services sitrurl/_vti_bin/listdata.svc Develop your WCF/ Web services
  • 19. Learn More MSDN (http://MSSharePointDeveloper.com) TechNet (http://MSSharePointITPro.com) Twitter Search #SP2010
  • 20. Coming Sessions When MEF meets Silverlight – Amr El Sehemy What’s New in SharePoint Designer 2010 – Ayman El Hattab in C 7.02 Session 4 : Architecture of SharePoint 2010 Alexander Meijers C 7.01

Editor's Notes

  1. This diagram displays how the transport mechanism worksManage client OM = .NET / SilverlightAll communication goes through the client.svc WCF serviceMicrosoft implemented the client OM by decorating the core SharePoint OM with attributes if it was “client aware”[ClientCallableType(Name=“Web”,[…]),[…]]public class SPWeb {}Then a code gen tool generates the client OM assemblies and JavaScriptThis ensures that there’s fidelity between all the client OM’s and the server equiv