bài 4: thao tác với dữ liệu sharepoint thông qua ado.net data services và rest

28
Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Upload: hoc-lap-trinh-web

Post on 18-Dec-2014

691 views

Category:

Documents


6 download

DESCRIPTION

Tìm hiểu ADO.NET Data Services và REST trong SharePoint 2010 Truy vấn dữ liệu SharePoint sử dụng REST trên trình duyệt Tìm hiểu các thủ tục để thao tác với dữ liệu SharePoint trong ứng dụng phía Client sử dụng ADO.NET Data Services Tìm hiểu ADO.NET Data Services và REST trong SharePoint 2010 Truy vấn dữ liệu SharePoint sử dụng REST trên trình duyệt Tìm hiểu các thủ tục để thao tác với dữ liệu SharePoint trong ứng dụng phía Client sử dụng ADO.NET Data Services

TRANSCRIPT

Page 1: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Bài 4:Thao tác với dữ liệu SharePoint thông qua

ADO.NET Data Services và REST

Page 2: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Hệ thống bài cũ

Tìm hiểu mô hình đối tượng phía Client trên SharePoint.NET Client OMSilverlight Client OMJavaScript Client OM

Tìm hiểu các thủ tục thao tác với dữ liệu SharePoint sửdụng mô hình đối tượng phía Client

Tìm hiểu mô hình đối tượng phía Client trên SharePoint.NET Client OMSilverlight Client OMJavaScript Client OM

Tìm hiểu các thủ tục thao tác với dữ liệu SharePoint sửdụng mô hình đối tượng phía Client

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 2

Page 3: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Mục tiêu bài học

Tìm hiểu ADO.NET Data Services và REST trongSharePoint 2010Truy vấn dữ liệu SharePoint sử dụng REST trên trìnhduyệtTìm hiểu các thủ tục để thao tác với dữ liệu SharePointtrong ứng dụng phía Client sử dụng ADO.NET DataServices

Tìm hiểu ADO.NET Data Services và REST trongSharePoint 2010Truy vấn dữ liệu SharePoint sử dụng REST trên trìnhduyệtTìm hiểu các thủ tục để thao tác với dữ liệu SharePointtrong ứng dụng phía Client sử dụng ADO.NET DataServices

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 3

Page 4: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

ADO.NET Data Services và REST

ADO.NET DataServices

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 4

AtomJSON

Post, Put, Get

Bất kỳ ứng dụng hoặcnền tảng- .NET, Java,Flash, Silverlight…

ADO.NET DataServices

Page 5: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

ADO.NET Data Services và REST

SharePoint 2010 được xây dựng trên nền WCF 3.5 nênhỗ trợ ADO.NET Data Services.ADO.NET Data Services là một trong những phươngpháp dùng để thao tác dữ liệu SharePoint từ phía Client(.NET API, Silverlight API, JavaScript API)

SharePoint 2010 được xây dựng trên nền WCF 3.5 nênhỗ trợ ADO.NET Data Services.ADO.NET Data Services là một trong những phươngpháp dùng để thao tác dữ liệu SharePoint từ phía Client(.NET API, Silverlight API, JavaScript API)

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 5

Tham khảo REST: http://en.wikipedia.org/wiki/Representational_State_Transfer

Page 6: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

ADO.NET Data Services và REST

REST (Representational State Transfer) là một phươngpháp dùng để GET hoặc POST dữ liệu tới phía Server dễdàng.Thông qua REST chúng ta có thể thao tác dữ liệuSharePoint sử dụng các động từ HTTP chuẩn: GET, PUT,POST, DELETE

REST (Representational State Transfer) là một phươngpháp dùng để GET hoặc POST dữ liệu tới phía Server dễdàng.Thông qua REST chúng ta có thể thao tác dữ liệuSharePoint sử dụng các động từ HTTP chuẩn: GET, PUT,POST, DELETE

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 6

Tham khảo REST: http://en.wikipedia.org/wiki/Representational_State_Transfer

Page 7: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

ADO.NET Data Services và REST

Dữ liệu trả về từ truy vấn REST được định dạng theoJSON hoặc ATOM do đó nó độc lập với mọi nền tảng

REST có thể được sử dụng để truy vấn dữ liệu SharePointtừ nhiều loại ứng dụng khác nhau

Dữ liệu trả về từ truy vấn REST được định dạng theoJSON hoặc ATOM do đó nó độc lập với mọi nền tảng

REST có thể được sử dụng để truy vấn dữ liệu SharePointtừ nhiều loại ứng dụng khác nhau

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 7

Tham khảo REST: http://en.wikipedia.org/wiki/Representational_State_Transfer

Page 8: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Giao diện REST trên SharePoint

REST trong SharePoint 2010 cung cấp khả năng truy cậptới các Lists và Libraries như một dịch vụ dữ liệu quanhệ.REST sử dụng các quy ước URL mềm dẻo để truy vấn dữliệu bao gồm cả việc lọc và sắp xếp kết quả trả về trựctiếp trên trình duyệt

REST trong SharePoint 2010 cung cấp khả năng truy cậptới các Lists và Libraries như một dịch vụ dữ liệu quanhệ.REST sử dụng các quy ước URL mềm dẻo để truy vấn dữliệu bao gồm cả việc lọc và sắp xếp kết quả trả về trựctiếp trên trình duyệt

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 8

Tham khảo thêm: http://msdn.microsoft.com/en-us/library/ff521587.aspx

Page 9: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Giao diện REST trên SharePoint

Các toán tử trong SharePoint 2010 REST tuân theo bộtoán tử tiêu chuẩn cho RESTful web services

GET: Read dataPOST: Create dataPUT: Update dataDELETE: Delete data

Các toán tử trong SharePoint 2010 REST tuân theo bộtoán tử tiêu chuẩn cho RESTful web services

GET: Read dataPOST: Create dataPUT: Update dataDELETE: Delete data

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 9

Tham khảo thêm: http://msdn.microsoft.com/en-us/library/ff521587.aspx

Page 10: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Ví dụ truy vấn REST qua URL

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 10

Page 11: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Demo

Demo:Truy vấn Rest từ trình duyệt dữ liệu trên SharePoint Site

Lấy ra một listLấy ra một list itemLấy ra một column của itemLọc kết quả trả vềPhân trangSắp xếp

Demo:Truy vấn Rest từ trình duyệt dữ liệu trên SharePoint Site

Lấy ra một listLấy ra một list itemLấy ra một column của itemLọc kết quả trả vềPhân trangSắp xếp

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 11

Page 12: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Ví dụ truy vấn REST qua URL

URL Mô tảhttp://myserver/_vti_bin/ListData.svc Trả về danh sách các Lists và Libraries trên

SharePoint dưới dạng ATOM

http://myserver/_vti_bin/ListData.svc/Announcements

Trả về danh sách các Items và các thuộc tính,của list Annoucements dưới dạng XML Atom

http://myserver/_vti_bin/ListData.svc/$metadata

Trả về danh sách các Lists và Libraries trênSharePoint dưới dạng ATOM với mô tả chitiết về kiểu dữ liệu cho mỗi thực thể trên đó

http://myserver/_vti_bin/ListData.svc/$metadata

Trả về danh sách các Lists và Libraries trênSharePoint dưới dạng ATOM với mô tả chitiết về kiểu dữ liệu cho mỗi thực thể trên đó

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 12

Tham khảo thêm: http://msdn.microsoft.com/en-us/library/ff521587.aspx

Page 13: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Ví dụ truy vấn REST qua URL

URL Mô tảhttp://myserver/_vti_bin/listdata.svc/Employees(2)

Trả về Item có ID = 2 trong List Employees

http://myserver/_vti_bin/listdata.svc/Employees?$orderby=Name

Sắp xếp danh sách Employees được trả vềtheo cột Name.

http://myserver/_vti_bin/listdata.svc/Employees?$filter=Project/Title eq'My Project Title'

Sử dụng thuộc tính Navigation để lọc ra cácEmployees có Project với tiêu đề là MyProject Title

http://myserver/_vti_bin/listdata.svc/Employees?$filter=Project/Title eq'My Project Title'

Sử dụng thuộc tính Navigation để lọc ra cácEmployees có Project với tiêu đề là MyProject Title

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 13

Tham khảo thêm: http://msdn.microsoft.com/en-us/library/ff521587.aspx

Page 14: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Các quy ước truy vấn URL

Lấy ra các lists và các items trong list

List of lists …/_vti_bin/listdata.svc/

List listdata.svc/Employees

Item listdata.svc/Employees(123)

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 14

Item listdata.svc/Employees(123)

Single column listdata.svc/Employees(123)/Fullname

Lookup traversal listdata.svc/Employees(123)/Project

Raw value access listdata.svc/Employees(123)/Project/Title/$value

Page 15: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Các quy ước truy vấn URL

Các tùy chọn về kết quả trả về

Sorting listdata.svc/Employees?$orderby=Fullname

Filtering listdata.svc/Employees?$filter=JobTitle eq'SDE'

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 15

listdata.svc/Employees?$filter=JobTitle eq'SDE'

Projection listdata.svc/Employees?$select=Fullname,JobTitle

Paging listdata.svc/Employees?$top=10&$skip=30

Inline expansion listdata.svc/Employees?$expand=Project

Page 16: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Thủ tục thao tác dữ liệu SharePointsử dụng ADO.NET Data Services

Bước 1: Thêm Service Reference:Chỉ ra địa chỉ SharePoint RESTful URL trong Visual Studio2010: http://server/site_path/_vti_bin/listdata.svcĐặt tên Namespace cho serviceADO.NET Data Services tạo một ORM (object relationmapping) với các list trên web site và lưu vào filereference.cs

Bước 1: Thêm Service Reference:Chỉ ra địa chỉ SharePoint RESTful URL trong Visual Studio2010: http://server/site_path/_vti_bin/listdata.svcĐặt tên Namespace cho serviceADO.NET Data Services tạo một ORM (object relationmapping) với các list trên web site và lưu vào filereference.cs

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 16

Page 17: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Thủ tục thao tác dữ liệu SharePointsử dụng ADO.NET Data Services

Bước 1: Thêm Service Reference:Reference.cs bao gồm:

[sitename]DataContext– Vd: IntranetDataContext

[listname]Item.– Vd: AnnouncementsItem,

TasksItemCalendarItem…

Bước 1: Thêm Service Reference:Reference.cs bao gồm:

[sitename]DataContext– Vd: IntranetDataContext

[listname]Item.– Vd: AnnouncementsItem,

TasksItemCalendarItem…

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 17

Page 18: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Thủ tục thao tác dữ liệu SharePointsử dụng ADO.NET Data Services

Bước 2: khai báo namespace Service Reference thôngqua cú pháp using

Namespace củaProject

Bước 2: khai báo namespace Service Reference thôngqua cú pháp using

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 18

namespace FSE.SharePoint.Client{

using IntranetServiceReference;}

Namespace củaService

Page 19: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Thủ tục thao tác dữ liệu SharePointsử dụng ADO.NET Data Services

Bước 3: Tham chiếu tới đối tượng Data Context.Data Context: như là đầu vào trước khi làm việc với cácđối tượng trong ORM tương ứng với các Lists trên website.Cần phải khởi tạo đối tượng này trước khi truy vấn dữ liệu

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 19

//Truyền vào URI của _vti_bin/listdata.svc để khởi tạoMySiteDataContext context = new MySiteDataContext(new Uri("http://MyServer/MySite/_vti_bin/listdata.svc"));

Page 20: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Thủ tục thao tác dữ liệu SharePointsử dụng ADO.NET Data Services

Bước 3: Tham chiếu tới đối tượng Data Context.Tương tự như ClientContext trong các Client APIs khácĐược đặt tên bởi [sitename]DataContext

Vd: Title của web site là Intranet Home thì DataContext choweb site này là IntranetHomeDataContext.

Bước 3: Tham chiếu tới đối tượng Data Context.Tương tự như ClientContext trong các Client APIs khácĐược đặt tên bởi [sitename]DataContext

Vd: Title của web site là Intranet Home thì DataContext choweb site này là IntranetHomeDataContext.

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 20

Page 21: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Thủ tục thao tác dữ liệu SharePointsử dụng ADO.NET Data Services

Truy vấn dữ liệu sử dụng LINQ

List<AnnouncementsItem> allAnnouncements= context.Announcements.ToList();

//Truy vấn LINQvar excitingAnnouncements

= from announcement in allAnnouncementswhere announcement.Title.EndsWith("!")select announcement;

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 21

List<AnnouncementsItem> allAnnouncements= context.Announcements.ToList();

//Truy vấn LINQvar excitingAnnouncements

= from announcement in allAnnouncementswhere announcement.Title.EndsWith("!")select announcement;

Page 22: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Thủ tục thao tác dữ liệu SharePointsử dụng ADO.NET Data Services

Lưu thay đổi tới đối tượng thông qua phương thứcSaveChanges

var excitingAnnouncements= from announcement in allAnnouncements

where announcement.Title.EndsWith("!")select announcement;

foreach (var announcement in excitingAnnouncements){

announcement.Title += "!!";}

//Lưu thay đổicontext.SaveChanges();

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 22

var excitingAnnouncements= from announcement in allAnnouncements

where announcement.Title.EndsWith("!")select announcement;

foreach (var announcement in excitingAnnouncements){

announcement.Title += "!!";}

//Lưu thay đổicontext.SaveChanges();

Page 23: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Ưu nhược điểm khi sử dụngADO.NET Data Services

Ưu điểmTruy vấn dữ liệu list với định kiểu rõ (strongly typed)Vd: Với SharePoint Client OM thì list item Announcementvà Contacts đều được xác định với kiểu ListItem. Nhưngvới ADO.NET Data Services được xác định rõ làAnnouncementsItem và ContactsItem.

Nhược điểmChỉ làm việc với Lists mà không làm việc với các nội dungkhác như Content Types…

Ưu điểmTruy vấn dữ liệu list với định kiểu rõ (strongly typed)Vd: Với SharePoint Client OM thì list item Announcementvà Contacts đều được xác định với kiểu ListItem. Nhưngvới ADO.NET Data Services được xác định rõ làAnnouncementsItem và ContactsItem.

Nhược điểmChỉ làm việc với Lists mà không làm việc với các nội dungkhác như Content Types…

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 23

Tham khảo: http://msdn.microsoft.com/en-us/library/ee535480.aspx

Page 24: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Yêu cầu về môi trường

ADO.NET Data Services phải được cài đặt trên môitrường phát triển

Với Windows Server 2008 SP2: ADO.NET Data ServicesUpdate for .NET Framework 3.5 SP1 for Windows Server2003, Windows XP, Windows Vista and Windows Server2008Với Windows Server 2008 R2 hoặc Windows 7: ADO.NETData Services Update for .NET Framework 3.5 SP1 forWindows 7 and Windows Server 2008 R2

ADO.NET Data Services phải được cài đặt trên môitrường phát triển

Với Windows Server 2008 SP2: ADO.NET Data ServicesUpdate for .NET Framework 3.5 SP1 for Windows Server2003, Windows XP, Windows Vista and Windows Server2008Với Windows Server 2008 R2 hoặc Windows 7: ADO.NETData Services Update for .NET Framework 3.5 SP1 forWindows 7 and Windows Server 2008 R2

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 24

Page 25: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

DEMO

Demo:Ứng dụng Console truy vấn dữ liệu SharePoint sử dụngADO.NET Data Services

Demo:Viết một Silverlight sử dụng ADO.NET Data Services đểtruy vấn dữ liệu SharePointNhúng Silverlight này vào Silverlight Web Part trênSharePoint

Demo:Ứng dụng Console truy vấn dữ liệu SharePoint sử dụngADO.NET Data Services

Demo:Viết một Silverlight sử dụng ADO.NET Data Services đểtruy vấn dữ liệu SharePointNhúng Silverlight này vào Silverlight Web Part trênSharePoint

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 25

Page 26: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Tổng kết bài học

Ngoài các Client API như .NET, Silverlight, JavaScript thìSharePoint còn cung cấp cơ chế thao tác dữ liệu từClient thông qua ADO.NET Data Services và REST.RESTful trên SharePoint được chỉ định tại địa chỉ URL

http://server/site_path/_vti_bin/listdata.svc

Ngoài các Client API như .NET, Silverlight, JavaScript thìSharePoint còn cung cấp cơ chế thao tác dữ liệu từClient thông qua ADO.NET Data Services và REST.RESTful trên SharePoint được chỉ định tại địa chỉ URL

http://server/site_path/_vti_bin/listdata.svc

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 26

Page 27: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Tổng kết bài học

REST sử dụng các động từ HTTP để thực hiện các hànhđộng

GET: Read dataPOST: Create dataPUT: Update dataDELETE: Delete data

REST sử dụng các động từ HTTP để thực hiện các hànhđộng

GET: Read dataPOST: Create dataPUT: Update dataDELETE: Delete data

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 27

Page 28: Bài 4: Thao tác với dữ liệu SharePoint thông qua ADO.NET Data Services và REST

Danh sách tham khảo

http://msdn.microsoft.com/en-us/library/ff521587.aspxhttp://msdn.microsoft.com/en-us/library/ee535480(v=office.14).aspx

Thao tác dữ liệu SharePoint thông qua ADO.NET Data Services và REST 28