Luận văn Xây dựng hệ thống thương mại điện tử

Nếu là một lập trình viên Visual Basic, bạn có thể nghĩ rằng hiện bạn vẫn không cần phải lập trình hướng đối tượng. Visual Basic cổ điển đã đáp ứng đủ cho những nhu cầu của bạn bạn có thể làm hầu hết những gì bạn cần chỉ với một ít kiến thức về ngôn ngữ tuy nhiên, rất nhiều lập trình viên lại cảm thấy rằng việc biến chuyển từ kiểu lập trình truyền thống sang .Net ít nhất là sẽ không phức tạp so với giai đoạn chuyển từ lập trình Dos sang Windows. Một điều mới đó là Visual Basic hoàn toàn mang tính mang tính hướng đối tượng một mô hình lập trình thế hệ mới.

pdf51 trang | Chia sẻ: lylyngoc | Lượt xem: 2335 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Luận văn Xây dựng hệ thống thương mại điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
f)Hồi đáp thông tin. h)Nhân viên nhập tin tức,nhập sản phẩm mới, cập nhật giá đại lý và nhận đơn hàng. g)Hồi đáp các thông tin. Hệ thống hỗ trỡ thương mại trực tuyến Khách hàng Đại lý Nhân viên Ban giám đốc 6 Biểu đồ phân cấp chức năng của hệ thống Hỗ trợ thương mại trực tuyến Quản lý đại lý Gửi báo giá Nhận đơn hàng Quản lý tin tức Cập nhật tin tức Kiểm duyệt tin Quản lý sản phẩm Cập nhật sản phẩm Cập nhật giá Quản trị hệ thống Cập nhật người dùng Phân quyền Đăng tin Tra cứu sản phẩm Tra cứu tin tức 7 Sản phẩm Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý sản phẩm Thêm và cập nhật Nhân viên bán hàng Thêm, xoá,sửa đổi một sản phẩm Tìm kiếm sản phẩm Khách hàng hê và c p nh t Các yêu cầu tìm kiếm Kết quả tìm 8 Giá đại lý Đại lý Sản phẩm Giá đại lý Đơn hàng Cập nhật giá đại lý Đặt hàng Đại lý Đặt hàng và sửa đơn hàng Đại lý Đơn hàng 9 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý đại lý Bản tin Thêm, xoá và sửa bản tin Thêm và cập nhật Nhân viên Kiểm duyệt và đăng tin Khách hàng, đại lý người xem Cung cấp tin Tìm kiếm tin tức Khách hàng Yêu cầu tìm kiếm Kết quả tìm kiếm 10 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý tin tức Người dùng Đăng ký truy cập hệ Nhận đăng ký người dùng dùng Khách hàng Cấp quyền truy cập Khách hàng Tên truy cập, Mật khẩu 11 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý người dùng 4)Xác định thực thể và quan hệ giữa các thực thể Nhóm hàng(NHOMHANG) Khách hàng(KHACHHANG) Sản phẩm(SANPHAM) Nhà cung cấp(NHACC) Đơn hàng(DONHANG) Nhân viên(NHANVIEN) Quốc gia(NUOC) Bản tin(BANTIN) Khách hàng Số hiệu KH Tên khách hàng Địa chỉ Số điện thoại Số Fax Email Đơn hàng SH Đơn hàng SH Khách hàng Ngày ĐH Sản phẩm Mã SP Tên hàng Đặc tính Giới thiệu Đơn vị tính Đơn giá Chi tiết đơn hàng SH Đơn hàng Mã hàng Số lượng Đơn giá Giá đại lý SH khách hàng Mã hàng Đơn giá Nhóm hàng SH Nhóm hàng Tên nhóm hàng Đặc tả Quốc gia Mã nước Tên nước 12 Quan hệ giữa Nhóm hàng và mặt hàng là quan hệ 1-n. Một nhóm hàng có thể có nhiều mặt hàng. Quan hệ giữa quốc gia và nhà sản xuất là quan hệ 1-n. Một quốc gia có thể có nhiều nhà sản xuất. Quan hệ giữa nhà sản xuất và sản phẩm là quan hệ n-n. Vì một nhà sản xuất có thể sản xuất nhiều mặt hàng, đồng thời một sản phẩm cũng có thể do nhiều nhà sản xuất sản xuất. Quan hệ này cần phải phá khi cài đặt bảng dữ liệu. Quan hệ giữa nhân viên và bản tin là quan hệ 1-n. Một nhân viên có thể nhập nhiều bản tin. Bản tin Tiêu đề bản tin Trích dẫn Ngày nhập Tóm tắt Nội dung Cấp độ Nhân viên Số hiệu nhân viên Tên nhân viên Phòng ban Chức danh Địa chỉ Số điện thoại 13 Quan hệ giữa nhân viên và đại lý là quan hệ 1-n. Một nhân viên có thể quản lý nhiều đại lý. Quan hệ giữa khách hàng và đơn hàng là quan hệ 1-n. Một khách hàng có thể có nhiều đơn hàng. Quan hệ giữa sản phẩm và giá đại lý là quan hệ 1-n. Một sản phẩm có thể có nhiều mức giá đại lý khác nhau. 5)Thiết kế chi tiết cơ sở dữ liệu Bảng nhóm sản phẩm Tên trường Kiểu dữ liệu Kích thức Mô tả Ma_nhom Int 4 Mã nhóm Ten_nhom Nvachar 50 Tên nhóm Mo_ta Nvarchar 200 Mô tả nhóm sản phẩm Bảng sản phẩm Chứa thông tin về sản phẩm Tên trường Kiểu dữ liệu Kích thức Mô tả Masp Nvarchar 50 Mã sản phẩm Tensp Nvachar 100 Tên sản phẩm Giơi_thieu Nvarchar 200 Lời giới thiệu Dac_tinhVt Nvarchar 200 Đặc tính viết tắt Dac_tinhDd Nvarchar 200 Đặc tính đầy đủ Anh Image 16 Ảnh sản phẩm Gia Float Giá của sản phẩm Bao_hanh Nvarchar 50 Bảo hành Kieusp Int Là sản phẩm mới Bảng tin tức Tên trường Kiểu dữ liệu Kích thức Mô tả Tieu_de int 4 Mã nhóm Trich_dan Nvachar 50 Tên nhóm Noi_dung Nvarchar 200 Nội dung tin Anh Image ảnh của tin Dang Bit Trạng thái của tin 14 Kieu_tin bit Kiểu của tin tức là quảng cáo hay bản tin Thông tin khách hàng Tên trường Kiểu dữ liệu Kích thức Mô tả Ten_dd int 4 Tên đầy đủ Dia_chi Nvachar 50 Địa chỉ Tel Nvarchar 50 Nội dung tin Fax Nvarchar 50 Số fax Email Nvarchar Địa chỉ Email Thông tin nhà sản xuất Tên trường Kiểu dữ liệu Kích thức Mô tả Ten_dd int 4 Tên đầy đủ Ma_nuoc Int Mã quốc gia Dia_chi Nvachar 50 Địa chỉ Tel Nvarchar 50 Nội dung tin Fax Nvarchar 50 Số fax Email Nvarchar Địa chỉ Email Thông tin nhà sản xuất Tên trường Kiểu dữ liệu Kích thức Mô tả Mã quốc gia int 4 Mã quốc gia Tên quốc gia Nvarchar Tên quốc gia Thông tin nhân viên Tên trường Kiểu dữ liệu Kích thức Mô tả 15 Tendd int 4 Tên đầy đủ Add Nvachar 50 Địa chỉ Tel Nvarchar 50 Nội dung tin Fax Nvarchar 50 Số fax Email Nvarchar 50 Địa chỉ Email Chuc_danh Nvarchar 50 Chức danh Ma_phong Int Phòng ban trực thuộc Bảng đơn hàng Tên trường Kiểu dữ liệu Kích thức Mô tả So_dh int 4 Số hiệu đơn hàng Ngay_dh Nvachar 50 Ngày đơn hàng IDKhach_hang Nvarchar 50 Mã khách hàng Chi tiết đơn hàng Tên trường Kiểu dữ liệu Kích thức Mô tả Masp Int 4 Mã sản phẩm So_luong Int 50 Số lượng Don_gia Float 50 Đơn giá sản phẩm Giá đại lý Tên trường Kiểu dữ liệu Kích thức Mô tả Ma_kh Int 4 Mã khách hàng Ma_sp Int 50 Mã sản phẩm Don_gia Float 50 Đơn giá sản phẩm 16 CHƯƠNG II CÔNG NGHỆ TRONG XÂY DỰNG HỆ THỐNG I)Tổng quan về mạng Internet và mô hình Client -Server Theo cách ngắn gọn, Internet là một mạng diện rộng(WAN) công cộng cho phép bất kỳ hai mạng máy tính nối kết với nhau theo kiểu Internet để thiết lập các tiếp xúc và trao đổi dữ liệu với nhau. Không giống như mạng cục bộ LAN, một mạng WAN như Internet được thiết kế để vận hành trên mọi khoảng cách địa lý khác nhau, lớn hay bé. Các mạng WAN khác cũng đã tồn tại, nhưng Internet là đáng kể nhất do quy mô rộng lớn và sự phát triển nhanh chóng của nó. Một công nghệ theo dạng Internet có thể được dùng để tạo ra các mạng máy tính không phổ biến, được thiết kế để sử dụng trong nội bộ một tổ chức nào 17 đó. Với tên gọi Intranet, các mạng máy tính này hoạt động cũng như Internet. Ở khoảng cách xa hay gần , mạng máy tính kết nối các máy tính lại với nhau và cho phép chúng chia sẻ dữ liệu với nhau. Nhưng việc chia sẻ này không diễn ra một cách tự động. Để làm cho máy tính trở nên hữu dụng người lập trình tạo ra hai loại chương trình là Server(chủ) và Client(Khách). Server là chương trình cung cấp thông tin trên một mạng máy tính. Chúng được thiết kế để nhiều máy máy tính khác có thể truy xuất được thông tin một cách đồng thời. Một Web Server có thể cung cấp thông tin cho hàng chục hoặc thậm chí hàng trăm nghìn người sử dụng một cách đồng thời. Microsoft Internet Information Server là một chương trình được thiết kế để cung cấp nội dung Web cho người dùng mạng. Mô hình Client Server Client là chương trình chạy trên máy người dùng. Một chương trình Client được thiết kế để làm việc với một dạng Server nào đó. Ví dụ một chương trình client dùng cho thư điện tử như Outlook Express chẳng hạn sẽ làm việc với các Server thư điện tử. Trước nay, mô hình đối tượng sơ sở dữ liệu( hay nói rộng ra là hệ điều hành ) đã che chắn phần làm việc phức tạp khi truy cập cơ sở dữ liệu từ xa. Ta không nhận thấy sự khác biệt khi cơ sở dữ liệu chứa trên mạng hay máy cục bộ Tuy nhiên, VB.NET cung cấp một số cách để chuyển dữ liệu với với một cơ sở dữ liệu trên mạng, và ta có thể duy trì các truy cập bề vững, tin cậy đến cơ sở dữ liệu qua mạng; cũng như bạn có thể thiết lập các hệ thống cho phép sao chép các mẩu tin một cách thông minh trong cơ sở dữ liệu đến từng máy tính trong cơ quan Với việc nghiên cứu “Làm quen với SQL Server “, “ODBC với các đối tượng dữ liệu từ xa” và hiểu biết về lập trình hướng đối tượng, ta sẽ hiểu được khái niệm: Mô hình truy cập cơ sở dữ liệu từ xa như thế nào. 2) Mô hinh Client / Server và các thành phần Thuật ngữ thành phần tầng trung gian (middle-tier) đã thay đổi từ khi kỹ thuật này được giới thiệu lần đầu tiên. Ví dụ, ta tạo một điều khiển ActiveX nhúng trong một ứng dụng Client để nói chuyện với một thành phần ActiveX Server cũng chứa trên Client. Sau đó, thành phần ActiveX Server sẽ nói chuyện với ActiveX Server chứa trên máy thuộc tầng trung gian, đến lượt tần trung gian sẽ nói chuyện với Server cơ sở dữ liệu chứa trên WinT Server 18 Ta lượt qua một số khái niệm cơ bản:  ActiveX: Là khái niệm gắn liền với các đối tượng trong chương trình dùng giao tiếp với nhau. Nó không phải là một sản phẩm, cũng không là một kỹ thuật  Điều khiển ActiveX: Là một thành phần thường có giao diện (nhưng không phải toàn bộ các thành phần đều có). Thành phần Lưới cơ cở dữ liệu (DBGrid) dược cung cấp bởi Visual Basic là một thành phần ActiveX. ấn bản Professional và Enterprise có vô số thành phần như thế.  ActiveX Server còn gọi là thành phần mã hoá ActiveX. Trong VB4.0,nó được gọi la OLE Server. ActiveX Server là một thành phần đưa ra một hay nhiều lớp chứa trong một khối đã được biên dịch. ứng dụng sẽ dùng các đối tượng được sinh ra từ các lớp chứa trong thành phần ActiveX. Ta có thể truy cập khối biên dịch này qua mạng thông qua kỹ thuật DCOM ( Mô hình đối tượng thành phầnphân tán – Distributed Compnent Object Model). 2.1Cấu trúc Client / Server three Tier. Những nguyên tắc mà người lập trình phải tuân thủ:  Duy trì một hệ thống ổn định để đáp ứng với các quy luật kinh doanh thường xuyên thay đổi.  Cung cấp điểm khởi đầu đơn giản và nhất quán cho dữ liệu, trong khi cùng lúc bảo vệ cơ sở dữ liệu khỏi các ứng dụng Client, và trái lại, bảo vệ các ứng dụng Client khỏi tính phức tạp và bất thường của Server.  ý tưởng xây dựng các quy luật kinh doanh trong ngôn ngữ lập trình bất kỳ, không chỉ với SQL .  ý tưởng triển khai các quy luật kinh doanh trên một máy tính không phải là một Server cơ sở dữ liệu, để bảo toàn năng lực xử lý của Server cơ sở dữ liệu  ý tưởng triển khai trên quy luật kinh doanh vào Client để giảm thiểu lưu thông trên mạng.  Triển khai các quy luật kinh doanh tại một điểm đơn giản trong hệ thống (trái với ý nghĩ triển khai toàn bộ trên mọi máy Client mỗi lần có một thay đổi). Cấu trúc Client / Server giải quyết vấn đề này. Trong một cấu trúc 3 tầng (three-tier), các quy luật kinh doanh được đóng gói trong một thành phần trung gian giữa ứng dụng Client và Server cơ sở dữ liệu. 19 Những thành phần như thế gọi là tầng trung gian. Tầng này nhận tương tác từ ứng dụng Client, đáp ứng bằng cách chuyển các yêu cầu hay các lệnh đến Server cơ sở dữ liệu. Tầng trung gian là một thành phần ActiveX . Các thành phần trung gian ActiveX hoạ động tương tự các thành phần ActiveX khác. Các thành phần trung gian phục vụ chủ yếu cho truy cập dữ liệu Client/Server. Ngoài các khả năng cung cấp một giao diện hướng đối tượng cho cơ sở dữ liệu, thành phần ActiveX có thể truy cập từ xa, qua mạng . Kỹ thuật này gọi là DCOM(Mô hình đối tượng thành phần phân tán - Distributed Cômpnent Object Model).Với DCOM, một ứng dụng Client có khả năng tạo những instanse từ ActiveX Server, dù cho Server có tồn tại trrên cùng máy với Client hay không. 2.2)Thiết lập một cấu trúc phần cứng cho DCOM. Có vô số tổ hợp Client và Server để thực hiien cấu trúc phần cứng Client/Server. Giả sử có 2 máy, trong đó 1 máy là Winnt Server chạy Microsoft SQL Server, đây là Server. Máy Client là Win95, hoặc Win98, hoặc WinNT. Người sử dụng trên mạng muốn truy cập dữ liệu khách hàng. Để giữ được tính nhất quán, khả năng dùng lại, dễ lập trình và bảo trì, bạn nên truy cập đến cơ sở dữ liệu thông qua thành phần ActiveX. Thành phần này được biên dịch và thiết lập trên mạng saôch ứng dụng Client có thể truy cập nó từ xa. Sau đây là sơ đồ cấu trúc 3 tầng tổng quát. Nó kết hợp cấu trúc vật lý (2 máy tính) và lôgic (từng tầng cung cấp các chức năng khác nhau) Máy Client Thành phần ActiveX Truy vấn cơ sở dữ liệu Cung cấp đối tượng cho Client CSDL 20 Lược đồ của một cấu trúc 3 tầng tổng quát Ta có thể chia thành phần tầng trung gian qua nhiều máy. Vì vậy, cấu trúc Client /Server 3 tầng khi đó trở thành cấu trúc n tầng như sau: Cấu trúc Client/Server n tầng trình bày tầng trung gian thể hiện trên 1 máy: Ta triển khai các thành phần tầng trung gian trên một máy theo những tình huống sau:  Server cơ sở dữ liệu chạy trên hệ điều hành không hỗ trợ ActiveX .  Ta muốn giữ gìn năng lực của Server cơ sở dữ liệu  Ta muốn mở rộng khả năng ứng dụng bằng cách triển khai nhiều bản sao của cùng một ActiveX Server đến nhiều hơn một máy. Bất lợi của việc cung cấp cho thành phần ActiveX một máy tính riêng là cấu hình này đòi hỏi thêm một bước chuyển qua mạng từ Client đến cơ sở dữ liệu và ngược lại. Điều này có thể khiến giảm khả năng hoạt động và tăng lưu lượng trên mạng. Rrường hợp này có được chấp nhận hay không tuỳ thuộc chức năng định cấu hìnhmạng và các Prototype ta làm trong giai đoạn thiết ké của đồ án. Máy Server Máy Client Thành phần ActiveX Truy vấn cơ sở dữ liệu Cung cấp đối tượng cho Client CSDL 21 Thậm trí khi ta không có điều khiể trên hệ điều hành trên đó cơ sở dữ liệu thi hành, ta vẫn có thể sử dụng tầng trung gian –Nếu ta triển khai nó đến một máy riêng. Tầng cơ sở dữ liệu là một khối UNIX hay bộ mainframe của côngty. ứng dụng Client dùng kỹ thuật DCOM vì 2 lý do: *ứng dụng Client không bao giờ truy cập đến Server cơ sở dữ liệu; thay vào đó, chúng truy cập dữ liệu thông qua thành phần ActiveX. *Đây là lý do quan trọng nhất, DCOM che chắn cho ứng dụng khỏi các phần rắc rối của giao thức qua mạng, các phần mềm nền(Platform), và biên của máy tính. Triển Khai một hệ thống Client/Server trong đó, Server cơ sở dữ liệu không phải là Windows thì dễ hơn trong thế gới 3 tầng, bởi vì, ta không cần phải định cấu hình cho middleware (phần mềm tầng giữa- tập hợp các chương trình điều khiển chuyên xử lý việc giao tiếp qua nhiều Platform và các giao thức mạng) trên từng máy Client.Với kiểu 3 tầng, ta chỉ phải chỉ định cấu hình chương trình một lần-trong phần cấu trúc giữa tầng giữa và Server cơ sở dữ liệu. Nhờ đó, có thể tiết kiệm thời gian sai sót khi định cấu hình và triển khai ứng dụng đến nhiều Client. Khái quát về công nghệ xây dựng Web động ASP(Active Server Page) Cơ chế hoạt động Web tuân theo mô hình Client Server. Trình khách gửi yêu cầu đến trình chủ xử lý và trả kết quả về cho trình khách hiển thị. Trình chủ trong các ứng dụng Web là Web Server trình khách thường là Web Browser(trình duyệt). Mô hình hoạt động giữa trình duyệt browser và máy chủ Server nơi chứa tài liệu. Máy khách Máy chủ Page.html Browser Web Server Data Store 22 DD Page.html ở bước đầu của công nghệ Web, với các trang html hoặc dữ liệu tĩnh như các hình ảnh hay tập tin văn bản(text file), trình chủ Web Server đơn giản chỉ đọc và lấy nội dung của toàn bộ file trên máy chủ và trả về máy khách. Hoạt động của Web Server mang chức năng tương tự như file Server. Nhưng trên thực tế trong kinh doanh thông tin thay đổi mỗi ngày và chúng đến từ nhiều nguồn khác nhau. Vì vậy mà yêu cầu đặt ra là làm thế nào để chúng ta có thể cập nhật các thông tin trên Web site một cách thường xuyên trở nên cần thiết hơn bao giờ hết. Xuất phát từ nhu cầu xử lý động, trình chủ Web Server cho phép cài đặt các ứng dụng CGI(Common Gateway Interface) tiếp nhận các yêu cầu của trình khách, thực hiện thao tác xử lý và biến đổi dữ liệu trước khi đưa kết quả trả về cho trình duyệt phía máy Client. CGI là các chương trình thực thi nhị phân(như các file .exe) viết bằng các ngôn ngữ biên dịch(điển hình như C/C++). Với một số cấu hình cần thiết Web Server sẽ gọi đến chương trình CGI và chuyển giao các yêu cầu từ trình khách cho chương trình CGI xử lý. Hoàn tất quá trình xử lý CGI sẽ trả lại kết quả lại cho Web Server và Web Server lại tiếp tục trả lại cho trình khách. Quá trình triệu gọi và xử lý các CGI hoàn toàn trong suốt hay không thấy được đối với trình khách. Cho đến này các hãng phần mềm lớn trên thế giới đã lần lượt đưa ra một số giải pháp của mình như JSP(Java Server Page) của Sun ASP(Active Server Page) của Microsoft vv. Microsoft cung cấp trình chủ Web Server mang tên IIS(Internet Information Server), cho phép sử dụng cách thức tạo trang Web động bằng CGI, ISAPI. Trang ASP đơn giản là một file văn bản(text) chứa mã HTML và kết hợp mã thông dịch như Vbscript hay Jscript(thường mang tên mở rộng là.asp). Đơn thể ASP.DLL được tích hợp vào Web Server IIS. Khi nhận được yêu cầu của trình khách cần hiển thị trang .asp. Web Server sẽ triệu gọi đơn thể xử lý trang(ASP.DLL). Trang được đọc, diễn dịch và thực thi các lệnh kịch bản. Kết quả sau đó sẽ được ASP.DLL sẽ gửi lại trình chủ để trả về theo yêu cầu của máy khách. Máy khách Page.asp Browser Web Server ASP.DLL Asp.dll ISAPI Component.dll Data Source 23 Response Một ưu điểm của thiết kế ứng dụng Web bằng ASP và ngôn ngữ kịch bản đó là ứng dụng dễ bảo trì, sửa đổi cùng với việc việc xử lý dữ liệu động hiệu quả. Giới thiệu về ASP.NET Mặc dù ASP phiên bản 3.0 ra đời chưa lâu, Microsoft đã và đang nỗ lực cho một công nghệ web sử lý phía máy chủ hoàn toàn mới đó là ASP.NET. Microsoft còn gọi là công nghệ “Dịch vụ Web thế hệ kế tiếp”(Next Generation Web Service).ASP đã cho thấy sự thành công của nó trong các ứng dụng Web, nhưng tại sao Microsoft lại quyết định thay đổi công nghệ và cho ra đời ASP.NET là một phiên bản hoàn toàn mới so với ASP. Có các nguyên nhân sau đây: - Hiện tại ASP chỉ là ngôn ngữ kịch bản phi định kiểu dựa trên Vbscript hoặc Jscript không tận dụng được các ngôn ngữ rằng buộc kiểu mạnh như C++ hay Visual Basic. ASP cho phép sử dụng ngôn ngữ trung lập. Trang ASP.NET có thể viết bằng nhiều ngôn ngữ như Vbscript,Jscript,Visual Basic,C++,C#,Pearl.. - Một bất tiện của trang ASP đó là mã lệnh và giao diện trộn lẫn với nhau. Khi phát triển các dự án lớn thường các dự án tách làm hai nhóm. Một nhóm thiết kế giao diện, một nhóm viết lệnh lập trình. ASP.NET cho phép tách rời mã lập trình và nội dung tài liệu. - Trong phiên bản ASP trước kia, bạn hầu như phải viết mã để quản lý mọi chuyện. Bạn muốn quản lý trạng thái của các trường nhập liệu trong FORM, cần phải viết mã. ASP.NET thực sự là mô hình đối tượng thành phần loại bỏ nhiều công đoạn viết mã mà lập trình viên WEB thường phải làm. ASP.NET cung cấp các thành phần điều khiển hoạt động phía trình chủ hoạt động theo hướng xử lý sự kiện. Mọi việc kiểm soát trạng thái và tương tác với các thành phần điều khiển được trình chủ Web Server với kiến trúc ASP.NET lo liệu. 24 - Ngày nay thế giới thay đổi nhanh chóng với các thiết bị cầm tay như điện thoại di động, TV có thể kết nối với Internet.. Những thiết bị mới này đều chuẩn bị khả năng kết nối với Internet và máy chủ phục vụ Web, Vấn đề thách thức lớn nhất của các ứng dụng Web ngày nay là tính tương thích trên các trình duyệt và độ phức của trang tài liệu do ứng dụng tạo ra. Công việc phải được xử lý trên máy chủ là rất nhiều. Chẳng hạn ngoài việc xử lý trang HTML bạn còn phải có khả năng tạo các trang WML phục vụ cho điện thaọi di động và trao đổi dữ liệu XML. ASP.NET có sẵn các dịch vụ này để bạn sử dụng. 3)Tóm tắt các đặc điểm mới của ASP.NET 3.1)Các đăc điểm nổi bật - Pages(trang ứng dụng):sử dụng các thành phần điều khiển có khả năng hoạt động và tương tác với nhau ngay trên trình chủ Web Server. Đặc điểm này giảm thiểu quá trình viết mã tương tác giữa các trang. Lập trình trong môi trường ASP.NET tương tự như lập trình thiết kế trong VB Form và do đó các ứng dụng ASP.NET còn gọi là Web Forms. - HTML Server Side Controls: Các thành phần điều khiển HTML có khả năng xử lý ngay trên trình chủ dựa vào phương thức và thuộc tính tương tự cách hoạt động của chúng trên trình khách. Những thành phần điều khiển này cho phép kết hợp mã xử lý của trang ASP.NET với một sự kiện nào đó phát sinh phía trình khách được xem như đang diễn ra trên trình chủ. - Rich Controls: Tập các điều khiển đa năng: Các điều khiển Rich Controls chạy trên Server và có thể tạo ra các phần tử cũng như đối tượng HTML phức hợp cho trình khách ví dụ như khung lưới(grid), bảng (table), Khung nhìn(listView)vv. Rich Controls cho phép bạn rằng buộc dữ liệu và xử lý dữ liệu tương tự như bạn viết một ứng dụng Desktop thực sự. Xoá đị biên giới của mô hình khách chủ. - Web Server: Các dịch vụ Web. Trang ASP.NET của bạn có thể không cần hiển thị kết xuất cho trình khách. Chúng hoạt động như những chương trình xử lý yêu cầu ở hậu cảnh. Ví dụ như trang ASP.NET có thể là một lớp đối tượng cung cấp phương thức trả về giá trị nào đó khi nhận được yêu cầu từ trình khách. - Cờu hình và phân phối: đơn giản và dễ dàng với các file cấu hình theo địch dạng XML. Các thành phần đối tượng không cần đăng ký với hệ thống trước khi sử dụng nữa. Bạn chỉ cần copy các trang ASP.NET hay các đối tượng lên máy chủ, chỉ ra vị trí của chúng và thế là chương trình cũng như dịch vụ của bạn có thể sẵn sàng sử dụng. 25 - Tự động quản lý trạng thái của đối tượng Session và Application: Bạn có thể lưu nội dung của Session hay Application của một ứng dụng đặc thù nào đó xuống trên các file trên đĩa để sử dụng lại. - Xử lý lỗi, debug: Các công cụ gỡ lỗi, lần vết thông tin được nâng cấp và đáng tin cậy hơn. Mỗi trang tài liệu có thể sử dụng một trang xử lý riêng biệt và kết xuất nội dung của biến để theo dõi ngay trong quá trình thực thi trang. Các trình gỡ lỗi debug được tích hợp xử lý trong môi trường đa ngôn ngữ VB,C++,C#. - Quản lý bảo mật: Bạn có thể tận dụng các dịch vụ đăng nhập tuỳ biến trong trang tài liệu ASP.NET theo phong cách của Web hoặc cơ chế đăng nhập và kiểm tra quyền xuất dựa trên hệ thống bảo mật của hệ điều hành. - Tuỳ biến vùng đệm trên trình chủ . Vùng đệm của kiến trúc ASP.NET rất linh động. Bạn có thể tự tạo ra vùng đệm riêng cho mình chứa kiểu giá trị và đối tượng trong quá trình xử lý của trang nhằm tăng tốc độ của ứng dụng. - Một tập các đối tượng phong phú các thư viện lớp và các đối tượng phục vụ cho hầu hết những gì mà nhà phát triển ứng dụng cần đến. Bằng những thư viện này công việc viết ứng dụng cho Web trở nên dễ dàng, đơn giản hơn bao giờ hết. 3.2)Các điều khiển trong ASP.NET ASP.NET có tất cả 4 loại thành phần điều khiển mà chúng ta cần phân biệt là: - Điều khiển nội tại : Các phần tử này sẽ tạo ra những phần tử theo kiểu HTML phía trình khách. Bạn có thể dựa vào điều khiển nội tại để tạo các phần tử HTML thông minh có khả năng quản lý trạng thái của chính nó hoặc những thành phần chỉ thuần HTML không cần quản lý trạng thái. - Điều khiển danh sách(List Control): Thành phần điều khiển này cho phép bạn hiển thị mọi loại dữ liệu kiểu danh sách. Ví dụ như bảng dữ liệu(Table) khung nhìn (View)... Điều khiển danh sách còn cho phép bạn rằng buộc với các thành phần dữ liệu trên Server. - Điều khiển đa năng: Những điều khiển đa năng trên Server sẽ sinh ra mã tổ hợp nhiều phần tử HTML, đôi khi kèm theo mã điều khiển Javascript để chạy phía trình khách. Rich Control cung cấp nhiều giao diện bắt mắt và rất độc đáo. - Điều khiển kiểm tra(alidate Control): Các điều khiển này thường không khả kiến. Chúng hoạt động hậu cảnh ở cả hai phía trình khách 26 và trình chủ. Mục đích của thành phần điều khiển này là cho phép kiểm tra khuôn dạng của dự liệu vào trước khi trình khách gửi ngược(Post Back) dữ liệu về trình chủ đưa dữ liệu về trình khách. a)Điều khiển nội tại: Các thành phần điều khiển như, được coi là điều khiển nội tại. Các điều khiển này có khả năng tự quản lý trạng thái và sử lý các sự kiện phát sinh. Tất cả các phần tử HTML nếu đặt thuộc tính “runat Server” thì sẽ được kiểm soát bởi điều khiển nội tại duy nhất. Trang ASP.NET còn có thể sử dụng các thành phần điều khiển nội tại khác được định nghĩa với tiếp đầu ngữ “asp”. Các điều khiển này chỉ chạy trên trình chủ (Với thuộc tính “runat=Server”. Chúng cung cấp thuộc tính và các phương thức tương tự như điều khiển nội tại HTML chuẩn”. Danh sách các điều khiển ‘asp’ và HTML tương ứng nhau. ASP.NET Kết xuất HTML .. II)Tóm tắt về thế giới .Net 1)Khái quát về .Net Trái tim của .NET cung cấp cho người dùng cách thức truy cập thông tin, file, hoặc chương trình của họ ở mọi lúc, mọi nơi trên cấu hình phần cứng và 27 thiết bị. Họ không cần biết nơi nào chứa thông tin hoặc chi tiết về cách truy cập thông tin đó. Chỉ vài năm nữa Microsoft và các công ty khác sẽ huỷ bỏ việc phân phối phần mềm qua CD. Thay vào đó sẽ là các dịch vụ cung cấp các tính năng mà người dùng sẽ lấy để cài đặt vào máy thông qua dịch vụ Web phân phối qua mạng Internet. Khách hàng không phải mua phần mềm, cài đặt vào máy, sau đó lại phải duy trì nó. Thay vào đó là các dịch vụ cung cấp những chức năng theo yêu cầu. Một số phần mềm sẽ được tải xuống, cài đặt, duy trì bằng dịch vụ web. Việc cập nhật, sửa chứa sẽ xảy ra tự động qua mạng Internet. Nếu ta cần sử dụng phần đặc biệt của phần mềm cho đề án. như chương trình CAD / CAM, nhưng lại không muón mua nó, ta có thể sử dụng nó qua dịch vụ web và được tính chi phí bởi nhà cung cấp. Rõ ràng đây là viễn cảnh lớn của công nghệ và những lĩnh vực kinh doanh trong tương lai không xa. Điều đó chỉ có thể có được và nâng cao hiệu quả hơn phát triển những ứng dụng hiện nay khi ta sử dụng và ứng dụng của .NET. Lúc đó mỗi ứng dụng sẽ trở thành một dịch vụ “web-web service”. Chiến lược .NET cho phép chúng ta khắc phục yếu kém trong giao tiếp của DCOM, .NET cho phép thu thập dữ liệu từ các máy tính khác ở bất kỳ nơi nào trên mạng. Website của bạn sử dụng dịch vụ web của công ty cung cấp dịch vụ bằng cách gọi phương thức hoàn toàn được bảo mật và trong suốt đối với khách hàng của bạn. Bạn có thể đăng ký với một nhà cung cấp dịch vụ web khác hỗ trợ cung cấp dịch vụ. Khi dịch vụ web của bạn sử dụng các dịch vụ web khác để cung cấp một sản phẩm hay dịch vụ tuỳ chọn, nó tạo ra một liên đoàn của các dịch vụ web. Khách hàng của bạn không biết rằng bạn đang sử dụng kết hợp nhiều dịch vụ khác nhau, được xây dựng , bảo trì bởi người khác. 2)Giới thiệu về ngôn ngữ Visual Basic.Net. 28 Vissual Basic truyền thống là ngôn ngữ lập trình mạnh và tương đối đơn giản. Trước đây Visual basic không khuyến khích cơ chế truy cập trực tiếp vào API (Application Programming Interface) của windows bên dưới, không cung cấp tính kế thừa, không có khả năng kết hợp tính năng từ những lớp khác. Không có khả năng viết DLL thuần tuý của windows và giao tiếp với các ngôn ngữ khác như C++. Visual Basic.Net là phương pháp phát triển phần mềm hoàn toàn mới. Nó cho phép lập trình viên phát triển về phần cứng, kỹ thuật truyền thông, tối ưu hoá , gia tiếp với Internet , tránh đụng độ phần cứng khi PC chuyển từ kiến trúc 16 bít sang 32 bít mà hai kiến trúc này phải được theo dõi và quản lý phụ thuộc vào nền máy tính mà khách hàng sử dụng. Trong tương lai khi kiến trúc 64 bít ra đời và ngày càng nhiều công ty dựa vào Internet để phân bổ thông tin và các dịch vụ thì vấn đề lập trình trở nên khó khăn nếu không có nền .Net. Đặc biệt các thiết bị cầm tay, vô tuyến, Window CE, máy Pocket, Palm… chạy trên CPU không có Intel X86 và hiển nhiên là để xây dưng một phần mềm và phân bổ nó cho các thiết bị khác biệt này là không thể được với các Visual Basic cổ điển. Để không phải học kỹ thuật mới để tối ưu hoá các chương trình phần mềm và hệ điều hành, sử dụng trinhf biên dịch đặc biệt về kỹ thuật khác nhau cho mỗi nền mới và sau đó dò theo môĩ phiên bản, những nhà phát triển có thể sử dụng .Net Mà hạt nhân của cách tiếp cận này là bộ diễn dịch ngôn ngữ thực thi chung CLR( Comom Language Runtime). CLR cung cấp nhiều thuận lợi cho việc lập trình viên Visual Basic, nó là phần quan trọng trong lập trình bằng ngôn ngữ .Net - Visual Basic, C++, C# hoặc một trong 17 ngôn ngữ lập trình hỗ trợ .Net khác. 29 Khi lập trình với Visual Basic .Net, hầu hết các ứng dụng có thể được phát triển khong cần cài đặt; như khong phải viết câu lệnh dài đăng ký với Registry, không phải sử dụng Regedit32 để đăng ký các thành phần Com, các lỗi xung đột DLL không còn xảy ra do phiên bản bị cũ hoặc không phù hợp bị cài chồng lên File hiện hành bằng một chương trình mới. Microsoft.Net.Framework khắc phục được lỗi xung đột DLL mà các lập trình viên và người dùng vẫn thường gọi là “ Địa ngục DLL”. Trong hầu hết các trường hợp, việc cài đặt ứng dụng Visual Basic .Net được dễ dàng với tất cả các file đã kết hợp với nó trong cùng một thư mục. Trong Visual Basic cổ điển khi phải xoá cài đặt trước đó kết quả không ổn định, có thể chương trình sau khi tháo bỏ, để lại những file mồ côi mà những mục nhập trong Registry không dùng đến. Còn ở Visual Basic .Net, khi xoá nội dung của thư mục (Cây thư mục) chứa ứng dụng thì chương trình bị loại bỏ hoàn toàn. 2.1- Giới thiệu về .Net Framework Những nền tảng xây dựng nên Visual Basic .Net nghĩa là chúng ta bắt dầu từ dưới lên. Về khái niệm thì trình biên dịch của Visual Basic .Net nằm ở lớp trên của lớp .Net FrameWork. Trình biên dịch của Visual Basic .Net đơn giản đưa ra những phần khác nhau của .Net FrameWork đã được chỉ định dùng cho ngôn ngữ Visual Basic .Net. Trình biên dịch kiểm tra ngặt về phần cú pháp của ngôn ngữ, nhưng tât cả các hàng động lại xảy ra ở mức .Net FrameWork. Hạt nhân của Net FrameWork là CLR(Common language Runtime).CLR quản lý sự thực thi của đoạn mã.Net và cung cấp các dịch vụ tạo quá trình phát triển chương trình ứng dụng dễ dàng hơn. Các trình biên dịch và các công cụ làm cho các chức năng của thư viện thực thi Runtime trở nên phong phú và hiệu quả hơn. 30 Đoạn mã mà bạn viết hướng đến một kiến trúc đích cụ thể gọi là mã được quản lý(mannaged code). CLR quản lý đoạn mã ở mức thấp nhất, kết hợp khả năng sử dụng đồng thời nhiều ngôn ngữ đan xen nhau (cross language). Tích hợp quản lý các lỗi ngoại lệ, khởi động và chấm dứt các luồng ở mức thấp, hỗ trợ về bảo mật, quản lý phiên bản, đóng gói cài đặt. CLR cung cấp sự dễ dàng cho các nhà phất triển Visual basic .Net khi thiết kế và xây dựng ứng dụng mà những đối tượng của chúng có thể tương tác với các đối tượng và đối tượng được viết bằng ngôn ngữ khác. Sự tương tác này là có thể bởi vì các trình biên dịch ngôn ngữ và các công cụ phát triển hướng đên sử dụng CRL với một hệ thống kiểu dữ liệu chung định nghiã bởi thư viện Runtime. Visual Basic.Net bao gồm rất nhiều các kiểu dữ liệu mới, các kiểu dữ liệu của Visual Basic 6.0 như Variant không còn được hỗ trợ nữa, sự thay đổi này để làm thích nghi với đặc tả CLR. Các thành phần cấu thành trong .NET .Framework mô tả như hình 1. *Mức trên cùng là trình biên dịch Visual Basic (hoặc các trình biên dịch của các ngôn ngữ khác. Bên dưới là trình biên dịch đặc tả ngôn ngữ chung(Common laguage Specification- CLS). Đặc tả là một tập hợp những quy tắc chịu ảnh hưởng bởi những quy định mà CLS đề ra.Khi một ngôn ngữ tuân thủ theo đặc tả củaCLS, nó được đảm bảo làm việc với nền CLR một cách đúng đắn. Như vậy, khi các trình biên dịch của những nhà phát triển thứ ba muốn hướng tới .NET Framework, chúng chỉ cần thích hợp với CLS và đoạn mã biên dịch chắc chắn sẽ được .NET Framework thực thi. Vậy là Visual Basic là hoàn toàn ngang hàng với những ngôn ngữ khác như C++,C#,và bất kỳ ngôn ngữ nàobiên dịch theo đặc tả CLS mà .NET đưa ra. Visual Basic .Net giờ đây có những kiểu biến, kiểu mảng, kiểu do người dùng định nghĩa, các lớp Form, các điều khiển trực quan và các giao diện hoàn toàn giống như các ngôn ngữ khác.Cờu trúc chung này cho 31 phép gọi một lớp đối tượng trong một ngôn ngữ .NET khác. Ví dụ ta gọi lớp đối tượng của C++ trong Visual Basic cũng tương tự như gọi lớp đối tượng Visual Basic từ C++. Hình 1 cũng cho biết ta có thể sử dụng Visual Studio .Net kết hợp với môi trường phát triển (Intergrated Development Enviroment – IDE) để lập trình với Visual Basic và nền NET flatform. Do IDE mới tương tự IDE của Visual Basic 6.0, các lập trình viên Visual Basic sẽ nhanh chóng cảm thấy gần gũi và thân thuộc hơn với môi trường mới này. (Hình 1) *Tiếp theo mức CLS là web services(các dịch vụ web) và user interface(giao diện người dùng).Web services cung cấp một giao diện người dùng có khả năng truy cập web với những công cụ web bao gồm HTML (Hypertext Markup language) và điêù khiển web khác nhau.Web services cũng điều khiển những giao thức khác web nhau, các trạng thái bảo mật và các phiên làm việc. Web services sử dụng các khái niệm Desktop truyền Framework, language, Tools Visual Basic C++ C# … CLS – Common Language Specification Web Service User Interface Data and XML Basic Class Library CLR – Common language Runtime Visual Basic .Net 32 thống với tên gọi là Windows Forms. Đó là một phần giao diện giao tiếp với người dùng tiếp cận web services. Ta có thể xây dựng giao diện web dễ dàng cũng như giao diện windows, giúp cho ta giảm được những điêù cần phải học khi muốn phát triển .NET. ứng dụng tạo web form chỉ cần chuẩn HTML phiên bản 3.2, nó cho phép Form hiển thị trên bất cứ một trình duyệt của bất kỳ nền hệ diều hành nào mà không càan phải chỉnh sửa gì thêm cả. * Cùng mức với web services là giao diện giao tiếp người dùng (user interface) sẽ trình bày thông tin thiết kế cho các cửa sổ trên Windows(windows Form). Urer interface là nơi Windows dụng võ. Nó cung cấp các thư viện phục vụ thao tác vẽ trên màn hình, máy in, văn bản, hiển thị hình ảnh. *Mức Data and XML (eXtensible Markup Language) để cho web services và Urer interface thiết kế dựa trên nó: Dữ liệu định nghĩa theo chuẩn XML dùng để gửi dữ liệu qua internet. Cả HTML và XML đều sử dụng các thẻ đánh dấu tuy nhiên HTML thì được dùng để điều khiển và quy định cách hiển thị dữ liệu còn XML lại dùng để mô tả dữ liệu, tất cả chúng làm việc kết hợp với nhau bằng giao thức SOAP (Simple Object Access Potocol). Đây là giao thức cho phép tài liệu và dữ liệu được đóng gói bởi file XML có thể gửi dược dễ dàng xuyên qua bức tường lửa (filewall). * Mức BCL (Basic Clas Library) thư viện các lớp cơ sở, là phần nền của cơ chế xử lý dữ liệu XML. BCL là nguồn gốc cho tất cả các lớp cơ sở của tất cả các chương trình .NET, cung cấp các tập hợp (Collection), các lớp văn bản (texbox), các đoạn mã tương tác giữa đối tượng .NET và ActiveX Controls, và hỗ trợ nhiều dịch vụ khác. * Cuối cùng là mức CLR (Common language Runtime) thư viện thực thi ngôn ngữ chung. CLR đóng vai trò chính trong việc thực thi các chương 33 trình .NET Framework. Để chạy chương trình .NET, tất cả các đoạn mã đều được được dịch ra ngôn ngữ CLR và môi trường .NET.framework sẽ diễn dịch ngôn ngữ CLR để thực thi chương trình. Và bằng cách này chương trình mà mã đã chuyển qua ngôn ngữ CLR sẽ có thể chạy ở bất kỳ hệ điều hành nào có hỗ trợ.NET .Framework. CLR là một tập hợp của nguồn tài nguyên chuẩn mà bất kỳ chương trình .NET nào cũng có thể tận dụng và khai thác nó, từ bất cứ một ngôn ngữ nào có hỗ trợ .NET . Tất cả các ngôn ngữ đều ngang nhau, không còn phân biệt nhau về mặt chức năng nữa trong .NET. Chúng được hỗ trợ tất cả các dịch vụ .NET thông qua tập hợp các đối tượng trong thư viện chuẩn. CLR bao gồm những hỗ trợ về BCL, nơi điều khiển các cấu trúc va giao diện Form của chương trình. CLR cũng chịu trách nhiệm quản lý các luồng thực thi và xử lý lỗi ngoại lệ, điều khiển các bộ thu gom rác, chịu trách nhiệm giải phóng các đối tượng bị xoá không còn sử dụng nữa. CLR tiếp nhận đoạn mã được phát sinh bởi trình biên dịch .NET (Hoặc của trình biên dịch .NET khác hướng đến nền .NET) và chuyển nó sang ngôn ngữ máy tự nhiên của cấu trúc máy hiện hành. Bằng sự chuyển đổi này, cơ chế thực thi chương trình độc lập với hệ điều hành là hoàn toàn thoả mãn. Các lập trình viên viết mã chương trình bằng Visual Basic và CLR chịu trách nhiệm chuyển mã để chương trình có thể chạy được trên nhiều hệ điều hành khác nhau nhưng có hỗ trợ CLR. Do đó họ tách khỏi những xử lý của phần cứng và thật sự họ không cần phải biết hoặc quan tâm đoạn mã của họ viết sẽ được thực thi ở nền flat form nào. Tất nhiên họ phải sử dụng cú pháp của Visual Basic đúng đắn và ứng dụng biên dịch không bị lỗi, .NET đảm bảo và lo mọi phần thực thi chương trình còn lại. Ta có thể thấy CLR hỗ trợ tất cả các thành phần nằm trên 34 (hình 1) và (hình 2), và chịu trách nhiệm chuyển đổi mã Visual Basic. NET sang cấu trúc máy đặc trưng mà ứng dụng đang thực thi trên đó. Nó cũng tự động cung cấp những đoạn mã mang tính an toàn kiểu nghĩa là đoạn mã đó chỉ làm những gì mà chúng ta mong muốn. Không có chuyện chuyển đổi hoặc sử dụng sai kiểu dữ liệu như trong C hay Visual Basic trước đây. Các đoạn mã “ngớ ngẩn” hoặc làm ảnh hưởng đến hệ thống hoặc gây tràn bộ đệm và treo máy, treo các chương trình khác sẽ không hề xảy ra với đoạn mã Visual Basic. NET. (Hình 2) Common Language Runtime Thư viện hỗ trợ BCL Xử lý tiểu trình Quản lý COM Kiểm tra kiểu Quản lý lỗi ngoại lệ (exception) Trình bảo mật Bộ gỡ rối Trình biên dịch tức thời ngôn ngữ IL Quản lý đoạn code Bộ thu gom rác Trình nạp các lớp vào để xử lý 35 Khi đoạn mã được xác định hướng tới nền .NET, ta gọi đó là mã được quản lý (managed code), nghĩa là đoạn mã tự động thực thi dưới “Sự quản lý và theo dõi của .NET ” với CLR. Managed code hỗ trợ những thông tin Runtime cần thiết khi chương trình được thực thi, nó cung cấp dịch vụ như quản lý vùng nhớ, tích hợp khả năng đa ngôn ngữ, bảo mật việc truy cập đoạn mã, kiểm soát chu trình sống của tất cả các đối tượng một cách tự động. Những lưu ý trước hết là phải có cái nhìn tổng thể về kiến trúc mới này đó là những chức năng lôgíc được nhóm lại trong các thành phần của .NET Framework để dễ quản lý. Ta có thể truy cập những chức năng này trong chương trình của mình bằng cách tham chiếu không gian tên (Gọi là Namespace). Namespace là lược đồ sắp xếp kiểu dữ liệu theo nhóm các chức năng logic có liên quan với nhau trong .NET.Ví dụ khi tạo một cửa sổ Form, IDE sẽ thêm khai báo Imports System.Windows.Forms vào đoạn mã. Lệnh Imports tương tự với việc thêm vào tham chiếu Reference trong Visual Basic 6.0 trước đây. Imports một Namespace là để kế thừa những chức năng cơ bản của lớp forms tạo nên cửa sổ giao diện người dùng. .NET cung cấp một kho giàu có các dịch vụ, các dịch vụ này được thiết kế để làm tăng hiệu suất của tiến trình phát triển ứng dụng từ thiết kế đến viết mã, phát triển, bảo mật. 2.2- Visual Basic.Net là ngôn ngữ thế hệ kế tiếp của Visual Basic 6.0, với sự kế thừa những tinh hoa mà phiên bản trước đã có đồng thời khắc phục được những hạn chế của Visual Basic 6.0 như việc cho phép kế thừa một cách toàn diện và trở thành một ngôn ngữ lập trình hướng đối tượng đầy đủ, Không cho phép dùng biến mà không khai báo. Với các công cụ truy cập cơ dữ liệu cực mạnh mà ADO.net cung cấp thực sự Microsoft đã làm một cuộc cách mạng thực sự trong lập trình cơ sở dữ liệu. 36 Visual Basic.Net là một phương pháp phát triển mới hoàn toàn. Nó cho phép lập trình viên phát triển về phần cứng, kỹ thuật truyền thông, tối ưu hoá, giao tiếp với Internet là những vấn đề nóng bỏng của nền công nghiệp phần mềm hiện đại. Một điều khác nữa là tránh đụng độ phần cứng khi PC chuyển từ kiến truc 16 bit sang 32 bít và hai kiến trúc này được theo dõi và phụ thuộc vào nền máy tính mà khách hàng sử dụng vào những năm tới hoặc lâu hơn nữa, khi kiến trúc 64 bit ra đời và ngày càng nhiều công ty dựa vào Internet để phân bố thông tin và các dịch vụ thì vấn đề lập trình sẽ trở nên khó khăn hơn nếu không có nền .Net. 3-So sánh ADO và ADO.NET. Để hiểu sự khác nhau giữa ADO và ADO.NET ta so sánh các đặc điểm của chúng để thấy được sự tối ưu của ADO.NET với ADO trong Visual Basic6.0.Sự khác nhau đó có thể phân định trong bảng dưới đây: Bảng so sánh ADO và ADO.NET. Đặc điểm. ADO. ADO.NET. Dữ liệu thường trú trong bộ nhớ. Sử dụng đối tượng Recordset giống như một bảng dữ liệu. Sử dụng DataSet có thể bao hàm một hay nhiều bảng hiện thực bởi đối tượng DataTable. Quan hệ (Relationship) giữa hai hay nhiều bảng. Kết nối dữ liệu giữa các bảng bằng phát biểu Join và kết quả trả về một bảng dữ liệu. Hỗ trợ đối tượng DataRelation để kết nối nhiều mẩu tin trong đối tượng DataTable này với đối tượng DataTable khác. Truy cập Dữ liệu. Duyệt mẩu tin tuần tự trên Recordset. Cho phép duyệt không tuần tự nhiều mẩu tin trên bảng dưc liệu, cho phép định hướng một số mẩu 37 tin trên bảng này và một số mẩu tin trên bảng khác. Ngắt kết nối. Đối tượng Recordset hỗ trợ bởi đối tượng Connection gọi OLE DB Provider để kết nối với cơ sở dữ liệu. Để kết nối cơ sở dữ liệu Visual Basic.NET sử dụng đối tượng DataSetCommand. Lập trình Sử dụng đối tượng Connection để thực hiện chuyển giao câu lệnh. Sử dụng đặc tính của XML, tự mô tả dữ liệu, đọc và ghi dữ liệu dễ dàng. Chia sẻ dữ liệu giữa các tầng hay phần sau khi ngắt kết nối. Dùng COM để sắp xếp và chuyển giao dữ liệu(COM chuẩn). Chuyển giao DataSet với tập tinXML. Chuyển giao dữ liệu qua Firewall. Firewall là cấu hình ngăn ngừa yêu cầu của người dùng ở mức hệ thống như đối tượng COM hay Banary. Không có vấn đề trở ngại, vì đối tượng DataSet của ADO.NET dử dụng tập tin dạng văn bản XML có thể truyền qua Fierwall. Hiệu lực Cơ sở dỡ liệu khoá, Cơ sở dỡ liệu kết nối trong thời gian dài. Ngắt kết nối cơ sở dữ liệu. Một sự khác biệt thứ hai xuất phát từ đối tượng connection trong ADO và ADO.NET. Trong connection của ADO.NET, không có thuộc tính CursorLocation. 38 Trong ADO.NET không có khái niệm Cursor, thay vào đó đối tượng DataSet được xem như một con trỏ tĩnh và đối tượng DataReader như một con trỏ ADO chỉ đọc. Trong thực tế ADO.NET không hỗ trợ cursor trên phía Server, đó là một ngoại lệ, tuy nhiên đối tượng DataReader dử dụng để đọc từng mẩu tin, nhưng để xử lý trên Server thì ADO vẫn còn khả dụng. Một ứng dụng có thể thiết lập một tập kết quả ngay trong quản trị xử lý ứng dụng (Client Side) hay trên nguồn dữ liệu phía máy chủ (Server side). Cursor trên Client side được hỗ trợ bởi đối tượng DataReader của ADO.NET. Với con trỏ này bạn nên sử dụng một cách cẩn thận, bạn không thể sử dụng cuộn hay cập nhật dữ liệu trên Server side cursor, tuy nhiên để làm điều này bạn phải sử dụng Stored Procedure để thực hiện các thao tác trên Server. 4- Các đối tượng của ADO.NET. 4.1- Đối tượng DataSet. Đối tượng DataSet là một đối tượng của ADO.NET, cung cấp cách thông thường nhất để trình bày và thao tác dữ liệu. Điều quan trọng ở đây là bạn không nên nghĩ đối tượng này như một cơ sở dữ liệu mà chúng là một đối tượng nắm bắt dữ liệu từ bất kỳ nguồn dữ liệu khác. Bạn không chỉ sử dụng đối tượng DataSet để truy vấn dữ liệu mà còn di chuyển dữ liệu bất kỳ thời điểm nào,sau đó gửi dữ liệu thông qua XML. Tập dữ liệu được định dạng XML, và cũng có thể là một đối tượng nhị phân, và có thể đọc hay ghi XML, trong thực tế là XML. Trong trường hợp phân phối dữ liệu trên mạng, vì bạn có khái niệm trình bày dữ liệu bằng XML, module Target sẽ nhận XML và sử dụng chúng 39 như cách tốt nhất để biểu diễn khối dữ liệu,tham khảo hình dưới đây,dễ dàng nhận thấy sự kết hợp giữa ADO.NET và XML trên .NET Framework (Hình 3) : ADO.NET và XML trong .NET Framework Đối tượng DataSet trong ADO.NET, được định nghĩa trong không gian tên System.Data, không gian tên này chứa đựng các lớp và phương thức với mục đích thao tác dữ liệu trong đối tượng DataSet, trong không gian tên System.Data bao gồm các đối tượng : Đối tượng Diễn giải DataSet Bộ nhớ chứa đựng dữ liệu. DataTable Dùng để truy vấn dữ liệu từ đối tượng Tables Collection cùng với đối tượng đối tượng DataTable và DataSet. DataRow Dùng để truy vấn mẩu tin từ đối tượng Rows Collection cùng với đối tượng DataRow và DataTable. Microsoft.NET Framework Web Service User Interface Data và XML ADO.NET XML .. .. Case Classes Common Language runtime 40 4.2- Đối tượng DataTable: Để ADO.NET làm việc trên cơ sở dữ liệu, bạn cần phải sử dụng một số đối tượng khác, trong đó có DataTable, để thêm một đối tượng DataTable từ nguồn dữ liệu như MS SQL Server 2000 chẳng hạn, hay tạo một DataTable trong đối tượng DataSet, bạn cần tham khảo một số thông tin của đối tượng này trong bảng sau: Đối tượng Diễn giải Coulmns Truy cập dữ liệu từ cột như tập hợp dữ liệu, trả về DataColumn Collection. Rows Truy mẩu tin trong đối tượng DataTable trả về DataRow Collection của đối tượng DataRow. ParentRelation Trả về DataRelation Collection của tất cả các quan hệ giữa các bảng Constraints Trả về DataSet của DataTable trực thuộc PrimaryKey Gán hay lấy khoá chính của bảng dữ liệu trong mảng cột của bảng 4.3- Đối tượng DataSet và XML Đối tượng DataSet có thể sử dụng bất kỳ loại dữ liệu, chế độ mở của chúng thông qua định dạng XML. Như đã trình bày ở phần trên, DataSet có khả năng đọc và ghi dữ liệu trên chính chúng và lược đồ như XML. Tuy nhiên, khả năng này cho phép bạn tạo hay cập nhật dữ liệu trên tập dữ liệu sử dụng XML, hay giải pháp XML như trong SQL Server 2000. XML là khái niệm cơ bản để trình bày dữ liệu văn bản, điều nàycũng có nghĩa bạn đã truy cập thông qua Firewall, không giống như các dữ liệu nhị phân khác (như đối tượng COM, COM+), Firewall (bức tường lửa trong hệ thống mạng Internet) có thể xem xét dữ liệu XML và nhận dạng chúng như văn bản. 41 Xuất phát từ khái niệm này, dữ liệu dạng XML có thể truyền và đi ra ngoài thông qua Firewall bằng port 80 (Port chuẩn của Internet HTML). Trong thực tế, bạn có thể kết hợp giữa XML và HTML, để có thể chuyển đổi thông qua hệ thống Internet. Đây là một cơ chế được biết dưới tên SOAP(Simple Object Access Potocol). Sau đây là bảng phương thức của đối tượng DataSet Phương thức Diễn giải ReadXML Đọc lược đồ XML và dữ liệu vào DataSet. ReadXMLSchema Đọc lược đồ XML vào DataSet. WriteXML Ghi tập tin XML từ DataSet. WriteXMLSchema Ghi lược đồ XML từ DataSet. 4.4- Đối tượng DataView Sử dụng đối tượng DataView,bạn có thể tạo ra nhiều Viewtừ các bảng dữ liệu cho trước. Chẳng hạn có bảng Employers với hai cột department và skills. Để tạo hai View khác nhau, một là department View và skills View (ý tưởng tương tự như trong View của SQL Server). Đối tượng DataView được thiết kế cho Windows Forms và ngay cả Web Form như trong bảng sau: Bảng thông tin của đối tượng DataView Thuộc tính Diễn giải Table Gán hay lấy nguồn dữ liệu từ Table cho view. Sort Nhận hay thiết lập sắp xếp dữ liệu tăng hay giảm dần. RowFilter Gán hay thiết lập biểu thức điều kiện lọc dữ liệu. RowStateFilter Gán hay nhận trạng thái của bộ lọc bao gồm các giá trị 42 enumeration như CurrentRows, Deleted, ModifiedOriginal, New, originalRows, Unchanged. 5- Visual Basic.Net một ngôn ngữ hướng đối tượng đầy đủ Nếu là một lập trình viên Visual Basic, bạn có thể nghĩ rằng hiện bạn vẫn không cần phải lập trình hướng đối tượng. Visual Basic cổ điển đã đáp ứng đủ cho những nhu cầu của bạn bạn có thể làm hầu hết những gì bạn cần chỉ với một ít kiến thức về ngôn ngữ tuy nhiên, rất nhiều lập trình viên lại cảm thấy rằng việc biến chuyển từ kiểu lập trình truyền thống sang .Net ít nhất là sẽ không phức tạp so với giai đoạn chuyển từ lập trình Dos sang Windows. Một điều mới đó là Visual Basic hoàn toàn mang tính mang tính hướng đối tượng một mô hình lập trình thế hệ mới. Khái niệm về lớp (Class) và các đối tượng Object được giới thiệu lần đầu trong phiên bản Visual Basic 4.0 và tiếp tục phát triển ở phiên bản Visual Basic 5.0, Visual Basic6.0 không may nhiều nghiên cứu cho thấy rằng trên 50% những lập trình viên Visual Basic đã xem nhẹ chúng mặc dù vậy chúng ta khó có thể bỏ qua và cách tiếp cận về lớp và đối tượng ở Visual Basic .Net được nữa. Tương tự như Java, mọi thứ trong Visual Basic .Net đều là đối tượng. Không như lập trình với những phiên bản trước của Visual Basic, lập trình với Visual Basic .Net đòi hỏi một hiểu biết không chỉ về cơ cấu mà còn về ngôn ngữ và cơ sở hạn tầng của các gói thư viện (assembly).Net kết hợp với nhau. Visual Basic của phiên bản trước đây được thiết kế đơn giản và tính toán đơn giản đã chứng minh cho sự thành công lạ thường của Visual Basic. 43 Với Visual Basic, việc tạo các ứng dụng với Button, TextBox, image rất dễ dàng Tuy nhiên các khả năng hướng đối tượng như kế thừa thì không phải là thành phần của ngôn ngữ. Visual Basic .Net loại bỏ một số tính đơn giản của Visual Basic để trở thành mạnh mẽ hơn. Visual Basic.Net cho phép phát triển kết nối hàng loạt các ngôn ngữ hướng đối tượng trong sáng khác để điều khiển tác vụ lập trình của thế kỷ 21 CHƯƠNG III PHỤ LỤC I)Một số trang giao diện chính 1)Trang chủ Trang này chủ yếu tập trung về việc đăng tải các tin tức công nghệ, kinh tế, xã hội và các sản phẩm của công ty. 44 2)Trang chi tiết sản phẩm theo nhóm Trang này tập trung vào việc giới thiệu các sản phẩm theo nhóm như Main,Cpu... 45 3)Trang nhập sản phẩm mới 46 4)Trang nhập bản tin mới 47 5)Trang dùng cho các đại lý để đặt hàng 48 6)Trang để các đại lý xem lại những mặt hàng đã đặt 49 6)Trang quản lý việc đăng các tin tức lên mạng 50 8)Trang thống kê sản phẩm 51

Các file đính kèm theo tài liệu này:

  • pdfthuongmai_dt_48_0954.pdf