Tải bản đầy đủ (.doc) (94 trang)

XÂY DỰNG CÁC MÔ ĐUN CHUYỂN ĐỔI VÀ CUNG CẤP DỮ LIỆU CHO HỆ THỐNG TÍCH HỢP VÀ KHAI THÁC THÔNG TIN MẠNG CÁP THÀNH PHỐ HÀ NỘI

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 (3.01 MB, 94 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
*************
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
XÂY DỰNG CÁC MÔ ĐUN CHUYỂN ĐỔI VÀ CUNG CẤP DỮ LIỆU
CHO HỆ THỐNG TÍCH HỢP VÀ KHAI THÁC THÔNG TIN MẠNG
CÁP THÀNH PHỐ HÀ NỘI
Sinh viên thực hiện: Nguyễn Văn Hữu
Lớp: HTTT – K50
Giáo viên hướng dẫn: TS. Nguyễn Hữu Đức
HÀ NỘI 6-2010
Website: Email : Tel (: 0918.775.368
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
Lời cảm ơn
Đồ án tốt nghiệp là một cột mốc rất quan trọng trong cuộc đời mỗi sinh
viên, đòi hỏi sự nỗ lực cố gắng rất to lớn.
Để làm được đồ án này, đầu tiên, em xin gửi lời cảm ơn chân thành tới
các thầy giáo tại Trung tâm Tính Toán Hiệu Năng Cao – Đại học Bách Khoa
Hà Nội : PGS.TS Nguyễn Thanh Thuỷ, TS Nguyễn Hữu Đức. Các thầy đã
tạo mọi điều kiện về cơ sở vật chất và tinh thần cho chúng em nghiên cứu học
tập. Đặc biệt, em xin cảm ơn thầy Nguyễn Hữu Đức, người trực tiếp hướng
dẫn em thực hiện đề tài này. Thầy đã tận tình chỉ bảo, định hướng cho em
trong quá trình làm đồ án.
Tiếp theo, em xin gửi lời cảm ơn tới các cán bộ hướng dẫn tại trung
tâm: Ths Phạm Tuấn Anh , Cử nhân Đào Quang Minh, KS Lê Đức Tùng,
các anh đã cho em cơ hội được nghiên cứu học tập tại trung tâm, đã chỉ bảo,
giúp đỡ em rất nhiều trong suốt quá trình thực tập tại trung tâm.
Em xin chân thành cảm ơn Trung tâm Bưu điện Hà Nội, Trung tâm
điều hành điện lực quận Ba Đình đã cung cấp cho em các tài liệu quý báu về


hệ thống mạng cáp của từng đơn, và mô tả rõ ràng về hệ thống mạng cáp của
từng đơn vị
Em xin cảm ơn các chú, các anh phòng bản đồ của bộ tham mưu bộ đội
biên phòng đã hướng dẫn vả chỉ bảo em về các vấn đề liên quan đến chuyển
đổi dữ liệu bản đồ
Con xin gửi lời cảm ơn công lao của bố mẹ và gia đình đã không quản
khó khăn vất vả nuôi dưỡng con ăn học, chăm sóc con những lúc con ốm,
luôn động viên con để cho con có được ngày hôm nay.
Xin gửi lời cảm ơn chân thành tới các bạn trong nhóm Cable HN – Vũ
Đức Trung và Lê Quốc Thi và các bạn trên Trung tâm tính toán hiệu năng cao
đã luôn ở bên cạnh tôi những lúc tôi cảm thấy khó khăn, giúp tôi trong quá
trình thực hiện đồ án này.
Hà Nội, 23 tháng 5 năm 2010
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 2
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
Sinh viên : Nguyễn Văn Hữu
Lớp Hệ thống thông tin K50 – Đại học Bách Khoa Hà Nội
Mục lục
.....................................................................................................................................................1
Lời cảm ơn..................................................................................................................................2
Mục lục.......................................................................................................................................3
Chương 1. Giới thiệu..................................................................................................................5
1.1 Thực trạng mạng cáp thành phố Hà Nội và các vấn đề đặt ra cho bài toán tích hợp thông tin
mạng cáp............................................................................................................................................5
1.2 Giới thiệu hệ thống tích hợp mạng cáp thành phố Hà Nội..........................................................8
1.3 Giới thiệu nhiệm vụ của đồ án.....................................................................................................9
2.1 Kiến trúc hướng dịch vụ ............................................................................................................11
2.2 Dịch vụ Web (Webservice).........................................................................................................21
2.3 Công nghệ GIS và Mapinfo.........................................................................................................40
2.3 Mysql GIS Extenion.....................................................................................................................50

Chương 3. Phân tích hiện trạng dữ liệu mạng cáp từng đơn vị...............................................58
3.1 Hiện trạng dữ liệu mạng cáp điện lực Ba Đình..........................................................................58
3.2 Hiện trạng dữ liệu mạng cáp viễn thông Hà Nội........................................................................62
Chương 4. Xây dựng các mô đun chuyển đổi dữ liệu dữ liệu mạng cáp................................65
4.1 Mô hình lưu trữ thống nhất trên Mysql.....................................................................................65
4.2 Xây dựng mô đun chuyển đổi dữ liệu mạng cáp điện lực Ba Đình............................................66
4.3 Xây dựng mô đun chuyển đổi dữ liệu mạng cáp viễn thông Hà Nội..........................................71
Chương 5. Xây dựng các dịch vụ cung cấp dữ liệu.................................................................76
5.1 Vị trí của các dịch vụ trong bài toán tích hợp thông tin.............................................................76
5.2 Dịch vụ cung cấp dữ liệu điện lực Ba Đình.................................................................................77
5.3 Dịch vụ cung cấp dữ liệu viễn thông Hà Nội...............................................................................78
Chương 6. Kết luận...................................................................................................................84
6.1 Thử nghiệm và đánh giá.............................................................................................................84
6.2 Kết luận và hướng phát triển đề tài...........................................................................................90
Tài liệu tham khảo....................................................................................................................92
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 3
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 4
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
Chương 1. Giới thiệu
1.1 Thực trạng mạng cáp thành phố Hà Nội và các vấn đề đặt ra cho bài
toán tích hợp thông tin mạng cáp
1.1.1. Thực trạng mạng cáp thành phồ Hà Nội
Cùng với cả nước, thủ đô Hà Nội đang ngày càng phát triển với hạ tầng
cơ sở hiện đại, đời sống người dân ngày càng được nâng cao. Nhiều năm qua,
Hà Nội đã và đang cố gắng để xây dựng hình ảnh một thủ đô văn minh, sạch
đẹp, xứng đáng là trái tim của cả nước. Tuy nhiên, vẫn còn nhiều hình ảnh
đang tồn tại làm xấu đi bộ mặt của thủ đô thanh lịch. Một trong số đó là hình
ảnh những cây cột điện nối nhau cùng vô số dây nhợ chằng chịt xuất hiện trên
khắp các con phố lớn, nhỏ.

Dù ở dưới lòng đường hay trên vỉa hè, ta sẽ gặp liên tiếp các cột điện
với hàng trăm loại dây cáp chồng chéo lên nhau. Chúng đã gây ra rất nhiều
bức xúc trong cuộc sống hàng ngày của người dân thủ đô cũng như để lại một
ấn tượng xấu đối với du khách nước ngoài. Hàng trăm công trình lớn của thủ
đô đã phải tốn rất nhiều tiền chỉ để di chuyển một cột điện ra khỏi lòng đường
quy hoạch. Những vụ tắc đường, tai nạn giao thông do dây điện rơi xuống
lòng đường, cột điện đổ...đang xuất hiện ngày càng nhiều hơn. Câu chuyện về
những chiếc cột điện làm phiền người tham gia thông đã trở thành vấn đề bức
xúc của người dân, của các cấp lãnh đạo.
Còn khoảng 4 tháng nữa, chúng ta sẽ kỉ niệm 1000 năm Thăng Long –
Hà Nội, nhưng thủ đô nghìn năm văn hiến, trái tim chính trị, văn hóa, xã hội
của cả nước vẫn đang phải đối diện với những vấn đề nhức nhối về bộ mặt đô
thị. Ủy ban nhân dân thành phố Hà Nội đã thực hiện những chương trình
nhằm ngầm hóa các tuyến cáp của thành phố Hà Nội và tiến tới xây dựng một
“thành phố không dây” văn minh, hiện đại để có thể sánh ngang với các thủ
đô tiên tiến trong khu vực và trên thế giới. Nhưng kết quả là 100% các tuyến
phố vẫn có dây điện chạy trên đầu. Năm 2008, Ủy ban nhân dân thành phố đã
tiến hành hạ ngầm thí điểm 5 tuyến phố là Đinh Tiên Hoàng - Lê Thái Tổ,
Tràng Tiền - Hàng Khay, Nguyễn Thái Học - Kim Mã, Văn Cao - Trần Duy
Hưng, Hai Bà Trưng và khu chung cư Giảng Võ. Kinh phí đầu tư là hơn 200
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 5
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
tỉ đồng. Nhưng có một thực tế là Hà Nội vẫn chưa hạ ngầm thành công bất
kỳ tuyến phố nào.
Dây cáp chằng chịt gây ra vô vàn tình cảnh dở khóc dở cười với người
dân thủ đô. Một câu chuyện khá hài hước là sau khi một cành cây đổ làm đứt
một đoạn cáp trên phố Khâm Thiên, một đơn vị viễn thông đến tính chuyện
nối lại. Song cuối cùng đành đi về vì không lần được ra "đầu dây mối nhợ".
Điều này đồng nghĩa với việc một đường dây cáp mới sẽ lại được căng lên
thay thể cho đường dây không thể nối kia. Cứ như vậy, mỗi ngày số lượng

dây trên mỗi cột điện lại tăng lên đáng kể. Theo con số thống kê tương đối,
40% số dây và cáp trên cột điện là vô chủ, những chiếc cột điện hàng ngày
vẫn oằn mình với đủ loại rác thải trên vai, là nguy cơ gây ra bao nguy hiểm
cho cuộc sống người dân Hà Nội.
Có một thực tế là từ khi có chủ trương ngầm hóa các tuyến cáp đến khi
bắt tay vào quá trình thực hiện, các cơ quan, doanh nghiệp đều chung một ý
kiến: đây là công việc quá khó khăn. Cụ thể, doanh nghiệp cho rằng không có
đường cống ngầm, gặp nhiều rắc rối về giấy tờ khi thi công; các cơ quan quản
lý lại quy cho doanh nghiệp làm ăn không có kế hoạch nên công việc ngày
càng khó khăn, dang dở. Bản thân những cơ quan chủ lực như xây dựng, giao
thông công chính cũng bị gặp khó khăn trong việc quy hoạch mà trên thực tế
là chưa có biện pháp khả quan nào để thực hiện.
Dẫn chứng cho điều này, đại diện Viettel cho biết: Viettel đã ngầm hóa
cáp theo chỉ đạo của UBND TP.Hà Nội. Tuy nhiên, doanh nghiệp này mới
triển khai được ở rất ít các tuyến phố. Lý do là VNPT cũng không muốn chia
sẻ hạ tầng, thậm chí không ít các cơ quan thuộc thành phố lại gây khó dễ
trong quá trình thực hiện đàm phán với người dân, các ngành khác. Đại diện
EVN Telecom cũng cho biết quá trình xin phép và đàm phán là cực kỳ khó
khăn do thủ tục rườm rà và thời gian cấp phép kéo dài.
Về phần mình, các cơ quan cũng phản biện là nếu không cấp phép thì
doanh nghiệp dễ làm lung tung, lộn xộn và gây ảnh hưởng đến các công trình
khác cũng như đời sống dân cư.
Nói tóm lại, cả cơ quan chức năng và doanh nghiệp đều đang rất lúng
túng trong việc giải bài toán khó mang tên Ngầm hóa các tuyến dây cáp trên
đường phố Hà Nội. Người dân sẽ còn phải tiếp tục sống chung với cột điện
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 6
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
dài dài và cảnh tắc đường do các doanh nghiệp đào bới vỉa hè để “hạ ngầm”
tuyến cáp cũng như những vụ tắc đường, tai nạn giao thông do dây dợ chằng
chịt vẫn sẽ tiếp tục diễn ra.

1.1.2. Các vấn đề đặt ra cho bài toán tích hợp và khai thác thông tin
mạng cáp
Với mong muốn góp phần xây dựng thủ đô Hà Nội sớm hoàn thành
mục tiêu “thành phố không dây”, trở thành một thành phố hiện đại trong khu
vực và trên thế giới, bên cạnh đó là góp một thành tích nhỏ chào mừng Đại lễ
kỉ niệm 1000 năm Thăng Long – Hà Nội, nhóm thực hiện đã khẩn trương
bắt tay vào thực hiện dự án.
Khởi đầu dự án, hệ thống được xây dựng với hai đơn vị thử nghiệm là
Điện lực Ba Đình và Trung tâm điều hành – Viễn thông Hà Nội, dữ liệu được
thử nghiệm trên địa bàn quận Ba Đình. Trong quá trình xây dựng hệ thống,
một số yêu cầu đã nảy sinh từ phía nhà cung cấp thông tin cũng như từ việc
tích hợp thông tin của hai nhà cung cấp. Trước hết, dữ liệu của hai nhà cung
cấp có những phần không được truy nhập do là dữ liệu bí mật nội bộ, dữ liệu
có tính chất động thay đổi thường xuyên. Vì vậy, mô hình SOA được đề xuất
sử dụng để truy nhập dữ liệu được cho phép của các nhà cung cấp từ xa, đảm
bảo tính cập nhật và tính bảo mật của thông tin.
Thứ hai, một số khó khăn xuất phát từ việc xây dựng dịch vụ tích hợp
thông tin của hệ thống. Các nguồn thông tin không đồng nhất về cả mô hình
dữ liệu và công nghệ lưu trữ, truy vấn. Thời gian và công sức để tìm hiểu, thử
nghiệm và xây dựng chuẩn dữ liệu phù hợp cho các nhà cung cấp là tương đối
lớn. Công việc này cần được làm hết sức cẩn thận và chu đáo để phục vụ cho
sự tăng trưởng các nhà cung cấp trong tương lai.
Thứ ba, các nguồn thông tin không có ràng buộc chặt chẽ với nhau do
chúng xuất phát từ các đơn vị độc lập. Để khai thác được thông tin từ các
nguồn thông tin này, hệ thống phải có một cơ chế truy vấn hợp lý để lấy được
chính xác thông tin từ các nguồn cung cấp và sau đó tổng hợp dữ liệu trả lại
cho người sử dụng. Ở đây, hệ thống sử dụng Ontology để giải quyết vấn đề
này. Dựa trên bộ từ vựng chung và sự ánh xạ giữa Ontology của các nguồn
thông tin, các truy vấn sẽ được thực hiện trên cơ sở dữ liệu của từng nguồn
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 7

Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
thông tin sau đó được tổng hợp lại và trả lại kết quả cho người truy vấn trên
giao diện Web.
1.2 Giới thiệu hệ thống tích hợp mạng cáp thành phố Hà Nội
Qua thời gian thu thập thông tin và phân tích thực trạng hệ thống mạng
cáp thành phố Hà Nội, nhóm sinh viên dưới sự hướng dẫn của PGS.TS
Nguyễn Thanh Thủy và TS Nguyễn Hữu Đức đã đề xuất một hướng giải
quyết mới cho bài toán quản lý hệ thống mạng cáp chằng chịt tại thủ đô Hà
Nội.
Nhóm đề xuất xây dựng một hệ thống tích hợp và khai thác thông tin
chung cho các đường cáp đang tồn tại trên địa bàn thành phố Hà Nội.Hệ
thống được xây dựng với giao diện Web, thông tin trên trang Web sẽ được
liên tục cập nhật từ các nhà cung cấp thông tin ( các đơn vị sở hữu đường cáp
trên địa bàn thành phố Hà Nội). Trên cổng thông tin, người sử dụng có thể
đăng nhập và truy vấn, tìm kiếm các thông tin về đường cáp được hiển thị
trực quan trên bản đồ số Google Maps.
Hình 1-1 : Mô hình tổng quan hệ thống mạng cáp
Đối với đối tượng nhà cung cấp, họ có thể đăng ký cung cấp thông tin
về đường cáp mà họ quản lý và thu về lợi nhuận dựa trên số thông tin mà
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 8
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
người sử dụng đã truy vấn của họ. Nguyên tắc hợp tác như trên sẽ giúp mang
lại lợi ích cho các bên tham gia và đem lại hiệu quả cao hơn. Với sự tham gia
của nhiều nhà cung cấp, trang Web sẽ mang đến một lượng thông tin tương
đối đầy đủ và chính xác về các đối tượng cáp trên từng tuyến phố của thủ đô
Hà Nội bao gồm tọa độ đường cáp và thuộc tính của đường cáp. Những thông
tin này sẽ hết sức hữu ích cho công tác quản lý, quy hoạch và hạ ngầm các
đường cáp trong tương lai của các cơ quan nhà nước. Bên cạnh đó, hệ thống
còn là một kênh thông tin tham khảo hữu ích đối với các đối tượng nhà đầu tư
khi triển khai dự án như phạm vi dự án có tuyến cáp nào chạy qua cần phải

giải tỏa không, đó là tuyến cáp của đơn vị nào, biện pháp khắc phục ra sao,
hoặc khi họ cần lắp đặt một đường cáp mới cho công trình của mình, họ có
thể lựa chọn nhà cung cấp nào gần nhất… Ngoài ra, hệ thống cũng sẽ là một
kênh tham khảo thông tin cho các hộ gia đình khi họ triển khai lắp đặt các
đường cáp mới cho gia đình, tìm kiếm tuyến cáp gần nhất với gia đình.
1.3 Giới thiệu nhiệm vụ của đồ án
Với phần mô tả chung về hệ thống và những vấn đề đặt ra với hệ thống
đã đề cập ở trên, cùng với các khó khăn về các công nghệ và các chuẩn sử
dụng trong lưu trữ dữ liệu bản đồ của từng đơn vị, vấn đề chuyển đổi dữ liệu
về dạng chuẩn và theo mô hình thống nhất là một bài toán khá khó
khăn.Nhiệm vụ của đồ án là xây dựng các mô đun chuyển đổi và cung cấp dữ
liệu (các Service Provider) cho hệ thống tích hợp và khai thác thông tin
mạng cáp thành phồ Hà Nội.
 Các mô đun chuyển đổi dữ liệu sẽ làm nhiệm vụ chuyển đổi các
dạng dữ liệu riêng của từng đơn vị thành viên thành mô hình dữ liệu
thống nhất cho các đơn vị tham gia hệ thống. Các bước chuyển đổi
chính
- Chuyển đổi chuẩn dữ liệu của bản đồ. Do các đơn vị dùng các
chuẩn lưu trữ bản đồ khác nhau (HN72, VN2000) nên ta sẽ sử
dụng Mapinfo Professional để chuyển đổi chuẩn dữ liệu của
các đơn vị về chuẩn chung của bản đồ Googlemaps (WGS84)
- Chuyển đổi dữ liệu từ dạng mapinfo của điện lực Ba Đình
thành mô hình thống nhất cho các đơn vị của hệ thống trên
Mysql GIS Extension dùng thư viện mã nguồn mở mitab.dll
của tổ chức Open GIS Consortium
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 9
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
- Chuyển đổi dữ liệu dạng excel của viễn thông Hà Nội về dạng
thành mô hình dữ liệu thống nhất cho các đơn vị của hệ thống
trên Mysql GIS Extension

 Các mô đun cung cấp dữ liệu sẽ cung cấp các truy vấn đến dữ liệu
cho hệ thống dưới dạng các dịch vụ Web
- Mô đun cung cấp dữ liệu được thực hiện dưới dạng các
Webservice chứa các dịch vụ ứng với từng đối tượng của đơn
vị tham gia
Đồ án được thực hiện với 6 chương:
- Chương 2: Giới thiệu về các công nghệ nền tảng phục vụ cho các mô
đun chuyển đổi và dịch vụ cung cấp dữ liệu bản đồ bao gồm: Mapinfo,
Mysql GIS Extension, Webservice, Mitab
- Chương 3: Giới thiệu về hiện trạng dữ liệu mạng cáp của điện lực Ba
Đình và viễn thông Hà Nội. Dữ liệu được lưu bởi các công nghệ khác
nhau và chuẩn dữ liệu khác nhau
- Chương 4: Với hiện trạng dữ liệu của từng đơn vị đã phân tích ở
trên,ta xây dựng các mô đun chuyển đổi dữ liệu mạng cáp của từng đơn
vị về mô hình dữ liệu thống nhất trên Mysql GIS
- Chương 5: Dựa vào mô hình dữ liêu thống nhất xây dựng ở chương 4,
ta xây dựng các mô đun cung cấp dữ liệu cho hệ thống của tại từng đơn
vị dưới dạng các Webservice
- Chương 6: Đưa ra kết quả thử nghiệm và hướng phát triển cho bài
toán.
Chương tiếp theo, ta sẽ tìm hiểu về các công nghệ sử dụng để xây dựng
hệ thống, mô đun chuyển đổi và cung cấp dữ liệu cho hệ thống
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 10
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
Chương 2. Các công nghệ nền tảng
2.1 Kiến trúc hướng dịch vụ
2.1.1Các nguyên tắc trong kiến trúc hướng dịch vụ
Nguyên tắc phân định rạch ròi giữa các dịch vụ
Các dịch vụ thực hiện quá trình tương tác chủ yếu thông qua thành
phần giao tiếp. Thành phần giao tiếp này sẽ qui định về những định dạng

thông điệp sử dụng trong quá trình trao đổi : thông điệp nào sẽ được chấp
nhận và thông điệp nào sẽ không được xử lý. Và đây chính là cách duy nhất
để các đối tượng bên ngoài có thể truy cập thông tin và chức năng của dịch
vụ. Ta chỉ cần gửi các thông điệp theo các định dạng đã được định nghĩa
trước mà không cần phải quan tâm đến cách xử lý của dịch vụ như thế nào
(môi trường thực thi, ngôn ngữ lập trình...). Điều này đạt được do sự tách biệt
giữa thành phần giao tiếp và thành phần xử lý trong kiến trúc của dịch vụ.
Nguyên tắc chủ động
Các dịch vụ cần phải được triển khai và hoạt động như những thực thể
độc lập mà không lệ thuộc vào một dịch vụ khác. Dịch vụ phải có tính bền
vững cao, nghĩa là nó sẽ không bị sụp đổ khi có sự cố. Để thực hiện điều này,
dịch vụ cần duy trì đầy đủ thông tin cần thiết cho quá trình hoạt động của
mình để có thể tiếp tục hoạt động trong trường hợp một dịch vụ cộng tác bị
hỏng; và để tránh các cuộc tấn công từ bên ngoài (như gửi thông điệp lỗi, hay
gửi thông điệp ồ ạt) bằng cách sử dụng các kỹ thuật về an toàn, bảo mật...
Nguyên tắc chia sẻ
Các dịch vụ nên cung cấp thành phần giao tiếp của nó (interface) ra bên
ngoài, và hỗ trợ chia sẻ các cấu trúc thông tin, các ràng buộc dữ liệu thông
qua các lược đồ dữ liệu (schema) chuẩn (độc lập ngôn ngữ, độc lập hệ nền.).
Như thế hệ thống sẽ có tính liên kết và khả năng dễ mở rộng.
Nguyên tắc tương thích dựa trên chính sách
Điều này nghĩa là, một dịch vụ khi muốn tương tác với một dịch vụ khác thì
phải thỏa mãn các chính sách (policiy) và yêu cầu (requirements) của dịch vụ
đó như là mã hóa, bảo mật... Để thực hiện điều này, mỗi dịch vụ cần phải
cung cấp công khai các yêu cầu, chính sách đó.
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 11
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
2.1.2 Các tính chất của kiến trúc hướng dịch vụ (SOA)
2.1.2.1 Kết nối lỏng
Vấn đề kết nối (coupling) ám chỉ đến một số ràng buộc giữa cách mô

đune với nhau. Có hai loại coupling là rời (loose) và chặt (tight). Các mô đune
có tính loose coupling có một số ràng buộc được mô tả rõ ràng trong khi các
mô đune có tính tight coupling lại có nhiều ràng buộc không thể biết trước.
Hầu như mọi kiến trúc phần mềm đều hướng đến tính loose coupling giữa các
mô đune. Mức độ kết dính của mỗi hệ thống ảnh hưởng trực tiếp đến khả
năng chỉnh sửa hệ thống của chính nó. Kết dính càng chặt bao nhiêu thì càng
có nhiều thay đổi liên quan cần chỉnh sửa ở phía sử dụng dịch vụ mỗi khi có
thay đổi nào đó xảy ra. Mức độ coupling tăng dần khi khi bên sử dụng dịch vụ
càng cần biết nhiều thông tin ngầm định của bên cung cấp dịch vụ để sử dụng
dịch vụ được cung cấp. Nghĩa là nếu bên sử dụng dịch vụ biết vị trí và chi tiết
định dạng dữ liệu của bên cung cấp dịch vụ thì quan hệ giữa hai bên càng
chặt. Ngược lại, nếu bên sử dụng dịch vụ không cần biết mọi thông tin chi tiết
của dịch vụ trước khi triệu gọi nó thì quan hệ giữa hai bên càng có tính loose
coupling.
SOA hỗ trợ loose coupling thông qua việc sử dụng hợp đồng và liên kết
(contract and binding). Một người sử dụng truy vấn đến nơi lưu trữ và cung
cấp thông tin dịch vụ (registry) để lấy thông tin về loại dịch vụ cần sử dụng.
Registry sẽ trả về tất cả những dịch vụ thoải tiêu chuẩn tìm kiếm. Từ bây giờ
người dùng chỉ việc chọn dịch vụ mà mình cần, và thực thi phương thức trên
đó theo mô tả dịch vụ nhận được từ registry. Bên sử dụng dịch vụ không cần
phụ thuộc trực tiếp vào cài đặt của dịch vụ mà chỉ dựa trên hợp đồng mà dịch
vụ đó hỗ trợ.
Tính loose coupling giúp gỡ bỏ những ràng buộc điều khiển giữa những hệ
thống đầu cuối. Mỗi hệ thống có thể tự quản lý độc lập nhằm tăng hiệu suất,
khả năng mở rộng và khả năng đáp ứng cao. Những thay đổi cài đặt cũng
được che dấu đi. Loose coupling đem đến sự độc lập giữa bên cung cấp và
bên sử dụng nhưng nó đòi hỏi các interface phải theo chuẩn và cần một thành
phần trung gian quản lý, trung chuyển yêu cầu giữa các hệ thống đầu cuối.
2.1.2.2 Sử dụng lại dịch vụ
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 12

Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
Do các dịch vụ được cung cấp lên trên mạng và được đăng ký ở một
nơi nhất định nên chúng dễ dàng được tìm thấy và tái sử dụng. Nếu một dịch
vụ không có khả năng tái sử dụng, nó cũng không cần đến interface mô tả.
Các dịch vụ có thể được tái sử dụng lại bằng cách kết hợp lại với nhau theo
nhiều mục đích khác nhau. Tái sử dụng lại các dịch vụ còn giúp loại bỏ những
thành phần trùng lắp và tăng độ vững chắc trong cài đặt, nó còn giúp đơn giản
hoá việc quản trị. Thực ra tái sử dụng dịch vụ lại dễ dàng hơn tái sử dụng
thành tố hay lớp. Những dịch vụ được dùng chung bởi tất cả các ứng dụng
của một hệ thống SOA gọi là những shared infrastructure service.
Đối với các dịch vụ bất đồng bộ, trong phương thức triệu gọi chúng,
bên gọi gửi một thông điệp với đầy đủ thông tin ngữ cảnh tới bên nhận. Bên
nhận xử lý thông tin và trả kết quả về thông qua một “kênh thông điệp”, bên
gọi không phải chờ cho đến khi thông điệp được xử lý xong. Khi sử dụng kết
hợp thông điệp dạng coarse-grained với một dịch vụ chuyển thông điệp, các
yêu cầu dịch vụ có thể được đưa vào hàng đợi và xử lý với tốc độ tối ưu. Do
bên gọi không phải chờ cho đến khi yêu cầu được xử lý xong và trả về nên
không bị ảnh hưởng bởi việc xử lý trễ và lỗi khi thực thi các dịch vụ bất đồng
bộ. Trên lý thuyết một hệ thống SOA có thể hỗ trợ gửi và nhận cả thông điệp
đồng bộ và bất đồng bộ.
2.1.2.3 Quản lý chính sách
Khi sử dụng các dịch vụ chia sẻ trên mạng, tùy theo mỗi ứng dụng sẽ
có một luật kết hợp riêng gọi là các policy. Các policy cần được quản lý các
áp dụng cho mỗi dịch vụ cả khi thiết kế lẫn khi trong thời gian thực thi.
Việc này tăng khả năng tạo ra các dịch vụ có đặc tính tái sử dụng. Bởi
vì các policy được thiết kế tách biệt, và tùy vào mỗi ứng dụng nên giảm tối đa
các thay đổi phần mềm. Nếu không sử dụng các policy, các nhân viên phát
triển phần mềm, nhóm điều hành và nhóm nhóm hỗ trợ phải làm việc với
nhau trong suốt thời gian phát triển để cài đặt và kiểm tra những policy.
Ngược lại , nếu sử dụng policy, những nhân viên phát triển phần mềm giờ chỉ

cần tập trung vào quy trình nghiệp vụ trong khi nhóm điều hành và nhóm hỗ
trợ tập trung vào các luật kết hợp.
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 13
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
2.1.2.4 Coarse granularity
Khái niệm granularity trong dịch vụ có thể hiểu theo hai cách. Đầu tiên,
nó được hiểu trong phạm vi toàn bộ kiến trúc cài đặt của dịch vụ. Thứ hai, nó
được hiểu trong phạm vi từng phương thức của từng interface triển khai. Mức
độ granularity cũng được hiểu ở mức tương đối. Ví dụ, nếu một dịch vụ cài
đặt tất cả chức năng của một hệ thống ngân hàng, chúng ta xem nó là coarse-
grained. Nếu nó hỗ trợ chỉ chức năng kiểm tra thể tính dụng, chúng ta lại xem
nó là fine-grained.
Trước khi có kiến trúc thành tố và dịch vụ, các hệ thống phân tán chủ yếu dựa
trên ý tưởng phân tán đối tượng. Những hệ thống phân tán đối tượng chứa bên
trong nó nhiều đối tượng fine-grained trao đổi thông tin với nhau qua mạng.
Mỗi đối tượng có những ràng buộc với nhiều đối tượng khác bên trong hệ
thống. Do truy cập đến một đối tượng phải qua nhiều trung gian mà hiệu quả
đạt được không cao nên khuynh hướng thiết kế hệ thống phân tán đối tượng
đang dần chuyển sang thiết kế các coarser-grained interface.
Hình 2-1 Các đối tượng fine-grained
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 14
Distributed
object
Distributed
object
Distributed
object
Distributed
object
Distributed

object
Distributed
object
Distributed
object
Distributed
object
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
Hình 2- minh họa một hệ thống phân tán đối tượng với nhiều mối liên
kết. Cùng với kích thước và độ phức tạp của hệ thống ngày càng tăng, những
ràng buộc này trở nên ngày càng khó quản lý. Hiệu suất cũng giảm tương ứng
số lượng các kết nối trung gian. Khả năng bảo trì cũng giảm khi số lượng ràng
buộc giữa những đối tượng ngày một tăng. Khi một đối tượng cần được thay
đổi ở interface, nó có thể ảnh hưởng đến một lượng lớn những đối tượng phân
tán khác. Nhân viên phát triển phải biên dịch và triển khai lại toàn bộ đối
tượng bị thay đổi và những đối tượng liên quan với chúng.
Một hệ thống dựa trên quản lý các truy cấp đến đối tượng bên trong
dịch vụ thông qua một số coarse-grained interface như Hình 2-. Một dịch vụ
có thể được cài đặt như một tập những đối tượng fine-grained nhưng bản thân
những đối tượng đó lại được sử dụng trực tiếp qua mạng. Trong khi đó một
service được cài đặt như những đối tượng có một hoặc nhiều đối tượng
coarse-grained hoạt động như những facades phân tán thì những đối tượng
này lại có thể được sử dụng qua mạng và cho phép truy cập đến các đối tượng
sâu bên trong. Tuy nhiên các đối tựơng bên trong service đó bây giờ sẽ trao
đối trực tiếp với nhau ở trong cùng một máy chứ không phải trên mạng.
Hình 2-2 Các đối tượng coarse-grained
Mặc dù những service nói chung hỗ trợ coarser-grained interface hơn
các hệ thống phân tán đối tượng và các hệ thống hướng thành tố, độ “thô” vẫn
hàm chứa bên trong nó chứa một mức độ granularity nào đó.
2.1.2.5 Khả năng cộng tác

SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 15
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
Kiến trúc hướng dịch vụ nhấn mạnh đến khả năng cộng tác
(Interoperability), khả năng mà các hệ thống có thể giao tiếp với nhau trên
nhiều nền tảng và ngôn ngữ khác nhau. Mỗi dịch vụ cung cấp một interface
có thể được triệu gọi thông qua một dạng kết nối. Một kết nối gọi là
interoperable chứa bên trong nó một giao thức và một định dạng dữ liệu mà
mỗi client kết nối đến nó đều hiểu. Interoperability is achieved bằng cách hỗ
trợ các giao thức và định dạng dữ liệu chuẩn của dịch vụ và các client. Kỹ
thuật này đạt được bằng cách ánh xạ mỗi tính chất và ngôn ngữ qua một đặc
tả trung gian. Đặc tả trung gian sẽ chịu trách nhiệm ánh xạ giữa định dạng của
dữ liệu khả kết (interoperable) đến định dạng dữ liệu tùy thuộc vào nền tảng
hệ thống. Ví dụ Web Service là một đặc tả trung gian cho giao tiếp giữa các
hệ thống, JAX-RPC và JAXM chuyển đối tượng dạng Java thành SOAP.
2.1.2.6 Tự động dò tìm và ràng buộc động
SOA hỗ trợ khái niệm truy tìm dịch vụ (service discovery). Một người
sử dụng cần đến một dịch vụ nào đó có thể tìm kiếm dịch vụ dựa trên một số
tiêu chuẩn khi cần. Người sử dụng chỉ cần hỏi một registry về dịch vụ nào
thoả yêu cầu tìm kiếm. Ví dụ, một hệ thống chuyển khoảng (consumer) yêu
cầu một registry tìm tất cả các dịch vụ có khả năng kiểm tra thẻ tín dụng.
Registry trả về một tập các entry thoả yêu cầu. Các entry chứa thông tin về
dịch vụ, bao gồm cả phí giao dịch. Bên sử dụng sẽ chọn một dịch vụ có phí
giao dịch thấp nhất trong danh sách các dịch vụ trả về, kết nối đến nhà cung
cấp dịch vụ đó dựa trên thông tin registry entry để sử dụng dịch vụ kiểm tra
thẻ tín dụng. Trong phần mô tả dịch vụ kèm theo đã có tất cả các tham số cần
thiết dùng để thực thi dịch vụ, bên sử dụng chỉ cần định dạng dữ liệu yêu cầu
đúng theo mô tả cung cấp và gửi đi. Nhà cung cấp dịch vụ sẽ thực thi kiểm trả
thẻ tín dụng và trả về một thông điệp có định dạng đúng như trong phần mô tả
dịch vụ. Mối ràng buộc duy nhất giữa bên cung cấp và bên sử dụng là bản
hợp đồng được cung cấp bởi registry trung gian. Mối ràng buộc này là ràng

buộc trong thời gian chạy chứ không phải ràng buộc trong lúc biên dịch. Tất
cả thông tin cần thiết về dịch vụ được lấy về và sử dụng trong khi chạy.
Ví dụ trên cho thấy cách bên sử dụng triệu gọi dịch vụ một cách
“động”. Đây là một thế mạnh của SOA. Với SOA, bên sử dụng dịch vụ không
cần biết định dạng của thông điệp yêu cầu và thông điệp trả về,cũng như địa
chỉ dịch vụ cho đến khi cần.
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 16
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
2.1.2.7 Tự phục hồi
Với kích cỡ và độ phức tạp của những ứng dụng phân tán ngày nay,
khả năng phục hồi của một hệ thống sau khi bị lỗi trở thành một yếu tố quan
trọng. Một hệ thống tự hồi phục (self-healing) là một hệ thống có khả năng tự
hồi phục sau khi bị lỗi mà không cần sự can thiệp của con người. Độ tin cậy
(reliability) là mức độ đo khả năng một hệ thống xử lý tốt như thế nào trong
tình trạng hỗn loạn. Trong kiến trúc hướng dịch vụ, các dịch vụ luôn có thể
hoạt động hay ngừng bất kỳ lúc nào, nhất là đối với những ứng dụng tổng hợp
từ những từ nhiều dịch vụ của nhiều tổ chức khác nhau. Độ tin cậy phụ thuộc
vào khả năng phụ hồi của phần cứng sau khi bị lỗi. Hạ tầng mạng phải cho
phép các kết nối động từ nhiều hệ thống khác nhau kết nối đến trong khi chạy.
Một khía cạnh khác ảnh hưởng đến độ tin cậy là kiến trúc mà dựa trên đó ứng
dụng được xây dựng. Một kiến trúc hỗ trợ kết nối và thực thi động khi chạy sẽ
có khả năng tự phục hồi hơn một hệ thống không hỗ trợ những tính năng trên.
Thêm vào đó, bởi vì những hệ thống dựa trên dịch vụ yêu cầu sự tách
biệt giữa interface và cài đặt, nên có thể có nhiều cài đặt khác nhau cho cùng
một interface. Nếu một thể hiện service nào đó không hoạt động thì một thể
hiện khác vẫn có thể hoàn tất giao dịch cho khách hàng mà không bị ảnh
hưởng gì. Khả năng này chỉ có được khi client chỉ tương tác với interface của
dịch vụ chứ không tương tác trực tiếp cài đặt của dịch vụ. Đây là một trong
những tình chất cơ bản của các hệ thống hướng dịch vụ.
2.1.3 Các ưu điểm của SOA

Nói đến SOA là nói đến ‘tiết kiệm’- cả tiết kiệm chi phí lẫn thu được
giá trị nhiều hơn từ các hệ thống có sẵn. Hẳn cũng phải có lý do để hàng trăm
tập đoàn đã chú ý đến SOA như một giải pháp tích hợp nhằm giảm giá thành
của một đề án một cách rất ấn tượng.
 Sử dụng những thành phần có sẵn
Một trong những lợi ích rõ ràng nhất của SOA là nó giúp các công ty
thu được giá trị nhiều hơn bằng cách sử dụng lại những tài nguyên sẵn có; kết
quả là giảm chi phí cho phần kiến trúc và tích hợp. Ngoài ra nó còn giúp giảm
chi phí mua phần mềm mới. Thời gian viết chương trình lấy dữ liệu từ máy
chủ trước đây được tính bằng tháng thì bây giờ chỉ còn tính bằng phút. Nhiều
phần mềm doanh nghiệp đã phát triển thành những nhóm phần mềm tách biệt
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 17
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
(funtional silos), thông thường là tương ứng với mỗi đơn vị kinh doanh. Ví dụ
một công ty bán lẻ có thể có một nhóm phần mềm cho hệ thống phân phối,
một nhóm phần mềm cho hệ thống lưu kho và một nhóm phần mềm cho
những chức năng liên kết. Thông thường những nhóm phần mềm này đựơc
phát triển trên nhiều nền tảng khác nhau, sử dụng nhiều ngôn ngữ lập trình
khác nhau và thường có nhiều tính năng lặp lại giữa chúng. Một hệ thống
SOA cho phép các công ty tránh tình trạng lặp dư thừa, tạo ra những đơn thể
dịch vụ chia sẻ giữa các ứng dụng.
Trong một hệ thống SOA, chỉ cần thay đổi duy nhất một phiên bản của
dịch vụ cần được thay đổi và chỉ cần kiểm thử một lần, sử dụng những kỹ
năng tương ứng với những kỹ năng đã dùng để phát triển dịch vụ. Lợi ích rõ
ràng nhất là giảm chi phí bảo trì phần mềm. Ngoài ra điều này còn giúp doanh
nghiệp chịu trách nhiệm nhiều hơn với những thay đổi về về mặt nghiệp vụ và
cho phép doanh nghiệp cập nhật những tính năng của nó nhanh hơn.
Bằng cách phân rã một ứng dụng thành những đơn thể dịch vụ nghiệp
vụ, sau đó cho những dịch vụ này liên kết lại với nhau, các hệ thống bây giờ
có thể sử dụng lại được các thành phần có sẵn, giảm chi phí phát triển từng

phần độc lập cho mỗi tính năng mới chưa có. Thay vì phải “thay đổi” , với
SOA ta chỉ cần tạo ra các “cầu nối” liên hệ giữa những hệ thống và ứng dụng
khác nhau, thay vì chỉnh sửa hoặc xây dựng lại từ đầu.
Lợi ích cuối cùng của việc tái sử dụng thường khó nhận thấy, đó là sử
dụng những thành phần có sẵn trước đó mỗi khi có thể thì mỗi khi có lỗi xảy
ra ta có thể giới hạn vào khu vực có những thành phần đang được phát triển.
Nhờ đó rủi ro về lỗi phần mềm giảm đi và tăng chất lượng dịch vụ. Giảm chi
phí phát triển và kiểm thử, và tránh công việc trùng lặp là một trong những lợi
ích mà SOA mang lại. Nhưng quan trọng vẫn là lợi ích từ việc tăng khả năng
kinh doanh. Nếu những nhân tố này được đánh giá đúng mức thì lợi ích mang
lại là rất đáng kể.
 Giải pháp ứng dụng tổng hợp cho doanh nghiệp
Cũng với ví dụ trên, SOA mang đến khả năng tổng hợp một lớp các
ứng dụng mới bằng cách kết hợp chức năng từ những hệ thống có sẵn, cung
cấp cho người cuối những chức năng liên kết. Ở đây một số tiến trình cũ có
thể được kết hợp với nhau bên trong một cổng thông tin (portal) giúp cho
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 18
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
người dùng cuối chỉ cần truy cập một lần mà vẫn có thông tin về hàng loạt sản
phẩm của doanh nghiệp. Loại kết hợp này có thể khó khăn nếu không sử dụng
SOA vì nó đòi hỏi việc tích hợp phức tạp, nỗ lực lập trình và kiểm thử.
Nhưng với SOA , một ứng dụng tổng hợp có thể được tổng hợp dễ dàng, bất
kể sự khác nhau về địa lý hoặc công nghệ phát triển các dịch vụ đó. Điều này
cho phép doanh nghiệp phản ứng nhanh theo yêu cầu, giảm chi phí đến mức
tối thiểu và tăng sức mạnh thoả mãn yêu cầu của người dùng cuối hiệu quả
hơn.
 Tăng tính linh hoạt khi triển khai, cài đặt
Lợi ích kế tiếp đến từ tính loose coupling của SOA, trong đó phía triệu
gọi dịch vụ không cần quan tâm đến địa chỉ hoặc công nghệ nền tảng của
service. Nó mang đến khả năng linh hoạt cao và nhiều lợi ích khác. Trong một

hệ thống SOA ta triệu gọi dịch vụ thông qua các interface theo một dạng thức
chuẩn nên giúp lập trình viên tránh được việc phải lặp lại công việc tạo mới
các service có khả năng hiểu tất cả những công nghệ được sử dụng bởi từng
dịch vụ trong hệ thống.
Thứ hai, trong trường hợp cần kết nối với các đối tác thương mại thì
những dịch vụ có tính loose-coupling, những interface chuẩn càng đem lại
nhiều lợi ích hơn. Với một hệ thống SOA, thật dễ dàng khi cung cấp một loạt
những dịch vụ ra bên ngoài cho một đối tác nào đó sử dụng. Nhờ tính độc lập
địa chỉ và công nghệ của SOA, đối tác kia không cần quan tâm đến dịch vụ
được cài đặt như thế nào, và nhờ các dịch vụ đã theo chuẩn giao tiếp nên đối
tác đó chỉ cần một lượng thông tin nhỏ vừa đủ để sử dụng dịch vụ. Tương tự
cho điều ngược lại, nếu đối tác đã xây dựng một hệ thống SOA thì việc đem
sử dụng chức năng một số dịch vụ của họ vào sử dụng bên trong hệ thống của
mình cũng trở nên dễ dàng và nhanh chóng. Đặc tính này của SOA hứa hẹn
tăng hiệu suất và tự động hoá.
Cuối cùng một lợi ích mà tính loose coupling mang lại là tăng khả năng
triển khai. Như đã phân tích ở trên, những thành phần có tính loose coupling
có thể được triệu gọi mà không cần biết chúng được cài đặt như thế nào mà
chỉ cần biết cách thức triệu gọi chúng thông qua một interface chuẩn. Vì vậy
chỉ cần bọc những thành phần sử dụng interface ứng dụng thành dạng dịch vụ,
ta đã có một đơn thể thành phần được sử dụng trong hệ thống SOA như
những dịch vụ bình thường khác.
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 19
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
 Thích ứng với những thay đổi trong tương lai
Các phương pháp tiếp cận truyền thống trong quy trình phát triển phần
mềm có thể mô tả ngắn gọn là người dùng mô tả họ cần gì – công ty phát triển
phần mềm – triển khai hệ thống theo yêu cầu. Quy trình này đôi khi gặp khó
khăn khi gặp những tình huống thay đổi không định trước. Với SOA, công ty
phát triển phần mềm có thể tạo nên những quy trình nghiệp vụ uyển chuyển,

phức tạp biến đổi tùy “theo yêu cầu” và theo “thời gian thực“.
 Hỗ trợ đa thiết bị và đa nền tảng
SOA cung cấp một tầng giao tiếp trừu tượng từ các nền tảng bên dưới.
Điều này cho phép hỗ trợ nhiều loại thiết bị đầu cuối khác nhau bao gồm cả
những trình duyệt và thiết bị di động như pager, điện thoại di động, PDA và
các thiết bị chuyên dụng khác sử dụng cùng một chức năng mà vẫn có thông
tin trả về tùy theo dạng thiết bị. Tính độc lập công nghệ này giúp cho các
công ty tiết kiệm chi phí rất nhiều nhất là khi phải xử lý với vô số công nghệ
hiện đang được sử dụng.
 Tăng khả năng mở rộng và khả năng sẵn sàng cung
cấp
Nhờ tính độc lập địa chỉ của SOA, ta có thể tăng khả năng mở rộng
bằng cách thêm nhiều thể hiện (instance) của một service. Công nghệ chia tải
(load-balancing) sẽ tự động tìm và định tuyến yêu cầu đến thể hiện service
thích hợp. Tương tự, SOA có thể chuyển tiếp nội dung yêu cầu đến một thể
hiện khác khi cần,nhờ đó tăng khả năng sẵn sàng phục vụ.
Cần nhấn mạnh là lợi ích mà SOA mang lại không phải là ít mà là rất
ấn tượng. Thực tế giá trị kinh tế mà SOA mang lại lớn đến nỗi các tạp đoàn
trên thế giới đang suy xét xem làm thế nào để chuyển toàn bộ các kiến trúc
phần mềm có sẵn của họ thành SOA.
2.1.4 Một số mô hình triển khai kiến trúc hướng dịch vụ (SOA)
2.1.4.1 Service registry
Đây là mô hình truyền thống để định vị và liên kết các dịch vụ trong
một hệ thống SOA. Mô hình service registry về cơ bản chỉ cần các chuẩn
Web services thông thường là SOAP, WSD và UDDI. Vấn đề lớn nhất của
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 20
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
mô hình này là các liên kết dịch vụ là kết nối tĩnh và phải định nghĩa trong
thiết kế, điều này làm cho mô hình trở nên cứng nhắc. Có một cách cải tiến
làm cho mô hình này linh hoạt hơn là tìm kiếm, định vị các dịch vụ khi chạy.

UDDI hỗ trợ nhiều cấu hình khác nhau cho cùng một dịch vụ cung cấp bởi
nhiều nhà cung cấp dịch vụ khác nhau. Điều này cho phép chia tải và tăng
tính tin cậy bởi vì service directory có thể tìm kiếm một dịch vụ nào đó trên
tất cả các nhà cung cấp dịch vụ hiện có.
2.1.4.2 Service broker
Một bộ trung gian làm việc giữa dịch vụ cung cấp và dịch vụ tiêu thụ.
Trong mô hình cơ bản, tất cả những thông điệp đều được trung chuyển qua
service broker. Dịch vụ này có thể làm nhiều chức năng như định tuyến dựa
trên dữ liệu thông điệp, xử lý lỗi, chuyển đổi thông điệp, chia tải và lọc thông
tin. Nó cũng có thể cung cấp dịch vụ bảo mật, chuyển đổi giao thức, lưu vết
và các dịch vụ hữu ích khác. Tuy nhiên, service broker là nơi có thể xảy ra
hiện tượng nghẽn cổ chai và là điểm dễ bị hỏng hóc. Mô hình broker phân tán
là một bước cải tiến mới, ở đó mỗi nền tảng dịch vụ có một broker cục bộ cho
phép giao tiếp với một service broker trung tâm và giao tiếp trực tiếp với các
service broker cùng cấp ở các nền tảng dịch vụ khác.
2.1.4.3 Service bus
Đây là mô hình ra đời sau nhất trong 3 mô hình nhưng nó đã được sử
dụng trong các sản phẩm thương mại large-scale (như IBM, BEA). Service
bus cũng là mô hình có tính loose coupling nhất trong các mô hình, trong đó
các dịch vụ không kết nối trực tiếp với nhau. Đôi khi các service bus kết nối
với nhau thành một mạng các service bus.
2.2 Dịch vụ Web (Webservice)
2.2.1 Giới thiệu
Dịch vụ Web (Web Service) được coi là một công nghệ mang đến cuộc
cách mạng trong cách thức hoạt động của các dịch vụ B2B (Business to
Business) và B2C (Business to Customer). Giá trị cơ bản của dịch vụ Web
dựa trên việc cung cấp các phương thức theo chuẩn trong việc truy nhập đối
với hệ thống đóng gói và hệ thống kế thừa. Các phần mềm được viết bởi
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 21
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN

những ngôn ngữ lập trình khác nhau và chạy trên những nền tảng khác nhau
có thể sử dụng dịch vụ Web để chuyển đổi dữ liệu thông qua mạng Internet
theo cách giao tiếp tương tự bên trong một máy tính. Tuy nhiên, công nghệ
xây dựng dịch vụ Web không nhất thiết phải là các công nghệ mới, nó có thể
kết hợp với các công nghệ đã có như XML, SOAP, WSDL, UDDI… Với sự
phát triển và lớn mạnh của Internet, dịch vụ Web thật sự là một công nghệ
đáng được quan tâm để giảm chi phí và độ phức tạp trong tích hợp và phát
triển hệ thống. Chúng ta sẽ xem xét các dịch vụ Web từ mức khái niệm đến
cách thức xây dựng.
Theo định nghĩa của W3C (World Wide Web Consortium), dịch vụ
Web là một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác
giữa các ứng dụng trên các máy tính khác nhau thông qua mạng Internet, giao
diện chung và sự gắn kết của nó được mô tả bằng XML. Dịch vụ Web là tài
nguyên phần mềm có thể xác định bằng địa chỉ URL, thực hiện các chức năng
và đưa ra các thông tin người dùng yêu cầu. Một dịch vụ Web được tạo nên
bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụng khác dễ
dàng nhìn thấy và có thể truy cập đến những dịch vụ mà nó thực hiện, đồng
thời có thể yêu cầu thông tin từ dịch vụ Web khác. Nó bao gồm các mô đun
độc lập cho hoạt động của khách hàng và doanh nghiệp và bản thân nó được
thực thi trên server.
Trước hết, có thể nói rằng ứng dụng cơ bản của Dịch vụ Web là tích
hợp các hệ thống và là một trong những hoạt động chính khi phát triển hệ
thống. Trong hệ thống này, các ứng dụng cần được tích hợp với cơ sở dữ liệu
(CSDL) và các ứng dụng khác, người sử dụng sẽ giao tiếp với CSDL để tiến
hành phân tích và lấy dữ liệu. Trong thời gian gần đây, việc phát triển mạnh
mẽ của thương mại điện tử và B2B cũng đòi hỏi các hệ thống phải có khả
năng tích hợp với CSDL của các đối tác kinh doanh (nghĩa là tương tác với hệ
thống bên ngoài - bên cạnh tương tác với các thành phần bên trong của hệ
thống trong doanh nghiệp).
Dưới khía cạnh kỹ thuật thì dịch vụ web là sự kết hợp các máy tính cá

nhân với các thiết bị khác, các cơ sở dữ liệu và các mạng máy tính để tạo
thành một cơ cấu tính toán ảo mà người sử dụng có thể làm việc thông qua
các trình duyệt mạng.
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 22
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
Bản thân các dịch vụ này sẽ chạy trên các máy phục vụ trên nền
Internet chứ không phải là các máy tính cá nhân, do vậy có thể chuyển các
chức nǎng từ máy tính cá nhân lên Internet. Người sử dụng có thể làm việc
với các dịch vụ thông qua bất kỳ loại máy nào có hỗ trợ web service và có
truy cập Internet, kể cả các thiết bị cầm tay. Do đó các web service sẽ làm
Internet biến đổi thành một nơi làm việc chứ không phải là một phương tiện
để xem và tải nội dung.
Điều này cũng sẽ đưa các dữ liệu và các ứng dụng từ máy tính cá nhân
tới các máy phục vụ của một nhà cung cấp dịch vụ web. Các máy phục vụ này
cũng cần trở thành nguồn cung cấp cho người sử dụng cả về độ an toàn, độ
riêng tư và khả nǎng truy nhập.
Các máy phục vụ ứng dụng sẽ là một phần quan trọng của các web
service bởi vì thường thì các máy phục vụ này thực hiện các hoạt động ứng
dụng phức tạp dựa trên sự chuyển giao giữa người sử dụng và các chương
trình kinh doanh hay các cơ sở dữ liệu của một tổ chức nào đó.
Một số nhà quan sát ngành công nghiệp này cho rằng web service
không thực sự là một khái niệm mới và phản ánh một phần không nhỏ khái
niệm mạng máy tính vốn đã trở nên quen thuộc trong nhiều nǎm qua. Web
service chủ yếu dựa trên một lời gọi thủ tục từ xa không chặt chẽ mà có thể
thay thế các lời gọi thủ tục từ xa chặt chẽ, đòi hỏi các kết nối API phù hợp
đang phổ biến hiện nay.
2.2.2 Đặc điểm của dịch vụ Web
2.2.2.1 Đặc điểm
• Dịch vụ Web cho phép client và server tương tác được với nhau ngay
cả trong những môi trường khác nhau. Ví dụ, đặt Web server cho ứng

dụng trên một máy chủ chạy hệ điều hành Linux trong khi người dùng
sử dụng máy tính chạy hệ điều hành Windows, ứng dụng vẫn có thể
chạy và xử lý bình thường mà không cần thêm yêu cầu đặc biệt để
tương thích giữa hai hệ điều hành này.
• Phần lớn kĩ thuật của Dịch vụ Web được xây dựng dựa trên mã nguồn
mở và được phát triển từ các chuẩn đã được công nhận, ví dụ như
XML.
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 23
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
• Một Dịch vụ Web bao gồm có nhiều mô-đun và có thể công bố lên
mạng Internet.
• Là sự kết hợp của việc phát triển theo hướng từng thành phần với
những lĩnh vực cụ thể và cơ sở hạ tầng Web, đưa ra những lợi ích cho
cả doanh nghiệp, khách hàng, những nhà cung cấp khác và cả những cá
nhân thông qua mạng Internet.
• Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình client-
server. Nó có thể được triển khai bởi một phần mềm ứng dụng phía
server ví dụ như PHP, Oracle Application server hay Microsoft.Net…
• Ngày nay dịch vụ Web đang rất phát triển, những lĩnh vực trong cuộc
sống có thể áp dụng và tích hợp dịch vụ Web là khá rộng lớn như dịch
vụ chọn lọc và phân loại tin tức (hệ thống thư viện có kết nối đến web
portal để tìm kiếm các thông tin cần thiết); ứng dụng cho các dịch vụ
du lịch (cung cấp giá vé, thông tin về địa điểm…), các đại lý bán hàng
qua mạng, thông tin thương mại như giá cả, tỷ giá hối đoái, đấu giá qua
mạng…hay dịch vụ giao dịch trực tuyến (cho cả B2B và B2C) như đặt
vé máy bay, thông tin thuê xe…
• Các ứng dụng có tích hợp dịch vụ Web đã không còn là xa lạ, đặc biệt
trong điều kiện thương mại điện tử đang bùng nổ và phát triển không
ngừng cùng với sự lớn mạnh của Internet. Bất kì một lĩnh vực nào
trong cuộc sống cũng có thể tích hợp với dịch vụ Web, đây là cách thức

kinh doanh và làm việc có hiệu quả bởi thời đại ngày nay là thời đại
của truyền thông và trao đổi thông tin qua mạng. Do vậy, việc phát
triển và tích hợp các ứng dụng với dịch vụ Web đang được quan tâm
phát triển là điều hoàn toàn dễ hiểu.
2.2.2.2 Ưu điểm của dịch vụ Web
• Dịch vụ Web cung cấp khả năng hoạt động rộng lớn với các ứng dụng
phần mềm khác nhau chạy trên những nền tảng khác nhau.
• Sử dụng các giao thức và chuẩn mở. Giao thức và định dạng dữ liệu
dựa trên văn bản (text), giúp các lập trình viên dễ dàng hiểu được.
• Nâng cao khả năng tái sử dụng.
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 24
Đề tài: Xây dựng modul chuyển đổi và cung cấp dữ liệu cho hệ thống tích hợp mạng cáp TP HN
• Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép
các tiến trình/chức năng nghiệp vụ đóng gói trong giao diện dịch vụ
Web.
• Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần
trong hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán.
• Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá
thành hoạt động, phát triển hệ thống nhanh và tương tác hiệu quả với hệ
thống của các doanh nghiệp khác.
2.2.2.3 Nhược điểm của dịch vụ Web
• Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Dịch vụ
Web, giao diện không thay đổi, có thể lỗi nếu một máy khách không
được nâng cấp, thiếu các giao thức cho việc vận hành.
• Có quá nhiều chuẩn cho dịch vụ Web khiến người dùng khó nắm bắt.
• Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật.
2.2.3 Kiến trúc của dịch vụ Web
Dịch vụ Web về cơ bản gồm có 3 chuẩn chính: SOAP (Simple Object
Access Protocol), WSDL (Web Service Description Language) và UDDI
(Universal Description, Discovery, and Integration). Hình 2- minh họa kiến

trúc cơ bản của dịch vụ Web, trong đó UDDI được sử dụng để đăng ký và
khám phá dịch vụ Web đã được miêu tả cụ thể trong WSDL. Giao tác UDDI
sử dụng SOAP để nói chuyện với UDDI server, sau đó các ứng dụng SOAP
yêu cầu một dịch vụ Web. Các thông điệp SOAP được gửi đi chính xác bởi
HTTP và TCP/IP.
SVTH: Nguyễn Văn Hữu Khóa 50 Lớp HTTTA Trang 25

×