Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (369.47 KB, 12 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
Tilak Mitra, Ki n trúc s c p cao Công ngh Thông tin c IBM công nh n, IBM
29 07 2008
Trong lo t bài này, hãy tìm hi u lý do và cách b n s vi t t li u ki n trúc ph n m m. Trong bài vi t này,
ta hãy tìm hi u cách phát tri n và vi t t li u các t o tác thi t k m c v mô c a các khía c nh ch c n ng
c a h th ng ki n trúc c a b n. Khung nhìn mơ hình ch c n ng nh m vào các k thu t mà b n có th s
d ng phân tách ph m vi bài toán thành m t t p các t o tác ki n trúc. Hãy tìm hi u cách xây d ng trên
chúng h n n a t o ra các c u trúc chi ti t nhi u h n n a. Ba m c ph bi n c a vi c ch t o — m c
logic, m c c t , và m c v t lý — c ng c th o lu n.
Trong Ph n 1 c a lo t bài này, b n ã tìm hi u v t m quan tr ng c a m t cách ti p c n có nguyên t c vi t t li u
ki n trúc ph n m m và v các c ch mà có th n m b t các t o tác ki n trúc s d ng trong m t quy trình phát tri n
i n hình. Ph n 2 t p trung vào ng c nh h th ng, nó là t o tác ki n trúc quan tr ng u tiên, và cách vi t t li u
thông tin ng c nh h th ng v i các s ! và lu!ng thông tin. Trong Ph n 3 b n ã tìm hi u cách phát tri n và vi t t
li u t ng quan ki n trúc cho h th ng ho c ng d ng c a b n.
Bài vi t này t p trung vào các thành ph n ki n trúc ch c n ng c a h th ng. Hãy tìm hi u cách các kh i c b n c a
ki n trúc c phân tách nh th nào thành các hình d ng m c thi t k mà cùng th c hi n các yêu c u ch c n ng c a
ng d ng ho c h th ng s c xây d ng.
M"i kh i c b n c a ki n trúc mô t , # m t m c cao, các tính n ng c a m t thành ph n trong ng c nh c a gi i pháp
toàn th . Các thành ph n giúp xác $nh k ho ch ki n trúc chi ti t và c c tr ng r ng rãi nh ch c n ng ho c tác
nghi p v b n ch t. Nh ng chúng c ng quá thô thi n ch a th chuy n ngay sang nhóm phát tri n chuy n i chúng
thành mã.
Bài vi t này c ng cung c p các l%i khuyên v cách chuy n i các thành ph n ch c n ng sang các t o tác thi t k m c
v mô. Tiêu i m là nh m vào vi c vi t t li u các t o tác thi t k v mơ, cịn g i là mơ hình ch c n ng. Hãy tìm hi u
v các m c khác nhau c a m t mơ hình thi t k ch c n ng, i t& chung n riêng nhi u h n, và cách vi t t li u các
m c k n ng khác nhau.
Mơ hình ch c n ng, cịn g i là mơ hình thành ph n, t p trung vào xây d ng nên ki n trúc ch c n ng c a h th ng b ng
cách phân tách ph m vi bài toán thành m t t p các thành ph n không ch!ng chéo và c ng tác v i nhau. IBM
Rational® Unified Process® (RUP®) phát bi u r ng vi c mơ hình hố ph i c th c hi n ít nh t # hai m c khác
nhau: m c phân tích và m c thi t k . Khác bi t ch y u gi a hai m c là m c c tr ng mà chúng minh h a. Các
mơ hình thi t k xây d ng trên các mơ hình phân tích b ng cách b sung các chi ti t ch a thông tin thu n ti n
cho m c mơ hình hố th ba — t c mơ hình th c hi n. Các mơ hình phân tích và thi t k có th c g i là thi t k v
mơ, trong khi mơ hình hố th c hi n là thi t k vi mô.
Mơ hình ch c n ng c xây d ng thành ba b c l p, v i các thi t k #:
M c logic.
M c c t .
M c v t lý.
V i m"i b c k ti p nhau, b n chuy n t& các m c tr&u t ng cao h n sang các t o tác thi t k và th c hi n riêng h n.
M t s tr %ng phái mu n m c logic c a thi t k # các quan ni m, v i các thông tin ch' theo thu t ng v khái ni m
nghi p v , khơng có trong cơng ngh thơng tin. M c khái ni m hố ó là có th ch p nh n c, nh ng hi n nay có
m t ngun lí g i là “ki n trúc nghi p v ”, mà t p trung vào vi c xác $nh ph m vi kinh doanh thông qua m t t p các
khái ni m và phác th o h ng kinh doanh. Ki n trúc kinh doanh ang tr# thành m t k thu t ph bi n xác $nh các
khía c nh kinh doanh c a m t ki n trúc doanh nghi p. Bài vi t này s không nh m t i các c u trúc khái ni m trong
thi t k m c logic c a ki n trúc ch c n ng.
Tr c khi tìm hi u v các hình d ng logic c a mơ hình ch c n ng, tr c tiên b n ph i hi u c kh n ng t o v t c a
các t o tác trong ph m vi kinh doanh. Kh n ng dị theo c các hình d ng ki n trúc công ngh thông tin cho ph m
vi kinh doanh là r t quan tr ng. B n có th sau ó m b o r ng các t li u ki n trúc là g n k t, th(ng hàng so v i các
tác ng i u h ng kinh doanh (business drivers), các ích, và các bài tốn mà ki n trúc ó s gi i. Các nhà phân tích
kinh doanh s phân tích ph m vi kinh doanh và n m b t các yêu c u kinh doanh # m t $nh d ng c l p v i công
ngh (technology-neutral). H c g ng n m b t “nh ng gì” s c xây d ng, và “cách làm th nào” cho các ki n
trúc s công ngh thông tin, các nhà thi t k , và nhóm th c hi n.
Th %ng thì, các nhà phân tích kinh doanh $nh tên t p các ph m vi kinh doanh mà mơ hình nghi p v c a kinh doanh
doanh nghi p c ph ho c ng ch m bài toán c n gi i. M"i ph m vi kinh doanh, ch(ng h n nh k tốn, hồn thi n
n hàng, v.v…, c phân tách sâu h n thành t p các vùng ch c n ng. Ph m vi c a s phân tích vùng ch c n ng yêu
c u nhà phân tích kinh doanh $nh danh t p các ch c n ng kinh doanh trong m t ph m vi kinh doanh, mà nó g n k t
v m t logic làm thành m t n v$ ch c n ng n. Nhà phân tích kinh doanh phân lo i theo vùng ch c n ng các
yêu c u trong ph m vi c a sáng ki n ó và cái mà sau ó c chuy n n nhóm cơng ngh thông tin.
<b>Thi t k h th ng con</b>
<i>M t h th ng con là hình d ng công ngh thông tin h ng nh t, là m t bi u di)n tr c ti p c a các vùng ch c n ng. M t </i>
i (d i d ng c i ti n ho c s a ch a) có th c ki m sốt sao cho hi u qu c a chúng c c c b hoá trong biên
h th ng con. *úng nh các vùng ch c n ng c ánh x n và phân tách thành các h th ng công ngh thông tin
con, các ch c n ng kinh doanh c th c hi n b#i m t ho c nhi u các ch c n ng công ngh thông tin. Các ch c n ng
công ngh thông tin này v m t logic c nhóm v i nhau, bao gói, và th c hi n nh m t n v$ n l+. * n v$ ó là
h th ng công ngh thông tin con. B n có th th c hi n các ch c n ng công ngh thông tin b ng cách s d ng m t
nhóm các thành ph n ph n m m, nh v y m t h th ng con là m t nhóm các thành ph n ph n m m.
Các ch c n ng công ngh thông tin c l ra b#i m t t p các giao di n # m c h th ng con. M t ho c nhi u thành
ph n ph n m m bên trong h th ng con cài t m t giao di n. Các h th ng con nhóm l i cùng v i các thành ph n mà
có xu h ng thay i, nh v y các thay i (d i d ng c i ti n ho c s a ch a) c ki m soát và hi u qu c a chúng
c c c b hoá trong biên h th ng con. Các h th ng con nuôi d ,ng s phát tri n song song, v i các h th ng con
và giao di n c a chúng c thi t k tr c. Các i cài t phát tri n các chi ti t bên trong c a h th ng con, khi v-n
tuân th các ràng bu c v i giao di n bên ngoài.
c vi t t li u. * i v i m"i h th ng con, giao di n c p cao nào c a nó c ng u c n c $nh tên và vi t t li u.
Tôi khuyên b n nên vi t t li u các t o tác sau ây i v i m"i h th ng con:
<b>Mã nh n d ng h th ng con (Subsystem ID) </b>
Cung c p m t mã nh n d ng duy nh t i v i m"i h th ng con d) tham chi u n chúng trong thi t k .
<b>Tên h th ng con </b>
Cung c p m t tên cho m"i h th ng con, ch(ng h n nh qu n tr$ tài kho n, qu n tr$ giao d$ch, v.v….
<b>Các ch c n ng </b>
M t danh sách các ch c n ng công ngh thông tin mà h th ng con l ra qua cài t bên trong c a nó. Tơi
khun r ng nên xác $nh t p này b ng cách phân tích các ca s d ng h th ng, nhóm chúng theo logic, và gán
chúng cho h th ng con ã có tên.
<b>Các giao di n </b>
M t danh sách các giao di n mà h th ng con h" tr ho c l . Ví d , trong m t h th ng con qu n tr$ tài
kho n, m t giao di n có th g i là “rút ti n.” . m c này, m t mô t d ng v n b n v giao di n và các tác nghi p
c a nó s là .
Khuôn m-u c a b n s trông gi ng nh th này:
B n ph i t o ra th hi n UML c a các h th ng con và các m i ph thu c (interdependencies) c a chúng nh là m t
ph n t li u cho các t o tác thi t k # m c logic. Hình 1 trình bày m t ví d .
<b>Figure 1. Các h th ng con và các ph thu c c a chúng </b>
<b>Thi t k thành ph n (m c logic)</b>
Sau khi b n ã $nh tên các h th ng con và các nhi m v ã t li u hóa c a chúng, b c ti p theo là xác $nh m t t p
các thành ph n ph n m m m c cao mà cùng th c hi n các giao di n c h th ng con l ra. M t h th ng công
ngh thông tin con là m t bi u hi n cao c p nh t c a vùng ch c n ng i v i ph m vi công ngh thông tin. Nh v y,
các ch c n ng công ngh thông tin trong m t h th ng con có th c phân o n d a trên th c th kinh doanh c t lõi
mà chúng nh m n. Ví d , i v i h th ng con qu n tr$ tài kho n có th có m t thành ph n ph n m m mà cung c p
<b>B nh danh t o tác</b> <b>Ví d</b>
Mã nh n d ng h th ng con SUBSYS-01
Tên h th ng con My Subsystem
Ch c n ng F1,F2
các tài kho n ti t ki m, trong khi m t cái khác t p trung vào th c hi n các tính n ng c a tài kho n séc.
Sau khi các thành ph n c $nh danh # m t m c logic, b n c n $nh danh c các ca s d ng có ý ngh a ki n trúc.
Phân tích các ca s d ng, sau ó ch n các nhóm ph mà có ngh a t& quan i m ki n trúc. * i v i m"i ca s d ng có ý
ngh a ki n trúc, b n có th s d ng các s ! thành ph n-t ng tác chi ti t hố v cách ca s d ng có th c $nh
danh nh th nào qua các ch c n ng mà c l ra b#i các thành ph n mà b n ã $nh tên.
M t s ! c ng tác cho th y cách các thành ph n t ng tác b ng cách t o ra các liên k t gi a các thành ph n, và b ng
cách ính kèm các thông i p vào các liên k t này. Tên c a thông i p bi u th$ ý $nh g i thành ph n khi nó t ng tác
v i thành ph n liên quan. . m c logic này, b n có th ngh r ng các thơng i p là các phép toán gi trên các thành
ph n. Các phép toán gi này bi u hi n chính chúng nh là các trách nhi m c a thành ph n ó. Hình 2 gi i thi u m t s
! c ng tác m-u.
<b>Hình 2. T ng tác thành ph n cao c p </b>
Tôi khuyên b n nên vi t t li u các thông tin sau ây i v i m"i thành ph n và h th ng con:
<b>Mã nh n d ng h th ng con </b>
Bi u th$ $nh danh duy nh t c a h th ng con mà thành ph n c nh m n thu c v nó.
<b>Mã nh n d ng thành ph n </b>
Cung c p m t $nh danh duy nh t (ID) cho thành ph n.
<b>Tên thành ph n </b>
Cung c p tên cho thành ph n. Tên ph i theo d) hi u, d a trên các th c th kinh doanh mà thành ph n t p trung
vào.
<b>Các trách nhi m c a thành ph n </b>
M t mô t d ng v n t v m t t p các trách nhi m c gán cho thành ph n và mong c th c hi n.
Khuôn m-u c a b n s trông gi ng nh th này:
<b>B nh danh t o tác</b> <b>Ví d</b>
Mã nh n d ng h th ng con SUBSYS-01
Mã nh n d ng thành ph n COMP-01
Tên thành ph n My Component
Thi t k m c c t là tên g i khác c a thi t k chi ti t. B n xây d ng trên các hình d ng m c logic, và b sung các
chi ti t cho t&ng thành ph n n khi nào:
Các giao di n cho m"i thành ph n là xác $nh t t.
Các ph n t d li u do các h th ng con s# h u c $nh danh và c chi ti t hóa.
Tôi khuyên b n nên ti n hành b n b c chính trong th c hành thi t k c t . *o n còn l i c a ph n này bàn lu n v
t&ng b c.
<b>1. B ng ma tr n trách nhi m c a thành ph n </b>
. b c này, b n xây d ng lên b ng ma tr n ban u, c phát tri n trong lúc thi t k # m c logic. Các b
sung ch y u vào b ng matrix hi n t i là m t t p nhi u chi ti t h n và g n l c h n c a các trách nhi m c a
thành ph n.
Các trách nhi m hi n th%i ã c $nh danh d a trên các c t ch c n ng (thu c b ng cách phân tích các
ca s d ng). Các yêu c u phi ch c n ng NFR (nonfunctional requirements) ã c l y ra kh/i ng d ng. Các
NFR th %ng c vi t t li u trong m t t o tác t li u riêng r . B n nên ti n hành phân tích c0n th n m"i NFR,
xác $nh ra m t thành ph n, và gán vi c thi hành trách nhi m ó cho thành ph n c xác $nh.
Các lu t nghi p v hi n ã tr# thành m t thành ph n ch o c a b t k1 ng d ng nào. Các lu t nghi p v là
m t bi u hi n c a các quy t $nh kinh doanh trong l nh v c l p trình cơng ngh thơng tin. Các lu t và chính
sách kinh doanh thay i th %ng xuyên n n"i các doanh nghi p ph i c m nh n c và ph n h!i các thay i
trên th$ tr %ng và nhanh chóng thích ng v i các h th ng công ngh thông tin c a chúng duy trì m t l i th
c nh tranh và n i b t.
Các lu t nghi p v không th nhúng vào logic l p trình lõi. Vi c nhúng vào các lu t nghi p v s làm cho các
h th ng h p l khó thay i. Các lu t nghi p v c n c a ra ngồi chúng có th c thay i vào th%i
gian ch y. Tuy nhiên, các nguyên t c nh v y c n c $nh danh và ch' $nh nh m t trách nhi m c a m t
thành ph n. Các thành ph n nh v y có th t n d ng các tính n ng c a m t ph ng ti n các lu t nghi p v
$nh danh các ph n trách nhi m, c xác $nh t& danh m c các lu t nghi p v . Trong m t vài tr %ng h p, m t
thành ph n t ng th có th c dùng làm giao di n v i các API, th hi n qua h th ng lu t (rule engine).
Lúc này, b ng ma tr n trách nhi m c a thành ph n c t ng lên v i các chi ti t c vi t t li u tr c ó. M t
<b>2. c t giao di n i v i các thành ph n </b>
Trong lúc thi t k # m c logic, b n ã $nh tên các giao di n và liên k t chúng v i các h th ng con. Bây gi%
b n ã có mô t chi ti t các trách nhi m mà m"i thành ph n mong c th c hi n, b n có th t p trung vào xác
$nh và thi t k giao di n.
<i>M t giao di n là c ch mà qua ó m t thành ph n l các ch c n ng c a nó ra th gi i bên ngồi. V m t k </i>
thu t, giao di n là t p các phép toán ho c ph ng th c. * c t giao di n òi h/i thách th c t i vi c $nh tên các
<b>B nh danh t o tác</b> <b>Ví d</b>
Mã nh n d ng h th ng con SUBSYS-01
Mã nh n d ng thành ph n COMP-01
Tên thành ph n My Component
Trách nhi m c a thành ph n F1, F2, F3
NFR 001 - Mô t và liên k t n tài li u NFR
NFR 005
phép toán và nhóm chúng trong biên giao di n.
* b t u, b n ph i phân tích t&ng ca s d ng mà m t thành ph n s# h u, gi trong u các nhân t ch y u v
ph c t p và s g n k t. Các ca s d ng h th ng mà r t nh/ v b n ch t, ch(ng h n vi c l y m t h! s khách
hàng, s c x p là m t phép toán (trên m t giao di n).
M c dù v y, các ca s d ng th %ng c vi t t li u # các m c khác nhau và ôi khi # các m c không nh t
quán v m c chi ti t. M t vài ca s d ng c vi t ra sao cho lu!ng chính là t o ra m t th c th riêng, n i
mà các lu!ng ch n l a thay th c a nó là c p nh t ho c xoá th c th ó. Các ca s d ng nh v y c n c
x lý b ng m t trong hai cách:
Thay i l i (refactor) ca s d ng, và tách nó các ho t ng chính trên th c th n m trong các ca s
d ng riêng c a chúng.
X lý ca s d ng # m c m t giao di n, n i mà giao di n là t ng t p các phép toán g n k t v m t logic.
Sau khi b n ã $nh danh các phép toán qua vi c phân tích ca s d ng, giao di n ph i c xác $nh chính th c.
Cách ti p c n mà tôi khuyên b n, nh ã nói trên ây, là nhóm các phép tốn mà ang có s c k t v m t
logic, tác ng n cùng m t t p các th c th kinh doanh, và b$ lo i tr& l-n nhau t& ph n còn l i c a t p phép
tốn ó. M t vi c nhóm logic c a các phép tốn nh v y c $nh ngh a nh là m t giao di n, nó là m t c u
trúc h ng cao c p nh t trong L p trình H ng * i t ng. Bài t p này xác $nh m t t p các giao di n nh v y
mà sau ó c l b#i m t thành ph n cho tr c.
B c u tiên c a thi t k giao di n là vi t t li u và mơ hình hố các giao di n và các phép toán c a chúng v i
danh sách các tham s và ký hi u riêng thích h p. Ví d :
Ph n th hai c a nhi m v này là xác $nh cách giao di n ph thu c vào các giao di n khác. Có hai ki u ph
thu c c a giao di n: khi chúng miêu t các ph thu c v giao di n mà n m trong m t ranh gi i h th ng con, và
khi chúng miêu t các ph thu c v giao di n mà c l ra b#i các h th ng con khác. S ph thu c th %ng
# d ng t li u nh m t s ! l p UML, n i m"i l p c r p khuôn nh là m t giao di n, và các %ng liên
h p (association lines) c s d ng miêu t rõ ràng các ph thu c.
T li u y t o ra m t b c ti n xa h n và cung c p m t mô t b ng v n b n mà có t cách và chi ti t
hoá v tính chính xác c a s ph thu c. Ví d , Interface1::Operation11 có m t s ph thu c h u i u ki n
Hình 3 trình bày m t s ! i n hình c a s ph thu c giao di n. Các ranh gi i h th ng con cho giao di n c ng
c th hi n.
<b>Hình 3. S ph thu c giao di n bên trong và gi a các h th ng con </b>
<b>B nh danh t o tác</b> <b>Ví d</b>
Mã nh n d ng thành ph n (nó thu c v ) COMP-01
Tên và mã nh n d ng giao di n My Interface, INT-001
<b>3. Xác nh và liên k t d li u n các h th ng con </b>
* n bây gi%, tr ng tâm là các trách nhi m c a thành ph n. M t trong nh ng nguyên lý quan tr ng c a thành
ph n thi t k là $nh danh các th c th d li u c s# h u b#i m t h th ng con và cách chúng c s d ng
b#i các thành ph n trong h th ng con th c hi n các trách nhi m c a chúng.
Mơ hình d li u logic c s d ng nh m t u vào cho nhi m v này. Mơ hình d li u logic $nh tên các
th c th kinh doanh c t lõi, trong ph m vi c a h th ng s c xây d ng. M t h th ng con có m t t p các
trách nhi m c n hoàn thành, c cài t nh% các thành ph n c gói trong h th ng con. Các thành ph n hi n
các trách nhi m thông qua các giao di n, và c th h n là qua các phép toán giao di n.
M"i phép toán giao di n òi h/i d li u c tính th c hi n các ch c n ng. Các tham s v các phép tốn
giao di n là có tính g i m# c a m t nhóm c a các th c th d li u mà c s d ng trong các k t h p óng. S
d ng nguyên t c ch' o n gi n này giúp $nh danh các th c th d li u và liên k t chúng v i các h th ng
1. Phân tích danh sách tham s v các giao di n.
2. Ánh x các tham s n các th c th kinh doanh g n nh t ho c ki u d li u trong mơ hình d li u logic.
3. L p l i b c 1 và 2 i v i m"i giao di n trên m t thành ph n.
4. Gi m t danh sách ch y c a các ki u d li u mà c xác $nh.
5. L p l i b c 1 - 4 i v i các thành ph n trong m t h th ng con.
6. H p nh t danh sách các ki u d li u ã xác $nh trong b c 1 - 5.
Hãy v m t ranh gi i quanh ki u d li u ã có tên t& mơ hình d li u logic, và liên k t các ki u d li u v i h
th ng con. Sau khi b n làm vi c này i v i t t c các h th ng con, b n có th g p m t tình hu ng ph bi n mà
m t vài ki u d li u c $nh tên ôi khi thu c v h n m t h th ng con. * i v i các ki u d li u nh v y,
vi c h p lý hoá ki n trúc ịi h/i ph i:
Phân tích và ánh giá h th ng con nào th c hi n các phép toán ban u v ki u d li u.
Xác $nh h th ng con mà s ch y u ch$u trách nhi m s# h u ki u d li u.
th c s áng giá hàng nghìn l n t& khi vi t t li u các t o tác ki n trúc ph n m m. Trong tr %ng h p này, t t
h n là s d ng các t o tác mơ hình UML miêu t h th ng con và s s# h u thành ph n c a các th c th d
li u. Th %ng khơng ịi h/i ph i cung c p các mô t v n b n i v i m"i ki u d li u. B n s tham chi u t li u
mơ hình d li u logic có các mơ t chi ti t.
<b>4. S T ng tác-thành ph n </b>
Trong khi thi t k # m c logic, b n ã phát tri n và vi t t li u m t s ! t ng tác-thành ph n m c cao c p. .
m c ó, các thành ph n ã c g i ch' qua các phép tốn gi . T& ó cho n nay, nhi u c t chi ti t ã
c phát tri n, b ng ma tr n trách nhi m c a thành ph n ã c xây d ng, các giao di n ã c quy $nh, và
Các ca s d ng c ch n mà khai thác t&ng phép toán trên các giao di n mà các thành ph n l ra. Các ca s
d ng có ý ngh a ki n trúc có th c n c b sung các ca s d ng khác cung c p bao ph i v i t t c
các phép toán trên m"i giao di n. * i v i m"i ca s d ng, s d ng các s ! chu"i UML v ra s ! thành
ph n-t ng tác. M"i s ! thành ph n-t ng tác b t u t& m t bên yêu c u ngu!n (originating requester) (tác
nhân), g i các phép toán riêng trên m t lo t các thành ph n mà cùng th c hi n ca s d ng, và tr l i k t qu cho
bên yêu c u ngu!n. Hình 4 trình bày m t ví d .
* i v i m"i s ! chu"i UML, m t mô t d ng v n b n v vi c g i t&ng b c các phép toán trên các thành
ph n c ng c vi t t li u.
. giai o n này, m"i h th ng con u c xác $nh chính xác, v i m"i thành ph n có m t t p các trách nhi m
mà n l t mình c l ra qua m t ho c nhi u giao di n. M"i giao di n c xác $nh b ng m t t p các phép
toán, và m"i phép toán c xác $nh thông qua m t danh sách các tham s vào và ra. M"i tham s c ánh x
n m t ki u d li u mà c h th ng con s# h u.
Các h th ng con c ng òi h/i vi c tinh l c (refinement) và thay i l i (refactoring). N u m t h th ng con ã
phát tri n m nh n quá nhi u trách nhi m, có th nó s quá ph c t p th c hi n. N u xem nó là quá m/ng
manh v các c tính, b n có th c n h p nh t l i và tr n nó vào h th ng con liên quan khác. Và, không ph i
t t c các h th ng con u c t o ra theo n hàng riêng. M t s th hi n các tài s n ho c s n ph0m hi n
hành (ch(ng h n h th ng lu t nghi p v ), và vi c s d ng các h th ng con nh v y là m t c h i 0y m nh tái
s d ng.
Vi c này hoàn t t các b c c khuyên ti n hành vi t t li u các t o tác thi t k # m c c t .
Thi t k # m c v t lý v b n ch t xoay quanh vi c phân ph i ng d ng và các h th ng con trên các nút s b , nh
v y chúng có th c cài t và ch y trên các nút ph n c ng v t lí, mà cùng th hi n topo h t ng c a h th ng. Thi t
k # m c v t lý c ng c s d ng tác ng n h t ng k thu t và các thành ph n ph n m và các h th ng con
khác.
Các h th ng con c n c tri n khai trên m t t p các các nút ph n c ng. C u hình ph n c ng c a h th ng có các c
tính và c t khác nhau i v i m"i nút.
M t s có th c i u ch'nh i v i t ng tác khách hàng thông qua giao di n ng %i s d ng tân ti n.
S khác có th c i u ch'nh i v i các h th ng giao d$ch kh i l ng cao.
M t s òi h/i an ninh # m c ph n c ng.
con c a chúng. Khi các h th ng con m i c $nh danh theo cách này, m t giao di n ch a rõ ràng v công ngh
(technology agnostic interface) c $nh ngh a, thông qua cái mà các h th ng con khác trong ph m vi ng d ng
nh n t ng tác. Vi c này cung c p m t m t ti n (facade) trên các cài t c thù công ngh (technology-specific
implementations) và a ra kh n ng tái s d ng c t ng c %ng trong thi t k c a h th ng. B n nên c g ng thu
c kh n ng tái s d ng t i m"i l p c a ki n trúc (xem Ph n 3 c a lo t bài này).
M t khi b n ã phân tích và hi u c các c tính c a nút, và ã xác $nh c các h th ng con m i (n u yêu c u),
ho t ng chính là k t h p các h th ng con (d a trên các c tính ch c n ng và k thu t và các yêu c u NFR) v i nút
ph n c ng mà là ng c viên t t nh t $nh danh các tính n ng c a h th ng con. Sau phân tích này, m"i h th ng
con có th c t lên m t nút trong c u trúc liên k t ho t ng c a h th ng. M t nút có th th %ng là m t thùng
ch a c a nhi u h th ng con, m c dù có th có các nút c chun mơn hoá mà c tinh ch'nh i v i ch' m t ki u
h th ng con c bi t.
Có m t vài ch!ng chéo c a các t o tác thi t k v t lý v i khung nhìn
mơ hình ho t ng c a ki n trúc ph n m m.
Có các tr %ng phái khác nhau c g ng $nh ngh a và vi t t li u ki n
trúc ph n m m theo các cách khác nhau. Có m t thuy t cho r ng thi t
k m c v t lý là thiên v vi thi t k (micro design) c a các thành ph n.
Vi thi t k là ph m vi trong ó m t thành ph n c xem là m c cao
nh t c a s tr&u t ng. M"i thành ph n c phân tích thành m t t p
các l p tham gia mà cùng th c hi n các phép toán, mà thành ph n l ra thông qua các giao di n c a nó. Nhà thi t k áp
d ng các m-u thi t k n i ti ng và ã c th thách gi i quy t m t mơ hình riêng c a m t bài tốn/v n . Các
m-u có th k t h p v i nhau phát tri n các m-u thi t k ph c h p mà cùng gi i m t ph m vi bài toán ã cho trong
thành ph n. Các s ! chu"i chi ti t c s d ng chi ti t hoá b n ch t ng c a cách mà m"i phép tốn (trên giao
di n ó) c th c hi n, qua các l p tham gia trong mơ hình l p. Thi t k chi ti t nh v y c th c hi n i v i m"i
thành ph n trong ph m vi ng d ng.
Tôi coi các ho t ng thi t k chi ti t này là n m d i quy t c thi t k r ng h n, và khơng nh t thi t ph i có tính ki n
trúc v b n ch t. Lo t bài này không ch ý vi c c g ng minh h a t li u c a các t o tác # m c thi t k .
Mơ hình ch c n ng là m t trong nh ng l nh v c quan tr ng nh t c a ki n trúc ph n m m. M t vài ki n trúc s t p
trung vào l nh v c này và coi nó là ki n trúc ph n m m c a h . Khung nhìn mơ hình ch c n ng nh m n các k thu t
ki n trúc dùng :
Phân tách ph m vi bài toán thành m t t p các t o tác ki n trúc.
Xây d ng lên d n các t o tác b ng cách gia t ng vi c chuy n hình d ng ki n trúc t& tóm t t sang chi ti t.
Bài vi t này bàn lu n v khung nhìn mơ hình ch c n ng c a ki n trúc ph n m m. B n ã tìm hi u v ba m c chi
ti t hoá th %ng s d ng nh t: thi t k # m c logic, m c c t , và m c v t lý. B n ã tìm hi u nh ng gì ph i vi t t
li u và cách vi t t li u các t o tác # m"i m c tr&u t ng.
Tôi khuyên b n nên c m t vài bài vi t u tiên trong lo t bài tìm hi u v b n ch t c a ki n trúc ph n m m,
nguyên nhân và cách vi t t li u, và kích th c c a ki n trúc mà các khung nhìn khác nh m t i. Hãy i các bài vi t
s p t i s t p trung vào các kích th c mà ch a c c p n.
<b>H c t p </b>
Xem các ph n khác c a lo t bài này:
Ph n 1, "Ki n trúc ph n m m là gì, và t i sao vi c vi t t li u nó l i là quan tr ng".
Ph n 2, "Phát tri n ng c nh h th ng".
BM, bi u t ng c a IBM, ibm.com, DB2, developerWorks, Lotus, Rational, Tivoli, và WebSphere là các nhãn hi u hàng
hoá ho c nhãn hi u hàng hoá ã ng ký c a T p oàn International Business Machines Corporation t i Hoa K1, các qu c
gia khác, ho c c hai. Các nhãn hi u này và các thu t ng khác ã c ánh d u th ng hi u IBM vào l n xu t hi n u
tiên c a chúng trong thông tin này v i bi u t ng (® ho c ™) thích h p, bi u th$ ó là nhãn hi u hàng hố ã ng ký
ho c theo lu t $nh mà IBM s# h u t i th%i i m thông tin này c công b . Các nhãn hi u hàng hoá nh v y c ng có
th là nhãn hi u hàng hố ã ng ký ho c theo lu t $nh t i các qu c gia khác. M t danh m c hi n hành c a các nhãn
Ph n 3, "Phát tri n t ng quan ki n trúc"
Nh n m t %ng cung c p RSS cho lo t bài này.
<i>Tìm hi u thêm v SOA trong Th c hi n SOA: M t H ng d n Th c hành v Ki n trúc H ng D ch v , m t </i>
cu n sách v lo t bài developerWorks c xu t b n g n ây mà Tilak là !ng tác gi . S d ng mã phi u
IBM3748 nh n chi t kh u 35%.
* c n i dung tóm t t c a các $nh ngh a ki n trúc ph n m m ã xu t b n.
<i>Quy trình Phát tri n Ph n m m Th ng nh t c a Jacobson, và c ng s a ra m t cách x lý tr i h n h(n v </i>
cách Quy trình H p nh t Rational (RUP) c s d ng vi t t li u các t o tác ph n m m.
<i>M t Ngôn ng M u Phát tri n D a trên Thành ph n , Arsanjani A., H i ngh$ Châu Âu v Các Ngôn ng M-u </i>
c a L p trình, 2001.
Trong Khu v c ki n trúc trên developerWorks, nh n các tài nguyên b n c n nâng cao các k n ng c a b n
trong v ài ki n trúc.
Duy t nhà sách công ngh có các sách v ch này và các k thu t khác.
<b>L y s n ph m và công ngh </b>
T i v các b n ph n m m ánh giá s n ph0m IBM và b t tay vào các công c phát tri n ng d ng và các s n
ph0m ph n s n t& DB2®, Lotus®, Rational®, Tivoli® và WebSphere®.
<b>Th o lu n </b>
Xem các blog developerWorks và tham gia vào c ng !ng developerWorks.