21
Introduction to WCF Data service and ODATA Creating WCF Data Service Consuming WCF Data Service WCF Data Service, Project Astoria, OData and ADO.Net Data Service are same thing. What is ODATA? ODATA is HTTP or web protocol to quering or manipulating data! ODA T A use s HTTP" #OS$ or A TO%! ODA T A can be implemented t&roug& an plat'orm supports" HTTP" (%) or #SO$! ODATA can e*pose data+in'ormation 'rom relational database" File sstems" Web sites" services etc! ODATA speci,cation available under %icroso't-s Open Speci,cation Promise .OSP/ so t&ird parties" including open source pro0ects" can build Open Data Protocol clients and services! What is WCF Data Service? WCF Data service 'ramewor1 provides an API t&at allows data to be created and consumed over HTTP using 23ST'ul service! WCF Data service supports all database operations using 42I! WCF Data service can e*pose an entit model via an 42I! WCF Data service is 23ST'ul service to support C24D operations on database! WCF Data service could be consumed b an tpe o' client li1e Windows" Silver)ig&t" Web" A#A( and console!

Introduction to WCF Data Service and ODATA

Embed Size (px)

Citation preview

Page 1: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 1/21

Introduction to WCF Data service andODATA

Creating WCF Data ServiceConsuming WCF Data Service

WCF Data Service, Project Astoria, OData and ADO.Net Data Service are samething.

What is ODATA?

• ODATA is HTTP or web protocol to quer ing or manipulating data!• ODATA uses HTTP" #OS$ or ATO%!

• ODATA can be implemented t&roug& an plat'orm supports" HTTP" (%) or #SO$!

• ODATA can e*pose data+in'ormation 'rom relational database" File s stems" Websites" services etc!

• ODATA speci,cation available under %icroso't-s Open Speci,cation Promise .OSP/so t&ird parties" including open source pro0ects" can build Open Data Protocolclients and services!

What is WCF Data Service? • WCF Data service 'ramewor1 provides an API t&at allows data to be created and

consumed over HTTP using 23ST'ul service!• WCF Data service supports all database operations using 42I!

• WCF Data service can e*pose an entit model via an 42I!

• WCF Data service is 23ST'ul service to support C24D operations on database!

• WCF Data service could be consumed b an t pe o' client li1e Windows"Silver)ig&t" Web" A#A( and console!

Page 2: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 2/21

Bloc diagram e!"laining #or ing o$ WCF Data Service

5! Create a Data Access la er using ADO!$et 3ntit model or )I$6!7! %a1e sure Data model is implementing I6uer able and I4pdateable !

8! 3*pose t&e data model as 23ST service using WCF Data service!

C%&D O"erations and 'TTP ver(

Page 3: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 3/21

S)""orted *essage Format

Sam"le on WCF Data Service

Page 4: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 4/21

)et us sa " we &ave a table called Student o' below structure below in our database

In Student table 2oll$umber is a primar 1e !

)et us create WCF Data Service w&ic& will e*pose t&e above table as 23ST service

Ste" + Create a We( A""lication

Create a new pro0ect and select ASP!$et Web Application pro0ect template 'rom Web tab! 9ive a meaning 'ull name to t&e web application!

Page 5: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 5/21

Ste" - Create a Data *odel

We can create a Data %odel" w&ic& can be e*posed as WCF Data Service in t&ree wa s5! 4sing ADO!$et 3ntit model!7! 4sing )I$6 to S6) class!

8! Custom Data %odel!

For our purpose" I am going to use ADO!$et 3ntit model to create t&e data model! So tocreate an entit model

5! 2ig&t clic1 on web application and add a new item

Page 6: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 6/21

7! Select ADO!$et 3ntit model 'rom Data tab!

8! Since we &ave table in data base! so we are going to c&oose option " select 'romdatabase!

Page 7: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 7/21

:! 3it&er c&oose t&e data base 'rom drop down or create a new data connection!

Page 8: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 8/21

In above connection string StudentD;3ntities is name o' t&e connection string! I'we want" we can c&ange t&is connection string as per our requirement! I' ourrequired data base is not listed in drop down t&en" ou can create a new dataconnection! To create new data connection clic1 on $ew Connection!

Page 9: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 9/21

<ou can give t&e data base server name and press re'res&! A'ter pressing 2e'res&"ou can c&oose t&e data base 'rom t&e drop down! A'ter selecting t&e data baseclic1 on Test Connection to test connection establis&ed success'ull or not=

>! Select tables" views and stored procedure 'rom data base ou want to ma1e ast&e part o' our data model! Since we are &aving onl one table so we areselecting one table!

Page 10: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 10/21

I' ou want ou can c&ange name o' t&e data model! ; de'ault it is name o' t&edata base appended b t&e term model! Clic1 on Finis& button to complete and

create t&e data model!?! $ow we can see t&at StudentData%odel!edm* &as been created in t&e designer!

Since t&ere is onl one table" so t&ere is onl one table model at design sur'ace!

Page 11: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 11/21

$ow we &ave created t&e data model w&ic& can be e*posed as WCF Data Service! $ow ou can see in solution e*plorer" ou &ave Student%odel!edm* andStdent%odel!Designer!cs ,les!

Ste" Creating WCF Data Service 5! 2ig&t clic1 on Web Application pro0ect and add a new item!7! Select WCF Data Service 'rom Web tab! 9ive an meaning'ul name! I am leaving

t&e de'ault name &ere!

8! A'ter adding t&e WCF Data Service" we can see a service ,le wit& e*tension !svc&as been added to t&e solution e*plorer! W&en we clic1 on !svc!cs ,le" we can see

t&e code generated 'or us!

Page 12: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 12/21

@er ,rst we need to put data source name! To do so uncomment t&e ,rstcommented line and put t&e data source name! In our case name o' t&e model"w&ic& we created in 7nd step is t&e data source! Our data source name isStudentD;3ntities

$ow we need to set access rules 'or entit or entit set! Since we &ave onl onetable" so eit&er we can give name o' t&e table e*plicitl or i' we want to set t&esame access rule 'or all t&e table in t&e data model or data source we could put !

So we are setting t&e access rule t&at" on t&e entit in data source per'orm all t&eoperations!

Ste" / %)n the WCF Data Service

#ust press F> to run t&e WCF Data Service! Data Service will be &osted in t&e de'aultASP!$et server called Cassini!

On running ou can see" one table is listed! T&at table is Student

T&e above is t&e data in ATO% message 'ormat!

Note B I' our browser is not s&owing t&e e*pected result" ma1e sure Feed reading o'browser is o ! To do 'rom menu o' I3 and select tool and t&en Internet Option t&enContent

Page 13: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 13/21

Page 14: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 14/21

*etaData

• One 'eature o' WCF data service is t&at" t&e provide operation to retrieve%etadata about t&e service and o er o' t&e service!

• T&is is ver use'ul in determining structure be'ore requesting t&em!

• WCF Data service provides metadata accessible!

• %etadata e*pose all t&e resource and custom services!

• %etadata could be accessed b appending metadata to service 42I!

So" t&e 42I to access metadata is

&ttpB++local&ostB7E: E+Wc'DataService5!svc+ metadata

&%0 1)er2 o"tions

Page 15: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 15/21

We can per'orm various queries in t&e browser itsel' using t&e 42I quer options!

O"tions

O"tions Descri"tions

e*pand 2equest set o' related entities to be retrieved!

orderb Indicates t&e sequence entit to be retrieved

s1ip S1ip number o' data items!

top At most returns top number o' data items

,lter Applies t&e ,ltering condition

O"erators

O"tions Descri"tions

eq 3qual

ne $ot 3qualgt 9reater T&an

ge 9reate t&an or equal to

lt )ess t&an

le )ess t&an or equal to

and )ogical A$D

or )ogical O2

not )ogical $OT

*ath O"erators

O"erators Descri"tions

add add

sub Subtract

mul multipl

div Division

mod remainder

3ario)s 4)eries

5! Fetc& all t&e records 'rom t&e table Student

42IB &ttpB++local&ostB7E: E+Wc'DataService5!svc+Students

2esult

Page 16: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 16/21

7! Fetc& t&e student details wit& roll number 5

42IB &ttpB++local&ostB7E: E+Wc'DataService5!svc+Students= ,lterG2oll$umbereq-5-

8! Fetc& top 7 record 'rom t&e student table

42IB &ttpB++local&ostB7E: E+Wc'DataService5!svc+Students= top G7

Page 17: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 17/21

:! Fetc& t&e records o' t&e student wit& roll number 5 or 8

42IB &ttpB++local&ostB7E: E+Wc'DataService5!svc+Students=. ,lterG2oll$umbereq-5-/or. ,lterGrollnumber eq -8-/

Different Access rules on the entity set

5n)merator Descri"tions

All All 2ead and Write are permitted

All2ead All 2ead permitted

AllWrite All Write is permitted

$one $o access is permitted

2ead%ultiple 2eading multiple row is permitted

2eadSingle 2eading a single row is permitted

WriteAppend Creating $ew data is permitted

Page 18: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 18/21

WriteDelete Deleting data is permitted

Write%erge %erge updating is permitted

Write2eplace 2eplace updating is permitted

As we discussed above we can set access rule 'or a particular entit or w&ole entit set in

data source!

config.SetEntitySetAccessRule( "*" , EntitySetRights .All);

T&is will permit all rig&t access on all entit set!

config.SetEntitySetAccessRule( "Students" , EntitySetRights .AllWrite);

T&is will permit all write access on Student entit set!

Creating a client to cons)me WCF Data Service

Ste" +

Add a new pro0ect in t&e same solution o' t pe console application!

Ste" -

Add t&e service re'erence o' WCF Data Service! To add rig&t clic1 on t&e console pro0ectand add a service re'erence! Since WCF Data Service and client pro0ect in t&e samesolution " clic1 on Discover to discover t&e service in t&e solution!

Page 19: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 19/21

Add t&e re'erence o' S stem!Data!Service!Client in client pro0ect also!

Ste"

Page 20: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 20/21

Add namespaces

Ste" /

$eed to create instance o' DataConte*t and StudentD;3ntities! T&ese two classes ta1eas parameter in t&eir constructor! Parameter is base 42I o' t&e WCF Data Service!

%etrieving all the records o$ ta(le St)dents

Adding one record in the ta(le St)dent

&"dating a record in the ta(le St)dent

Page 21: Introduction to WCF Data Service and ODATA

8/10/2019 Introduction to WCF Data Service and ODATA

http://slidepdf.com/reader/full/introduction-to-wcf-data-service-and-odata 21/21

Delete a record in the ta(le St)dent