PHẦN MỞ ĐẦU Trong những năm gần đây, cùng với sự phát triển của đất nước, kinh tế phát triển mạnh mẽ, các thành phố ngày càng đông đúc, tuy nhiên, hệ thống điều khiển đèn giao thông chưa
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trang 2MỤC LỤC
MỤC LỤC 2
LỜI CAM ĐOAN 4
DANH SÁCH CÁC THUẬT NGỮ VIẾT TẮT 5
DANH SÁCH CÁC BẢNG 7
DANH SÁCH CÁC HÌNH VẼ 8
PHẦN MỞ ĐẦU 10
Chương 1 : Giới thiệu chung 12
1.1 Các phương án thiết kế 12
1.1.1 Hệ thống điều khiển phân tán đèn giao thông bằng RS 485 12
1.1.2 Hệ thống điều khiển phân tán đèn giao thông qua Ethernet/Wifi 15
1.1.3 Hệ thống điều khiển đèn giao thông qua WiMax/3G 18
1.2 Đánh giá hệ sơ bộ về các hệ thống 19
1.3 Các thành phần của hệ thống điều khiển phân tán đèn giao thông qua Ethernet/Wifi 20
1.4 Phạm vi ứng dụng của hệ thống điều khiển phân tán đèn giao thông bằng Ethernet/Wifi 21
Chương 2 : Cơ sở lý thuyết xây dựng web quản lý giao thông và web server cho hệ thống điều khiển đèn giao thông qua Ethernet/Wifi 24
2.1 NET Framework 24
2.1.1 Kiến trúc của NET Framework 25
2.1.2 Những điểm đặc trưng của NET Framework 27
2.2 Ngôn ngữ lập trình ASP.NET 3.5 32
2.2.1 Những ưu điểm của ASP.NET 3.5: 33
2.2.2 Các tính năng mới trong ASP.NET 3.5 35
Trang 32.3 Hệ quản trị cơ sở dữ liệu MS SQL Server 2008 37
2.3.1 Nền tảng cho các nhiệm vụ then chốt 40
2.3.2 Sự phát triển động 44
2.3.3 Dữ liệu quan hệ mở rộng 46
2.3.4 Thông tin toàn doanh nghiệp 49
2.3.5 Kết luận 56
Chương 3 : Triển khai xây dựng web quản lý giao thông và web server trong hệ thống điều khiển phân tán đèn giao thông qua Ethernet/Wifi 57
3.1 Module chốt đèn giao thông 58
3.2 Module camera & Ethernet - Kit Mini 2440 63
3.3 Xây dựng Web Server 67
3.3.1 Mục đích của Website 67
3.3.2 Yêu cầu của hệ thống 69
3.3.3 ERD Diagram 71
3.3.4 Thiết kế Cơ sở dữ liệu 72
3.4 Yêu cầu khuyến nghị để chạy được ứng dụng trên PC : 79
Chương 4 : Kết quả đạt được và hướng phát triển 80
4.1 Kết quả đạt được 80
4.2 Đánh giá hệ thống 82
4.3 Hướng phát triển 85
KẾT LUẬN 86
TÀI LIỆU THAM KHÁO 87
Trang 4LỜI CAM ĐOAN
Tôi là Hà Quang Đức - tác giả của luận văn “Thiết kế hệ thống điều khiển phân tán đèn giao thông trong phạm vi đô thị” Tôi xin cam đoan mình đã thực hiện hiện luận văn một các nghiêm túc, toàn bộ nội dung luận văn cũng như kết quả nghiên cứu là do tôi thực hiện Đồng thời, việc tham khảo các tài liệu trong quá trình thực hiện luận văn tuân thủ theo đúng yêu cầu và không sao chép của bất kỳ một luận văn nào trước đó
Trang 5DANH SÁCH CÁC THUẬT NGỮ VIẾT TẮT
Chữ viết tắt Chữ đầy đủ Nghĩa Tiếng Việt
3G third-generation technology Công nghệ truyền thông thế hệ
thứ 3 ADO ActiveX Data Object
ASP Active Server Pages Các trang động cho Server CLI Common Language Infrastructure Cơ sở hạ tầng ngôn ngữ chung CLR Common Language Runtime
COM Component Object Model Mô hình đối tượng thành phần CPU Central Processing Unit Đơn vị xử lý trung tâm
DCS Distributed Control System Hệ thống điều khiển phân tán DLL Dynamic Link Library Thư viện liên kết động
GPS Global Positioning System Hệ thống định vị toàn cầu GSM Global System for Mobile
Communication
Hệ thống thong tin di động toàn cầu
HTML HyperText Markup Language Ngôn ngư đánh dấu siêu văn
LINQ Language Integrated Querry Ngôn ngữ tích hợp truy vấn MSIL Microsoft Intermediate Language
Trang 6MSMQ Microsoft Message Queuing
Services MTS Microsoft Transaction Services Các dịch vụ giao dịch của
Microsoft MVC Model View Control Mô hình Model View Control OOP Object Oriented Programming Lập trình hướng đối tượng
PLC Programable Logic Controller Bộ điều khiển logic lập trình
được RAM Random Acess Memory Bộ nhớ truy cập ngẫu nhiên
SDRAM Synchronous Dynamic Random
Acess Memory
Bộ nhớ truy cập ngẫu nhiên đồng bộ động
SOAP Simple Object Access Protocol
SQL Structured Query Language Ngôn ngữ truy vấn mang tính
cấu trúc XML eXtensible Markup Language Ngôn ngữ đánh dấu mở rộng Wifi Wireless Fidelity Mạng không dây sử dụng sóng
vô tuyến Wimax Worldwide Interoperability for
Microwave Acess
Kết nối Internet băng rộng không dây ở khoảng cách lớn WSDL Web Services Description
Language
Ngôn ngữ mô tả các dịch vụ Web
Trang 7DANH SÁCH CÁC BẢNG
Bảng 1.1: Các loại cáp truyền dẫn trong mạng LAN 21
Bảng 3.1 – TrafficLight Table 72
Bảng 3.2 – District Table 73
Bảng 3.3 –Role Table 73
Bảng 3.4 – User Table 73
Bảng 3.5 – News Table 74
Bảng 3.6 – GroupNews Table 74
Bảng 3.7– Cấu hình tối thiểu và cấu hình khuyến nghị để chạy ứng dụng trên PC 79
Trang 8
DANH SÁCH CÁC HÌNH VẼ
Hình 1.1 : Tổng quan về hệ thống điều khiển phân tán đèn giao thông bằng RS485 13
Hình 1.2 : Cách làm việc của hệ thống điều khiển phân tán đèn giao thông bằng RS485 .14
Hình 1.3 : Tổng quan về hệ thống điều khiển đèn giao thông qua Ethernet/Wifi 16
Hình 1.4 : Mô hình chi tiết hệ thống điều khiển đèn giao thông bằng Ethernet/Wifi 17
Hình 1.5 : Các module trong hệ thống 17
Hình 1.6 : Tổng quan về hệ thống điều khiển đèn giao thông qua WiMax/3G 18
Hình 1.7 : Các thành phần của hệ thống điều khiển đèn giao thông bằng Ethernet/Wifi .20
Hình 1.8 : Khoảng cách các chốt với trung tâm <500m 23
Hình 1.9 : Khoảng cách từ trung tâm tới chốt >500m 23
Hình 2.1 : Kiến trúc của NET Framework 25
Hình 2.2 : Biên dịch một ứng dụng ASP.NET 34
Hình 2.3 : Toàn cảnh nền tảng dữ liệu của Microsoft 38
Hình 2.4 : Thiết kế báo cáo 55
Hình 3.1 : Hệ thống điều khiển phân tán đèn giao thông bằng Ethernet 57
Hình 3.2 : Khối hiển thị 59
Hình 3.3 : Khối giao tiếp 60
Hình 3.4 : Khối vi điều khiển 60
Hình 3.5 : Thuật toán trên PSoC 61
Hình 3.6 : Sơ đồ mạch nguyên lý của Module chốt đèn giao thông 62
Hình 3.7 : Kit MINI 2440 63
Trang 9Hình 3.8 : Mô tả hoạt động của mjpeg streamer 64
Hình 3.9 : Chạy mjpg streamer trên web 64
Hình 3.10: Giao diện website trên Mini 2440 65
Hình 3.11 : Sơ đồ chức năng của Website 68
Hình 3.12 : Sơ đồ quan hệ trong CSDL 75
Hình 3.13 : Giao diện trang chủ 77
Hình 3.14 : Giao diện trang Thông tin tắc đường 78
Hình 3.15 : Giao diện trang web bản đồ 78
Hình 4.1 : Module thiết bị điều khiển đèn 80
Hình 4.2 : Quá trình truyền hình ảnh về Webserver 81
Hình 4.3 : Quá trình thay đổi tín hiệu tại chốt đèn giao thông 81
Hình 4.4 : Trường hợp mini 2440 không làm việc 82
Hình 4.5 : Trường hợp chốt đèn giao thông không làm việc 83
Hình 4.6: Mô hình mở rộng hệ thống 83
Hình 4.7 : Mô hình backup hệ thống 84
Trang 10
PHẦN MỞ ĐẦU
Trong những năm gần đây, cùng với sự phát triển của đất nước, kinh tế phát triển mạnh mẽ, các thành phố ngày càng đông đúc, tuy nhiên, hệ thống điều khiển đèn giao thông chưa đủ thông minh để đáp ứng sự thay đổi của lưu lượng người tham gia giao thông từng ngày Số người tham gia giao thông thường đông vào lúc đầu giờ đi làm và giờ tan tầm, và thường thưa vào thời gian còn lại
Mục đích nghiên cứu của luận văn là mô phỏng một hệ thống điều khiển đèn giao thông đủ thông minh để có thể điều khiển các chốt giao thông một cách mềm dẻo Hệ thống này có khả năng thay đổi thời gian của đèn xanh và đèn đỏ một cách linh hoạt tùy thuộc vào lưu lượng ở trên đường Thêm nữa, tận dụng sự phát triển của 3G, WiMax, Wifi khắp nơi, các chốt đèn giao thông có thể trao đổi thông tin cho nhau để phân tích dữ liệu như lưu lượng, thời gian, để kịp thời đưa ra cảnh báo cho người tham gia giao thông, giúp cho người quản lý dễ dàng phân tích dữ liệu
Đối tượng nghiên cứu của luận văn bao gồm lập trình cho PSoC, hệ điều hành nhúng Linux cho ARM, các phương pháp lập trình trên Windows và các công cụ lập trình trên Windows
Để thực hiện được mục đích nghiên cứu nêu trên, phương pháp nghiên cứu sử dụng trong luận văn là lập kế hoạch nghiên cứu chi tiết, rõ ràng trước khi bắt tay vào thực hiện nghiên cứu Bên cạnh đó là thu thập tài liệu từ nhiều nguồn thông tin bao gồm Internet, sách báo và những người có kinh nghiệm Đồng thời thực hiện nghiên cứu gán liền với thực nghiện trên các công cụ thiết kế để quan sát được kết quả mô phỏng với
mô hình đang nghiên cứu
Toàn bộ nội dung của luận văn được trình bày trong 4 chương với nội dung tóm tắt như sau:
Chương 1 - Giới thiệu chung : Trong chương này giới thiệu về hệ thống giao thông thông minh trên thế giới, sau đó đưa ra các tiêu chí để xây dựng một hệ thống
Trang 11điều khiển đèn giao thông Ngoài ra trong chương này còn đưa ra các phương án thiết
kế và chọn ra một phương án tốt nhất để triển khai
Chương 2 – Cơ sở lý thuyết xây dựng web quản lý giao thông và web server cho
hệ thống điều khiển đèn giao thông qua Ethernet/Wifi : Trong chương này đưa ra các
cơ sở lý thuyết về nền tảng lập trình, ngôn ngữ lập trình, hệ quản trị cơ sở dữ liệu cần phải tìm hiểu để có thể xây dựng phần web quản lý giao thông và web server
Chương 3 – Triển khai xây dựng web quản lý giao thông và web server trong hệ thống điều khiển phân tán đèn giao thông qua Ethernet/Wifi : Trong chương này sẽ trình bày về một số module trong hệ thống như: mạch mô phỏng các chốt đèn giao thông, xây dựng ứng dụng trên hệ điều hành nhúng linux, triển khai web điều khiển chốt đèn giao thông và web server
Chương 4 – Kết quả đạt được và hướng phát triển : Trong chương 4 đưa ra các kết quả đã thực hiện được, sau đó đánh giá về kết quả đó và cuối cùng đưa ra các hướng phát triển tiếp theo
Từ kết quả đạt được, hệ thống điều khiển đèn giao thông được lựa chọn từ nhiều phương án khác nhau, hệ thống có thể được áp dụng thực tế cho một khu vực nhỏ
Trang 12Chương 1 : Giới thiệu chung
Hiện nay, trên thế giới, nhiều quốc gia phát triền đã ứng dụng hệ thống giao thông thông minh (Intelligent Transportation System - ITS) [1] Hệ thống này là một “siêu hệ thống” với đầy đủ các thành phần như phần cứng, phần mềm, dữ liệu, quy trình và con người được liên kết chặt chẽ với nhau nhằm giảm thiểu tai nạn giao thông, tránh ùn tắc, giảm ô nhiễm môi trường, tăng hiệu quả vận chuyển, tạo điều kiện thuận lợi tối đa cho
đi lại
ITS là một giải pháp ứng dụng kết hợp nhiều lĩnh vực công nghệ cao đang phát triển mạnh mẽ trong thời gian gần đây như hệ thống định vị toàn cầu (GPS), hệ thống thông tin địa lý (GIS), cơ sở dữ liệu (Database), WiMax (802.16), WiFi (802.11), GSM, 3G, vv
Hệ thống ITS đã được triển khai trên nhiều nước phát triển trên thế giới, tuy nhiên
để xây dựng một hệ thống thông minh như vậy thì cần rất nhiều thời gian, tiền của Chính vì lẽ đó, trong đồ án này nghiên cứu về một phương pháp nào đó để đưa ra một
hệ thống có những chức năng đủ để đưa vào thực tế, có thể triển khai trong phạm vi một thành phố vừa và nhỏ
Đặc điểm của hệ thống như sau:
- Cho phép quản lý hệ thống đèn giao thông trong khu vực bằng website có giao diện dễ dùng, trực quan
- Cho phép xem thông tin đường tắc trên website
- Công nghệ truyền tín hiện trên 3G/WiMax/Wifi/Ethernet
- Có tích hợp camera, phân tích hình ảnh, truyền hình ảnh về trung tâm
1.1 Các phương án thiết kế
1.1.1 Hệ thống điều khiển phân tán đèn giao thông bằng RS 485
Trong những phương án đã được nghiên cứu, hệ thống điều khiển phân tán đèn giao thông dùng RS485 để truyền tín hiệu đi tín hiệu cho các thiết bị bên trong [2]
Trang 13Tổng quan hệ thống:
Hình 1.1 : Tổng quan về hệ thống điều khiển phân tán đèn giao thông bằng RS485
Từ hình vẽ 1.1, hệ thống có các chốt đèn giao thông được kết nối với nhau bằng RS485, một chuẩn dùng trong công nghiệp, và theo lý thuyết, tín hiệu truyền đi xa nhất
Trang 14là 1.5km [3], tuy nhiên đó là theo lý thuyết, còn thực tế còn tùy thuộc rất nhiều vào điều kiện khác nhau như thời tiết, chất lượng, …
Cách làm việc của hệ thống:
Với mỗi thiết bị trong hệ thống sẽ có một định danh – ID – cụ thể Trong hệ thống này, điều khiển các nút giao thông bằng cách truyền khung dữ liệu xuống được miêu tả trong hình 1.2, khung dữ liệu này sẽ được truyền đi bằng cách quảng bá, bởi vì trên một đường RS485 cho phép nhiều thiết bị cùng nối vào, cho nên để giảm bớt sự xung đột và lãng phí đường truyền, các thiết bị điều khiển sẽ cần quản lý các định danh đang kết nối trực tiếp với nó cụ thể ở đây là các thiết bị chấp hành – các nút đèn giao thông
Hình 1.2 : Cách làm việc của hệ thống điều khiển phân tán đèn giao thông
bằng RS485
Trang 15Để mở rộng phạm vi, hệ thống trên cần thay đổi về giao thức làm việc Vì RS485
có một số vấn đề làm cho hệ thống không thể mở rộng được:
- Khoảng tối đa là 1.5km, nếu muốn truyền xa thêm cần khuếch đại tín hiệu
- Thời gian để lấy thông tin của toàn hệ thống là rất lâu nếu có nhiều chốt đèn giao thông
- Cách thức gửi bản tin là quảng bá, chính vì vậy phương pháp quản lý các chốt đèn giao thông cũng là một nhược điểm của hệ thống
Từ các đánh giá trên, thay đổi giao thức truyền tin là cần thiết nếu muốn nâng cấp
hệ thống để quản lý tối ưu hơn
1.1.2 Hệ thống điều khiển phân tán đèn giao thông qua Ethernet/Wifi
Tổng quan hệ thống:
Hệ thống này chỉ thay đổi giao thức RS485 bằng Ethernet Ethernet có đặc điểm là truyền/nhận bản tin nhanh hơn, và truyền bản tin Unicast hoặc Multicast [4] Chính vì
ưu điểm đó mà hệ thống này đã thay đổi toàn bộ diện mạo của hệ thống so với hệ thống
cũ sử dụng RS485 Nhờ vào ưu điểm này mà hệ thống có thể tích hợp được camera tại các chốt giao thông để truyền thông tin về trung tâm Mặc dù vậy Ethernet có nhược điểm là khả năng truyền đi xa, nếu Ethernet sử dụng cáp xoắn thì tín hiệu truyền đi tối
đa là 100m [5], nếu muốn đi xa hơn thì cần dùng Repeater để khôi phục tín hiệu
Ngoài ra, hệ thống còn cho phép thay thế Ethernet bằng module Wifi, vì vậy mà thay vì dùng dây nối kéo đi xa, các Access Point được sử dụng để mở rộng hệ thống[6]
Trang 16Hình 1.3 : Tổng quan về hệ thống điều khiển đèn giao thông qua Ethernet/Wifi
Hình 1.3 cho ta thấy tổng quan về hệ thống Chức năng chính của chốt đèn giao thông vẫn là quản lý trạng thái đèn, đây là chức năng đầu tiên phải có Thứ hai, phải có khả năng giao tiếp trên Ethernet/Wifi Để tận dụng được sức mạng của giao thức sử dụng, một chốt đèn giao thông nên có khả năng thu hình từ camera để truyền hình ảnh
về trung tâm
Cách làm việc của hệ thống:
Thực tế, hệ thống điều khiển đèn giao thông qua Ethernet/Wifi là một hệ thống mạng, do vậy các giao thức hoàn toàn giống như giao thức mạng Hình 1.4 là mô tả chi tiết của hệ thống Giữa Trung tâm và chốt đèn bao giờ cũng có một switch hoặc một Access Point (nếu giao thức là Wifi), switch/AP này sẽ lưu trữ các địa chỉ MAC của cổng Ethernet của chốt đèn giao thông, khi bản tin gửi tới một địa chỉ nào đó, switch/AP có nhiệm vụ định tuyến gói tin đó
Trang 17Hình 1.4 : Mô hình chi tiết hệ thống điều khiển đèn giao thông bằng
Ethernet/Wifi Các Module của hệ thống
Các Module của hệ thống được đưa ra trong hình 1.5:
Hình 1.5 : Các module trong hệ thống
Trang 18• Module Camera và Giao tiếp
Module Camera này thực chất chỉ là một DSP, phân tích hình ảnh và nén JPEG để truyền đi, trong module này sẽ tích hợp một trong các giao thức Ethernet, Wifi
• Module chốt đèn giao thông:
Chức năng của module này là điều khiển trạng thái đèn giao thông Ngoài ra, nó nhận tín hiệu từ module Camera về lưu lượng cảnh báo để đưa ra được quyết định như tăng số giây đèn đỏ hoặc giảm số giây đèn đỏ Nó cũng có thể đưa ra các cảnh báo của
nó xuống module giao tiếp để truyền tín hiệu đó về trung tâm
1.1.3 Hệ thống điều khiển đèn giao thông qua WiMax/3G
Hình 1.6 : Tổng quan về hệ thống điều khiển đèn giao thông qua WiMax/3G Trong hệ thống này, không cần phải có thiết bị điều khiển giống như trong
phương án sử dụng giao thức RS485, bởi vì dựa vào tốc độ truyền tín hiệu của giao
Trang 19thức sử dụng, thêm nữa, không giới hạn số lượng các thiết bị được quản lý Tức là, trung tâm có thể quản lý được với số lượng lớn các chốt đèn giao thông Điều đó chúng
ta có thể thấy được tầm quan trọng của giao thức được sử dụng
Các module trong hệ thống thống này hoàn toàn giống như các module trong hệ thống sử dụng giao thức Ethernet/Wifi, bởi vì ở đây chỉ cần thay đổi giao thức để giao tiếp mà thôi
sử dụng được
Hiện nay 3G đang rất phổ biến, tốc độ của 3G là khá cao, có thể đánh giá là cao hơn 2G và 2,5G rất nhiều Tuy nhiên chi phí sẽ khá đắt Thêm nữa, việc cài đặt 3G trên hệ thống sẽ rất khó khăn
Vì vậy, việc lựa chọn phương án sử dụng Ethernet/Wifi để truyền tín hiệu là hợp lý nhất
Trang 201.3 Các thành phần của hệ thống điều khiển phân tán đèn giao thông qua
Website gồm có 2 phần : Dành cho người dùng và cho Quản trị / Administrator
- Dành cho người dùng : Người dùng có thể
o Đọc tin tức
o Xem thông tin tắc đường
o Xem camera đặt tại các chốt ngã tư
o Xem bản đồ các vị trí đang tắc đường, tìm đường,…
- Dành cho Quản trị/ Administrator:
o Quản trị Tin tức
Trang 21o Quản trị các chốt ngã tư
o Thay đổi tín hiệu các chốt ngã tư
o Cập nhật trạng thái các chốt ngã tư
b Module Camera và giao tiếp
Module camera và giao tiếp là thiết bị có nhiệm vụ giao tiếp giữa Trung tâm và chốt đèn Trên Module có tích hợp giao diện Ethernet/Wifi để truyền tín hiệu, ngoài ra Module có giao diện USB để lắp camera và thực hiện encode/decode dữ liệu từ camera
để truyền về Trung tâm
Module này giao tiếp với Module chốt đèn giao thông bằng I2C, có nhiệm vụ nhận
dữ liệu điều khiển từ trung tâm và truyền tới chốt điều khiển đèn giao thông
c Module chốt đèn giao thông
Là một module mô phỏng các chốt đèn giao thông, cho phép đếm ngược thời gian đèn xanh, đèn đỏ Module này được giao tiếp với Module Camera và giao tiếp thông qua I2C Khi nhận dữ liệu điều khiển từ trung tâm, Module này sẽ thay đổi các thông
Bảng 1.1: Các loại cáp truyền dẫn trong mạng LAN
Cáp đồng trục – Thinnet - Đường kính: 6mm
- Chiều dài tối đa: 185m
Trang 22- Chiều dài tối đa: 100m
- Tốc độ : 500Mbps
- Đầu nối: RJ45 Cáp quang (Fiber-Optic) - Chiều dài tối đa: vài km
- Băng thông : 2Gbps
Từ bảng 1.1, Cáp STP và cáp UTP có chiều dài tối đa cho phép của loại cáp này
là 100m, như vậy là quá thấp nên không thể sử dụng được nếu đưa hệ thống vào thực tế được
Nếu trong đô thị khoảng cách giữa các ngã tư và trung tâm là không quá lớn (<500m) như Hình 1.8 , thì lựa chọn phương tiện truyền dẫn là cáp đồng trục Thicknet
là hợp lý Cáp đồng trục có ưu điểm là rẻ, nhẹ, dễ kéo dây và có khả năng chống nhiễu tốt Khi hệ thống muốn mở rộng hoặc khoảng cách giữa các chốt lớn hơn 500m thì bắt buộc phải sử dụng thiết bị repeater để khôi phục tín hiệu trên đường truyền như trong hình 1.9
Trang 23Ch t đèn giao thông Ch t đèn giao thông
Ch t đèn giao thông
<500m
Cáp thickn
et Cáp <500m
thicknet
<500mCáp thicknet
Hình 1.8 : Khoảng cách các chốt với trung tâm <500m
Hình 1.9 : Khoảng cách từ trung tâm tới chốt >500m
Nếu trong đô thị khoảng cách giữa các ngã tư và trung tâm là rất lớn, khi đó phải
sử dụng cáp quang là phương tiện truyền dẫn Cáp quang cho phép truyền tải tín hiệu tới vài kilometer, có băng thông rất lớn, tuy nhiên nhược điểm lớn nhất là giá cả rất mắc và khó lắp đặt
Trang 24Chương 2 : Cơ sở lý thuyết xây dựng web quản lý giao thông và
web server cho hệ thống điều khiển đèn giao thông qua
Ethernet/Wifi
Ứng dụng được thiết kế chạy trên hệ điều hành Windows, được xây dựng bằng ngôn ngữ lập trình C#.NET, vì C#.NET là một ngôn ngữ lập trình hướng đối tượng thuần khiết, là một trong nhiều ngôn ngữ lập trình trong nền tảng NET, nó được dùng rộng rãi để phát triển các ứng dụng trong Windows [8]
Website được xây dựng bằng ngôn ngữ ASP.NET, ASP.NET 3.5 là công nghệ nối tiếp của Microsoft's Active Server Pages(ASP) và sử dụng hệ quản trị cơ sở dữ liệu MS SQL Server 2008
2.1 NET Framework
.NET Framework của Microsoft là một nền tảng lập trình tập hợp các thư viện lập trình có thể được cài thêm hoặc đã có sẵn trong các hệ điều hành Windows Nó cung cấp những giải pháp thiết yếu cho những yêu cầu thông thường của các chương trình điện toán như lập trình giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, ứng dụng web, các giải thuật số học và giao tiếp mạng Ngoài ra, NET Framework quản lý việc thực thi các chương trình được viết dựa trên NET Framework do đó người dùng cần phải cài NET Framework để có thể chạy các chương trình được viết trên nền NET Không phải mọi ngôn ngữ lập trình đều khai thác được Framework, muốn sử dụng các “vật liệu” trong bộ Framework, đòi hỏi người lập trình viên phải dùng các ngôn ngữ lập trình có hỗ trợ công nghệ NET như VB.NET, C#.NET, ASP.NET
Trang 252.1.1 Kiến trúc của NET Framework
Hình 2.1 : Kiến trúc của NET Framework
Từ hình 2.1 chúng ta thấy kiến trúc NET Framework có 2 thành phần chính là:
• Common Language Runtime (CLR)
CLR là thành phần kết nối giữa các phần khác trong NET Framework với hệ điều hành CLR là chương trình viết bằng NET, không được biên dịch ra mã máy mà nó được dịch ra một ngôn ngữ trung gian Microsoft Intermediate Language (MSIL) Khi chạy chương trình, CLR sẽ dịch MSIL ra mã máy để thực thi các tính năng, đảm bảo ứng dụng không chiếm dụng và sử dụng tràn lan tài nguyên của hệ thống Nó cũng không cho phép các lệnh nguy hiểm được thi hành Các chức năng này được thực thi
bởi các thành phần bên trong CLR như Class loader, Just In Time compiler, Garbage
collector, Exception handler, COM marshaller, Security engine, …
• NET Framework class library
NET Framework class library cung cấp thư viện lập trình như cho ứng dụng, cơ sở dữ liệu, dịch vụ web
- Base class library – thư viện các lớp cơ sở: Đây là thư viện các lớp cơ bản nhất, được dùng trong khi lập trình hay bản thân những người xây dựng NET
Trang 26Framework cũng phải dùng nó để xây dựng các lớp cao hơn Ví dụ các lớp trong thư viện này là String, Interger, Exception, …
- ADO.NET và XLM: Bộ thư viện này gồm các lớp dùng để xử lý dữ
liệu ADO.NET thay thế ADO để trong việc thao tác với các dữ liệu thông thường Các lớp đối tượng XML được cung cấp để bạn xử lý các dữ liệu theo định dạng mới : XML Các ví dụ cho bộ thư viện này
là SqlDataAdapter, SqlCommand, DataSet, XMLReader, XMLWriter, …
- ASP.NET: Ứng dụng Web xây dựng bằng ASP.NET tận dụng được toàn bộ khả
năng của NET Framework Bên cạnh đó là một phong cách lập trình mới mà Microsoft đặt cho nó một tên gọi là code behind Đây là cách mà lập trình viên xây dựng các ứng dụng Windows based thường sử dụng – giao diện và lệnh được tách tiêng Tuy nhiên, nếu bạn đã từng quen với việc lập trình ứng dụng web, đây là việc mà bạn giải phóng khỏi các lệnh HTML
Sự xuất hiện của ASP.NET làm cân xứng giữa quá trình xây dựng ứng dụng trên Windows và Web ASP.NET cung cấp một bộ các Server Control để lập trình viên bắt
sự kiện và xử lý dữ liệu của ứng dụng như đang làm việc với ứng dụng của Windows
Nó cũng cho phép bạn chuyển một ứng dụng trước đây viết chỉ chạy trên Windows thành một ứng dụng Web khá dễ dàng Ví dụ cho các lớp trong thư viện này
là WebControl, HTML Control, …
- Web services : Web services là các dịch vụ được cung cấp qua Web (hay
Internet) Dịch vụ được coi là Web services không nhằm vào người dùng mà nhằm vào người xây dựng phần mềm Web services có thể dùng để cung cấp các dữ liệu hay một chức năng tính toán
- Windows form: Bộ thư viện về Windows form gồm các lớp đối tượng dành cho
việc xây dựng các ứng dụng Windows based Việc xây dựng ứng dụng loại này
Trang 27vẫn được hỗ trợ tốt từ trước đến nay bởi các công cụ và ngôn ngữ lập trình của Microsoft Giờ đây, ứng dụng chỉ chạy trên Windows sẽ có thể làm việc với ứng dụng Web dựa vào Web service Ví dụ về các lớp trong thư viện này
là Form, UserControl, …
2.1.2 Những điểm đặc trưng của NET Framework
.NET Framework là cơ sở hạ tầng cho việc xây dựng, triển khai và chạy các ứng dụng
và dịch vụ Web Nó cung cấp một môi trường đa ngôn ngữ, dựa trên nền các chuẩn với hiệu nǎng cao, cho phép tích hợp những đầu tư ban đầu với các ứng dụng và dịch vụ thế hệ kế tiếp và giải quyết những thách thức của việc triển khai và vận hành các ứng dụng trên quy mô Internet Thực tế NET Framework là kết quả của hai dự án lớn của Microsoft:
- Dự án đầu tiên nhằm mục đích cải tiến công việc phát triển các ứng dụng trên nền Windows, hãy nhìn cụ thể vào công việc cải tiến COM (Component Object Model - Mô hình đối tượng thành phần) của Microsoft
- Dự án thứ hai tập trung tạo ra nền tảng cho việc chuyển giao phần mềm như một dịch vụ Sản phẩm này đã cải thiện đáng kể nǎng suất cho người phát triển, đơn giản hóa công việc triển khai và thực thi ứng dụng một cách đáng tin cậy
.NET Framework là thành quả tối ưu của sự kết hợp công sức và trí tuệ của Microsoft, nhằm tạo ra một nền tảng cho việc xây dựng và triển khai nhanh chóng các dịch vụ và ứng dụng Web XML Tầm nhìn của nền tảng NET Framework kết hợp một mô hình lập trình đơn giản, dễ sử dụng với các giao thức mở và biến đổi được của Internet Những đặc tính của NET Framework :
a Hỗ trợ các chuẩn dịch vụ Web XML
Trang 28Sự sử dụng ngôn ngữ đánh dấu mở rộng XML ở khắp mọi nơi: XML là một định dạng
dữ liệu cho việc trao đổi tài liệu lẫn nhau có cấu trúc trên Web .NET Framework sử dụng XML ở khắp mọi nơi từ việc mô tả các đối tượng cho đến bảo mật các tập tin cấu hình
- Khả nǎng vận hành với nhau qua việc hỗ trợ SOAP: NET Framework cho
phép những người phát triển đưa ra và sử dụng các dịch vụ Web XML một cách trong suốt thông qua SOAP (Simple Object Access Protocol), một vǎn phạm XML chuẩn tạo khả nǎng thao tác giữa các phần trong ứng dụng
- Mô tả dễ dàng các dịch vụ Web XML với WSDL: NET Framework tạo ra
những mô tả WSDL (Web Services Description Language - Ngôn ngữ mô tả các dịch vụ Web) cho các dịch vụ Web XML
- Đưa ra những dịch vụ Web với SOAP Discovery (viết tắt Disco): SOAP
Discovery cung cấp cơ chế bởi những dịch vụ Web XML nào được tìm thấy trên
một máy phục vụ Web ; NET Framework cung cấp một cách thức để công bố
các dịch vụ Web XML thông qua SOAP Discovery
- Hỗ trợ UDDI: NET Framework sử dụng UDDI (Universal Description,
Discovery and Integration) cho phép những dịch vụ Web XML cung cấp cơ chế bởi những dịch vụ Web XML nào được tìm thấy trên Internet
b Hiệu suất cho người phát triển
- Tích hợp nhiều ngôn ngữ lập trình: NET Framework cung cấp khả nǎng
tích hợp ngôn ngữ lập-trình-chéo (cross-programming language), chặt chẽ, thúc đẩy nǎng suất do sự cho phép người phát triển mở rộng những thành phần một ngôn ngữ lập trình bên trong một ngôn ngữ khác theo cách kế thừa ngôn-ngữ-chéo (cross-language), gỡ lỗi và xử lý lỗi
Trang 29- "Versioning" tự động là phần của bản chất tự mô tả của mỗi thành phần và ứng
dụng NET Framework ở chỗ mỗi thành phần đó có một tên duy nhất được lưu
giữ bên trong Do các ứng dụng kết các tên duy nhất của các thành phần lại với nhau, bộ thực hiện của NET Framework có khả nǎng điều khiển “Versioning” của những thành phần dùng chung một cách thông minh và làm mất đi cái gọi là
"DLL hell"
- Triển khai theo kiểu "No-touch" (không can thiệp): NET Framework bao
hàm những đặc tính được cải tiến cho việc triển khai các ứng dụng Việc cài đặt một ứng dụng vào trong hệ thống cũng đơn giản như việc sao chép nó vào trong một thư mục đích và cho nó chạy mà không cần đǎng ký như Windows Registry
- Quản lý bộ nhớ tự động: .NET Framework là một môi trường "gom rác"
(garbage-collected) Công việc "gom rác" giải phóng các ứng dụng sử dụng các
đối tượng NET Framework từ sự cần thiết loại bỏ dứt khoát các đối tượng này
và làm giảm đi những lỗi lập trình chung không đáng có
- Các thành phần tự-mô-tả: Siêu dữ liệu mà mỗi đối tượng trong NET
Framework chứa đựng cho phép bộ thực hiện "chất vấn" các đối tượng về những kiểu dữ liệu, chức nǎng hoạt động, v.v để xác định các đối tượng đã được gọi đúng cách chưa hơn là để cho lời gọi xảy ra và nhận lấy thất bại Đặc tính này được gọi là "reflection"
- Mô hình điều khiển giao diện người dùng ASP.NET và các đối tượng điều khiển được cải thiện làm tǎng thêm nǎng suất và hiệu quả do việc "đóng gói" những tương tác phức tạp trong các thành phần trên máy phục vụ
- Sự tách biệt giữa mã và nội dung cho phép người phát triển và người tạo ra nội dung làm việc song song với nhau do việc lưu giữ nội dụng trong một file tách biệt khỏi các mã của ứng dụng
Trang 30- Tích hợp nền tảng chặt chẽ:.NET Framework cho phép những nhà phát triển
sử dụng tất cả các ứng dụng Windows và các dịch vụ hiện hữu Với ưu thế đó, người phát triển có thể sử dụng mã đang tồn tại trong khi tận dụng những lợi điểm, thế mạnh trong NET Framework
- Viết ít mã hơn: do NET Framework sử dụng thiết kế "thành phần hóa" cao,
những nhà phát triển có thể tập trung vào việc viết lôgic doanh nghiệp hơn là những công việc như quản lý bộ nhớ, quản lý trạng thái hay xác định khả nǎng của một trình duỵệt client
c Sự nhạy cảm khi giải quyết các thách thức đối với doanh nghiệp thời nay
- Hỗ trợ những chuẩn Internet công cộng: Những chuẩn được xem là phần lõi
để chuyển giao phần mềm như là một dịch vụ Microsoft trình bày những đặc tả cho ngôn ngữ lập trình C# và cơ sở hạ tầng ngôn ngữ chung CLI (Common Language Infrastructure) và chuyển tới ECMA cho việc chuẩn hóa
- Hỗ trợ dị bộ (không đồng bộ):.NET Framework tích hợp hai công nghệ truyền
thông dị bộ cho khả nǎng biến đổi được và tính đáng tin cậy: SOAP và MSMQ (Microsoft Message Queuing Services)
- Hỗ trợ giao dịch:Những nhà phát triển ứng dụng có thể thực hiện cả những
công việc thao tác NET Framework bên trong các giao dịch có chứa những hoạt động khác như cập nhật CSDL chẳng hạn .NET Framework hỗ trợ các giao dịch thông qua MTS (Microsoft Transaction Services - các dịch vụ giao dịch của Microsoft) và COM+ và cung cấp một giao diện XA tương hợp các chuẩn
- Biên dịch ASP.NET làm tǎng khả nǎng thực hiện bởi việc biên dịch các trang
thay vì phải thông dịch chúng
- Giám sát phiên ASP.NET tự động và khởi động lại làm tǎng thêm độ tin cậy
qua việc giám sát chạy các ứng dụng ASP.NET và thậm chí dừng và bắt đầu lại quá trình chạy nếu thấy cần thiết
Trang 31- Truy nhập dữ liệu toàn bộ với ADO.NET:.NET Framework có chứa
ADO.NET, một giao diện hiệu nǎng truy nhập tới bất kỳ một CSDL nào được thiết kế riêng cho kiểu "ghép nối lỏng" ADO.NET cung cấp các dịch vụ truy cập dữ liệu cho các ứng dụng trên nền Web biến đổi được và các dịch vụ Web XML, bao gồm cả sự hỗ trợ mô hình dữ liệu đang kết nối cũng như ngừng kết nối
d Cải thiện các thao tác
- An ninh bảo mật dựa trên nền tảng bằng chứng (evidence-based):Hệ thống
bảo mật truy cập mã của NET Framework cho phép các nhà phát triển định ra những "giấy phép" được yêu cầu rằng mã của họ cần để hoàn thành sản phẩm
Bộ thực thi ngôn ngữ chung (common language runtime) chịu trách nhiệm bảo đảm rằng những "giấy phép" này là phù hợp hay bị loại bỏ, phụ thuộc vào chứng cớ bao gồm nhận diện người dùng, nhận diện mã, mã nào thực sự đang được sử dụng, mã được bắt nguồn từ nơi nào?
- Windows Authentication tích hợp:.NET Framework cũng tích hợp với
Windows Authentication Windows Authentication tích hợp trước đây được biết như chứng thực NT LAN Manager và Windows NT Challenge/Response Trong Windows Authentication tích hợp, trình duyệt cố gắng sử dụng những ủy nhiệm của người dùng hiện hành từ một đǎng nhập tên miền Nếu những ủy nhiệm này không được chấp nhận thi Windows Authentication tích hợp sẽ nhắc người dùng cho một tên và mật khẩu người dùng thông qua một hộp thoại Khi Windows Authentication tích hợp đang được sử dụng thì mật khẩu người dùng không qua được từ máy khách đến máy phục vụ nếu một người dùng đã đǎng nhập như là một người sử dụng tên miền trên một máy tính cục bộ, người dùng sẽ không bị chứng thực lần nữa khi truy nhập một máy tính mạng trong miền đó
Trang 32- Chứng thực Internet:Người dùng Internet thường cần những cơ chế chứng
thực khác nhau Các ứng dụng dùng NET Framework có thể nắm lấy lợi thế và được cấu hình cho chứng thực sử dụng một sự kết hợp của máy phục vụ Web và các nhà cung cấp chứng thực NET Framework
- Hiệu suất được cải thiện:.NET Framework cải thiện hiệu suất các ứng dụng
Web đặc thù ASP.NET sử dụng khả nǎng tối ưu hoá cho những bộ xử lý nào đó
và với việc cất giữ một cách linh động ASP.NET có thể cải thiện hiệu suất hơn hai đến ba lần so với các ứng dụng ASP hiện hành
- Sự tin cậy vững chắc:Giành được sự tin cậy mức xí nghiệp với NET
Framework, thông qua việc quản lý bộ nhớ một cách tự động, tính tương thích phiên bản có bảo hành, vòng lặp chu kỳ ứng dụng động và các dịch vụ xí nghiệp
đã được cung cấp bởi COM+
2.2 Ngôn ngữ lập trình ASP.NET 3.5
Từ khoảng cuối thập niên 90, ASP (Active Server Pages) đã được nhiều lập trình viên lựa chọn để xây dựng và phát triển ứng dụng web động (dynamic web) trên máy chủ sử dụng hệ điều hành Windows ASP đã thể hiện được những ưu điểm của mình với mô hình lập trình thủ tục đơn giản, sử dụng hiệu quả các đối tượng COM: ADO (ActiveX Data Object) - xử lý dữ liệu, FSO (File System Object) - làm việc với hệ thống tập tin…, đồng thời, ASP cũng hỗ trợ nhiều ngôn ngữ: VBScript, JavaScript Chính những ưu điểm đó, ASP đã được yêu thích trong một thời gian dài
Tuy nhiên, ASP vẫn còn tồn đọng một số khó khăn như Code ASP và HTML lẫn lộn, điều này làm cho quá trình viết code khó khăn, thể hiện và trình bày code không trong sáng, hạn chế khả năng sử dụng lại code Bên cạnh đó, khi triển khai cài đặt, do không được biên dịch trước nên dễ bị mất source code Thêm vào đó, ASP không có hỗ trợ cache, không được biên dịch trước nên phần nào hạn chế về mặt tốc độ thực hiện Quá trình xử lý Postback khó khăn, …
Trang 33Đầu năm 2002, Microsoft giới thiệu một kỹ thuật lập trình Web khá mới mẻ với tên gọi ban đầu là ASP+, tên chính thức sau này là ASP.NET cùng với phiên bản 1.0 của NET framework Với ASP.NET, không những không cần đòi hỏi ta phải biết các tag HTML, thiết kế web, mà nó còn hỗ trợ mạnh lập trình hướng đối tượng trong quá trình xây dựng và phát triển ứng dụng Web ASP.NET là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server dựa trên nền tảng của Microsoft NET Framework Hiện nay sau nhiều năm phát triển ASP.NET cùng với NET framework đã có rất nhiều phiên bản như 1.1, 2.0, 3.0, 3.5 Phần ứng dụng và web server của hệ thống sẽ được xây dựng dựa trên nền tảng của NET framework và ASP.NET phiên bản 3.5
2.2.1 Những ưu điểm của ASP.NET 3.5:
ASP.NET là ngôn ngữ lập trình hướng đối tượng sử dụng các ngôn ngữ NET
Nó cung cấp bộ các đối tượng nhỏ và thực sự là một tầng làm việt trên nguyên lý của HTTP và HTML Mã nguồn của chúng ta không được truy cập toàn bộ các đối tượng trong NET Framework nhưng có thể khai thác tất cả các quy ước của một môi trường OOP (Object Oriented Programming) Chúng ta có tạo các lớp, giao diện, kế thừa các lớp… Chúng ta có thể kiểm soát được các đối tượng trong chương trình như hiển thị dữ
liệu và các sự kiện của đối tượng
Một ứng dụng ASP.NET luôn luôn được biên dịch, nó không chạy bằng mã của C# hoặc Visual Basic mà không được biên dịch trước Một ứng dụng ASP.NET thực
sự được biên dịch thông qua 2 giai đoạn:
- Giai đoạn đầu tiên những các mã bạn viết (C#, Visual Basic hoặc ngôn ngữ
.NET khác) được dịch bởi Microsoft Intermediate Language Giai đoạn dịch này
được dịch tự động khi trang wed đầu tiên yêu cầu Chúng ta có thể thực hiện dịch trước Các tệp được dịch thành mã IL (Intermediate Language Code)
Trang 34- Giai đoạn tiếp theo được dịch trước khi trang Web được thực thi Tại giai đoạn
này mã IL được dịch thành bản mã máy (Native Machine Code) Giai đoạn này
được gọi là Just-In-Time (JIT)
Hình 2.2 dưới đây chỉ ra quá trình biên dịch một ứng dụng ASP.NET
Hình 2.2 : Biên dịch một ứng dụng ASP.NET
Khía cạnh quan trọng nhất của công cụ ASP.NET là nó chạy trong môi trường thời
gian thực của CLR (Common Language Runtime) CLR là máy ảo trong Microsoft
.NET, do có ngôn ngữ trung gian IL nên khi phát triển ứng dụng trên NET, chúng ta
không bị phụ thuộc vào thiết bị, có nghĩa là theo Microsoft nói thì ứng dụng NET có
thể chạy trên bất kỳ thiết bị nào có NET Framework Tất cả các namespace, các ứng
dụng, các lớp trong bộ NET Framework được gọi tắt là bộ quản lý mã CLR cũng
cung cấp các dịch vụ quan trọng khác như:
- Quản lý bộ nhớ
Trang 35web.config Tệp web.config được để cùng với thư mực chứa trang web của chúng ta
Tệp web.config không bao giờ bị khóa, chúng ta có thể truy cập bất kỳ lúc nào, việc sửa tệp này hoàn toàn dễ dạng vì chúng được lưu dưới dạng XML
2.2.2 Các tính năng mới trong ASP.NET 3.5
- ASP.NET AJAX : trong ASP.NET 3.5, ASP.NET AJAX đã được tích hợp vào
trong NET Framework, do đó quá trình xây dựng giao diện người dùng được dễ dàng và trực quan ASP.NET AJAX Control Extenders đã được tích hợp
ToolBox của Visual Studio 2008
- Các Control mới : Các control ListView và DataPager có thể dùng mới kiểu
dữ liệu mới LinqDataSource ListView linh hoạt hơn và có chứa toàn bộ tính năng của Gridview, Datagrid, Repeater trong ASP.NET 2.0 Nó cung cấp các
khả năng và chèn, xóa, sửa, sắp xếp, phân trang Chúng ta hoàn toàn định dạng được việc dữ liệu hiển thị trên ListView mà không cần phải sử dụng thẻ
<table> Các Template trong ListView rất phong phú và đa dạng Datager cung
cấp cho ListView trong việc phân trang
- LINQ : LINQ (Language Integrated Query) đưa ra khả năng lập trình mới trong
.NET Giải pháp lập trình hợp nhất, đem đến khả năng truy vấn dữ liệu theo cú
Trang 36pháp SQL trực tiếp trong C# hay VB.NET, áp dụng cho tất cả các dạng dữ liệu
từ đối tượng đến Cơ sở dữ liệu quan hệ và XML ASP.NET LinqDataSource cho phép chúng ta có thể sử dụng LINQ để lọc, order và nhóm dữ liệu trước khi binding vào List Control
- Các Assembly mới :
+ System.Core.dll – Các implementation cho LINQ to Objects
+ System.Data.Linq.dll - Các implementation cho LINQ to SQL
+ System.Xml.Linq.dll - Các implementation cho LINQ to XML
+ System.Data.DataSetExtensions.dll - Các the implementation cho LINQ to DataSet + System.Web.Extensions.dll: Các implementation for ASP.NET AJAX
- ASP.NET Dynamic Data : ASP.NET Dynamic Data cung cấp một Framework
cho phép chúng ta nhanh chóng xây dựng một chức năng ứng dụng driver-data, dựa trên LINQ to SQL hay Entity Framework Nó cũng có thêm nhiều tính linh hoạt cho các DetailsView, FormView, GridView, ListView trong kiểm tra tính hợp lệ của dữ liệu, hoặc chỉnh sửa lại các mẫu để thay đổi cách hiển thị dữ liệu
- ASP.NET MVC (Model View Control) : Kiến trúc MVC là việc chia tất cả
mục của một ứng dụng ra làm ba thành phần khác nhau Model, View và
Controller:
+ Model: Model được giao nhiệm vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu dữ liệu
vào các kho chứa dữ liệu Tất cả các nghiệp vụ logic được thực thi ở Model Dữ liệu vào từ người dùng sẽ thông qua View được kiểm tra ở Model trước khi lưu vào cơ sở
dữ liệu Việc truy xuất, xác nhận, và lưu dữ liệu là một phần của Model
+ View: View hiển thị các thông tin cho người dùng của ứng dụng và được giao nhiệm
vụ cho việc nhận các dữ liệu vào từ người dùng, gửi đi các yêu cầu đến bộ điều khiển, sau đó là nhận lại các phản hồi từ bộ điều khiển và hiển kết quả cho người dùng Các trang HTML, JSP, các thư viện thể và các file nguồn là một phần của thành phần View
Trang 37+ Controller: Controller là tầng trung gian giữa Model và View Controller được giao
nhiệm vụ nhận các yêu cầu từ phía máy khách Một yêu cầu được nhận từ máy khách được thực hiện bởi một chức năng logic thích hợp từ thành phần Model và sau đó sinh
ra các kết quả cho người dùng và được thành phần View hiển thị ActionServlet,
Action, ActionForm và struts-config.xml là các phần của Controller
2.3 Hệ quản trị cơ sở dữ liệu MS SQL Server 2008
Ngày nay, có rất nhiều hệ số đang hội tụ để tạo nên sự bùng nổ về lưu trữ thông tin Lượng thông tin số bên trong một tổ chức đang ngày càng tăng một cách rõ rệt bởi nhiều kiểu khác nhau như số hóa dữ liệu từ ảnh số, video và các tín hiệu cảm biến Việc tăng sự thi hành và tính toàn cầu hóa yêu cầu thông tin được lưu một cách an toàn nhưng cũng phải có thể truy cập cứ lúc nào Người dùng phải di chuyển qua hàng núi
dữ liệu để tìm được thông tin thích đáng Mặt khác họ cũng muốn sử dụng những thông tin này trên các thiết bị và bên trong các ứng dụng sử dụng hàng ngày như
Microsoft Office System Với sự phát triển của công nghệ, chi phí cho việc lưu trữ cũng được giảm đáng kể; các ổ đĩa FLASH cho phép lưu trữ lượng dữ liệu lớn trên các thiết bị mới Chính vì vậy các tổ chức hiện có thể lưu nhiều dữ liệu và giảm được chi phí cho việc lưu trữ Mặc dù vậy, vẫn tồn tại rất nhiều khó khăn và thách thức còn đó trong việc quản lý sự bùng nổ dữ liệu này
Toàn cảnh về nền tảng dữ liệu của Microsoft đã đề cập đến những vấn đề cần thiết trong việc bùng nổ dữ liệu và thế hệ kế tiếp của các ứng dụng thao tác dữ liệu bằng việc cung cấp dữ liệu mọi lúc, mọi nơi Các tổ chức yêu cầu một nền tảng dữ liệu có thể lưu và quản lý các dữ liệu khác nhau gồm XML, e-mail, thời gian/lịch biểu, file, tài liệu, tính không gian… trong khi đó vẫn cung cấp một loạt các dịch vụ phong phú để tương tác với dữ liệu như trong hình 2.3: tìm kiếm, truy vấn, phân tích, báo cáo, tích hợp dữ liệu liên tục, đồng bộ hóa dữ liệu Người dùng có thể truy cập thông tin từ ứng
Trang 38dụng đến kho lưu trữ dữ liệu và truy cập trên bất kỳ thiết bị nào, có thể từ máy trạm hay thiết bị di động
Nền tảng dữ liệu Microsoft là một giải pháp xuyên suốt cần cho các thách thức đã tồn tại và hơn thế nữa, bằng việc đưa ra những cách tân trong bốn lĩnh vực chính nhằm hỗ trợ cho dữ liệu: Nền tảng cho các nhiệm vụ then chốt, phát triển động, dữ liệu quan hệ
mở rộng, thông tin trong toàn bộ doanh nghiệp
Do lẽ đó Microsoft đã phát triển SQL Server 2008 [9] để đáp ứng những cần thiết cho thế hệ kế tiếp của các ứng dụng thao tác dữ liệu
Hình 2.3 : Toàn cảnh nền tảng dữ liệu của Microsoft
SQL Server 2008 giới thiệu 4 lĩnh vực chính trong toàn cảnh nền tảng dữ liệu của Microsoft:
• Nền tảng cho các nhiệm vụ then chốt - SQL Server 2008 cho phép các tổ chức có
thể chạy hầu hết các ứng dụng phức tạp của họ trên một nền tảng an toàn, tin cậy và
Trang 39có khả năng mở rộng, bên cạnh đó còn giảm được sự phức tạp trong việc quản lý cơ
sở hạ tầng dữ liệu SQL Server 2008 cung cấp một nền tảng tin cậy và an toàn bằng cách bảo đảm những thông tin có giá trị trong các ứng dụng đang tồn tại và nâng cao khả năng sẵn có của dữ liệu SQL Server 2008 giới thiệu một cơ chế quản lý cách tân dựa trên chính sách, cơ chế này cho phép các chính sách có thể được định nghĩa quản trị tự động cho các thực thể máy chủ trên một hoặc nhiều máy chủ Thêm vào đó, SQL Server 2008 cho phép thi hành truy vấn dự báo với một nền tảng tối ưu
• Sự phát triển động - SQL Server 2008 cùng với NET Framework đã giảm được
sự phức tạp trong việc phát triển các ứng dụng mới ADO.NET Entity Framework cho phép các chuyên gia phát triển phần mềm có thể nâng cao năng suất bằng làm việc với các thực thể dữ liệu logic đáp ứng được các yêu cầu của doanh nghiệp thay
vì lập trình trực tiếp với các bảng và cột Các mở rộng của ngôn ngữ truy vấn tích hợp (LINQ) mới trong NET Framework đã cách mạng hóa cách các chuyên gia phát triển truy vấn dữ liệu bằng việc mở rộng Visual C#.NET và Visual Basic.NET
để hỗ trợ cú pháp truy vấn giống SQL vốn đã có Hỗ trợ cho các hệ thống kết nối cho phép chuyên gia phát triển xây dựng các ứng dụng cho phép người dùng mang
dữ liệu cùng với ứng dụng này vào các thiết bị và sau đó đồng bộ dữ liệu của chúng với máy chủ trung tâm
• Dữ liệu quan hệ mở rộng - SQL Server 2008 cho phép các chuyên gia phát triển
khai thác triệt để và quản lý bất kỳ kiểu dữ liệu nào từ các kiểu dữ liệu truyền thống đến dữ liệu không gian địa lý mới
• Thông tin trong toàn bộ doanh nghiệp - SQL Server 2008 cung cấp một cơ sở hạ
tầng có thể mở rộng, cho phép quản lý các báo cáo, phân tích với bất kỳ kích thước
và sự phức tạp nào, bên cạnh đó nó cho phép người dùng dễ dàng hơn trong việc
Trang 40truy cập thông tin thông qua sự tích hợp sâu hơn với Microsoft Office Điều này cho phép CNTT đưa được thông tin của doanh nghiệp rộng khắp trong tổ chức SQL Server 2008 tạo những bước đi tuyệt vời trong việc lưu trữ dữ liệu, cho phép người dùng hợp nhất các trung tâm dữ liệu vào một nơi lưu trữ dữ liệu tập trung của toàn doanh nghiệp
2.3.1 Nền tảng cho các nhiệm vụ then chốt
Trong một thế giới dữ liệu ngày nay, dữ liệu và các hệ thống quản lý dữ liệu đó cần phải luôn luôn được bảo đảm và ở trạng thái có sẵn SQL Server 2008 cho phép CNTT giảm được sự phức tạp của cơ sở hạ tầng trong khi đó vẫn bảo đảm cung cấp một nền tảng dữ liệu doanh nghiệp có khả năng bảo mật, khả năng mở rộng và quản lý tốt hơn, cùng với thời gian chết của ứng dụng giảm
a Nền tảng tin cậy cho dữ liệu của bạn
Được xây dựng có kế thừa những điểm mạnh có trong SQL Server 2005, SQL
Server 2008 mở rộng tính năng bảo mật và khả năng có sẵn với những nâng cao dưới đây
Mã hóa dữ liệu trong suốt
SQL Server 2008 cho phép mã hóa toàn bộ cơ sở dữ liệu, các file dữ liệu và file bản ghi mà không cần thay đổi ứng dụng Một số lợi ích của mã hóa dữ liệu trong suốt cho phép tìm kiếm dữ liệu đã mã hóa bằng cả tìm kiếm phạm vi và tìm kiếm thô, tìm kiếm
dữ liệu bảo mật từ những người dùng không có thẩm quyền và sự mã hóa dữ liệu Tất
cả có thể được mã hóa mà không cần thay đổi các ứng dụng đang tồn tại
Quản lý khóa mở rộng