WCF-RIA

Embed Size (px)

Citation preview

CHNG 1: CNG NGH WCF RIA SERVICES 1.1 Cng ngh Windows Communication Foundation (WCF)WCF l cng ngh nn tng nhm thng nht nhiu m hnh lp trnh giao tip c h tr trong .NET 2.0 thnh mt m hnh duy nht. Vo thng 11 nm 2005, .NET 2.0 c Microsoft pht hnh trong c cung cp cc hm API ring bit cho cc lin lc da trn SOAP (Simple Object Access Protocol) ti a ho s lm vic gia cc nn tng s dng Web Services, ng thi .NET 2.0 cn cung cp cc API ti u vic lin lc da trn m nh phn gia cc ng dng chy trn h thng Windows gi l .NET Remoting, cc API cho cc giao dch phn tn, v API cho lin lc d b. WCF thng nht cc API ny thnh mt m hnh duy nht nhm p ng m hnh lp trnh hng dch v. WCF c th s dng cc bn tin SOAP gia hai tin trnh, do lm cho cc ng dng da trn WCF c th lm vic vi cc tin trnh khc thng qua vic giao tip s dng bn tin SOAP. Khi mt tin trnh WCF lin lc vi mt tin trnh khng l WCF, cc bn tin SOAP c m ho trn c s XML, nhng khi n lin lc vi mt tin trnh WCF khc, bn tin SOAP c th c ti u ho da trn m ho nh phn. 1. 1.1.1. 1.1.2.Ti sao s dng WCF? Nh phn trn trnh by, .NET 2.0 h tr rt nhiu phng php lin lc gia cc ng dng khc nhau nhm vo cc mc tiu khc nhau. Cc phng php lin lc ny kh phc tp v phi mt nhiu thi gian lm ch c cng ngh. Tuy nhin kin thc thu c t vic trin khai mt phng php t c kh nng dng c khi lm vic vi phng php khc. Vi vic ra i ca WCF, mi phng php lin lc trc kia u c th thc hin trn WCF. Do vy nh pht trin ch cn lm ch c cng ngh WCF l c th xy dng cc ng dng mt cch nhanh chng. 1.1.1. WCF l g?

WCF l mt m hnh lp trnh cho php nh pht trin xy dng cc gii php dch v m bo tnh n nh, v bo mt v thm ch l m bo giao dch. N lm n gin ho vic pht trin cc ng dng ni kt v a ra cho nh pht trin nhng gi tr m c th h cha nhn ra ngay, l cch tip cn pht trin h thng phn tn thng nht, n gin, v qun l c. Do WCF c xy dng trn c s ca .NET Framework 2.0 CLR, n l tp cc lp cho php cc nh pht trin xy dng cc ng dng hng dch v bng mi trng lp trnh quen thuc ca h nh VB.NET hay C# 1.1.3.Kin trc ca WCF Hnh sau m t cc lp ch yu trong kin trc ca WCF

Hnh 1. Kin trc ca WCF (hnh nh t www.microsoft.com) Cc contracts

Cc contract trong WCF cng ging nh cc hp ng/hip nh m bn k trong i sng tht. Mt hp ng bn k c th cha cc thng tin nh kiu cng vic bn s lm, v nhng thng tin m bn mun a ra cho cc bn khc. WCF contract cng cha cc thng tin tng t nh vy. Contract nh ngha cc c t trong h thng bn tin.Thng thng c cc loi contract sau: Contract d liu m t cc tham s cho cc bn tin m mt dch v c th to ra hay s dng. Cc tham s bn tin c nh ngha bng cc ti liu s dng ngn ng c t XML Schema (XSD), iu ny cho php cc h thng hiu XML c th x l ti liu d dng. Cc dch v khi lin lc vi nhau c th khng cn ng vi nhau v cc kiu, nhng cn ng v contract d liu, ngha l ng v cc tham s v cc kiu tr v. Contract bn tin nh ngha cc phn c trong bn tin s dng cc giao thc SOAP, v n cho php iu khin su hn ti cc phn trong bn tin khi c yu cu s chnh xc nh vy. Contract dch v c t chi tit cc phng thc ca dch v, v c phn phi nh l mt giao din trong cc ngn ng lp trnh nh Visual Basic hay Visual C#. C th hnh dung v contract dch v mt cch gin tip nh sau: y l cc kiu d liu ca cc bn tin ca ti, y l ni ti cung cp, v y l cc giao thc m ti c th lin lc Cc chnh sch v cc kt ni (bindings) m t cc iu kin cn c giao tip vi mt dch v. Cc chnh sch s bao gm c cc yu cu v bo mt v cc iu kin khc cn phi c khi kt ni vi mt dch v. Runtime service (Dch v thc thi): Lp dch v thc thi cha cc hnh x s xy ra trong qu trnh thc hin ca dch v, ngha l cc hnh x thc thi ca dch v. Ta s thy mt s cc hnh x nh sau:

Throttling behavior: iu khin lung nhm quy nh xem c bao nhiu bn tin c x l Error behavior: Hnh x li quy nh nhng hnh ng khi li xy ra trong h thng Metadata behavior: Hnh x vi cc siu d liu quy nh xem lm th no v khi no th cc siu d liu c a ra bn ngoi dch v Instance behavior: Hnh x thc th quy nh xem c bao nhiu thc th ca dch v c chy Transaction behavior: Hnh x giao dch cho php vic rollback cc giao dch nu xy ra li Message inspection: Kim tra bn tin em li cho dch v kh nng kim tra tt c hay mt s phn ca bn tin Dispatch behavior: Khi mt bn tin c x l bi nn tng WCF, dch v Dispatch behavior xc nh xem bn tin c x l nh th no. Concurrency behavior: Hnh x ng thi xc nh xem vic x l th no vi vic a lung ca mi dch v hay mi thc th ca dch v. Hnh x ny gip cho vic iu khin s lng lung c th truy nhp ti mt thc th ca dch v. Parameter filtering: Khi mt bn tin c a ti mt dch v, s xy ra mt s hnh ng da trn ni dung phn u ca bn tin. Phn lc tham s s thc hin lc cc u bn tin v thc hin cc hnh ng t sn da trn vic lc u bn tin. Message (Bn tin) Lp bn tin l tp hp cc knh. Mi knh l mt thnh phn x l bn tin theo mt cch no . Mt tp cc knh thng c gi l ngn xp knh. Cc knh lm vic trn bn tin v trn u ca bn tin. Lp ny khc vi lp thc thi dch v ch yu bi s khc nhau trong vic x l ni dung bn tin. C hai knh khc nhau l knh vn chuyn (transport channel) v knh iu khin (control channel).

Knh vn chuyn ph trch vic c v ghi cc bn tin t mng (network) hoc t mt s im giao dch bn ngoi) Knh iu khin thc hin x l bn tin theo giao thc, thng thng lm vic bng cch c v ghi thm cc u cho bn tin Host and activation (Cha v kch hot) Nhn mt cch tng th th mt dch v thc cht l mt chng trnh. Cng ging nh cc chng trnh khc, mt dch v cn phi chy trong mt tp thc thi. Dch v ny thng c gi l dch v t cha. Cc dch v cn c th c cha, hoc chy trong mt tp thc thi c qun l bi mt agent bn ngoi nh IIS hay Windows Activation Services (WAS). WAS cho php WCF c kch hot mt cch t ng khi phn phi ti mt my tnh c chy WAS. 1.1.1.Cc tnh nng ca WCF WCF c nhiu tnh nng v s c m t chi tit trong ton b kho hc. Mc ny ch nhm mc ch tho lun mt s tnh nng ca WCF. Danh sch cc tnh nng y khng phi l danh sch hon chnh, m ch hy vng l danh sch cc tnh nng nh nht. Transaction (Giao dch) Mt giao dch l mt n v ca cng vic. Mt giao dch m bo chc schn rng mi th din ra trong giao dch thnh cng hay tht bi u l kt qu tng th. V d, nu mt giao dch cha ba mc cng vic cn thc hin, trong qu trnh thc hin giao dch, mt trong s cc mc b tht bi, khi c ba mc s l tht bi. Giao dch ch thnh cng khi c ba mc cng vic u thnh cng. Giao dch thng thy trong cc thao tc vi c s d liu. WCF cho php a vo vic x l giao dch nh trn vi cc lin lc. Nh pht trin c th nhm cc lin lc vi nhau thnh cc giao dch. mc doanh nghip, tnh nng ny cho php bn thc hin cc cng vic giao dch qua cc nn tng khc nhau.

Host WCF cho php cc dch v c cha trong mt s ln cc mi trng khc nhau, nh Windows NT Services, Windows Forms, v ng dng console, cng nh trn IIS (Internet Information Server) v WAS (Windows Activation Services). Cha ng dng trn IIS cn c thm cc li im khc l dch v c th nhn cc u im ca rt nhiu tnh nng c sn trn IIS, v d IIS c th iu khin mt cch t ng vic bt u hay kt thc mt dch v. Bo mt Bo mt l tnh nng khng th thiu trong WCF ni ring v trong lin lc ni chung. Trong WCF, tt c mi th t cc bn tin ti cc client hay server u phi xc thc v WCF c tnh nng m bo rng cc bn tin khng b ln trong qu trnh vn chuyn. WCF bao gm vic m bo tnh ton vn v bo mt ca bn tin. WCF cn cho php bn tch hp ng dng ca bn vi c s h tng bo mt sn c, bao gm c cc chun bn ngoi mi trng Windows bng cch s dng cc bn tin SOAP bo mt. 1.1.1.Bo mt trong WCF Trong mt mi trng phn tn, vic truyn v gi d liu gia client v dch v cn phi c bo v khi s nhm ng ca cc i tng khng mong mun. Cn phi m bo rng d liu ch c trao i gia cc thnh phn c thm quyn m thi. Vi yu cu nh trn, WCF cung cp mt nn tng cho php trao i cc bn tin qua nhiu giao thc khc nhau, trong c nhng giao thc bo mt ph hp cho tng yu cu nht nh. Tng quan v bo mt WCF l nn tng lp trnh phn tn da trn c s cc bn tin SOAP. Do vy phi bo m tnh bo mt ca cc bn tin ny trong qu trnh trao i gia client vi dch v nhm bo v chng khi cc i tng

khng mong mun. Vic ny c th thc hin nh s h tr ca bn tin bo mt (secure message) do WCF cung cp da trn cc chun bo mt ca SOAP. WCF s dng cc khi nim quen thuc trn cc cng ngh c sn nh HTTPS, Windows Integrated Security, hoc dng username v password xc thc ngi dng. WCF khng nhng tch hp cc bo mt c sn m cn m rng mc cc bo mt ra khi gii hn ca h iu hnh Windows bng cch s dng cc bn tin SOAP bo mt. ch li ca bo mt Do WCF l mt nn tng lp trnh phn tn da trn cc bn tin SOAP nn ng dng c to ra c th x l mt s khng gii hn cc bn tin t dch v v client khc. Trong cc ng dng ny, cc bn tin c th truyn t im ny sang im khc, thng qua cc thit b nh firewall, router, switch hay internet, v qua mt lot cc im trung chuyn SOAP. iu ny e da nghim trng n s an ton ca cc bn tin v cng qua nhiu bc trung chuyn, cng to nhiu c hi cho k tn cng nh cp thng tin t cc bn tin . Nhng v d sau y cho ta hiu phn no v cc mi e da thng thy khi trao i cc bn tin, v cc mi e da ny hon ton c th loi b c nh vo cc tnh nng u vit ca WCF: Quan st cc bn tin trn mng ly ra cc thng tin nhy cm. V d my client s dng c ch dng tn ti khon v mt khu xc thc dng text khng m ho, cc hacker hon ton c th bt c bn tin v trch ra thng tin v ti khon. ng ga mt dch v m client khng h bit. Vic ny c th v nh khi truy cp internet, nhiu ngi dng v tnh vo cc trang web gi c m phng ging nh cc trang web thng dng (yahoo, google, web ca ngn hng v.v) v cung cp cc thng tin ca mnh ng nhp. V ng nhin, cc hacker s d dng c c cc thng tin ca ngi dng.

Thay i ni dung bn tin. Vic thay i ni dung bn tin i vi hacker l hon ton c th. Vic ny c th gy ra nhng tai ha rt nghim trng. Vic bo mt cho cc bn tin phi ch trng cc im sau: Xc thc im cui dch v Xc thc client Tnh nht qun ca bn tin Tnh bo mt ca bn tin Pht hin replay (s lp li yu cu ca client hay dch v m thc cht yu cu ny khng phi do client hay dch v a ra) Cc li ch ca WCF c th tng hp nh sau: 1. Tch hp vi cc kin trc bo mt c sn WCF hon ton c th lm vic vi cc gii php bo mt c sn nh Secure Sockets Layer (SSL) hoc giao thc Kerberos. Ngoi ra n cng c th lm vic vi cc kin trc bo mt ang s dng nh domain trn Windows s dng Active Directory. Ngoi vic h tr cc gii php bo mt thng thy, WCF cn tch hp vi cc gii php bo mt c tng vn chuyn v c th chuyn h tng sn c sang m hnh mi da trn bo mt cc bn tin SOAP. 2. Tch hp vi m hnh xc thc c sn Mt phn quan trng trong bt c m hnh truyn tin no l kh nng xc nh v xc thc cc thc th trong qu trnh trao i d liu. Cc thc th trong qu trnh ny s dng cc nh danh in t, hay cn gi l credentials, xc thc chng vi cc i tng ang trao i. Vi s pht trin ca cng ngh phn tn, c rt nhiu cch xc thc credentials c to ra. V d nh trn internet cch thng dng nht l dng tn ti khon v mt khu xc thc ngi dng. Trong intranet th thng dng Kerberos Domain Controller xc thc ngi dng cng vi dch v. Do vy vi cng mt dch v ta c nhiu cch xc thc tu thuc vo dch v c dng trong mi trng no. WCF h tr rt nhiu m hnh xc thc khc nhau: Anonymous caller

Username client credential Certificate client credential Windows (Kerberos, NTML) 1. Cc chun v tnh lm vic lin mi trng Hin nay cc nn tng phn tn cn phi lm vic lin thng vi cc cng ngh khc nhau m cc nh cung cp h tr. V vy m bo mt cng phi lm vic lin mi trng (interoperable) thc hin cc h thng bo mt lin mi trng, cc cng ty s dng dch v web vi mt lot cc chun khc nhau. V bo mt c th k ra cc chun nh : WS-Security, SOAP Message Security, WS-Trust, WSSecureConversation, WS-SecurityPolicy. Cc lnh vc ca bo mt Bo mt trong WCF chia thnh 3 vng chc nng: bo mt truyn thng (transfer security), iu khin truy nhp (access control), ghi vt (auditing). 1. Bo mt truyn thng Bo mt truyn thng gm 3 chc nng chnh: s nht qun, s bo mt, s xc thc. S nht qun l kh nng pht hin ti liu c b chnh sa hay khng. S bo mt l kh nng gi cho bn tin khng th b c bi cc nhn t khng thm quyn (iu ny c thc hin nh vo m ho d liu). S xc thc l kh nng xc nh mt nh danh c ng hay khng. Kt hp c 3 chc nng ny cho ta s m bo cc bn tin c gi i mt cch an ton v n ng ni cn n. C hai phng php c dng thc hin chc nng bo mt truyn thng l ch bo mt tng vn chuyn v ch bo mt bn tin. 2. iu khin truy nhp iu khin truy nhp cn c bit nh l Authorization. N cho php ngi dng khc nhau c quyn truy nhp khc nhau xem d liu. Trong WCF, cc tnh nng iu 3. Ghi vt khin truy nhp c thc hin thng qua thuc tnh PrincipalPermissionAttribute v mt lot cc API.

Ghi vt l qu trnh ghi li cc s kin bo mt vo h thng log ca Windows (Windows event log). V d nh ghi li vic xc thc li hay thnh cng ca cc s kin din ra trc . 4. 4.1.

4.2.Cng ngh SilverLight4.2.1. V sao li c Silverlight? S kh khn ca cc doanh nghip khi xy dng chin lc Web Ngy nay khi pht trin cc ng dng trn web cc doanh nghip phn mm thng au u vi nhng kh khn v s h tr trn trnh duyt v h iu hnh. iu h mun l vi nhng ngn ng v cng c pht trin vn quen thuc t trc n gi u c th lm cho h nhng ng dng chy tt trn mi nn tng, mi trnh duyt. Silverlight ra i nh mt cng ngh ph hp cho php h lm c nhng vic nh th. Nu quen thuc vi cng ngh .Net Framework th khi tip cn vi Silverlight s tit kim c rt nhiu thi gian v chi ph cho cng ngh web mi Nhu cu cn thit ca th gii a phng tin Cc cng ngh plug-in trn web trc y khng cho php truyn ti nhng d liu hnh nh cht lng cao nh 720p HDTV, trong khi cht lng ng truyn mng ngy nay ang ngy cng tt hn v nhu cu c xem nhng video cht lng cao cng tng ln th s ra i ca Silverlight em n cho ngi am m th gii a phng tin mt s tha mn tht s. 4.2.2. Silverlight l g? Silverlight l mt dng plug-in da trn cng ngh ca Microsoft .Net, n c lp vi a nn tng v a trnh duyt, n cho php pht trin cc ng dng a phng tin c bit l cc ng dng trn web. Silverlight cung cp mt m hnh lp trnh lp trnh mm do v ng nht, n h tr Ajax, Python, Ruby v cc ngn ng lp trnh .Net nh Visual basic, C#. Kh nng a phng tin ca silverlight th hin mc truyn ti m thanh v hnh nh cht lng cao mt cch nhanh chng v hiu qu trn tt c cc trnh duyt chnh nh Internet Explorer, Firefox, Safari.

Vi vic s dng Expression Studio v Visual Studio, cc nh thit k v pht trin c th hp tc mt cch hiu qu hn bng cch s dng chnh k nng ca h c hin nay lm pht trin cc sn phm web tng lai Light up the web. 4.2.3. Cc c tnh ca Silverlight Silverlight kt hp nhiu cng ngh vo mt nn tng pht trin, n cho php bn c la chn nhiu cng c v ngn ng lp trnh thch hp gii quyt bi ton ca bn. Silverlight cung cp cc tnh nng sau: 4.2.3.1.S kt hp ca WPF v XAML. Silverlight l mt gi nh ca cng ngh Windows Presentation Foundation (WPF). N c m rng nhiu hn cc Element trong trnh duyt to giao din ngi dng. PWF cho php bn to ra ha 3 chiu, hnh nh ng, a phng tin v nhiu tnh nng phong ph khc trn my khch. XAML (Extensible Application Markup Language) cung cp cc c php nh du c trng cho vic to cc Element. 4.2.3.2.M rng cho ngn ng kch bn Silverlight cung cp vic m rng cho cc ngn ng kch bn (Javascript) mt s cc trnh duyt ph bin th hin vic trnh by giao din v thao tc ngi dng mt cch phong ph hn. 4.2.3.3.S tch hp vi cc ng dng c Silverlight tch hp lin mch vi ngn ng javascript v m Ajax ca ASP.Net b sung cc chc nng ngi dng xy dng c. Ngi dng c th to nhng ti nguyn trn nn my ch c trong ASP.NET v s dng cc kh nng ca Ajax trong ASP.NET tng tc vi ti nguyn trn nn my ch m khng gy ra gin on. 4.2.3.4.S dng m hnh ngn ng lp trnh trn nn tng .Net Framework v cc cng c kt hp Ngi dng c th to cc ng dng trn nn tng Silverlight v s dng cc ngn ng ng nh InronPython cng nh l cc ngn ng C# v Visual Basic. Ngi dng cng c th s dng cc cng c pht trin nh Visual Studio to ng dng trn nn tng Silverlight 4.2.3.5.H tr mng

Silverlight bao gm cc h tr cho HTTP qua TCP. Ngi dng c th kt ni ti cc dch v ca WCF, SOAP, hoc ASP.NET AJAX v nhn v cc nh dng theo cu trc XML, JSON hay d liu RSS. 4.2.3.6.H tr ngn ng tch hp truy vn (LINQ) iu ny cho php truy cp d liu bng cch s dng c php trc quan t nhin v mnh m, c g bi cc i tng c trong cc ngn ng .Net Framework. 4.2.4. Kin trc tng th v cc m hnh lp trnh ca Silverlight 4.2.4.1.Kin trc v cc thnh phn V c bn Silverlight l mt nn tng thng nht ca nhiu thnh phn khc nhau. Tuy nhin c th khi qut cc thnh phn chnh ca silverlight vo bng di y. Thnh phn Din t tng tc ngi dng, bao gm cc control cho d liu cho ngi dng nhp, thit b a phng tin, qun l phn quyn s, trnh by d liu, ha vector, ch, hnh nh ng. cng bao gm XAML c t vic b tr giao din .Net Framework choL mt gi nh trong .Net Framework, bao gm cc thnh phn v c th vin, k c tng vic tng tc d liu, kh nng m rng cc control, mng, garbage collection, v CLR Ci t v cp nht L thnh phn s l cc tin trnh ci t lm sao n gin ha cho ln ci t u tin, tip sau ch cung cp c ch t ng cp nht v tng tc mc thp. Di y l hnh nh m t nhng thnh phn trong kin trc ca Silverlight cng vi cc thnh phn v dch v lin quan khc. silverlight

Nn tng trnh by c s Cc thnh phn v dch v hng ti giao din ngi dng v

Hnh 2: Kin trc Silverlight Core Presentation Components: Tnh nng D liu vo (input) M t X l d liu u vo t cc thit b phn cng nh bn phm, chut, bng v hoc cc thit b u vo khc (UI

Trnh by giao dinTrnh by vector v cc ho nh bitmap, nh ng, v vn bn ngi dng Rendering) Thit b nghe nhnCc tnh nng pht v qun l mt vi th loi file m thanh v

(Media) Controls Xp t Layout Trnh by d liu (Data Binding) DRM XAML

hnh nh nh .WMP v .MP3 H tr m rng cho cc control c kh nng ty chnh v kiu dng v khun mu Cho php kh nng xp t v tr ng cc thnh phn giao din ngi dng Cho php vic kt ni d liu ca cc i tng v cc thnh phn giao din ngi dng Kh nng Qun l phn quyn s Cung cp trnh phn tch cho XAML Cc lp trnh vin c th tng tc vi thnh phn nn tng trnh by c s trn

y bng cch s dng XAML c t. XAML l mt yu t quan trng nht trong vic tng tc gia .Net Framwork v cc kiu trnh by Layout, ngoi ra cc lp trnh vin cng c th s dng c ch qun l code bn trong thao tc vi lp trnh by .Net Frame work for Silverlight: Tnh nng M t H tr ngn ng truy vn tch hp (LINQ) v LINQ vi c t Data XML, d dang x l vic tch hp v lm vic vi d liu t nhiu ngun khc nhau. H tr vic s dng XML v cc lp bin i ha (serialization) x l d liu Thuc th vin ca .Net Framework, n cung cp cc chc nng Base class library Window Communication Foundation (WCF) Common languageCung cp vic qun l b nh, dn dp b nh tha, x l ngoi lp trnh ch yu nh vic x l chui, biu thc chnh quy, u vo v u ra, nh x, tp hp v ton cc ha. Cung cp cc tnh nng n gin ha vic truy cp d liu t xa. C ch ny bao gm mt i tng trnh duyt, HTTP request v HTTP Response, RSS, JSON, POX, v cc SOAP

runtime (CLR)

l

Windows PresentationCung cp cc control giu tnh nng nh Button, Calendar, Foundation controls (WPF) Dynamic runtime (DLR) CheckBox, DataGrid, DatePicker, HyperlinkButton, ListBox, RadioButton, and ScrollViewer. languageH tr vic bin dch v thi hnh vi tnh nng ng ca cc ngn ng kch bn nh Javascript v IronPython cho cc chng trnh trn nn tng Silverlight.

4.2.4.2.Cc m hnh lp trnh ca silverlight phin bn Silverlight 1.0 cung cp cho ngi dng duy nht mt m hnh lp trnh l Javascript API, cho n phin bn Silverlight 2.0 cung cp c hai m hnh lp trnh l Managed API v Javascript API. Trong khi Javascipt API ch cho php g m lnh Javascript tng tc vi trnh duyt th Managed API s dng c c ch lm vic ca Common Language Runtime (CLR) v k c Dynamic Language Runtime (DLR) bin dch v thi chng trnh code (C#, VB) Javascript API Trong mt chng trnh silverlight nhng theo kiu Javascript API, n ti ch mt trang XAML n l thay v ti mt gi ng dng. Trang XAML ny c th bao gm cc tham chiu URI t nhng ngun bn my ch khc nh l cc on video v hnh nh. Silverlight nhng s dng XAML to mt cy i tng m trn , ngi dng c th thao tc lp trnh vi javascript lu tr bn trong mt trang HTML Javascript API khng cung cp mt m hnh ng dng c kh nng h tr cc ng dng t hp vi s iu hng bn trong. Tuy nhin n cho php lm nhng kch bn theo kiu Splash screan. Ngi dng cng c th lm cc s iu hng trong Javascript API bng cch ti li trang XAML mi hoc ti li c trang web trong trnh duyt. Managed API

Trong lp trnh silverlight theo kiu Managed API, c th thao tc lp trnh vi c file XAML v file code bn trong. Khi mt Silverlight nhng ti file XAML, n s to mt cy m hnh v c th g bng cc m lnh bn trong ( thng l C#, Visual basic). 1.1.1. Kh nng h tr trnh duyt, h iu hnh v cc cng ngh lin quan

H tr ca h iu hnh v trnh duyt c m t bng di y Internet Operating system Windows Vista Windows XP SP2 Windows XP SP3 Windows 2000 Windows Mac Server OS (excluding IA-64) 10.4.8+ c C (PowerPC) Mac OS 10.4.8+ (Intel- based) Explorer 7 c c c 2003c Internet Explorer 6 c c c c Firefox 1.5, 2.x,Safari and 3.x c c c c and 3.x 2.x

1.1.2. Cc cng ngh v cng c lin quan ca silverlight.

Microsoft Expression Blend: S dng cng c ny, ngi dng c th to v thay i cch sp xp trnh by Layer ca ng dng bng cch thao tc n canvas v control trong XAML, lm vic vi cc chc nng ha, Lp trnh vi ngn ng Javascript.

Visual Studio 2008: Visual Studio cung cp cc cng c hiu qu cho vic pht trin cc ng dng c h tr thao tc code bn tron. Tt c cc phin bn c ca Visual Studio u c kh nng h tr Silverlight. Tuy nhin, phin bn mi ny n cn h tr cc tnh nng c bit hn nh bao gm kh nng IntelliSense, debugging v cc template cho vic to mi mt ng dng Silverlight.

ASP.NET AJAX: Bao gm tp cc Control, Service, v cc th vin cn thit cho

vic to v tng tc vi nn ng dng web

Microsoft ASP.NET 3.5 Extensions Preview: Cng ngh ny cung cp chc nng thm vic tng cng cc ng dng ASP.NET AJAX. N bao gm 2 control s dng hu ch cho vic xy dng ng dng nn tng silverlight cng nh l mt phn ca ng dng ASP.NET: ASP.NET MediaPlayer Server Control ASP.NET Silverlight Server Control

Internet servers: Bao gm IIS (Microsoft Internet Information Services), v Apache Web server

Microsoft Windows Communication Foundation (WCF) services. 1.1. Cng ngh WCF RIA Web services

Hnh 3: Microsoft .NET Ria Service WCF Ria Service l mt trong nhng thnh phn mi c gii thiu trong phin bn Silverlight 4. WCF Ria Service n gin ha trong vic pht trin cc ng dng

a tng cho cc Rich Internet Applications (RIA) c bit l cc Silverlight Application. WCF Ria Services gii quyt c mt vn ph bin trong khi pht trin cc gii php a tng l s phi hp cc ng dng lun l (application logic) gia tng trung gian (midle tier) vi tng th hin (presentation tier) bng cch p ng cc thnh phn framework (framework components), cng c(tools) v cc dch v (services) v chnh cc thnh phn ny s a cc ng dng lun l pha server n client m khng cn phi to ra mt ng dng lun l khc tng t.

Hnh 4: Kin trc WCF Ria Services WCF Ria Service cung cp mt m hnh thit k gip cho ngi pht trin c th d dng xy dng c cc ng dng lun l (application logic) m c th ti tng trung gian (midle tier) v kim sot vic truy cp d liu cho cc truy vn, thay i v ty chnh cc hot ng. ng thi WCF Ria Service cn h tr mt s tc v thng thng nh vic xc thc d liu, chng thc v kim tra vai tr ngi s dng bng cch tch hp vi cc thnh phn ca silverlight trn my khch.

Hnh 5: Kin trc Rich Internet Application Hai lp chnh trong WCF Ria Service: DomainService v DomainContext

Hnh 6: Hot ng ca DomainService Lp DomainService c s dng nh ngha cc ng dng lun l trn tng trung gian bao gm vic t chc mt tp cc lp d liu c gi l thc th (entities). Sau Ria Service s t ng to ra cc thc th tng ng m pha client s s dng giao tip vi dch v trn server. Nhng lp c to ra ny cho php ngi pht trin nhn d liu, v thao tc trc tip trn . Cc thc th (entities) thc cht l cc thng cha (containers) hay c th l d liu v i km vi nhng thng tin c t d liu c th hin di dng cc thuc tnh (attributes) hay cc siu d liu (metadata). Tng truy xut d liu (Data Access Layer -

DAL) c th s dng cc cng ngh nh Entity Framework, LINQ to SQL, Web Services, DataReader hay DataSet. DomainService : cung cp mt tp cc phng thc c s dng thao tc vi cc thc th, ng thi h tr cc phng thc truy vn vi LINQ. DomainService h tr cc phng thc thao tc trn d liu nh insert, update, delete. DomainContext: v pha client th lp DomainContext c to ra phc v cho DomainService, cho php vic ng b ha i vi cc truy vn trn DomainService ly d liu v vo cc tp thc th (EntityCollections). Cc quan h gia cc thc th (entities) cng s c duy tr v lu vt li ti pha my khch(client).