Lv06-Lqv01b Cnpm Windows Azure

  • Upload
    nnkhoi

  • View
    165

  • Download
    2

Embed Size (px)

Citation preview

TRNG I HC KHOA HC T NHIN KHOA CNG NGH THNG TIN B MN CNG NGH PHN MM

HUNH CNG L PA NGUYN THNH T

TM HIU WINDOWS AZURE V XY DNG NG DNG TH NGHIM

KHA LUN TT NGHIP C NHN CNTT

TP. HCM, 2010

TRNG I HC KHOA HC T NHIN KHOA CNG NGH THNG TIN B MN CNG NGH PHN MM

HUNH CNG L PA NGUYN THNH T

0612327 0612602

TM HIU WINDOWS AZURE V XY DNG NG DNG TH NGHIM

KHA LUN TT NGHIP C NHN CNTT

GIO VIN HNG DN ThS. LM QUANG V

KHA 2006 2010

NHN XT CA G IO VIN HNG DN TpHCM, ngy .. thng nm Gio vin hng dn

NHN XT CA G IO VIN PHN BIN Kha lun p ng yu cu ca Kha lun c nhn CNTT. TpHCM, ngy .. thng nm Gio vin phn bin

LI CM NChng em xin chn thnh cm n Khoa Cng ngh Thng tin, trng i hc Khoa hc T nhin, i hc Quc gia TP. H Ch Minh to iu kin thun li cho chng em hc tp v thc hin ti tt nghip ny. Lun vn ny s khng th hon thnh nu khng c s gip v ch bo tn tnh ca thy Lm Quang V, ngi thy hng dn chng em. Chng em xin by b lng vit n su sc v nhng ch bo, nh hng nghin cu, h tr, to iu kin tt nht cho chng em trong sut qu trnh thc hin ti. Chng em xin chn thnh cm n qu Thy C trong Khoa Cng ngh Thng tin tn tnh ch bo, truyn t nhng tri thc, k nng, kinh nghim qu bu cho chng em trong sut bn nm ging ng i hc. y l nhng hnh trang qu bu chng em vng bc vo i. Chng con xin gi li bit n su sc n ng B, Cha M chu thng, chu kh, nui dng, h tr, ng vin, ng h chng con chng con c c ngy hm nay. Chng em xin cm n s quan tm, gip v ng h ca anh ch, bn b trong qu trnh thc hin kha lun. Mc d ht sc n lc v c gng, nhng lun vn chc chn s khng trnh khi nhng thiu st. Chng em knh mong nhn c s thng cm, gp v tn tnh ch bo ca qu Thy C v cc bn. Mt ln na xin gi n tt c mi ngi li cm n chn thnh nht.

Tp. H Ch Minh, thng 07 nm 2010 Nhm sinh vin thc hin

Hunh Cng L Pa Nguyn Thnh t

Khoa Cng Ngh Thng Tin B mn CNG NGH PHN M M

CNG CHI TITTn Ti: Tm hiu Windows Azure v xy dng ng dng th nghim. Gio vin hng dn: Th.S Lm Quang V Thi gian thc hin: (t ngy nhn ti n ngy 7/7/2010 ) Sinh vin thc hin: Hunh Cng L Pa 0612327 Nguyn Thnh t 0612602 Loi ti: Tm hiu cng ngh (c ng dng minh ha)

Ni Dung Ti: Tm hiu cc thnh phn, kin trc ca Windows Azure Platform: Windows Azure, SQL Azure, Windows Azure platform AppFabric. Tm hiu mi trng lp trnh v cc dch v c trng ca Windows Azure pht trin mng x hi o dnh cho cu sinh vin. ng dng c cc thnh phn c bn ca mt mng x hi o (ti khon, thng tin c nhn, tin nhn, bn b, nhm, blog, photo) v b sung cc tnh nng c trng dnh cho cu sinh vin (din n, trung tm cng vic, quyn gp). Chn v p dng mt s kch bn ph bin cho Windows Azure xy dng ng dng. K Hoch Thc Hin: 1/2/2010 28/2/2010: Tm hiu l thuyt v ng dng. o Nguyn Thnh t: tm hiu l thuyt v in ton m my, cc thnh phn ca Windows Azure Platform. o Hunh Cng L Pa: tm hiu mi trng lp trnh v xy dng vi ng dng th nghim, s dng mt s dch v ca Windows Azure.

1/3/2010 31/3/2010: kho st yu cu v ln tng thit k ng dng. o Nguyn Thnh t: Kho st trang Faceb ook, Ning, Fisharoo,. Phn tch, thit k cc chc nng: thng tin c nhn, bn b, blog. o Hunh Cng L Pa: Tm hiu kin trc ca Student Social Network, Fisharoo. Phn tch v thit k cc chc nng: ti khon, tin nhn. 1/4/2010 30/4/2010: ci t chng trnh . o Nguyn Thnh t : Xy dng cc chc nng: thng tin c nhn, bn b, blog. Tm hiu dch v h tr ca .Net : Live Service. o Hunh Cng L Pa: Xy dng kin trc ng dng v chc nng c bn: ti khon, tin nhn. Tm hiu v xy dng m hnh MVP, h tr cho ngi dng vit thm application. Trin khai th nghim ng dng trn m my. 1/5/2010 31/5/2010: ci t, thit k giao din, kim th. o Nguyn Thnh t: thit k giao din, kim th cc chc nng c bn. o Hunh Cng L Pa: da trn kin trc c xy dng thm cc ng dng : lp/nhm, hnh nh, trung tm cng vic, din n, quyn gp. 1/6/2010 7/7/2010: vi t bao cao va hoan thi n . o Nguyn Thnh t: Sa li h thng. Tm hiu thm cc thnh phn khc ca Windows Azure Platform. Vit bo co. o Hunh Cng L Pa: cng c kin trc phn mm . p dng mt s kch bn ca Windows Azure cho ng du ng . Vi t bao cao . Xc nhn ca G VHD Ngy 07 thng 07 nm 2010 SV Thc hin

MC LCChng 1 Tng quan ................................................................................................12 1.1. Gii thiu .............................................................................................................12 1.2. Mc tiu ti .....................................................................................................13 1.3. Kt qu t c .................................................................................................13 Chng 2 Tng quan Windows Azure Platform ...............................................14

2.1. Tng quan in ton m my ..........................................................................14 2.1.1. 2.1.2. 2.1.3. 2.1.4. 2.1.5. 2.1.6. nh ngha ................................................................................................14 Cc gii php ............................................................................................15 Cc tng to nn m my ......................................................................16 Li ch ca in ton m my ..............................................................17 Thch thc ca in ton m my .......................................................18 Xu hng pht trin .................................................................................18

2.2. Tng quan Windows Azure Platform...............................................................19 2.2.1. 2.2.2. 2.2.3. 2.2.4. Chng 3 Gii thiu ..................................................................................................19 Gii thiu Windows Azure .....................................................................20 Gii thiu SQL Azure .............................................................................21 Windows Azure Platform AppFabric ....................................................23 Gii thiu v Windows Azure .............................................................24

3.1. Tng quan Windows Azure ...............................................................................24 3.2. Cc thnh phn Windows Azure.......................................................................24 3.2.1. 3.2.2. 3.2.3. Dch v tnh ton (Compute Service)....................................................25 Dch v lu tr (Storage Service) ..........................................................27 Windows Azure Fabric ...........................................................................28

1

Chng 4

Gii thiu b lu tr Windows Azure ..............................................31

4.1. Gii thiu b lu tr Windows Azure..............................................................31 4.2. Windows Azure Blob .........................................................................................31 4.2.1. 4.2.2. 4.2.3. Gii thiu ..................................................................................................31 Giao tip REST vi Blob ........................................................................33 Vi Blob l mt danh sch cc block ....................................................33

4.3. Windows Azure Table ........................................................................................35 4.3.1. 4.3.2. 4.3.3. Gii thiu ..................................................................................................35 Phn vng Table ......................................................................................38 Lp trnh Table .........................................................................................40

4.4. Windows Azure Queue ......................................................................................41 4.4.1. 4.4.2. 4.4.3. Chng 5 Gii thiu ..................................................................................................41 M hnh d liu Queue: ..........................................................................43 Thc tin tt nht .....................................................................................44 Gii thiu SQL Azure ...........................................................................46

5.1. Gii thiu .............................................................................................................46 5.2. Tng quan kin trc ............................................................................................46 5.2.1. 5.2.2. 5.2.3. 5.2.4. 5.2.5. M hnh Provisioning ..............................................................................46 M hnh d liu quan h .........................................................................47 Kin trc truy xut d liu ......................................................................47 M hnh bo mt ......................................................................................48 Trin khai ..................................................................................................48

5.3. ng dng ca SQL Azure .................................................................................49 Chng 6 Tng quan Windows Azure Platform AppFabric ..........................50

2

6.1. Gii thiu .............................................................................................................50 6.2. Gii thiu AppFarbic Service Bus ....................................................................50 6.2.1. 6.2.2. 6.2.3. Gii thiu ..................................................................................................50 Kin trc Service Bus ..............................................................................51 Message Buffer ........................................................................................58

6.3. Tng quan Fabric Access Control ....................................................................60 6.3.1. 6.3.2. 6.3.3. Chng 7 Gii thiu ..................................................................................................60 Xy dng Web Services Trust Access Control ....................................61 Access Control Management Service ...................................................66 ng dng mng x hi o cho cu sinh vin. ..................................68

7.1. Gii thiu .............................................................................................................68 7.2. Chc nng ............................................................................................................69 7.3. Use-case ...............................................................................................................71 7.3.1. 7.3.2. M hnh Use-case ....................................................................................71 Danh sch Use-case .................................................................................72

7.4. Kin trc h thng ..............................................................................................74 7.4.1. 7.4.2. 7.4.3. Theo gc nhn thit k .............................................................................74 gc nhn ng dng ...............................................................................75 Kin trc Application ..............................................................................76

7.5. S lp ..............................................................................................................78 7.6. Thit k d liu ...................................................................................................85 7.7. Thit k giao din ...............................................................................................89 7.7.1. 7.7.2. Trang ch ..................................................................................................89 Thng tin c nhn ....................................................................................91

3

7.7.3. 7.7.4. 7.7.5. 7.7.6. 7.7.7. 7.7.8.

Bn b........................................................................................................92 Din n ....................................................................................................94 Hc bng/Quyn gp...............................................................................95 Blog ...........................................................................................................98 Hnh nh ................................................................................................. 100 Trang qun l.......................................................................................... 102

7.8. Cu hnh v trin khai ng dng .................................................................... 102 Chng 8 Kt lun ................................................................................................. 106

8.1. nh gi ............................................................................................................ 106 8.1.1. 8.1.2. V lun vn ............................................................................................ 106 V ng dng .......................................................................................... 106

8.2. Hng pht trin v m rng lun vn ......................................................... 108 8.2.1. 8.2.2. V lun vn ............................................................................................ 108 V ng dng .......................................................................................... 108

8.3. Li kt ............................................................................................................... 108 Ph lc............................................................................................................................. 111 1. AppFabric Service Bus Binding ...................................................................... 111

1.1. NetOnewayRelayBinding ............................................................................... 111 1.2. NetEventRelayBinding ................................................................................... 112 1.3. NetTcpRelayBinding ....................................................................................... 112 1.4. HTTP Relay Binding ....................................................................................... 114

4

DANH MC CC HNHHnh 2.1 - Mi th u tp trung vo m my. [1] .....................................................14 Hnh 2.2 - Minh ha v cc dch v. [2].......................................................................15 Hnh 2.3 - Cc tng to nn m my. [3] ...................................................................16 Hnh 2.4 Tng quan Windows Azure Platform. [20] ..............................................19 Hnh 2.5 Windows Azure cung cp dch v tnh ton v dch v lu tr. [6]........20 Hnh 2.6 - SQL Azure cung cp dch v nh hng d liu trong m my. [6]....21 Hnh 2.7 - ng dng truy xut d liu trong C s d liu SQL Azure. [6].............22 Hnh 2.8 - Windows Azure Platform AppFabric cung cp c s h tng. [6]...........23 Hnh 3.1 - ng dng Windows Azure. [7] .....................................................................24 Hnh 3.2 - Cc thnh phn Windows Azure. [7] ...........................................................24 Hnh 3.3 - ng dng Windows Azure c th cha Web role v Worker role. [7] ...25 Hnh 3.4 - B lu tr Windows Azure: Blob, Table, Queue. [7] ................................27 Hnh 3.5 - Fabric Controller. [7]......................................................................................28 Hnh 3.6 - Fabric Controller v Fault Domain. [7] .......................................................29 Hnh 3.7 - Fabric Controller v Update Domain. [7] ....................................................30 Hnh 4.1 - M hnh v d d liu Blob. [8] ....................................................................31 Hnh 4.2 - Khi nim lu tr Blob Block. [8]................................................................34 Hnh 4.3 - Windows Azure Table. [7] ............................................................................36 Hnh 4.4 Hnh minh ha phn vng. [9]......................................................................39

5

Hnh 4.5 Cc thao tc vi message. [10] .....................................................................42 Hnh 6.1 - Kin trc Service Bus. [12] ...........................................................................51 Hnh 6.2 - M hnh tch hp Service bus v Access Control. [13] .............................52 Hnh 6.3 S tn gi ca Service Bus. [13] ...........................................................55 Hnh 6.4 Message Buffer trong Service Bus. [13] .....................................................58 Hnh 6.5 S trao i. [15] ........................................................................................61 Hnh 6.6 - Lc ti nguyn Access Control. [17] ....................................................66 Hnh 7.1 - S Use-case. ...............................................................................................71 Hnh 7.2 S kin trc tng quan h thng. ............................................................74 Hnh 7.3 S kin trc chi tit h thng. .................................................................75 Hnh 7.4 AlumniNetworking gc nhn ng dng. ..................................................76 Hnh 7.5 S kin trc Application. .........................................................................76 Hnh 7.6 Cu trc AppPage. .........................................................................................77 Hnh 7.7 S module Account, Profile, Friend.......................................................78 Hnh 7.8 S lp Forum, Group. ..............................................................................80 Hnh 7.9 S lp module Message, Photo, Comment, Rating..............................81 Hnh 7.10 S lp module Job, Scholarship. ..........................................................83 Hnh 7.11 Lc CSDL. ............................................................................................85 Hnh 7.12 Mn hnh trang ch. .....................................................................................89 Hnh 7.13 Mn hnh ng nhp. ...................................................................................90

6

Hnh 7.14 Mn hnh ng k. .......................................................................................90 Hnh 7.15 Mn hnh thng tin c nhn. .......................................................................91 Hnh 7.16 Mn hnh tin nhn. .......................................................................................91 Hnh 7.17 Mn hnh bn b ca ti. .............................................................................92 Hnh 7.18 Mn hnh tm kim bn b. .........................................................................92 Hnh 7.19 Mn hnh nhp a ch mail t Outlook. ...................................................93 Hnh 7.20 Mn hnh gii thiu nhm. .........................................................................93 Hnh 7.21 Mn hnh thnh vin nhm. ........................................................................94 Hnh 7.22 Mn hnh din n. ......................................................................................94 Hnh 7.23 Mn hnh bi vit trn din n. ................................................................95 Hnh 7.24 Mn hnh quyn gp. ...................................................................................95 Hnh 7.25 Mn hnh danh sch cng vic. ..................................................................96 Hnh 7.26 Mn hnh thng tin cng vic.....................................................................96 Hnh 7.27 Mn hnh danh sch ng vin ca mt cng vic. ...................................97 Hnh 7.28 Mn hnh danh sch bi vit. .....................................................................98 Hnh 7.29 Mn hnh chi tit bi vit . ..........................................................................99 Hnh 7.30 Mn hnh hnh nh. ................................................................................... 100 Hnh 7.31 Mn hnh slideshow.................................................................................. 101 Hnh 7.32 Mn hnh trang qun l. ............................................................................ 102 Hnh 7.33 Mn hnh ng nhp ti khon Windows Live. .................................... 102

7

Hnh 7.34 Mn hnh thng tin project Windows Azure. ........................................ 103 Hnh 7.35 Mn hnh cc dch v ng k. .......................................................... 103 Hnh 7.36 Mn hnh ng k dch v mi. .............................................................. 103 Hnh 7.37 Mn hnh ng k hosted service. .......................................................... 104 Hnh 7.38 Mn hnh ng k storage service. ......................................................... 104 Hnh 7.39 Mn hnh to mi Affinity Group........................................................... 104 Hnh 7.40 Mn hnh cu hnh dch v. ..................................................................... 105 Hnh 7.41 Mn hnh qun l ng dng...................................................................... 105 Hnh 8.1 Cc application v plugin xy dng. ................................................... 107 Hnh 8.2 C ch NetOnewayRelayBinding . ........................................................... 111 Hnh 8.3 C ch NetEventRelayBinding. [13] ........................................................ 112 Hnh 8.4 C ch NetTcpRelayBinding Relayed Mode. [13] ............................ 113 Hnh 8.5 C ch NetTcpRelayBinding - Hybrid Mode. [13] ............................... 114 Hnh 8.6 C ch HTTP Relay Binding. [13] .......................................................... 115

8

DANH MC CC BNGBng 4.1 Cc kiu d liu Windows Azure Table h tr. [9] ..................................38 Bng 4.2 Bng tm tt cc API cho Windows Azure Table. [9] .............................40 Bng 6.1 Bng gi tr ca TransportClientCredentialType. [12] .............................53 Bng 6.2 Bng gi tr ca Message Security. [12] .....................................................54 Bng 6.3 WCF v AppFabric Service Bus Binding. [12] .........................................57 Bng 6.4 Gi tr ConnectivityMode. [12] ...................................................................57 Bng 6.5 Key trong mt SWT Token. [15].................................................................63 Bng 6.6 Cc kiu yu cu Access Control. [16] .......................................................65 Bng 7.1 Danh sch cc Use-case. ...............................................................................72 Bng 7.2 Cc thnh phn kin trc Application.........................................................77 Bng 7.3 Cc lp/quan h ca s module Account, Profile, Friend. .................79 Bng 7.4 Cc lp/quan h ca s module Forum, Group....................................81 Bng 7.5 Cc lp/quan h ca s lp Message, Photo, Comment, Rating. ......82 Bng 7.6 Cc lp/quan h ca s module Job, Scholarship. ...............................84 Bng 7.7 Cc table ca ng dng AlumniNetworking..............................................86

9

MT S THUT NGOn-premise Ch cc ng dng hoc dch v c trin khai v qun l bi mt doanh nghip s hu n v t ti v tr doanh nghip . CNTT IDC Cng ngh thng tin. International Data Corporation

10

TM TTVn nghin cu: Lun vn thc hin nghin cu tm hiu cc vn chung ca Windows Azure Platform nh kin trc, thnh phn, chc nng, li ch, cc m hnh ng dng nhm a ra mt tm nhn tng quan v Windows Azure Platform. Tm hiu m hnh, hot ng, mt s vn khi s dng cc thnh phn ca Windows Azure Platform pht trin ng dng. Tm hiu mi trng pht trin Windows Azure Development Kit. Tm hiu cc dch v v kch bn ca Windows Azure v chn lc pht trin ng dng mng x hi o dnh cho cu sinh vin. Tm hiu cc thnh phn, chc nng c bn ca mng x hi o v tham kho cc website ca cu sinh vin trong nc v quc t. Xy dng mng x hi o c cc chc nng c bn v cc tnh nng c trng dnh cho cu sinh vin trn Windows Azure. Kt qu: Bo co l thuyt v cc thnh phn ca Windows Azure Platform: Windows Azure, B lu tr Windows Azure (Blob, Table, Queue), SQL Azure, Windows Azure platform AppFabric (Service Bus, Access Control). Xy dng c ng dng ma ng xa h i Azure g m nhng thanh ph n sau o cho cu sinh vin trn Windows : ti khon, thng tin c nhn, tin nhn, bn b,

lp/nhm, blog, din n, hnh nh, hc bng/quyn gp, trung tm cng vic. ng dng c cc dch v h tr ca Windows Azure: dch v tnh ton, dch v lu tr, SQL Azure. Thc hin c mt s kch bn ca Windows Azure xy dng ng dng. Do ng dng c cc nhng kh nng sau: Kin trc h thng c xy dng theo hng m , c kh nng thay i giao C c mt s li ch so vi ng dng Web thng thng : hiu sut x l

din web. cao, kh nng chu ti tt, d liu c lu tr trn m my c kh nng m rng ln. ng dng c kh nng m rng tt, c x l song song, c x l nn.

11

Chng 11.1. Gii thiu

Tng quan

Ch vi mt thi gian ngn nhng ngy cng nhiu doanh nghip da vo s pht trin ca cc ng dng v nn tng CNTT qua Internet hoc "m my" cung cp nhng ng dng CNTT. Trn khp th gii, hin tng in ton m my ang c tung h nh l mt iu g ln lao sp n ca ngnh CNTT. N s thay i cch con ngi lm vic, cch thc cc cng ty hot ng cng nh kh nng s dng dch v hiu qu v tit kim hn. Theo d bo ca Cng ty D liu quc t IDC, th trng cc dch v m my trn ton th gii s t quy m khong 43 t USD vo nm 2012. IDC cng cho rng nhng ng dng dch v m my s t t l tng trng hng nm khong 27%, cao gp khong 5 ln m hnh s dng cc dch v CNTT truyn thng. Vi cng ngh in ton m my. Chng ta s khng cn trng thy cc my tnh c nhn, my ch ca ring cc doanh nghip lu tr d liu, phn mm na m ch cn mt s cc my ch o tp trung trn mng. Cc my ch o s cung cp cc dch v gip cho doanh nghip c th qun l d liu d dng hn, h s ch tr chi ph cho lng s dng dch v ca h, m khng cn phi u t nhiu vo c s h tng cng nh quan tm nhiu n cng ngh. Xu hng ny s gip nhiu cho cc cng ty, doanh nghip va v nh khng c c s h tng mng, my ch lu tr, qun l d liu. V Microsoft quyt nh khng ng sau tro lu ny. Microsoft cho ra i Windows Azure Platform nhm mang n cho cng ng cc nh pht trin ng dng c hi c xy dng v cung cp cc dch v trc tuyn trn nn tng c s h tng Windows. Vit Nam, m my bt u c nh hng pht trin khi FPT k kt vi Microsoft chu - Trend Micro hp tc pht trin "m my" Vit Nam. Nhn nh v hp tc ny, Steve Chang cho rng, in ton m my s em li c hi cho Vit Nam bi cng ngh hon ton mi s gip gii tr Vit Nam vn rt nng ng s c thm iu kin sng to v pht huy ti nng ca mnh.

12

1.2. Mc tiu ti Hin ny, t nc ang thc hin cng cuc cng nghip ha, hin i ha, trong vic rt ngn s tt hu, pht trin v khoa hc cng ngh l yu t then cht quyt nh s thnh cng ca cng cuc i mi. Song song vi qu trnh pht trin, ngy cng c nhiu bi ton mi, i hi nng lc x l ln xut hin trong khoa hc, thng mi v qun l t nc. Vic nghin cu, p dng Windows Azure Platform l mt gii php tt gii quyt nhng vn ny. Hn na, nn tng Windows Azure cn kh mi m, ang trong giai on hon thin, vic cng tham gia vi cng ng th gii s gip chng ta hc hi kinh nghim, tin ti lm ch cng ngh, t pht trin theo hng i ca ring mnh, p ng nhu cu ca t nc. 1.3. Kt qu t c Vi tinh thn tham gia nghin cu, hc hi cng ngh, ti lun vn Tm hiu Windows Azure v xy dng ng dng th nghim c thc hin nhm i nhng bc u tin trong qu trnh nghin cu, pht trin, ng dng Windows Azure vo thc t. Lun vn nghin cu cc vn chung ca Windows Azure Platform, xy dng mng x hi o dnh cho cu sinh vin trn ng dng Windows Azure. Bo co l thuyt tng quan v cc thnh phn ca Windows Azure Platform: Windows Azure, B lu tr Windows Azure (Blob, Table, Queue), SQL Azure, Windows Azure platform AppFabric (Service Bus, Access Control). Xy dng c ng dng ma ng x hi cho cu sinh vin trn Windows Azure g m nhng thanh ph n sau : ti khon, thng tin, tin nhn, bn b, nhm, blog, din n, hnh nh, quyn gp, trung tm cng vic. ng dng pht huy c mt s tnh nng Windows Azure h tr nh : m rng lu tr, x l song song, x l nn.

13

Chng 22.1.1. nh ngha Theo Gartner:

Tng quan Windows Azure Platform

2.1. Tng quan in ton m my

in ton m my l mt kiu tnh ton trong cc nng lc CNTT c kh nng m rng rt ln c cung cp di dng dch v qua mng Internet n nhiu khch hng bn ngoi. Theo Forrester Research: in ton m my l mt kho ti nguyn c s h tng o ha, c kh nng m rng cao v c qun l, c th h tr cc ng dng ca khch hng cui v c tnh tin theo mc s dng. Theo NIST (National Institute of Standards and Technology): in ton m my l mt m hnh cho php truy cp mng thun tin, theo nhu cu n mt kho ti nguyn in ton dng chung, c th nh cu hnh: mng, my ch, lu tr, ng dng,c th c cung cp v thu hi mt cch nhanh chng vi yu cu ti thiu v qun l hoc can thip ca nh cung cp dch v.

Hnh 2.1 - Mi th u tp trung vo m my. [1]

14

2.1.2. Cc gii php in ton m my ra i gii quyt cc vn sau: Vn v lu tr d liu: D liu c lu tr tp trung cc trung tm d liu khng

l. Cc cng ty ln nh Microsoft, Google c hng chc trung tm d liu nm ri rc khp ni trn th gii. Cc cng ty ln ny s cung cp cc dch v cho php doanh nghip c th lu tr v qun l d liu ca h trn cc trung tm lu tr. Vn v sc mnh tnh ton: c 2 gii php chnh S dng cc siu my tnh x l tnh ton. S dng cc h thng tnh ton song song, phn tn. Cung cp cc dch v nh IaaS (infrastructure as a service), PaaS

Vn v cung cp ti nguyn, phn mm.

(platform as a service), SaaS (software as a service).

Hnh 2.2 - Minh ha v cc dch v. [2]

15

2.1.3. Cc tng to nn m my

Hnh 2.3 - Cc tng to nn m my. [3]

Cc dch v ng dng (SaaS)

Tng dch v ng dng ny lu tr cc ng dng ph hp vi m hnh SaaS. y l nhng ng dng chy trong mt m my v c cung cp theo yu cu. i khi cc dch v ny c cung cp min ph v cc nh cung cp dch v to ra doanh thu t nhng th khc nh cc qung co Web v nhiu khi cc nh cung cp ng dng to ra doanh thu trc tip t vic s dng dch v. Nu bn kim tra th ca bn khi s dng Gmail hoc Yahoo Mail hoc c nhc cc cuc hn khi s dng Google Calendar, th bn quen thuc vi tng trn cng ca m my. y ch l mt vi v d v cc kiu ng dng ny. Cc ng dng c cung cp qua m hnh SaaS lm li cho ngi tiu dng bng cch gii phng cho h khi vic ci t v bo tr phn mm v cc ng dng c th c s dng thng qua cc m hnh cp php c h tr tr tin s dng.

Cc dch v nn tng

y l tng chng ta thy c s h tng ng dng ni ln nh l mt tp hp cc dch v. Cc dch v y c dnh h tr cho cc ng dng. Cc ng dng ny c th ang chy trong m my v chng c th ang chy trong mt trung tm d liu doanh nghip truyn thng. t c kh nng m rng cn thit trong mt m my, cc dch v khc nhau c a ra y thng c o ha. Cc v d trong phn ny ca m my bao gm Amazon Web Services,

16

Boomi, v Google App Engine. Cc dch v nn tng ny cho php khch hng chc chn rng cc ng dng ca h c trang b p ng cc nhu cu ca ngi dng bng cch cung cp c s h tng ng dng da theo yu cu.

Cc dch v c s h tng

y, chng ta thy mt tp hp cc ti sn vt l nh cc my ch, cc thit b mng v cc a lu tr c a ra nh l cc dch v c cung cp cho ngi tiu dng. Cc dch v y h tr c s h tng ng dng v nhiu ngi tiu dng hn. Cng nh vi cc dch v nn tng, s o ha l mt phng php thng c s dng to ra ch phn phi cc ngun ti nguyn theo yu cu. V d v cc dch v c s h tng bao gm IBM Bluehouse, VMware, Amazon EC2, Microsoft Azure Platform, Sun ParaScale Cloud Storage v cn na. 2.1.4. Li ch ca in ton m my Nhanh nhn: C kh nng cung cp cc ti nguyn c s h tng, cng ngh c sn mt cch nhanh chng v t tn km. Chi ph thp: Gim chi ph u t, nng cp, bo tr cc c s h tng tn km nh: my ch, mng, cc thit b lu tr, phn mmv vic tnh chi ph da trn nhu cu s dng gip tit kim chi ph. c lp vi cc thit b v v tr : Ngi dng c th truy cp vo ng dng m my bng nhiu thit b v ti bt c v tr no thng qua Internet. H tr nhiu ngi thu: cho php chia s ti nguyn v chi ph gia mt phm vi ln ngi dng nhm: o o o Tp trung c s h tng ti mt vng vi chi ph thp. Kh nng chu ti cao. Ci thin vic s dng v nng cao hiu sut cho h thng.

Kh nng co gin linh ng (theo nhu cu): Doanh nghip cng c th d dng iu chnh thm, bt ngi s dng v b sung dch v ty theo nhu cu s dng. Bo mt : Vn bo mt ci thin nh vo vic tp trung ha d liu, tng chi ph u t cho vic bo mt.

17

2.1.5. Thch thc ca in ton m my Chi ph: chi ph bn quyn phn mm ban u c th kh cao. Cng tc qun l cng c th s gp kh khn, bi m my l mt dch v c cung cp t bn ngoi, vi phng thc hot ng, lu tr v x l d liu t nhng ngun cch xa. Tnh sn sng: Khng m bo v tnh sn sng cng l mt tr ngi hin nay, khi ch c mt s rt t nh cung c p dch v cam kt c v s sn sng v lin tc ca dch v, v thi gian sa cha v phc hi d liu. Ni cch khc, nhng dch v in ton m my c v khng ng tin cy i vi mt s ng dng quan trng v c yu cu cao. Tnh ring t: Khi d liu c cp nht trong m my, n c th d dng b nhng tn ti phm mng, gin ip v nhng i th cnh tranh xm nhp. Thc t hin nay cc nh cung c p dch v in ton m my vn cha c mt phng php bo v no trong trng hp d liu b xm nhp. Vn tun th cng tr nn phc tp. Nhng nh cung cp dch v in ton m my c th chuyn d liu ti quc gia khc c gi r hn, nhng lut lng lo hn. Vy ai s l ngi chu trch nhim php l v qun l d liu, s hu d liu, s minh bch ca ti liu cng nh tnh chnh xc ca d liu kim ton? Cho n gi, cha c cng ty cung cp dch v m my no sn sng cung cp s m bo m cc cng ty ln cn c th loi tr nhng ri ro . 2.1.6. Xu hng pht trin Thut ng in ton m my ra i t gia nm 2007, cho n nay khng ngng pht trin mnh m v c hin thc bi nhiu cng ty ln trn th gii nh IBM, Sun, Amazon, Google, Microsoft, Yahoo, SalesForce,

18

2.2. Tng quan Windows Azure Platform 2.2.1. Gii thiu Windows Azure Platform l mt nhm cc cng ngh m my, mi cng ngh cung cp mt tp cc dch v c trng pht trin ng dng.

Hnh 2.4 Tng quan Windows Azure Platform. [20]

Cc thnh phn ca Windows Azure Platform : Windows Azure: cung cp mi trng nn tng Windows chy ng dng SQL Azure: cung cp dch v lu tr d liu quan h trn m my da trn Windows Azure Platform AppFabric: cung cp cc dch v m my v lu tr d liu trn my ch trong trung tm d liu ca Microsoft. -

SQL Server. kt ni cc ng dng chy trn m my hoc on-premise.

19

2.2.2. Gii thiu Windows Azure Windows Azure c hiu n gin l mt nn tng chy ng dng Windows v lu tr d liu trn m my.

Hnh 2.5 Windows Azure cung cp dch v tnh ton v dch v lu tr. [6]

Windows Azure chy trn nhiu my tnh t trong trung tm d liu ca Microsoft v truy xut qua Internet. Mt Windows Azure fabric lin kt cht ch nhiu sc mnh x l ny thnh mt th thng nht. Dch v tnh ton da trn Windows. Lp trnh vin c th xy dng ng dng s dng .NET Framework, native-code, Cc ng dng ny c vit bng cc ngn ng thng thng nh: C#, Visual Basic, C++ v c Java, s dng Visual Studio hoc cng c pht trin khc. Lp trnh vin c th to ng dng Web, s dng cng ngh nh ASP.Net, WCF v PHP, ng dng cng c th chy nh mt x l nn c lp, hoc kt hp c Web v x l nn. C ng dng Windows Azure v ng dng on-premise c th truy xut dch v lu tr Windows Azure, v c hai cng truy xut bng REST API. Dch v lu tr cho php lu tr cc i tng d liu ln qua blob, cung cp cc queue lin lc gia cc thnh phn trong ng dng, v cung cp dng table vi ngn ng truy vn n gin. i vi cc ng dng c nhu cu lu tr d liu quan h truyn thng, Windows Azure Platform cung cp c s d liu SQL Azure.

20

Tuy nhin, t c nhng thun li trn i hi phi qun l hiu qu. Trong Windows Azure, mi ng dng c mt tp tin cu hnh. Bng cch cu hnh tp tin ny, ngi ch ng dng c th cu hnh nhiu thnh phn nh thit lp s th hin m ng dng Windows Azure nn chy. Sau , Windows Azure fabric gim st ng dng duy tr trng thi mong mun. 2.2.3. Gii thiu SQL Azure Mc tiu ca SQL Azure cung cp cc dch v da trn m my lu tr v x l d liu. Trong khi Microsoft ni rng SQL Azure s bao gm mt lot cc tnh nng nh hng d liu, ng b ha d liu, bo co, phn tch d liu v nhng chc nng khc.

Hnh 2.6 - SQL Azure cung cp dch v nh hng d liu trong m my. [6]

C s d liu SQL Azure cung cp mt h thng qun l c s d liu da trn m my. Cng ngh ny cho php ng dng on-premise v ng dng m my lu tr d liu quan h v nhng kiu d liu khc trn cc my ch trong trung tm d liu ca Microsoft. Cng nh cc cng ngh m my khc, ngi dng ch tr cho nhng g h s dng. C s d liu SQL Azure c xy dng da trn Microsoft SQL Server. Cng ngh ny cung cp mi trng SQL Server trong m my, b sung index,

21

view, store procedure, trigger, D liu ny c th c truy xut bng ADO.Net v cc giao tip truy xut d liu Windows khc. Khi ng dng s dng C s d liu SQL Azure th yu cu v qun l s c gim ng k. Thay v lo lng v cc cng vic nh gim st vic s dng a v theo di tp tin nht k (log file), khch hng s dng C s d liu SQL Azure ch tp trung vo d liu. Microsoft s x l cc hot ng chi tit.

Hnh 2.7 - ng dng truy xut d liu trong C s d liu SQL Azure. [6]

Mt ng dng s dng C s d liu SQL Azure c th chy trn Windows Azure, trong mt trung tm d liu ca doanh nghip, trn thit b di ng, Mt ng dng C s d liu SQL Azure c th s dng th vin client SQL Server hin c. Bao gm ADO.Net, ODBC, v PHP. V bi v C s d liu SQL Azure ging nh h thng SQL Server thng thng nn cc cng c h tr c th c s dng, bao gm: SQL Server Management Studio, SQL Server Integration Service, Nh trong b lu tr Windows Azure, tt c cc d liu c lu tr trong C s d liu SQL Azure c sao ba bng. Mc ch l cung cp vic lu tr d liu ng tin cy ngay c khi i mt vi li ca h thng v mng.

22

2.2.4. Windows Azure Platform AppFabric Windows Azure Platform AppFabric cung cp dch v c s h tng da trn m my.

Hnh 2.8 - Windows Azure Platform AppFabric cung cp c s h tng. [6]

Cc thnh phn ca Windows Azure Platform AppFabric : Service Bus: Mc tiu ca Service Bus l cho php ng dng expose cc endpoint c th c truy xut bi cc ng dng khc. Mi endpoint expose c gn mt URI. Client s dng URI ny xc nh v tr v truy xut dch v. Service Bus cng x l vic chuyn i a ch mng v vt qua tng la m khng cn m port mi expose ng dng. Access Control: Dch v ny cho php ng dng client chng thc chnh n v cung cp mt ng dng server vi thng tin xc thc. My ch sau c th s dng thng tin ny quyt nh nhng g ng dng ny c php lm.

23

Chng 3

Gii thiu v Windows Azure

3.1. Tng quan Windows Azure Nhn mt cch tng quan, Windows Azure l mt h iu hnh dng chy cc ng dng Windows v lu d liu ca n trn m my. Nhng khc vi mt h iu hnh bnh thng, ngi dng phi ci t v chy trn my tnh ca mnh, Windows Azure l mt dch v: Khch hng dng n chy ng dng v lu tr d liu trn cc my ch trung tm d liu ca Microsoft, c th truy cp qua Interner. Cc ng dng ny c th cung cp dch v cho doanh nghip v khch hng.

Hnh 3.1 - ng dng Windows Azure. [7]

3.2. Cc thnh phn Windows Azure

Hnh 3.2 - Cc thnh phn Windows Azure. [7]

24

Dch v tnh ton s chy ng dng, trong khi dch v lu tr lu d liu. Thnh phn th ba, Windows Azure Fabric, cung cp cch thc qun l v theo di cc ng dng s dng nn tng m my ny. 3.2.1. Dch v tnh ton (Compute Service) Dch v tnh ton Windows Azure c th chy nhiu kiu ng dng khc nhau. Mc tiu chnh ca kin trc ny l h tr cc ng dng c lng ngi s dng truy cp ng thi cc ln. Windows Azure c thit k h tr chy nhiu bn sao ca cng mt m ngun trn nhiu my ch khc nhau. t c iu ny, ng dng Windows Azure c th c nhiu th hin, mi th hin c thc thi trn mt my ch o. Dch v tnh ton h tr 2 loi th hin : Web role v Worker role.

Hnh 3.3 - ng dng Windows Azure c th cha Web role v Worker role. [7]

Mt th hin Web role c th chp nhn mt request HTTP/HTTPS. thc hin iu ny, th hin Web role chy trn mt my o c ci Internet Information Services 7 (IIS 7). Lp trnh vin c th to ra Web role bng ASP.NET, WCF, hay bt k k thut .NET khc c th hot ng c vi IIS 7. Ngoi ra, lp trnh vin c th vit cc ng dng vi native code, c ngha l c th chy cc ng dng s dng k thut khc nh PHP, Java. Khi mt request c gi n Web role, n s c truyn qua b cn bng ti n cc th hin ca Web role trong cng mt ng dng. Do , khng m bo rng, cc yu cu t mt ngi dng c th c gi n cng mt th hin ca ng dng.

25

Mt th hin Worker role khng ging nh Web role, n khng chp nhn request t bn ngoi, cc my o ca n khng chy IIS. Mt Worker role cho bn kh nng chy cc x l ngm lin tc trn m my. Mt Worker role c th lm vic vi queue, table, blob trong dch v lu tr. N chy hon ton c lp vi th hin Web role, mc d c th cng thuc mt phn ca dch v. Vic lin lc gia Web role v Worker role c th thng qua queue ca dch v lu tr . Lp trnh vin c th ch s dng th hin Web role, hay Worker role, hoc kt hp c hai to ra ng dng Windows Azure. S dng Windows Azure portal thay i s lng th hin ca Web role, Worker role ty theo yu cu ca ng dng. Khi chy cc th hin Web role hay Worker role, cc my o cng chy ng thi cc Fabric agent. Cc agent phc v cho vic tng tc gia cc th hin vi Windows Azure Fabric. Cc agent ny trnh by cc API c nh ngha cc th hin c th lm mt s vic nh: ghi chp, tm th mc gc ca ti nguyn lu tr cc b trn my o ca n. Windows Azure cho php lp trnh vin chn cu hnh my o: mt nhn, hai nhn, bn nhn v tm nhn. V tng hiu sut, ngi s hu ng dng c th tng s lng th hin ang chy c t t trong tp tin cu hnh ng dng. Windows Azure fabric s thm my o mi, gn thm nhn v bt u chy ng dng. Fabric cng d khi mt th hin Web role hoc Worker role b cht, n s to mt th hin mi.

26

3.2.2. Dch v lu tr (Storage Service) Dch v lu tr Windows Azure h tr 3 kiu dch v: blob, table, queue.

Hnh 3.4 - B lu tr Windows Azure: Blob, Table, Queue. [7]

Mt cch n gin nht lu tr d liu l s dng blob. Windows Azure blob c kin trc n gin: mt ti khon lu tr c mt hoc nhiu container, mi container c mt hoc nhiu blob. Blob c th rt ln mi blob c th cha vi terabyte d liu. Blob c th kt hp vi metadata, nh thng tin v ni chp nh hoc ngi sng tc bi ht. Mt cch khc s dng blob l Windows Azure XDrive, c gn vi mi th hin Web role v Worker role. Lu tr bn di mt XDrive l mt blob, nh vy mi blob l mt a c gn kt, mi th hin c th c v ghi d liu nh h thng tp tin. cho php ng dng lm vic vi d liu hiu qu hn, b lu tr Windows Azure cung cp table. Khng ging vi bng quan h, cc table lu tr mt tp cc entity vi cc property. Mt table khng c gin v cc property c nhiu kiu d liu khc nhau nh int, string, bool, hoc datetime. Mt ng dng c th truy xut d liu ca table s dng ADO.Net Data Service hoc LINQ. Mt table c th rt ln, vi vi triu entity cha vi terabyte d liu, v b lu tr Windows Azure c th phn vng n qua nhiu my ch nu cn ci thin hiu sut. Blob v table tp trung vo lu tr d liu, thnh phn lu tr th ba l queue li c mt mc ch khc. Mc ch chnh ca queue l cung cp cch thc th hin Web role lin lc vi th hin Worker role. V d, mt ngi dng c th gi

27

mt request thc hin cc nhim v tnh ton chuyn su qua trang Web c thc thi bi Web role. Th hin Web role nhn request ny v vit mt message vo queue - m t cng vic c thc hin. Mt th hin Worker role i queue ny, sau c message v thc hin nhim v. B lu tr Windows Azure c th c truy xut bi mt ng dng Windows Azure hoc bi mt ng dng khc. C 3 thnh phn ca b lu tr Windows Azure u s dng giao thc REST truy xut d liu. 3.2.3. Windows Azure Fabric Tt c cc ng dng Windows Azure v d liu ca n u tn ti trn trung tm d liu ca Microsoft. Bn trong trung tm d liu ny, mt tp hp cc my dnh cho Windows Azure c t chc thnh mt fabric.

Hnh 3.5 - Fabric Controller. [7]

Nh hnh trn, Windows Azure Fabric cha mt mt nhm cc my, tt c cc my c qun l bi mt phn mm gi l fabric controller. Fabric controller c ti to qua mi nhm t 5 n 7 my, n s hu tt c cc ti nguyn: my tnh, switch, b cn bng ti (load balancer), V n c th giao tip vi mt fabric agent trn mi my tnh nn n nhn bit c tt c cc ng dng Windows Azure trong fabric. Vi cc thng tin c c, cho php fabric controller c th lm c nhiu vic rt hu ch. N theo di tt c cc ng dng ang chy. N qun l h iu hnh, qun l vic v li cho phin bn ca Windows Server 2008. N quyt nh

28

khi mt ng dng mi c ti ln s c chy trn dch v no. lm c iu ny, fabric controller ph thuc vo tp tin cu hnh c a mi ng dng c ti ln. Trong , ch ra bao nhiu th hin cn c to ra v kch thc cc my o l th no. Da vo , fabric controller to ra cc my o tng ng. Khi to ra cc my o ny, fabric controller s theo di cc ng dng . Nu mt ng dng cn c 5 th hin v mt trong s c 1 th hin b cht, fabric controller s t ng khi to mt th hin mi. Nu mt my o ang chy b cht, fabric controller s t ng khi to mt th hin khc ca ng dng trn mt my o khc, sau khi ng li b cn bng ti ch n my mi ny. Nhm phc v cho tnh sn sng ca dch v, fabric controller nhm cc my n lm ch thnh mt s min gi l fault domain. Mi min l mt phn ca trung tm d liu.

Hnh 3.6 - Fabric Controller v Fault Domain. [7]

Trong hnh trn, gi s ng dng cn 2 th hin Web role v trung tm d liu c chia lm 2 min li. Khi fabric controller trin khai ng dng ny, n s t mi th hin Web role vo mt min. Khi c li xy ra mt min no cng s khng th lm cht hon ton ng dng ca bn. Ngoi ra, fabric controller nhm cc th hin ca ng dng thnh cc min cp nht update domain.

29

Hnh 3.7 - Fabric Controller v Update Domain. [7]

Khi m ca ng dng cn cp nht, fabric controller s thc hin cp nht trong tng min. V d trong hnh trn, fabric controller s tin hnh tt hai th hin 1 v 2 ca ng dng trc, cp nht v khi ng li hai th hin ny. Sau , tin hnh tng t cho 2 th hin min cn li. Mc ch ca vic ny l lm cho ng dng khng b gin on, khi mt ng dng ang cp nht, ngi dng vn c th truy cp n vi phin bn c ca ng dng cho n khi n cp nht xong.

30

Chng 4

Gii thiu b lu tr Windows Azure

4.1. Gii thiu b lu tr Windows Azure B lu tr Windows Azure cho php cc lp trnh vin lu d liu ca h trn m my. ng dng c th truy xut d liu t bt k ni u, ti bt k thi im no, lu tr lng d liu ty trong khong thi gian bt k v n m bo rng d liu c lu tr bn vng v khng b tht lc. B lu tr Windows Azure cung cp mt b tru tng ha d liu phong ph: Windows Azure Blob cung cp lu tr cho cc mu d liu ln. Windows Azure Table cung cp b lu tr c cu trc lu tr tnh trng Windows Azure Queue cung cp cc thng bo cng vic khi ng

s dng. -

dch v lin lc. 4.2. Windows Azure Blob 4.2.1. Gii thiu Blob l i tng d liu nh phn ln c dng cha video, audio, email, Blob cho php ng dng lu tr, truy xut d liu c kch thc ln, ln n 200GB. s dng blob, mt lp trnh vin phi to mt hoc nhiu container trong ti khon lu tr. Mi container c th cha mt hoc nhiu blob.

Hnh 4.1 - M hnh v d d liu Blob. [8]

-

Ti khon lu tr Tt c truy xut n b lu tr Windows Azure u

c thc hin thng qua ti khon lu tr.

31

Mt ti khon c th c nhiu container. Mt container c th c metadata kt hp vi chng. Metadata dng

Blob Container Mt container cha nhiu blob.

cp v chng c kch thc ti a 8KB vi mi container. Container ch cha cc blob v khng th cha cc thng cha khc

bn trong - v th n khng th to ra h thng phn cp cc blob. Tuy nhin, tn blob c th cha k t /, v th mt lp trnh vin c th gi lp h phn cp cho blob khi c nhu cu. Blob - Blob c lu tr trong container. Kch thc mi blob c th ln n

200GB. Mt blob c mt tn duy nht trong mt container. Blob c th c metadata kt hp vi chng, cp , v chng c kch thc ti a 8KB vi mi blob. ng dn URI cho mt blob c cu trc nh sau: http://.blob.core.windows.net// Blob c hai dng: Block blob mi blob loi ny c th cha n 200GB d liu. thc hin chuyn i hiu qu, mt block blob c chia nh vo cc block. Nu mt tht bi xy ra, vic truyn li tip tc vi khi gn nht hn l gi li ton b blob. Mt khi tt c cc block ca mt blob c ti ln, ton b blob c th c commit ng thi. Page blob - Mt page blob c chia vo cc page c kch thc 512-byte, v ng dng t do c v ghi cc page ring l mt cch ngu nhin trong blob. Mt kha cnh quan trng ca blob l vai tr ca n trong vic h tr XDrive. hiu c vai tr quan trng l g, chng ta thy r rng cc th hin Web role v Worker role c t do truy xut h thng tp tin cc b ca my o. Theo mc nh, lu tr ny khng lin tc: Khi th hin b tt, my o v lu tr cc b ca n s bin mt. Gn mt XDrive vo th hin. Khi ghi d liu vo XDrive th d liu c ghi ngay vo blob bn di. Khi th hin khng hot ng, d liu ny c lu tr lin tc trn page blob, s n sng gn tr li.

32

4.2.2. Giao tip REST vi Blob Tt c cc giao tip n Windows Azure Blob c thc hin thng qua giao tip HTTP REST PUT/GET/DELETE. Cc lnh HTTP/REST c h tr thc thi cc thao tc blob bao gm : PUT Blob Thm mt blob mi hoc ghi blob tn ti. GET Blob Ly mt entity blob hoc ly mt dy cc byte trong blob s DELETE Blob Xa mt blob tn ti. Copy Blob Sao chp mt blob t blob ngun n blob ch trong cng ti

dng thao tc GET chun HTTP. -

khon lu tr. N s sao chp ton b blob, bao gm metadata, property v blocklist. Bn c th s dng CopyBlob cng vi DeleteBlob i tn mt blob hoc di chuyn mt blob gia cc container, hoc to bn sao d phng cho blob hin c. Get Block List - Ly danh sch cc block c ti ln. C hai loi danh sch block: Danh sch block commit y l danh sch block c commit Danh sch block cha commit y l danh sch cc block c

thnh cng qua PutBlockList vo mt blob. ti ln cho mt blob nhng cha c commit vo blob. Bn c th ti mt blob c kch thc ln n 64MB c h s dng mt request PUT blob. ti ln cc blob c kch thc n 200GB, bn cn phi ghp cc block li vi nhau. 4.2.3. Vi Blob l mt danh sch cc block Mt trong nhng chin lc chnh ca Windows Azure Blob l cho php ti ln cc blob c kch thc ln n nhiu GB. iu ny c thc hin bi Windows Azure Blob qua nhng bc sau: Ct blob cn ti thnh nhiu block lin tip nhau. Vd: mt phim 10GB c th ct thnh 2500 khi, mi khi c kch thc 4MB, khi u tin i din cho byte th 1 n 4194304, khi th 2 i din cho byte 4194305 n 8388608,

33

-

t mi block mt tn/ID duy nht. ID duy nht ny c gii hn bi tn

blob c ti ln. V d, block u tin c gi l Block 0001, block th hai Block 0002, t mi block vo m my vi lnh PUT. iu ny c thc hin vi mt lnh PUT ch nh URL trn vi truy vn xc nh rng y l lnh PUT block cng vi ID ca block. Sau khi tt c cc block c lu tr trong b lu tr Windows Azure, chng ta commit danh sch cc block ti ln vo blob m chng thuc v. iu ny c thc hin vi mt lnh PUT ch nh URL trn vi truy vn xc nh rng y l lnh blocklist. Sau , header HTTP cha danh sch cc block c commit cho blob ny. Khi thao tc ny thc hin thnh cng, danh sch cc block, theo th t m chng c lit k, by gi i din cho phin bn c th c ca blob. Blob sau c th c c bng cch s dng lnh GET blob.

Hnh 4.2 - Khi nim lu tr Blob Block. [8]

Nh m t trc , blob c th c truy xut qua PUT v GET bng cch s dng URL sau: http://.blob.core.windows.net// V d hnh 2, mt lnh PUT c th c s dng t cc nh theo URL sau:

34

http://sally.blob.core.windows.net/pictures/IMG001.JPG http://sally.blob.core.windows.net/pictures/IMG002.JPG Khi s dng mt lnh PUT n, block c kch thc ln n 64MB c th c lu tr. lu tr cc blob ln hn 64MB v ln n 200GB, u tin cn PUT tt c cc block, v sau PUT blocklist hp thnh phin bn c th c c ca blob ny. Mi block c xc nh bi Block ID v n c gii hn bi tn blob. V th, nhng blob khc nhau c th c cc block vi cng ID. Mi block c kch thc ln n 4MB, v cc block trong cng blob c th c kch thc khc nhau. Windows Azure Blob cung cp cc thao tc cp block nh sau: PUT block ti mt block vo mt blob. Ch mt block c ti ln thnh

cng vi thao tc PUT block khng tr thnh mt phn ca blob ch khi no n c commit vi thao tc PUT blocklist. PUT blocklist commit mt blob bng cch xc nh danh sch cc ID block to nn blob. Cc block c xc nh trong hot ng ny phi c ti ln thnh cng bng cch s dng li gi PUT block. Th t cc block trong thao tc PUT blocklist s hp thnh phin bn c th c ca blob. GET blocklist ly danh sch block c commit trc cho blob bng thao tc PUT blocklist. Danh sch block c tr ra nh r ID v kch thc ca mi block. Chc nng ny c th c s dng ly cc danh sch block cha c commit.

4.3. Windows Azure Table 4.3.1. Gii thiu Windows Azure Table l b lu tr c cu trc c cung cp bi Windows Azure Platform. N h tr cc Table c kh nng m rng cc ln trn m my. N c th cha hng t entity v terabyte d liu. H thng s t ng m rng mt cch hiu qu n hng ngn my ch. Mt s im ni bt ca Windows Azure Table:

35

H tr LINQ, ADO.NET Data Service v REST. Tp hp cc kiu d liu phong ph cho gi tr ca property. H tr s lng table v entity khng gii hn v khng gii hn v kch thc table.

Hnh 4.3 - Windows Azure Table. [7]

-

Storage Account (Ti khon lu tr) - ng dng phi s dng mt ti Table (Bng) cha mt b cc entity. Mt ng dng c th to ra nhiu Entity (Thc th) Entity (mt entity tng t nh mt dng) l mu d

khon hp l truy xut b lu tr Windows Azure. table ch vi mt ti khon lu tr. liu c bn c lu tr trong mt table. Mt entity cha mt tp cc property. Mi table c 2 property tn l PartitionKey v RowKey t o ra kha duy nht cho mi entity. Property (Thuc tnh) i din cho mt gi tr duy nht trong entity. Tn property phn bit hoa, thng. Mt tp hp phong ph cc kiu d liu c h tr cho gi tr property. PartitionKey y l property kha u tin ca mi table. H thng s dng kha ny t ng cp pht cc entity ca table qua nhiu nt lu tr.

36

-

RowKey l property kha th hai ca table. y l ID duy nht ca entity

trong phn vng m n thuc v. PartitionKey kt hp vi RowKey xc nh duy nht mt entity trong mt table. Timestamp l property c gi tr Datetime, c lu gi bi h thng Partition Mt tp hp cc entity trong mt table vi cng gi tr kha Sort Order (Th t sp xp) Cc entity trong table c sp xp theo ghi li thi im thay i entity ln cui. -

PartitionKey. PartitionKey vo sau l theo RowKey. iu ny c ngha l cc truy vn xc nh theo cc kha ny s hiu qu hn v tt c cc kt qu c tr v c sp xp theo PartitionKey v sau theo RowKey. Sau y l mt s thng tin chi tit b sung cho Table, Entity v Property Table: Tn table ch cha cc k t v s. Tn table khng bt u vi mt k t s. Tn table phn bit hoa thng. Tn table phi c di t 3 n 63 k t.

Property: tn property ch c cha cc k t ch ci v du _. Entity: mt entity c ti a 255 property bao gm cc property bt buc -

PartitionKey, RowKey v Timestamp. Tt c cc property khc trong entity c tn c nh ngha theo nhu cu ng dng. PartitionKey v RowKey c kiu chui v mi kha kch thc ti a 1 KB. Khng c gin c nh Khng c gin c lu tr bi Windows

Azure Table, v th tt c cc property c lu tr theo cp . iu ny c ngha rng 2 entity trong cng mt table c th c property khc nhau. Mt table c th c hai entity vi tn property ging nhau, nhng c kiu d liu khc nhau cho gi tr property. Tuy nhin, tn property phi l duy nht vi mi entity.

37

-

Kt hp kch thc ca tt c cc d liu trong mt entity khng th vt

qu 1MB. Kch thc ny bao gm kch thc ca tn property cng nh kch thc ca gi tr property hoc kiu ca chng, bao gm c hai property kha bt buc (PartitionKey v RowKey).Bng 4.1 Cc kiu d liu Windows Azure Table h tr. [9]

Kiu property Binary Bool DateTime Kiu mng cc byte 64 KB. Kiu Boolean. Kiu thi gian 64-bit. Min gi tr c h tr t ngy 1/1/1601 n 12/31/9999. Double GUID Int Int64 String 4.3.2. Phn vng Table Windows Azure Table cho php cc table m rng n hng ngn nt lu tr bng cch phn phi cc entity trong table. Khi phn phi cc entity, n mong mun m bo mt tp hp cc entity lun cng nm trn mt nt lu tr. Mt ng dng iu chnh thit lp ny bng cch chn gi tr thch hp cho PartitionKey trong mi entity. Kiu s thc 64-bit. Kiu d liu ch nh ID 128-bit. Kiu s nguyn 32-bit. Kiu s nguyn 64-bit. Kiu chui. Gi tr chui c th ln n 64 KB.

38

Hnh 4.4 Hnh minh ha phn vng. [9]

Hnh mnh ha m t mt table cha nhiu phin bn ca nhiu ti liu khc nhau. Mi entity trong table tng ng vi mt phin bn ca mt ti liu c th. Trong v d ny, PartitionKey ca table l tn ti liu v RowKey l tn phin bn. Tn ti liu cng vi tn phin bn xc nh duy nht mt entity trong table. Trong v d ny, tt c cc phin bn ca cng mt ti liu t chc vo mt phn vng ring l. 4.3.2.1. Tc ng ca vic phn vng By gi chng ta m t mc ch ca cc phn vng v lm th no chn mt PartitionKey cho tt. Vic phn vng table nh hng n kh nng m rng ca table. H thng lu tr t c kh nng m rng kh ln bng cch phn b cc phn vng qua nhiu nt lu tr. H thng quan st m thc s dng cc phn vng v t ng cn bng cc phn vng ny qua tt c cc nt lu tr. iu ny cho php h thng v ng dng ca bn m rng p ng nhu cu lu thng ca cc table. H tr giao dch nhm cho table. Ngoi ra, vic cc entity trong phn vng c lu tr cng nhau gip cho vic truy xut hiu qu hn. 4.3.2.2. Chn mt PartitionKey Vic la chn mt PartitionKey ng vai tr quan trng mt ng dng c kh nng m rng tt. C mt s cn nhc gia vic c gng c li t min entity, bn t c nhng truy vn hiu qu qua cc entity trong cng mt

39

phn vng v kh nng m rng ca cc table, cng nhiu phn vng trong table th cng d dng cho Windows Azure Table lan truyn ti qua nhiu my ch. 4.3.3. Lp trnh Table Cc hot ng c bn sau y c h tr trn cc table v cc entity To table hoc entity. Ly mt table hoc entity - vi b lc. Cp nht mt entity (khng c cp nht table). Xa mt table hoc entity. Giao dch nhm entity - h tr cc giao dch qua cc entity trong cng mt table v cng mt phn vng. s dng table trong ng dng .Net, bn c th s dng dch v d liu ADO.NET.Bng 4.2 Bng tm tt cc API cho Windows Azure Table. [9]

Nghip v Truy vn

ADO.NET Services LINQ Query

Data HTTP Verb GET

Ti nguyn Table

M t Tr v danh sch cc table trong ti khon lu tr. Nu mt b lc hin c, n s tr v cc table tng ng vi b lc ny. Tr v tt c cc entity trong mt table xc nh hoc tp con cc entity nu cc tiu chun lc c xc nh.

Entity

40

Nghip v Cp nht ton b entity

ADO.NET Services

Data HTTP Verb PUT

Ti nguyn Entity

M t Cp nht gi tr property trong mt entity. Thao tc PUT thay th ton b entity v c th c s dng thay th cc property.

UpdateObject & SaveChanges(Save ChangesOptions.R eplaceOnUpdate)

Cp nht mt phn entity To mt

UpdateObject & SaveChanges()

MERGE

Entity

Cp nht gi tr property trong mt entity. To mt table mi trong ti khon lu tr. Thm mt entity mi vo table. Xa mt table trong ti khon lu tr. Xa mt entity t table. H tr giao dch nhm entity c cung cp thng qua mt lot hot ng trn cc entity c cng partition key trong mt table duy nht.

AddObject &

POST

Table

entity mi SaveChanges() Entity

Xa entity

DeleteObject & SaveChanges()

DELETE

Table

Entity Giao dch SaveChanges(Save POST nhm entity. ChangesOptions.B atch) $batch

4.4. Windows Azure Queue 4.4.1. Gii thiu Windows Azure Queue cung cp mt c ch phn phi message ng tin cy. N cung cp c ch iu phi khng ng b, c s dng kt ni cc thnh

41

phn khc nhau ca ng dng m my. Windows Azure Queue c tnh sn sng cao, bn v hiu qu thc thi cao. Lp trnh ng ngha ca n m bo rng mt message c th c x l t nht mt ln. Windows Azure Queue cho php tch cc thnh phn khc nhau ca ng dng m my, cho php ng dng m my c xy dng mt cch d dng vi nhiu cng ngh khc nhau v d dng m rng theo nhu cu lu thng.

Hnh 4.5 Cc thao tc vi message. [10]

Trong kch bn in hnh, nhiu th hin Web role ang chy, mi th hin nhn cng vic t ngi dng (bc 1). y cng vic n th hin Worker role, mt th hin Web role vit mt message vo queue(bc 2). Message ny, cha ti a 8KB, c th cha ng dn URI n mt blob hoc mt entity trong table hoc nhng ni dung khc. Th hin Worker role c message t queue ny(bc 3). Sau thc hin cng vic m queue yu cu. Khi th hin Worker role hon thnh cng vic message yu cu, n phi xa hn message t queue (bc 5). Kin trc ny c nhiu thun li, bi v: C kh nng m rng ng dng c th m rng mt cch d dng theo nhu c u lu thng. S lng web role v s lng worker role c iu chnh c lp Mt queue ring bit c th c s dng cho cc mc cng vic theo

m khng nh hng n logic ng dng. u tin khc nhau.

42

-

Tch ri Front-End Role khi Back-End Role: Cc thnh phn khc nhau ca ng dng c tch ri do s dng

queue. Cc message trong queue theo nh dng chun v m rng, v d nh XML, cc thnh phn giao tip c hai u ca queue khng c s ph thuc ln nhau min l h c th hiu c cc thng ip trong queue. Cc cng ngh v ngn ng lp trnh khc nhau c th c s dng thc thi cc phn khc nhau ca h thng. Hn na, nhng thay i trong mt thnh phn l trong sut vi phn cn li ca h thng. Hn na, vic s dng queue cng lm gim nh cc nh hng khi

mt thnh phn ring l b li. Trong v d trn, nu mt vi th hin worker role b sp , thay v mt tt c cc mc cng vic, queue c th lm b nh m cho tt c cc mc cng vic. Khi th hin worker role c phc hi, chng c th tip tc x l cc mc cng vic trong queue. Nn nh rng cc mc cng vic ang c x l bi worker role cng khng b mt, chng c xut hin tr li trong queue sau thi gian VisibilityTimeout do m bo khng mt d liu khi cc thnh phn xy ra li. 4.4.2. M hnh d liu Queue: Storage Account (Ti khon lu tr). Mt ti khon c nhiu queue. Khng c gii hn v s lng cc message c lu tr trong queue. Mt message c lu tr nhiu nht mt tun. H thng s dn cc Queue (Hng i) Mt queue cha nhiu message (thng bo).

message lu tr nhiu hn mt 1 tun. Queue c metadata. Metadata l c p v chng c kch thc ln n 8KB vi mi queue. Message (Thng bo) Message c lu tr trong queue. Mi message c kch thc ln n 8KB. lu tr d liu ln hn, chng ta lu tr n vo b lu tr Blob hoc Table, v sau lu tr tn blob/entity trong message. Ch khi bn

43

t mt message vo b lu tr, d liu ca message l binary. Nhng khi bn ly message ra th d liu message c tr v dng encoded base64. nh ngha mt vi tham s: 1. 2. MessageID: mt gi tr GUID nhn bit message trong queue. VisibilityTimeout: mt gi tr nguyn nh r visibility timeout c a PopReceipt: mt chui, chui ny cng vi MessageID c yu cu MessageTTL: Xc nh khong thi gian sng cho message. Thi

message. Gi tr mc nh l 30 giy. Gi tr ti a l 2 gi. 3. xa mt message t queue. 4. gian sng ti a l 7 ngy. Nu mt message khng c xa trong thi gian sng, th sau thi gian sng n s c dn v xa bi h thng lu tr. URI cho mt queue c th c cu trc nh sau: http://.queue.core.windows.net/ 4.4.3. Thc tin tt nht 4.4.3.1. Chn thi gian n cho GetMessage Vic chn thi gian n l mt s cn nhc gia thi gian x l v thi gian phc hi ng dng. Khi mt message c ly khi queue, ng dng nh r thi gian m message c n. Thi gian ny phi ln hon thnh x l c xc nh trong message queue. Nu thi gian n qu ln, ng dng s mt thi gian hon thnh x l message b nh hng khi ng dng gp li. V d, nu thi gian n c gn l 30 ph t v ng dng b s c ti pht th 10, message s phi i 20 pht sau c hin th li trong queue. Nu thi gian ny qu nh, message s hin th trong khi n vn ang c x l. V vy nhiu worker c th x l cng mt message. 4.4.3.2. Xa mt message khi queue Mt khi message c x l, n nn c xa khi queue. Nu x l hon thnh trong thi gian n, vic xa s thnh cng.

44

Mt message ch nn c xa khi message c x l thnh cng. Nu n c xa trc thi thc hin x l, th cng vic trong message c th khng hon thnh nu ng dng b s c. Thao tc xa s b li nu thi gian n qua v mt x l khc ly cng message ny ra khi queue. Mc tiu chnh y l message phi c xa trc khi ht thi gian n. 4.4.3.3. iu chnh s th hin Worker Role da vo di Queue di queue phn nh cc nt x l backend c bt kp ton b ti cng vic hay khng? Chiu di queue tng ln cho bit backend khng th x l cng vic hiu qu. Trong trng hp ny, ng dng c th mun tng s lng cc nt backend cng vic c th c hon thnh nhanh hn. Nu di queue lun gn mc 0, ngha l nng lc x l cc backend nhiu hn nhu cu lu thng. Trong trng hp ny, ng dng c th gim s nt backend tit kim ti nguyn. Quan st di ca queue v iu chnh s nt ph hp, ng dng c th m rng mt cch hiu qu v tri chy.

45

Chng 55.1. Gii thiu

Gii thiu SQL Azure

SQL Azure l dch v c s d liu quan h ca Microsoft trn m my. SQL Azure cung cp tnh sn sng cao cho c s d liu ca bn. Ti bt k thi im, SQL Azure duy tr ba bn sao ca c s d liu ca bn trn m my. SQL Azure da vo c cu c s d liu quan h Microsoft SQL Server. Vic cho ra i SQL Azure, Microsoft nhm mc ch cung cp mt c s d liu quan h trn m my nh mt dch v cho ng dng on-premise v ng dng m my. SQL Azure khng cung cp tt c cc tnh nng sn c trong SQL Server, nhng n cung cp cc tnh nng ti thiu cn thit trin khai v duy tr mt c s d liu trn m my. V d cc tnh nng nh Service Broker, store procedure 5.2. Tng quan kin trc 5.2.1. M hnh Provisioning SQL Azure c thit k h tr kh nng m rng cc i v chi ph thp, cung cp mi trng thn thin cho nh qun tr v lp trnh vin. N c m hnh phn cp c m t nh sau: Ti khon Windows Azure Platform: s dng SQL Azure, bn phi to mt ti khon Windows Azure.

S dng ti khon ny, bn c th truy xut tt c chc nng ca nn tng Windows Azure. Ti kho n ny c s dng thanh ton vic s dng cc dch v Windows Azure. My ch Windows Azure Platform : Mi ti khon Windows Azure c th cha nhiu my ch SQL

Azure. Mi my ch bao gm h thng ng nhp v bn cng c th ch nh v tr a l m my ch ca bn c t cp ny. Bn s dng cng SQL Azure to v qun l my ch c s d liu ca bn. Cng ny cung cp giao din d dng s dng bn c th to ng nhp v cung cp c s d liu.

46

-

C s d liu SQL Azure : Mi my ch C s d liu SQL Azure c th cha nhiu c s d

liu. Mt my ch c s d liu mi c mt c s d liu chnh. Trong mi c s d liu, bn c th to table, view, stored procedure v cc i tng c s d liu quen thuc khc. Bn c th s dng cng SQL Azure to c s d liu. C s d liu SQL Azure c nhn rng cc phn vng d liu trn

nhiu my tnh vt l ti mt trung tm d liu SQL Azure. Kin trc ny cung cp chuyn i d phng t ng v cn bng ti. D liu khch hng c lan truyn qua nhiu my ch vt l trong phm vi a im a l c thit lp. Bng cch ny, C s d liu SQL Azure t c sn sng cao v n nh cho tt c cc ng dng t nh nht n ln nht m khng cn n lc qun l chuyn su. 5.2.2. M hnh d liu quan h Mc tiu thit k chnh cho SQL Azure l cung cp mt mi trng thn thuc cho lp trnh vin c s d liu. Do , cc i tng c to ra trong C s d liu SQL Azure ging nh cc i tng hin c trong c s d liu SQL Server. Nh : Table, Index, View, Stored Procedure, Trigger, C SQL Server v SQL Azure s dng ngn ng TSQL to c s d liu v thao tc d liu. Do , cc lp trnh vin c s d liu v ngi qun tr c th s dng cc k nng chuyn mn hin c ca h cho SQL Azure. 5.2.3. Kin trc truy xut d liu C s d liu SQL Azure expose mt endpoint Tabular Data Stream (TDS) cho c s d liu trn m my. Mt ng dng desktop ca client c t h kt ni vo C s d liu SQL Azure tng t nh cch kt ni mt th hin SQL Server onpremise. Truy vn c s dng bng ngn ng TSQL. Secure Sockets Layer(SSL) c yu cu khi mt ng dng client kt ni vo endpoint TDS C s d liu SQL Azure nhm m bo bo mt. Trong kch bn ng dng desktop v C s d liu SQL Azure, bn phi xem xt tr xy ra trn m my v trong x l ca client. tr ny chc chn cao hn so vi c s d liu c t trn c s ca bn. Mt cch trnh tr ny

47

l to ra mt giao din ngi dng trn nn Web cho cc ng dng c s d liu ca bn v my ch lu tr n trong Windows Azure. Trong kch bn ny, m ngun client v cc d liu c lu tr ti trung tm cng vi c s d liu, do , tr thp. Kin trc th ba m SQL Azure h tr, bn c th to mt ng dng bng cch s dng ADO.Net v Entity Framework, cha n trn Windows Azure. Sau bn c th s dng ADO.NET Data Services cng b ng dng ny nh mt dch v, s dng SOAP, REST hoc giao tip JSON, v xy dng ng dng client nh s dng d liu t dch v. 5.2.4. M hnh bo mt Nhiu c s d liu cha cc thng tin nhy cm, v th n cn phi kim sot truy cp cn thn. Trong SQL Azure, bn c th s dng cc cch bo mt sau chng thc truy xut v bo v d liu ca bn: SQL Server Login: c dng chng thc truy xut vo SQL Azure cp my ch. Database User: c dng cp quyn truy cp vo SQL Azure ti cp c s d liu. Database Role: c dng cho nhm ngi dng , cp quyn truy xut vo SQL Azure ti cp c s d liu. 5.2.5. Trin khai C th to v t mt c s d liu hon ton bng c s d liu SQL Azure bng cch s dng Transact-SQL. Tuy nhin, trong hu ht trng hp, cc lp trnh vin hoc qun tr vin s thit k v t c s d liu trn my tnh lp trnh vin hoc my ch on-premise. Khi ng dng c hon thnh, c s d liu s c trin khai n cc m my. trin khai mt c s d liu trn SQL Azure, bn c th to mt script TSQL CREATE DATABASE trong Microsoft SQL Server Management Studio vi Generate Script Wizard. Sau bn c th chy TSQL trong SQL Azure to c s d liu.

48

5.3. ng dng ca SQL Azure Mt ng dng Windows Azure c th lu tr d liu trong C s d liu SQL Azure. Trong khi b lu tr Windows Azure khng h tr cc bng d liu quan h, m nhiu ng dng ang tn ti s dng c s d liu quan h. V vy, lp trnh vin c th chuyn ng dng ang chy sang ng dng Windows Azure vi lu tr d liu trong C s d liu SQL Azure. Xy dng mt ng dng ca doanh nghip nh hoc ca cc phng ban trong Gi s mt nh sn xut mun thng tin sn phm c sn trn c mng li cng ty ln c th lu tr d liu trong C s d liu SQL Azure. i l v khch hng. a d liu ny vo C s d liu SQL Azure cho n c truy cp bi cc ng dng ang chy ti cc i l v ng dng Web ca khch hng.

49

Chng 66.1. Gii thiu

Tng quan Windows Azure Platform

AppFabricWindows Azure platform AppFabric cung cp dch v c s h tng da trn m my. Cc thnh phn ca Windows Azure platform AppFabric : Service Bus. Access Control.

6.2. Gii thiu AppFarbic Service Bus 6.2.1. Gii thiu Service Bus trong kin trc Windows Azure AppFabric l mt dch v hng n ngi pht trin c kh nng ty bin cao chy trung tm d liu ca Microsoft, l mt thnh phn ca Windows Azure platform. Mc ch chnh ca Service Bus l chuyn tip thng ip t m my n cc service ang chy onpremise pha sau cc thit b firewall v NAT. Service Bus c b sung bi Access Control Service, l mt thnh phn khc ca Windows Azure platform. Service Bus da vo Aceess Control trong vic truy cp an ton n cc im cui. Hai dch v ny cng vi nhau cung cp mt mi trng pht trin hiu qu, n gin ha vic pht trin, cho php bn tp trung hn vo cc nghip v cn thit.

50

6.2.2. Kin trc Service Bus

Hnh 6.1 - Kin trc Service Bus. [12]

AppFabric Service Bus cha 4 service chnh: Security service, Naming Service, Service Registry, Messaging Fabric. 6.2.2.1. Security Service Mt trong nhng vn ln nht khi doanh nghip a ng dng ln m my l an ton. Trn mi trng Internet vi nhiu mi de da t cc hacker hng ngy, vic m bo an ton l mt vn tht s cn thit. Vi cc ng dng onpremises, vic ny c kim sot, iu khin bi chnh sch ca doanh nghip, v thng th thch phng hn chng. Vi cc ng dng m my, AppFabric Service Bus a ra 2 la chn cho vic m bo an ton trao i thng ip t client n service : Tch hp Access Control Service (ACS). Messege security.

6.2.2.1.1. Tch hp Access Control Service Microsoft tch hp Service Bus vi Access Control Service cung cp vic xc thc v phn quyn. C ngi gi, ngi nhn thng ip u phi qua

51

bc kim tra an ton trc khi kn ni c n Service Bus. V pha dch v, phi c xc thc bi Access Control v c identity provider c tin tng bi Access Control trc khi kt ni n AppFabric Service Bus. Mc nh, client hay ngi gi thng ip cng phi xc thc nhng c th b qua nu pha dch v khng yu cu. Cch thc xc thc ca client c th khc vi cch m service xc thc

Hnh 6.2 - M hnh tch hp Service bus v Access Control. [13]

Theo , qu trnh xc thc v gi thng ip ca client nh sau: 1. Client yu cu mt token SWT t pha cung cp nhn dng, hoc to mi mt token SWT, hay yu cu kha b mt. Gi token/kha cng vi yu cu Send ln Access Control Service. Sau khi xc thc thnh cng, Access Control Service tr v mt SWT token cng vi claim Send cho client. 2. Client gi thng ip n cho Service bus vi header l token/ kha 3. Service bus kim tra token hp l v g b n ra khi thng ip, Vic kim tra c thc hin, nh gia Access Control Service v Service Bus thit lp s tin tng bi Service Bus Potal. Access Control Service s dng kha cng cng m ha,v Service Bus s dng kha ring gii m. 4. Service bus gi thng ip n cho service V qu trnh xc thc ca pha dch v: 1. Pha dch v gi yu cu xc thc n Access Control Service cng vi claim Listen.

52

2. Mt token vi claim Listen c tch hp trong phn m t yu cu gi n dich v chuyn tip (Relay service) AppFabric Service Bus . 3. Relay service kim tra token v cho dch v c th m mt kt ni 2 chiu t dch v ra n Relay service. Pha dch v, c th b qua qu trnh xc thc cho client bng cch cu hnh li cu hnh binding ca dch v:

Gi tr ca RelayClientAuthenticationType = None ch ra rng client khng cn thit phi ch ra token no c pht ra bi Access Control Service.Gi tr mc nh l RelayAccessToken.TransportClientEndpointBehavior l lp trong khng gian tn Microsoft.ServiceBus namespace m t hnh vi WCF ca mt endpoint c th ng k vi Service Bus. Thuc tnh CredentialType ca TransportClientEndpointBehavior ch ra kiu xc thc bn dng cho im c ui ny.Bng 6.1 Bng gi tr ca TransportClientCredentialType. [12]

TransportClientCredentialType SharedSecret

M t Ch n mt issuer v issuer key c to bi Access Control Service t Access Control Service management portal. Service Bus c mt tn v kha issuer dnh ring c to mc nh khi bn to mi mt service namespace. Yu cu client phi c chng thc bi mt token Security Assertions Markup language (SAML). Token SAML token c gi qua mt kt ni SSL.

Saml

SimpleWebToken

Yu cu client xc thc bng cch gi SWT token c sinh ra bi client v ng k vi

53

Access Control Service. Unauthenticated Khng yu cu xc thc client kt ni n Service Bus. 6.2.2.1.2. Message Security Xc thc chuyn tip (Relay authentication) c hng n vic xc thc client v service giao tip vi AppFabric Service Bus. Nhng mt gii php doanh nghip thc th, s khng hon chnh nu thiu i s an ton trong vic chuyn thng ip gia cc bn lin quan. An ton thng ip ch ra vic m bo an ton ca thng ip chuyn t AppFabric Service Bus n ch. AppFabric Service Bus a ra 4 la chn v an ton thng ip gia client v service.Bng 6.2 Bng gi tr ca Message Security. [12]

Message Security Type None

M t S bo mt cho thng ip b v hiu ha. Thng ip c gi nh t client n service. Thng ip c gi qua mt knh an ton (v d HTTPS) n hay t dch v chuyn tip. Bn trong Service Bus, thng ip c chuyn i khng bo mt. y l kiu thng dng v mc nh cho hu ht cc ng dng c cc thng ip khng cha cc thng tin nhy cm. Trong kiu bo mt ny, Ni dung thng ip c m ha vi mt chng ch X.509 c cung cp bi service. Bi v thng ip c m ha. Nn thng ip truyn trong Service Bus l an ton. Thng ip ny c th cha y quyn ca client (credential), v service phi xc thc n nu n tn ti trong thng ip.

Transport

Message

TransportWithMessageC redentials

Kiu bo mt ny l s kt hp gia hai kiu Transport v Message security types. S truyn ti gia dch v

54

chuyn tip v ng dng c m bo s dng knh truyn an ton, v thng ip c chuyn i t client c m ha. 6.2.2.2. Naming Service Naming service cho php bn gn mt nh danh DNS cho dch v ca bn, m dch v c th d dng c phn gii trn Internet. Vi AppFabric Service Bus,c mt tn min gc (root) c th c phn gii thng qua Internet DNS, v dch v naming da vo mt tiu chun khc- l khng gian tn dch v (service namespace) . S gi tn ca Service Bus th hin nh sau:

Hnh 6.3 S tn gi ca Service Bus. [13]

Nh vy, cch xc nh URI ca mt dch v nh sau: [scheme]://[service-namespace].servicebus.windows.net/[nameB]/[name2]/... Trong : [scheme]: c th l sb dng cho cc im cui TCP-based, http v https cho cc im cui HTTP-based. [service-namespace] l tn duy nht ca service namespace, c xc nh trn Potal. [nameA],[name2] l cc tn do chnh bn nh ngha. 6.2.2.3. Service Registry Service Bus cung cp dch v ng k cho vic cng b v khm ph cc im cui bn trong mt service namespace. Mc khc c th khm ph cc im cui

55

bng cch truy cp n service namespaee da vo a ch ca service namespace v nhn v mt Atom feeds. Service Bus c th m bo vic cng b thng tin cc im cui khi bn ng k mt im cui mi. Nu bn mun mt im cui c th c phn gii, bn cn ch ra trong thit lp ServiceRegistrySettings behavior vi im cui WCF, t gi tr cho thuc tnh DiscoveryMode thnh DiscoveryType.Public. 6.2.2.4. Messaging Fabric Messaging fabric cho php vic chuyn tip, v giao tip ca cc thng ip gia client v service. N c th biu din cc im cui dch v ln m my cho cc dch v on-premises cng nh cc dch v trin khai trn m my. ng thi, tch hp vi Access Control Service cung cp s an ton mc thng ip. Dch v chuyn tip l thnh phn ct li ca AppFabric Service Bus messaging fabric. Dch v chuyn tip (relay service) lm cho n c th d dng xy dng gii php c th giao tip qua cc thit b tng la hay NAT s dng cc mu thng ip khc nhau. Dch v chuyn tip h tr one-way messaging, request/response messaging, and peer-to-peer messaging. ng thi, h tr b m thng ip (Message buffer) cho cc dch v khng c kh nng s dng SDK tch hp v ch s dng HTTP. Service m mt kt ni outbound vi mt kt ni 2 chiu vi AppFabric Service Bus relay service, Dch v ng k s ng k mt im cui cho cc listener cho client c th phn gii c. Hu ht cc listener yu cu cc cng sau c m trn firewall v NAT: 808, 818, 819, v 828. Relay service s dng cng 808 cho kt ni mt chiu TCP, v 828 cho kt ni mt chiu TCP/SSL, N s dng cng 818 v 819 cho kt ni 2 chiu TCP v cc kt ni nng c ao khc. iu quan trng l bn khng cn phi m bt k cng inbound no trn thit b firewall hay thc hin nh x cng trn thit b NAT/router s dng relay service.

56

-

AppFabric Service Bus Binding M hnh lp trnh chnh lm vic vi Service Bus trn nn .Net framework

l WCF. SDK ra i vi mt b WCF binding mi t ng tch hp gia cc service v client WCF vi relay service.Sau y l cc binding c h tr bi WCF v ca Service Bus tng ng.Bng 6.3 WCF v AppFabric Service Bus Binding. [12]

Standard WCF Binding BasicHttpBinding . WebHttpBinding WS2007HttpBinding NetTcpBinding N/A N/A System Connectivity Mode

Equivalent Relay Binding BasicHttpRelayBinding WebHttpRelayBinding WS2007HttpRelayBinding NetTcpRelayBinding NetOnewayRelayBinding NetEventRelayBinding

Tr cc kiu binding HTTP, trong cc kiu binding cn li, mt service WCF kt ni n relay service thng qua kt ni TCP theo mc nh, Nu bn mun khng cho php bt k kt ni TCP outbound no, bn c th thit lp li WCF ch kt ni HTTP thay v TCP. Service Bus cung cp mt lp h thng ConnectivityMode cho php bn thit lp mt trong 3 gi tr: Tcp, Http, v AutoDetectBng 6.4 Gi tr ConnectivityMode. [12]

ConnectivityMode Description Tcp Service to kt ni TCP vi relay service thng qua cng 828(SSL). Http Service to kt ni HTTP vi relay service

57

AutoDetect (Default)

T ng la chn gia Tcp v http da vo c ch pht hin t ng, rng c th, kt ni hin ti c th l tcp. Nu sau khi th vi Tcp tht bi, s t ng chuyn sang kt ni Http

6.2.3. Message Buffer 6.2.3.1. Gii thiu Message Buffer B m thng ip l b m nh, tm thi dng lu gi thng ip trong thi gian ngn, cho n khi chng c nhn. Client gi thng ip n message buffer v ng dng on-premise nhn thng ip t b m thng ip tng ng.

Hnh 6.4 Message Buffer trong Service Bus. [13]

Message buffers c bit hu ch cho m hnh lp trnh Web khi m Windows Azure platform AppFabric Service Bus bindings khng s dng c. Message buffers c th c truy cp bi ng dng s dng HTTP v khng cn c Windows Azure platform AppFabric SDK. Do , message buffers cho php cc lp trnh vin Web,thit b di ng,.., tch hp vi ng dng vi AppFabric Service Bus bng vic to message consumers cho php s dng HTTP yu cu thu ly thng ip.

58

6.2.3.2. Message Buffer Policy Chnh sch b m thng ip l mt ti liu XML nh ngha cc thng tin cn thit cho mt b m thng ip. Bn phi chn thm chnh sch ny vo request khi to mi mt b m thng ip. Bn cng c th cp nht mt ti liu c lm mi thi gian ht hn ca b m.Khi thc hin iu ny, bn phi chc chn cc thuc tnh khc khng thay i. 6.2.3.3. Message Buffer Protocol Giao thc message buffer l giao thc HTTP REST c thit k da theo chun REST c th n gin v d dng hiu. Mc ch l m bo lp trnh vin c th d dng s dng giao thc t bt k client m khng cn c SDK hay th vin no. Giao thc da vo m hnh chng thc HTTP ca AppFabric Access Control Service gip n iu khin truy cp trn b m thng ip. iu ny c ngha n s dng Simple Web Token (SWT) bn c th nhn token s dng HTTP v nhng n vo HTTP request header. Token ny c th cha thm cc claim c s dng quyt dnh ni no mt thao tc c th c chp nhn. Vi giao thc ny, yu cu mi b m thng ip phi c nh v ti mt URL duy nht trong AppFabric Service Bus namespace. URL ny tr thnh gc cho b cc ti nguyn i din cho th hin ca b m. Mi kiu ti nguyn c mt URI duy nht, v ng vi mt tp cc HTTP verb tng tc vi n. Cc HTTP verbs c s dng tng tc vi message buffers :

POST/PUT: Dng to mi hay cp nht ti nguyn. PUT c s dng to ti nguyn mi, PUT c s dng to/cp nht ti nguyn b m thng ip. PUT: S dng cp nht ti nguyn tn ti DELETE: S dung xa ti nguyn. GET: Nhn v mt ti nguyn.

59

6.2.3.4. Message Buffer Quota Mc nh, b b m cha ti a 10 thng ip. Bn c th thay i gi tr ny qua thuc tnh MaxMessageCount trong lp MessageBufferPolicy. S lng ti a l 50 thng ip. 6.3. Tng quan Fabric Access Control 6.3.1. Gii thiu Windows Azure platform AppFabric Access Control (AC) service l dch v dng cung cp chng thc lin on(federated authentication) v phn quyn da trn cc lut, v da trn cc claim cho cc dch v Web RES T. Chng c th da vo AC services trong cc kch bn n gin nh tn ng nhp, mt khu, hay cc kch bn tch hp s dng Active Directory Federation Services (ADFS) v2. Windows Azure platform AppFabric Access Control service n gin ha vic iu khin truy cp cho cc nh cung cp dch v Web bi vic gim chi ph, v s phc tp trong vic tch hp vi cc cng ngh chng thc khc ca khch hng.Thay v phi lm vic vi cc cng ngh khc nhau, cc dch v Web c th d dng tch hp vi AppFabric Access Control, ng thi c th tch hp vi tt c cc m hnh v cng ngh chng thc m AppFabric Access Control h tr thng qua mt qu trnh chun b n gin, v thng qua cc API qun l REST-based. Tt c cc ng dng lin quan n AAC u cha 3 phn chnh: Service provider: Dch v Web REST. Service consumer: Cc ng dng khch truy cp n dch v. Token issuer: AppFabric Access Control phc v cho chnh n. Cc c tnh chnh: Vi phin bn thng 12/2009, AppFabric Access Control tp trung cho vic phn quyn cho cc dch v Web REST v AppFabric Service Bus. Sau y l cc tnh nng c bn: H tr Cross-platform. AppFabric Access Control c th c truy cp t cc ng dng chy trn cc h iu hnh hay cc platform c h tr giao thc HTTPS.

60

-

Tch hp vi Active Directory Federation Services (ADFS) 2.0 , bao gm c Chng thc v phn quyn s dng kha i xng v ch k C kh nng cu hnh cc lut, cho php mapping cc claim input v output.

kh nng phn tch v xut bn WS-Federation metadata. -

HMACSHA256. H tr Web Resource Authorization Protocol (WRAP) v Simple Web Token (SWT). 6.3.2. Xy dng Web Services Trust Access Control 6.3.2.1. Mu tng tc thng dng Cc ng dng theo Access Control hu ht u c cch tng tc nh s :

Hnh 6.5 S trao i. [15]

-

Bc 0: Trao i kha. Web service ng k mt kha b mt vi Access Control thng qua

dch v qun l Access Control. Access Control s k ln tt c cc token m n pht ra vi kha ny. Web service c quyn s hu kha ny v s dng n validate cc ch k trn cc th bi m n nhn c. y l c ch chnh Web service dng chc chn s ton vn ca cc th bi n nhn c. Cc kha ny c th thay i quay vng bi yu cu bo mt ca Web service. Bc 1: nh ngha cc lut cho mt Service Consumer.

61

Access Control s dng cc lut ny quyt nh claim xut hin

trong th bi n pht ra, v s dng cc Issuer nh danh cc ng dng mun truy cp dch v. chun b cho mt service consumer mi , Web service s dng Access Control management service thit lp cc rule v mt issuer v phn phi issuer ny cho service consumer. Bc 2: Gi Send Claims n Access Control trao i Token. Trc khi truy cp n dch v Web, service consumer phi yu cu

mt token t Access Control s dng kha issuermust c nhn t Web service, C th nhn bng 3 cch sau: o Gi kha Issuer trc tip. o To mt token v k ln n bi kha Issuer. o Gi mt token ADFSv2-issued SAML c k vi kha Issuer. Bc 3: So khp Input Claims v Output Claims bng vic s dng cc Da trn token yu c u, Access Control trch xut v phn tch claim

Rules v pht sinh Token. t token, s dng cc rules c sn tnh ton claim no s xut hin trn token phn hi. Sau khi tnh ton xong, Access Control to ra mt token cha cc claim ny v k n bng kha ng k bc 0. Bc 4: Tr Token v cho client. Sau khi to token, Access Control tr token v cho service consumer,

Access Control lun lun tr v mt kiu token, bt chp cho ch yu cu token no c s dng bc 2. Bc 5: Khi thng ip n cho Web Service vi Access Control Token. Sau khi nhn c Access Control token, service consumer gi token

trong request header n Web service, cng vi cc d liu ca mnh. Bc 6: Web Service kim tra tnh hp l v Claim trong token. Sau khi nhn c Access Control token v cc d liu, Web service

validate v kim tr cc claim trong token. Nu token hp l, v cc claim yu cu

62

xut hin trong token, service consumer c php truy cp. Ngc li nu token khng hp l hoc khng cha claim yu cu,service consumer b t chi truy cp. Ch rng, Web service khng gi Access Control kim tra token. 6.3.2.2. Cu trc mt Access Control tokenAccess Control token tun theo c t ca SimpleWebToken (SWT)

-

Cc cp Key/Value. SWT tokens c biu din nh mt dang cp key/value c encode v k

vi kha mt m. Sau y l cc key lun xut hin trong SWT token.Bng 6.5 Key trong mt SWT Token. [15]

Key Issuer

M t Th hin cho Access Control service namespace chu trch nhim pht sinh token. Gi tr cho key ny c dng Error! Hype rlinkreference not valid.

Audience

Gi tr ca trng applies_to c s dng yu cu token. Gi tr ny l mt URI HTTP hoc HTTPS. Thi gian ht hn. key/value ny l cp cui cng trong token.

ExpiresOn

HMACSHA256 Ch k HMACSHA256 cho tt c cc cp key/value. Cp

-

Claims m rng. Ngoi cc cp key/value trn, Access Control thm mt hoc hiu claim vo

token trc khi n c pht ra. Cc claim ny c diu khin bi cu hnh cc rules trong Access Control lc yu cu token. Tt c cc claim u c kiu v mt hoc nhiu git tr, tt c u dng chui. Khi mt claim c nhiu gi tr, chng c ngn cch bi du phy. Cc claim c encode ging nh cc cp key/value trn. V d: action=add%2csubtract&Issuer=https%3a%2f%2flvth2006.accesscontrol.windows. net%2f&Audience=http%3a%2f%2flocalhost%2facscalculator&ExpiresOn=12755 01214&HMACSHA256=z23ty2XzyIlWXHAp2tJ8EUVV%2fahrnPYRx%2f3zjeIv vTg%3d.

63

-

Ch k. Ch k c tnh ton s dng tt c cc cp key/value trc chu i

&HMACSHA256=. Thut ton Access Control s dng l HMACSHA256 v kch thc kha l 32 bypes. V d hm to ch k(C trong SDK sampe)private string GenerateSignature(string unsignedToken, string signingKey) { HMACSHA256 hmac = new HMACSHA256(Convert.FromBase64String(signingKey)); byte[] locallyGeneratedSignatureInBytes = hmac.ComputeHash(Encoding.ASCII.GetBytes(unsignedToken)); string locallyGeneratedSignature = HttpUtility.UrlEncode(Convert.ToBase64String(locallyGen eratedSignatureInBytes)); return locallyGeneratedSignature; }

6.3.2.3. Thit lp Trust vi Access Control Trong bc u tin, lin quan n s thit lp trust gia Web service v Access Control, thc cht l vic thit lp kha mt m vi Access Control, v Access Control dng n k vo cc token m n pht sinh. Web service c th s dng kha v thay i kha theo yu cu bo mt ca mnh. Access Control s dng kha i xng 32-bytes v thut ton HMACSHA256 k vo token, V d:public static byte[] CreateHMACSHA256Key() { byte[] sha256key = new Byte[64]; RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider(); rng.GetBytes(sha256key); return sha256key; }

64

Kha c pht sinh bi hm trn c th c ng k vi Access Control thng qua Access Control management service, qua mt thuc tnh Access Control Resource l TokenPolicy. Bn c th s dng Access Control management service ng k mt TokenPolicy mi bng cch:

S dng ACM.exe (hoc AcmBrowse.exe) c trong Windows Azure platform AppFabric SDK. Vit mt ng dng s dng Access Control management service. C ba cch c th yu cu Access Control token, plain text, signed Simple

6.3.2.4. Yu cu Token t Access Control Web Token (SWT), v SAML token. Tt c cc yu cu token c truyn qua SSL. Access Control lun lun pht sinh mt kiu token trong response. Ngoi ra, cc token request n Access Control c gi qua HTTP POST.Bng 6.6 Cc kiu yu cu Access Control. [16]

Kiu yu cu PlainText

M t Cch n gin nht yu cu token t Access Control, bng cch gi trc tip kha issuer n Access Control chng thc Client to ra mt token, k ln n, v s dng token c k ny chng thc vi Access Control, Mc d phc tp hn, nhng cch tip cn ny, cho php clien c th gi nhiu claim cho Access Control khi yu cu token. Ch yu dng cho vic tch hp vi ADFSv2. Cch tip cn ny, yu cu mt SAML token v gi n n Access Control xc thc.

Signed

SAML

6.3.2.5. M gi v gi Token cho Web Service Nu mt yu cu token c chng thc thnh cng, Access Control tr v 2 tham s c encoded wrap_token v wrap_token_expires_in. Gi tr ca cc tham s ngy l token v thi gian sng ca token tng ng.

65

Trc khi gi token n Web service, service consumer phi trch xut v URL-decode token t response. Sau , gi n Web service thng qua header Authorization. 6.3.3. Access Control Management Service Lc ti nguyn Access Control .

Hnh 6.6 - Lc ti nguyn Access Control. [17]

-

URIs Tt c cc s tng tc vi management service c thng qua mt kt ni

SSL. Nh th, tt c cc URI trong lc ti nguyn u dng HTTPS sc heme. URI gc trong AppFabric Access Control management service l: Error! Hyperlink reference not valid.. 6.3.3.1. Service Namespace Service namespace l ti nguyn cp cao nht trong lc AppFabric Access Control. Tt c cc ti nguyn khc l cp di ca mi service namespace. Cc ti nguyn AppFabric Access Control khng th chia s gia cc service namespace vi nhau. 6.3.3.2. Scope Scope l tn URI m AppFabric Access Control dng gom nhm cc rules. AppFabric Access Control so khp gi tr ca tham s wrap_scope trong yu cu

66

token vi URI scope ny. Nu so khp, cc rules trong scope ny s c dng trong sut qu trnh tnh ton claim output. 6.3.3.3. Issuer Mt issuer l tn ca mt b kha m ha. Service consumers s dng n khi chng thc vi AppFabric Access Control. Cc Issuer c th cha mt cp base64 encoded 32-byte keys, hoc mt chng ch X.509. Ch cc issuer dng chng ch X.509 c dng chng thc vi SAML token. 6.3.3.4. Ruleset Ruleset l tn ca mt tp cc rule. Trong phin bn hin ti, ruleset c to t ng v tng ng vi mi scope. C ngha, mi scope c duy nht mt ruleset . 6.3.3.5. Rule Cc rule trong AppFabric Access Control quyt nh claim xut hin trong token c pht ra bi AppFabric Access Control. Mt rule cha mt gi tr tin v mt gi tr kt qu. Mt rule phi lin kt vi mt ruleset. 6.3.3.6. Token Policy Ti nguyn Token policy quyt nh thi gian ht hn, v kha dng k cho cc token c pht ra bi AppFabric Access Control. Mt token policy c lin kt vi 0 hoc nhiu scope.

67

Chng 7 sinh vin.7.1. Gii thiu

ng dng mng x hi o cho cu

Mng x hi o pht trin nhanh chng v mnh m trong vi nm gn y Hi n ta i co r t nhi u ma ng xa h i ti m t nhom ngi dung ring xu t hi n trn th gii . Mi ma ng xa h i hng , c nhng tnh nng chuyn bit dnh cho nhm

.

ngi dung o , v cng ch ph hp vi mt s vng a l trn th gii n phi mang m bn sc vn ha

. Do o ,

m t ma ng xa h i mu n thanh cng m t t nc hay m t vung ia ly nao o thi ti ni o , v n cng phi hng ti mt nhm m nng va ngi dung cu th . Ti Vit Nam , cu sinh vin la nhom ngi dung ti

c s lng ng o so vi cac nhom ngi dung khac . Nn vi c xy dng mng x hi dnh ring cho cu sinh vin la m t h ng i t t , p ng cc nhu cu: Tp hp cc bn cu sinh vin: To iu kin giao lu, trao i kinh nghim lm vic. H tr ln nhau trong cng vic, hp tc kinh doanh, H tr sinh vin ca Khoa/Trng. H tr Khoa/Trng nng cao cht lng o to p ng tt hn T vn cho ban ch nhim Khoa/Trng v ci tin chng trnh o

Tin hnh cc hot ng :

vi yu cu ca doanh nghip, x hi.

to, tip nhn sinh vin thc tp, gii thiu vic lm cho sinh vin, Lm cu ni hp tc gia Khoa/Trng vi doanh nghip : Hp tc nghin cu, trao i hc thut. Ngun lc nhn s, cu sinh vin l mt nhu

Nn vi c xy dng m t ma ng xa h i danh ring cho

c u c p thi t . V vy , ng dng Windows Azure l tp trung xy dng th nghi m mng x hi dnh cho cu sinh vin khoa CNTT H KHTN.

68

7.2. Chc nng AlumniNetworking l mt website dnh cho cu sinh vin, mang tnh cht ca mt mng x hi o, v