Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
686,17 KB
Nội dung
BỘ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI TỔNG CỤC DẠY NGHỀ GIÁO TRÌNH Tên Mơ đun: LẬP TRÌNH MẠNG NGHỀ: QUẢN TRỊ MẠNG MÁY TÍNH TRÌNH ĐỘ: CAO ĐẲNG NGHỀ (Ban hành kèm theo Quyết định số: 120/QĐ-TCDN ngày 25 tháng 02 năm 2012 Tổng cục Trưởng Tổng cục dạy nghề) Hà Nội, Năm 2013 TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Ngày nay, mạng máy tính trở thành cơng cụ thiếu tất lĩnh vực sống Việc nắm bắt kỹ thuật qua hình thành kỹ lập trình mạng xem yêu cầu cấp thiết sinh viên chun ngành máy tính nói chung quản trị mạng nói riêng Giáo trình biên soạn nhằm giúp sinh viên làm quen với khái niệm kỹ thuật lập trình mạng để đáp ứng yêu cầu lập trình mạng Hà Nội, ngày 20 tháng năm 2013 Tham gia biên soạn Chủ biên Hồ Viết Hà Thành viên Dương Hiển Tú MỤC LỤC TUYÊN BỐ BẢN QUYỀN LỜI GIỚI THIỆU BÀI : TỔNG QUAN VỀ LẬP TRÌNH MẠNG Lịch sử phát triển Lập trình mạng Lý lập trình mạng tảng NET Phạm vi Địa IP Network stack 11 Port 12 Internet standards 13 NET framework 13 8.1 Thành phần NET Framework 13 8.2 Những đặc điểm NET Framework 15 Visual Studio NET 17 9.1 Phiên Visual Studio NET 2008 17 9.2 Làm việc với Visual Studio NET 2008 19 9.3 Các loại ứng dụng dùng C# 21 9.4 Cấu trúc chương trình C# 22 9.5 Cấu trúc thư mục ứng dụng 24 BÀI : VẤN ĐỀ I/O TRONG NET 26 Giới thiệu không gian tên IO 26 Streams 26 2.1 Mã hóa liệu 26 2.2 Sử dụng StreamReader để đọc tập tin Text 30 BÀI : LÀM VIỆC VỚI SOCKETS 41 Giới thiệu socket lập trình mạng 41 1.1 Định nghĩa 41 1.2 Số hiệu cổng (Port Number) socket 42 1.3 Các chế độ giao tiếp 43 Tạo ứng dụng đơn giản “hello world” 44 2.1 Viết dạng đơn giản UDP client 44 2.2 Viết dạng đơn giản UDP server 45 Dùng giao thức TCP/IP để chuyển files 46 Gỡ rối lập trình mạng 49 Mức Socket NET 50 BÀI : KẾT NỐI VỚI WEB SERVER 61 Giới thiệu HTTP 61 HTTP 62 2.1 Yêu cầu HTTP 62 2.2 Đáp ứng HTTP 64 2.3 Kiểu MIME 65 2.4 Không gian tên System.Web 65 2.5 Chuyển liệu (Posting data) 68 2.6 Chú ý làm việc với cookies 69 2.7 A WYSIWYG editor 69 Máy chủ Web (Web servers) 71 Làm việc với lớp System.Net.HttpWebListener 74 Trình duyệt Web di động (Mobile Web browsers) 74 BÀI : TRUYỀN THÔNG VỚI EMAIL SERVERS 76 Phương thức gởi nhận Email 76 SMTP 78 POP3 83 Làm việc với lớp System.Web.Mail 84 Xây dựng ứng dụng Mail 84 BÀI : TRUYỀN THÔNG VỚI FILE SERVER 87 Tổng quan File server truyền File 87 1.1 Chia sẻ File Microsoft 87 1.2 Chia sẻ File Netware 88 Truyền File 88 2.1.Cách thức dùng cổng FTP 88 2.2 Bắt tay truyền File 89 2.3 Truyền thông qua thư mục 90 2.4.Tham khảo lệnh FTP 92 2.5 Công cụ FTP 100 2.6 Công cụ FTP với điều khiển Internet 103 2.7 Một vài công cụ thực tế FTP 104 2.8 FTP hỗ trợ NET 2.0 108 BÀI : AN NINH MẠNG (FIREWALLS, PROXY SERVERS, AND ROUTERS) 110 Tổng quan bảo vệ mạng 110 1.1 Giới thiệu An ninh mạng 110 1.2 Xây dựng mạng lưới an ninh từ đầu 110 Tunneling mạng doanh nghiệp 113 Tránh cạm bẫy mạng 114 YÊU CẦU VỀ ĐÁNH GIÁ KẾT QUẢ HỌC TẬP 119 TÀI LIỆU THAM KHẢO 120 MƠ ĐUN LẬP TRÌNH MẠNG Mã mơ đun : MĐ35 Vị trí, tính chất, ý nghĩa vai trị Mơđun - Vị trí: Mơ đun bố trí vào năm thứ học kì II khóa học - Tính chất: Mơ đun chun mơn nghề tự chọn - Ý nghĩa vai trò : Đây mô đun chuyên môn nghề cung cấp cho sinh viên kỹ lập trình mạng, xây dựng sản phẩm phần mềm để phục vụ công việc quản trị mạng Mục tiêu mô đun - Trình bày nguyên lý lập trình mạng, chế hoạt động chương trình thơng qua Giao thức, hàm truy xuất - Mơ tả mơ hình mạng, Giao thức truy cập thơng qua chương trình cài đặt - Sử dụng thành thạo công cụ lập trình Windows Java để lập trình - Xây dựng ứng dụng mạng : dịch vụ, hệ thống, liệu để bảo vệ hệ thống, giám sát hệ thống, truy vấn liệu… - Bố trí làm việc khoa học đảm bảo an toàn cho người phương tiện học tập Nội dung môn học Số TT Thời gian Tổng Lý Thực Kiểm số thuyết hành Tra* 10 5 10 17 12 13 16 10 13 Tên mơ đun Tổng quan lập trình mạng Vấn đề I/O NET Làm việc với Sockets Truyền thông với Web Servers Truyền thông với Mail Servers Truyền thông với File server Bảo mật mạng :Firewalls, Servers, and Routers Cộng Proxy 11 90 30 56 BÀI 1: TỔNG QUAN VỀ LẬP TRÌNH MẠNG Mã : MĐ35.01 Giới thiệu: Trình bày vấn đề tổng qt liên quan đến lập trình mạng ngơn ngữ sử dụng trình lập trình ứng dụng thực thi hệ thống mạng Hướng dẫn mơi trường lập trình NET Framwork Mục tiêu : - Trình bày vấn đề điều hành mạng lập trình mạng: Vấn đề truyền thơng tin, địa IP, Giao thức, tầng liên lạc tính phân cấp giao thức, thơng điệp - Trình bày thành phần mơi trường NET Framwork - Thực câu lệnh Visual Studio NET - Thực thao tác an tồn với máy tính Lịch sử phát triển Lập trình mạng Mục tiêu : Trình bày cấu trúc lịch sử phát triển kỹ thuật lập trình mạng Cuốn sách giúp bạn phát triển ứng dụng mạng với NET, cách sử dụng C (phát âm C-sharp) ngôn ngữ lập trình VB.NET Nó chia thành ba phần riêng biệt: vấn đề kết nối mạng, thiết kế ứng dụng phân tán, chủ đề mạng chuyên ngành Sáu chương sách bao gồm công nghệ Internet thành lập, chẳng hạn email World Wide Web Tận dụng công nghệ thành lập cho phép truy cập cơng cộng nói chung lớn cho dịch vụ phần mềm bạn hầu hết người dùng có trình duyệt web ứng dụng email máy tính họ thảo luận thiết kế ứng dụng mạng Điều bao gồm bảo mật ứng dụng, hiệu suất, khả mở rộng Chứa chương thực tế, thực hành lời khuyên để giúp nâng cao chất lượng tổng thể phần mềm bạn Với bảo mật khó khăn hơn, ứng dụng bạn nhạy cảm với hành vi trộm cắp sở hữu trí tuệ thơng tin đặc quyền Cải tiến hiệu suất khả mở rộng mô tả phần đảm bảo ứng dụng bạn đáp ứng tải cực đoan Các mạng phần chuyên đề cung cấp vơ số thơng tin hai thích hợp công nghệ Internet tiên tiến Chúng bao gồm chương điện thoại, chụp gói, hàng đợi tin nhắn, IPv6, dịch vụ Microsoft lĩnh vực phát triển ứng dụng phân tán: dịch vụ Web truy cập từ xa Lý lập trình mạng tảng NET Mục tiêu : Trình bày lý lập trình mạng mơi trường NET Một định kỹ thuật thực dự án thực ngôn ngữ để sử dụng NET tảng có khả để phát triển giải pháp, cung cấp hỗ trợ đáng kể cho lập trình mạng Trong thực tế, NET có hỗ trợ nội cho mạng so với tảng khác phát triển Microsoft Cuốn sách giả định bạn định để phát triển với NET, ngơn ngữ bên ngồi tảng NET khơng thảo luận chi tiết tuyệt vời, ngoại trừ cho mục đích so sánh Điều khơng phải để nói NET được-tất cuối tất ứng dụng lập trình mạng Nếu ứng dụng bạn chạy sở hạ tầng UNIX giao tiếp thông qua Java gọi phương thức từ xa (RMI), sau NET khơng phải đường để Trong hầu hết trường hợp, nhiên, bạn tìm thấy điều NET nhiều khả xử lý điều bạn ném vào Phạm vi Mục tiêu: Phân tích phần mềm ứng dụng lập trình mạng, ngun tắc làm việc phần mềm Một chương trình mạng ứng dụng mà sử dụng mạng máy tính để chuyển thơng tin đến từ ứng dụng khác Ví dụ từ trình duyệt web phổ biến Internet Explorer, chương trình mà bạn sử dụng để nhận email bạn, phần mềm điều khiển tàu vũ trụ NASA Tất thành phần chia sẻ phần mềm khả giao tiếp với máy tính khác, làm vậy, trở nên hữu ích cho người sử dụng cuối Trong trường hợp trình duyệt, tất trang web bạn truy cập tập tin lưu trữ máy tính nơi khác Internet Với chương trình email bạn, bạn giao tiếp với máy tính nhà cung cấp dịch vụ Internet (ISP) bạn trao đổi email công ty tổ chức email bạn cho bạn Cuốn sách chủ yếu quan tâm đến việc tạo chương trình mạng, khơng Web trang web Mặc dù khả trang web chương trình mạng cách nhanh chóng hội tụ, quan trọng để hiểu đối số hệ thống Một dịch vụ truy cập thơng qua trang web truy cập để người sử dụng nhiều tảng khác nhau, toàn kiến trúc mạng sẵn sàng xây dựng cho bạn, nhiên, có điểm mà tính đơn giản không khả thi để thực cách sử dụng trang web mà bạn có chuyển sang mạng ứng dụng Người dùng thường tin tưởng ứng dụng mạng, đó, chương trình có quyền kiểm sốt lớn máy tính mà họ chạy trang web máy tính xem Điều làm cho cho ứng dụng mạng để quản lý tập tin máy tính địa phương, trang web, cho tất mục đích thực tế, làm điều Quan trọng hơn, từ góc độ kết nối mạng, ứng dụng có quyền kiểm soát lớn làm giao tiếp với máy tính khác Internet Có ngoại lệ cho quy tắc này, thực thi nội dung (chẳng hạn điều khiển ActiveX) bao gồm trang Trong trường hợp này, trang khả tất thứ làm chương trình mạng, hầu hết trình duyệt phần mềm chống virus cảnh báo chống lại phủ nhận nội dung thực thi Vì vậy, kịch thường chấp nhận khơng khả thi lịng tin cơng cộng Để đưa ví dụ đơn giản, trang web khơng làm cho máy tính xem mở kết nối mạng liên tục cho máy tính khác (ngoại trừ máy tính mà từ trang web phục vụ) Điều áp dụng trang web có chứa nội dung nhúng applet Java phim Flash Có ngoại lệ cho quy tắc này, thực thi nội dung (chẳng hạn điều khiển ActiveX) bao gồm trang Trong trường hợp này, trang khả tất thứ làm chương trình mạng, hầu hết trình duyệt phần mềm chống virus cảnh báo chống lại phủ nhận nội dung thực thi Vì vậy, kịch thường chấp nhận khơng khả thi lịng tin cơng cộng Địa IP Mục tiêu: Trình bày nguyên lý địa IP, nhân dạng địa IP với lớp khác nhau, Phân tích IP cụ thể Phân giải tên miền tương ứng với IP ngược lại Mỗi máy tính kết nối trực tiếp với Internet phải có địa toàn cầu IP Một địa IP số có bốn byte, mà thường viết bốn thập phân, số thời gian cách nhau, chẳng hạn 192.168.0.1 Máy tính kết nối gián tiếp với Internet, chẳng hạn thông qua mạng công ty họ, có địa IP, chúng khơng cần phải tồn cầu nhất, có mạng Để tìm địa IP máy tính bạn, mở cửa sổ giao diện điều khiển hệ điều hành DOS loại ipconfig (Windows NT, 2000, and XP) winipcfg (Windows 95, 98, ME) Trong hình, 1.1 máy tính có hai địa IP: 192.618.0.1 81.98.59.133 Điều khơng bình thường máy tính đặc biệt có chứa hai card mạng kết nối với hai mạng khác Chỉ có địa IP truy cập công khai Nếu bạn nhận địa IP 127.0.0.1, máy tính bạn khơng kết nối với mạng Địa IP ln ln đề cập đến máy tính địa phương sử dụng ví dụ sau Trong cách mà bạn nói cho dù số điện thoại địa phương quốc tế cách nhìn vào tiền tố, bạn cho biết liệu máy tính với địa IP mạng khu vực địa phương nơi khác Internet cách nhìn chặt chẽ địa IP Trong trường hợp địa IP, họ luôn độ dài, tiền tố định (192,168 phổ biến nhất) máy tính mạng lưới khu vực địa phương, mạng nội bộ, truy cập vào giới bên Nếu bạn chia sẻ kết nối Internet bạn với máy tính khác mạng bạn, bạn có địa IP riêng Đây cơng nhận phạm vi địa IP liệt kê Bảng 1.1 Dãy địa Số lượng địa 10.0.0.0 đến 10.255.255.255 Tên 16 tỉ máy tính (lớp A) 172.16.0.0 đến 172.31.255.255 900.000 máy tính (lớp B) 192.168.0.0 đến 192.168.255.255 65.000 máy tính (lớp C) Bảng 1.1 : Bảng liệt kê địa máy tính Cùng địa IP riêng tồn hai máy tính mạng khu vực khác cục (LAN) Điều không gây vấn đề khơng phải máy tính trực tiếp liên lạc với Trong đó, máy tính giải tư nhân bắt đầu yêu cầu thông tin từ máy tính nước ngồi, khơng có máy tính nước ngồi bắt đầu u cầu thơng tin từ máy tính cá nhân giải Các trường hợp ngoại lệ cho quy tắc nơi network address translation (NAT) cổng chuyển tiếp thiết lập router nằm thượng nguồn máy tính tư nhân giải Đây nơi mà yêu cầu từ máy móc nước ngồi dành cho địa IP router chuyển tiếp đến com-puter định phía sau router Câu trả lời từ máy tính chuyển tiếp từ phía sau router máy nước ngồi bắt đầu yêu cầu Những lợi ích kiến trúc an ninh khả cân tải, mô tả chi tiết chương sau Tất máy tính có địa IP riêng phải kết nối với máy tính router mạng với địa IP công cộng truy cập Internet Để đảm bảo khơng có hai máy tính Internet có địa IP, có quan quản lý trung ương gọi Internet Assigned Numbers Authority (IANA), gần Tổng công ty Internet cho tên miền số (ICANN ) Cơ thể hoạt động thông qua nhà cung cấp dịch vụ Internet để gán địa IP công cộng cho tổ chức cá nhân Mặc dù phân bổ địa IP thời điểm, nhiều phổ biến phân bổ địa IP khối tiếp giáp Tiếp giáp khối có ba lớp học: A, B, C Class A địa khối địa IP với byte Class A 16 triệu địa IP kích thước Địa lớp B khối địa IP với byte thứ hai Lớp B giữ 65.024 địa IP công cộng 216 phạm vi byte đầy đủ khơng có byte cuối địa IP 255 chúng dành riêng để sử dụng tương lai Địa lớp C khối địa IP với byte đầu tiên, thứ hai, thứ ba Class C nắm giữ 254 địa công cộng, địa lớp C thường xun giao cho cơng ty Một máy tính khơng phải lúc có địa IP Nó có địa IP từ máy chủ ISP động điều khiển máy chủ bạn (DHCP) giao thức Điều có nghĩa địa IP bạn thay đổi bạn trực tuyến Một địa IP gọi địa IP động Nếu bạn mạng nội bộ, bạn kiểm tra xem địa IP bạn chịu trách nhiệm thay đổi cách kiểm tra "có địa IP tự động" nút radio thuộc tính TCP / IP, theo mạng bảng điều khiển Mục đích DHCP có số lượng hạn chế IP địa có sẵn cho ISP, phân bổ thuê bao với IP địa từ hồ bơi sở đến trước phục vụ trước Địa IP số 32-bit, với giá trị tối đa khoảng tỷ đồng, số lượng máy tính giới nhanh chóng tiếp cận số IPv6 giải pháp cho vấn đề thảo luận chương sau Có định danh xây dựng vào tất card mạng mà thực thay đổi Điều gọi phần cứng, truy cập địa kiểm soát phương tiện truyền thông (MAC) Một địa mẫu MAC 00-02-E3-15-59-6C sử dụng mạng nội để xác định máy tính họ đăng nhập vào mạng Một hệ thống gọi giao thức phân giải địa (ARP) sử dụng để kết hợp địa MAC với địa IP Network stack Mục tiêu: Giải thích mơ hình mạng (OSI) Trình bày ngun lý làm việc mơ hình mạng Các tín hiệu kỹ thuật số mà dò đường máy tính Internet vơ phức tạp Nếu khơng có khái niệm đóng gói, lập trình nhanh chóng trở thành sa lầy với chi tiết không đáng kể Kỹ thuật sử dụng sống hàng ngày, nơi bạn yêu cầu tài xế taxi để đưa bạn đến trung tâm thành phố Đó trách nhiệm lái xe taxi để tìm đường nhanh để vận hành xe Ở mức thấp lần nữa, xe nhà sản xuất chịu trách nhiệm đảm bảo xăng có mặt động piston máy gia tốc chán nản Đóng gói chi tiết phức tạp nhiệm vụ ẩn,và lập trình viên cần tập trung vào xảy mức độ cao Các kết nối hệ thống mở (OSI) mơ hình mạng ngăn xếp có bảy lớp đóng gói, thể Bảng 1.2 Trong lập trình đại, nhiên, mạng ngăn xếp trông giống Bảng 1.3 lớp quan trọng cho lập trình viên lớp cao điều đủ khả dễ dàng sử dụng phù hợp với hầu hết ứng dụng Khi bạn xuống ngăn xếp, thực trở nên khó khăn hơn, linh hoạt Lớp Tên lớp Giao thức Level Application layer FTP Level Presentation layer XNS Level Session layer RPC Level Transport layer TCP Level Network layer IP Level Data-Link layer Ethernet Frames Level Physical layer Voltages Bảng 1.2 : lớp truyền thống Lớp Level Level Level Level Tên lớp Giao thức Structured Information layer SOAP Messaging layer HTTP Stream layer TCP Packet layer IP Bảng 1.3: Các lớp đại Cuốn sách bao gồm lớp ứng dụng chủ yếu, đảm bảo đưa cho tất lớp khác nhau, không bao gồm lớp vật lý, mà áp dụng cho kỹ sư điện tử Trong lập trình mạng, bạn thường khơng cần phải quan tâm với cách thức thơng tin truyền hai máy tính, với bạn muốn gửi Chi tiết tốt đặt cấp thấp kiểm soát hoạt động máy tính hệ thống Port Mục tiêu: Giải thích ngun tắc làm việc thơng qua cổng Trình bày số hiệu cơng dụng cổng giao thức mạng Nếu bạn muốn trình duyệt Web nhận email lúc, máy tính bạn cần phải định bit lưu lượng truy cập mạng email trang web Để biết khác biệt, tất mảnh liệu mạng gắn thẻ với cổng số: 80 cho trang Web, 110 cho email gửi đến Thông tin chứa trong hai giao thức điều khiển ransmission (TCP) User Datagram Protocol (UDP) tiêu đề sau header IP Bảng 1.4 liệt kê giao thức phổ biến liên kết số cổng Số hiệu cổng Quá trình hệ thống Dịch vụ Echo 21 Dịch vụ FTP 23 Dịch vụ Telnet 25 Dịch vụ E-mail (SMTP) 80 Dịch vụ Web (HTTP) 110 Dịch vụ E-mail (POP) Bảng 1.4 liệt kê giao thức phổ biến liên kết số cổng Qui định : - Khơng có hai ứng dụng lại dùng Port - Các Port từ -> 1023 : Dùng cho ứng dụng quan trọng hệ điều hành - Các Port từ 1024 -> 49151 : Dành cho người lập trình - Các Port từ 49152 -> 65535 :Dự trữ Internet standards Mục tiêu : trình bày chuẩn Internet Chỉ có tập đồn lớn trở thành thành viên W3C W3C chịu trách nhiệm ngôn ngữ đánh dấu siêu văn (HTML), cascading style sheets (CSS), ngôn ngữ đánh dấu mở rộng (XML) Khi phát triển ứng dụng mạng, điều quan trọng không để tái tạo lại bánh xe không tạo ứng dụng khơng cần thiết khơng tương thích với ứng dụng khác thể loại Cuốn sách thường đề cập đến tài liệu tiêu chuẩn, đó, đáng giá biết nơi để tìm thấy chúng Một gương sáng động HTML, thực khác Internet Explorer Netscape Navigator Điều có nghĩa hầu hết trang web sử dụng HTML động không hoạt động tất trình duyệt Vì vậy, nhà phát triển Web tránh di chuyển phía cơng nghệ qua trình duyệt, chẳng hạn Macromedia Flash Java Applet Lý cho sụp đổ thiếu tiêu chuẩn hóa Hai tổ chức chịu trách nhiệm để điều tiết Internet tiêu chuẩn: Internet Engineering Task Force (IETF) World Wide Web Consortium (W3C) IETF tổ chức phi lợi nhuận, quy định giao thức Internet Bất gửi giao thức để họ cơng bố cơng khai yêu cầu cho ý kiến (RFC) trang web họ www.ietf.org / rfc.html Bảng 1.5 liệt kê số tài liệu quan trọng RFC W3C (www.w3c.org) thiết kế để tạo thuận lợi cho khả tương tác tiêu chuẩn số nhà cung cấp Chỉ có tập đồn lớn trở thành thành viên W3C W3C chịu trách nhiệm ngôn ngữ đánh dấu siêu văn (HTML), cascading style sheets (CSS), ngôn ngữ đánh dấu mở rộng (XML) NET framework Mục tiêu: Liệt kê thành phần NET Framwork, Giải thích cơng dụng thành phần, lập trình tập nhỏ mơi trường NET Framwork thơng qua lập trình biên dịch dùng CLR .NET Framework hạ tầng chuẩn hoá, độc lập ngơn ngữ lập trình, cho phép người lập trình xây dựng, tích hợp, biên dịch, triển khai, chạy dịch vụ Web, XML, tiện ích hay thực thi chương trình đa cấu trúc (phát triển ngơn ngữ lập trình hỗ trợ NET) hệ điều hành có cài đặt NET Framework 8.1 Thành phần NET Framework NET Framework bao gồm phần Common Language Runtime (CLR) NET Framework Class Library (FCL) CLR thành phần NET Framework, quản lý mã (code) thực thi chương trình, quản lý tiến trình, quản lý tiểu trình (Threading), quản lý nhớ, cung cấp dịch vụ để biên dịch, tích hợp tác vụ truy cập từ xa (Remoting) FCL bao gồm tất dịch vụ giao tiếp người sử dụng, điều khiển, truy cập liệu, XML, Threading, bảo mật Tóm lại, CLR xem máy ảo NET (.NET Virtual Machine), kiểm sốt, nạp thực thi chương trình NET Trong đó, FCL cung cấp lớp, giao tiếp kiểu giá trị, phương thức truy cập chức hệ thống như: Microsoft.Csharp, Microsoft.Jscript, Microsoft.VisualBasic, Microsoft.Vsa, Microsoft.Win32, System (cùng với không gian tên không gian tên System) Microsoft.Csharp : cung cấp lớp hỗ trợ biên dịch phát sinh mã sử dụng ngơn ngữ lập trình C# Microsoft.Jscript : cung cấp lớp hỗ trợ biên dịch phát sinh mã sử dụng ngơn ngữ lập trình J# Microsoft.VisualBasic : cung cấp lớp hỗ trợ biên dịch phát sinh mã sử dụng ngôn ngữ lập trình VisualBasic Microsoft.Vsa : cung cấp gia tiếp cho phép tích hợp với kịch NET Framework vào ứng dụng biên dịch hay thực thi Microsoft.Win32: cung cấp hai lớp giao tiếp trực tiếp với tài nguyên hệ điều hành System Registry System: bao gồm lớp sở dùng để định nghĩa giá trị, tham chiếu, biên cố, giao tiếp, thuộc tính kiểm sốt ngoại lệ Ngồi ra, số lớp khác cung cấp dịch vụ chuyển đổi kiểu liệu, tham số, tính tốn, xử lý truy cập từ xa Trong đó, Code bao gồm hai loại : Manage Code: bao gồm chương trình tạo từ ngơn ngữ lập trình có hỗ trợ NET, chẳng hạn, sử dụng ngôn ngữ lập trình C# để phát triển chương trình ứng dụng A, sau biên dịch chúng tập tin thi hành (.EXE), tập tin EXE đựoc gọi Manage Code môi trường NET Unmanage Code : chương trình tạo từ ngơn ngữ lập trình ngồi NET Ví dụ, sử dụng ngơn ngữ lập trình Visual Basic 6.0 để khai báo lớp (Class) có tên B, biên dịch chúng tập tin thư viên (.DLL), tập tin DLL gọi Unmanage Code tham chiếu chúng môi trường NET Như vậy, NET Framework cịn gọi mơi trường tương tác với hệ điều hành cho ứng dụng minh hoạ hình sau : Hình 1.1: Mơ tả thành phần NET Framework 8.2 Những đặc điểm NET Framework NET Framework bao gồm đặc điểm : CRL, FCL, Cơmmn Type System (kiểu dư liệu thông dụng, Metadata and Selff Descring Component phần Siêu liệu tự đặc tả thành phần) Cross-Language Interopenrability (trao đổi sử dụng), Assemblies (đơn vị phân phối), Application Domains (miền ứng dụng) Runtime Host (trung tâm thi hành) CLR : CLR môi trường thi hành, nơi cung cấp dịch vụ để thực thi, quản lý nhớ, tiểu trình cho ứng dụng hỗ trợ NET o Quản lý trình thực thi: để quản lý trình thực thi trình, CLR thực qua bước sau: chọn chương trình biên dịch tương ứng với ngơn ngữ lập trình, biên dịch ứng dụng sang tập tin MSIL (trình bày chi tiết phần biên dịch thực thi ứng dụng), biên dịch từ mã định dạng MSIL sang mã máy trình JIT ( Just-In-Time) rối sau CLR cung cấp sở hạ tầng để thi hành chương trình o Quản lý nhớ: tự quản lý nhớ dịch vụ mà CLR cung cấp trình thực thi chương trình Trình thu gom ( Garbage Collector) quản lý nhớ cấp cho tiến trình sau tự động thu lại chương trình kết thúc ( tìm hiểu chi tiết Garbage Collector sách “ lập trình hướng đối tượng” phát hành) FCL: Bao gồm thư viện lớp sở cho phép bạn sử dụng để thực tác vụ liên quan đến giao diện, Internet, sở liệu, hệ điều hành,… Common Type System (CTS): CTS đưa quy tắc cho phép bạn khai báo, sử dụng quản lý kiểu liệu trình thi hành Ngồi ra, CTS cịn cung cấp tiêu chuẩn cho phép phát hành tương tác ngôn ngữ lập trình với Tóm lại, CTS thực chức sau: o Thiết lập khung cho phép tương tác ngơn ngữ, mã an tồn(safe code), tối ưu hóa xử lý o Cung cấp mơ hình hướng đối tượng nhằm hỗ trợ trình cài đặt đa ngôn ngữ ứng dụng o Định nghĩa quy tắc mà ngơn ngữ lập trình phải tn theo hỗ trợ tính chuyển đổi bảo đảm đối tượng tạo từ ngơn ngữ tương tác với ngôn ngữ khác Metadata and Self-Descrinbing Components (MSDC): phiên trước đây, ứng dụng tạo ngơn ngữ lập trình biên dịch tập tin EXE hay DLL khó khăn sử dụng chúng với ứng dụng viết ngơn ngữ lập trình khác Ví dụ COM điển hình Tuy nhiên, NET framework cung cấp giải pháp chuyển đổi cho phép khai báo thông tin cho module Assembly ( EXE hay DLL) Những thơng tin gọi siêu liệu mô tả Cross Language Interoperability (CLI): CLR hỗ trợ tiến trình trao đổi sử dụng ngơn ngữ với nhau.Tuy nhiên, hỗ trợ không bảo đảm mã bạn viết dùng lập trình viên sử dụng ngơn ngữ lập trình khác Assemblies: tập hợp kiểu liệu tài nguyên đóng gói dạng đơn vị chức Ngồi ra, assemblies đơn vị chủ yếu dùng để triển khai, điều khiển phiên bản, thành phần sử dụng lại, chẳng hạn tập tin EXE hay DLL Applicatin Domains: miền ứng dụng cho CLR quản lý nhằm cách ly nhiều ứng dụng thi hành máy tính cụ thể: o Mỗi ứng dụng nạp vào tiến trình(Process) tách biệt mà không ảnh hưởng đến ứng dụng khác Với kỹ thuật kiểu mã an toàn Application Domains bảo đảm đoạn mã chạy miền ứng dụng độc lập với tiến trình ứng dụng khác máy o Khi tạm dừng thành phần khơng dừng tồn tiến trình Đối với trường hợp Application Domains cho phép bạn loại bỏ đoạn mã chạy ứng dụng đơn o Application Domains cho phép bạn cấu hình, định vị, cấp quyền hay hạn chế quyền sử dụng tài nguyên thi hành o Ngoài ra, cách ly cho phép CLR ngăn cấm truy cậptruwcj tiếp đối tượng ứng dụng khác Runtime Hosts: trung tâm thi hành cho phép nạp ứng dụng vào tiến trình, CLR hỗ trợ cho phép nhiều loại ứng dụng khác chạy tiến trình o Mỗi loại ứng dụng cần đoạn mã để khởi động gọi Runtime hosts o Runtime Hosts nạp kênh thi hành vào tiến trình tạo Application Domains rịi thi hành ứng dụng vào miền ứng dụng Visual Studio NET Mục tiêu: Trình bày cơng dụng, phân loại kể tên ứng dụng lập trình ngôn ngữ Visual Studio NET Vận dụng tốt môi trường ngơn ngữ lập trình C# (IDE) để thực tập theo yêu cầu Microsoft Visual Studio tập cơng cụ hồn chỉnh dùng để xây dựng ứng dụng Web (ASP.NET Web Applications), dịch vụ XML, ứng dụng để bàn (Desktop application), ứng dụng hình với bàn phím (Console Applications) ứng dụng điện thoại di động (Mobile Applications) Các ngơn ngữ lập trình dùng Microsoft Visual studio để phát triển ứng dụng Visual basic, Visual C++, Visual C# Visual J# Cả ngôn ngữ lập trình sử dụng chung IDE (Integrated Development Environment), nơi cho phép chia sẻ tiện ích cơng cụ nhằm tạo nên giải pháp tích hợp Nếu làm việc với phiên Visual Studio 6.0, ngơn ngữ lập trình (C++, Visual Basic, J++, Fox Pro) có riêng IDE tương ứng Ngoài ra, để phát triển ứng dụng ASP, ta phải sử dụng Visual Studio InterDev 9.1 Phiên Visual Studio NET 2008 Visual Studio NET 2008 có phiên thức là: Express Products (Visual Studio Express Edition), Visual Studio Standard Edition, Visual Studio Professional Edition, Visual Studio Tools for Office Visual Studio Team System 9.1.1 Visual Studio Express Edition Đây phiên đơn giản, dễ học, dễ sử dụng dùng cho người tự học, chưa có kinh nghiệm lập trình bạn sinh viên bước đầu làm quen với Visual Studio NET 2008 Nếu sử dụng phiên này, bạn cần nhớ khoảng 35MB đến &70MB, miễn phí năm Hơn nữa, có phiên Microsoft SQL Server Express miễn phí hồn tồn, cung cấp chức dùng để làm việc với sở liệu Microsoft SQL Server Express 2008 từ cửa sổ Visual Studio NET 2008 Tương tự Visual Studio Express Edition cung cấp phiên Visual Basic 2008 Express Edition, Visual C# 2008 Express Edition, Visual C++ 2008 Express Edition Visual J# 2008 Express Edition ứng với ngơn ngữ là: Visual Basic, C#, C++ J# Trong trường hợp phát triển ứng dụng Web, sử dụng Visual Web Developer 2008 Express để nhanh chóng tạo trang ASP NET công cụ trực quan 9.1.2 Visual Studio Standard Edition Trong phiên Visual Studio Express có tính đơn giản, dễ sử dụng miễn phí năm phiên Visual Studio Standard Edition thiết kế tồn diện với chi phí vừa phải Được sử dụng cho lập trình viên chuyên nghiệp làm việc đơn lẽ với ứng dụng chạy nhanh, tối ưu, ứng dụng đa tầng Windows, ứng dụng Web hay ứng dụng chạy thiết bị cầm tay Với đặc điểm vậy, phiên công cụ hỗ trợ bốn ngơn ngữ lập trình, thường dùng cho nhà lập trình viên làm việc ngồi hay cơng việc khơng thường xuyên Tương tự phiên khác Visual Studio NET 2008, Visual Studio Standard Edition cung cấp giao diện trực quan cho phép bạn thiết lập giao diện cho loại ứng dụng việc kéo thả (drag and drop), xây dựng triển khai ứng dụng theo mơ hình khách-chủ (client-server), cơng cụ để thiết kế sở liệu 9.1.3 Visual Studio Professional Edition Nếu Visual Studio Standard Edition dùng cho cá nhân phát triển ứng dụng Visual Studio Professional Edition bao gồm công cụ giao diện trực quan cho phép bạn thiết lập giao diện cho loại ứng dụng việc kéo thả (drag and drop) Visual Studio Professional Edition sử dụng cho cá nhân hay nhóm lập trình nhỏ xây dựng triển khai ứng dụng theo mơ hình khách chủ (client-server), thiết kế sở liệu, ứng dụng đa tầng Windows, ứng dụng Web hay ứng dụng chạy thiết bị cầm tay 9.1.4 Visual Studio Team System Đây cơng cụ theo hướng mở rộng tích hợp, dùng cho công ty phát triển phần mềm hay nhóm lập trình viên làm việc xun quốc gia Sử dụng phiên Visual Studio Team System cho phép nhóm lập trình giảm độ phức tạp, tăng tính giao tiếp hợp tác q trình phát triển phần mềm Visual Studio Team System khung (Microsoft Solutions Framework) gọi MSF MSF cung cấp tập tối ưu hóa tính uyển chuyển quy tắc tích hợp áp dụng cho giai đoạn phát triển triển khai phần mềm Tùy vào công đoạn q trình xây dựng triển khai phần mềm, sử dụng công cụ thuộc Visual Studio Team System sau: Visual Studio 2008 Team Suite,Visual Studio 2008 Team Edition for Software Architects, Visual Studio 2008 Team Edition for Software Developers, Visual Studio 2008 Team Edition for Software Testers, Visual Studio 2008 Team Foundation Server Visual Studio 2008 Team Test Load Agent Bộ Visual Studio 2008 Team Suite Visual Studio 2008 Team Suite cơng cụ tích hợp, hiệu suất cao cho phép nhóm lập trình viên giao tiếp kết hợp tốt trình phát triển phần mềm Với tổ chức Visual Studio 2008 Team Suite,bạn dự đốn trước chất lượng tổ chức trình phát triển ứng dụng Bộ Visual Studio 2008 Team Edition for Software Architects: Team Edition for Software Architects cung cấp công cụ trực quan dùng để xây dựng giải pháp dùng cho việc thiết kế ứng dụng hay triển khai chúng nhanh hiệu Bộ Visual Studio 2008 Team Edition for Software Developers: Team Edition for Software Developers cung cấp công cụ phát triển ứng dụng cho phép nhóm lập trình tương tác, phối hợp chia sẻ chu trình phát triển ứng dụng Bộ Visual Studio 2008 Team Edition for Software Testers: Team Edition for Software Testers giới thiệu tập công cụ dùng để kiểm tra, đánh giá sản phẩm phần mềm tích hợp với mơi trường Visual Studio Bộ công cụ cho phép người kiểm tra chất lượng sản phẩm phần mềm thông báo đến tác giả hay nhà quản lý công việc liên quan Bộ Visual Studio 2008 Team Foundation Server: Team Foundation Server mạnh trình hợp tác Visual Studio Team System Khi kết hợp với Visual Studio Team System, Team Foundation Server cho phép bạn quản lý theo dõi trình thực dự án Bộ Visual Studio 2008 Team Test Load Agent: Team Test Load Agent tạo tiến trình kiểm tra bổ sung sử dụng với Visual Studio 2008 Team Edition for Software Testers, cho phép bạn tổ chức mô hay nhiều người sử dụng để kiểm tra chất lượng sử dụng ứng dụng 9.2 Làm việc với Visual Studio NET 2008 Từ Visual studio NET đời, IDE dùng chung cho ngơn ngữ lập trình loại ứng dụng được tích hợp Như vậy, ứng dụng Web Forms (ASP.NET) xem phần ngơn ngữ lập trình, bạn sử dụng chung IDE với ứng dụng Windows Forms Chẳng hạn, bạn mở dự án (Project) ngơn ngữ lập trình Visual Basic.NET, mở tiếp Project ngơn ngữ lập trình C# Solution Ngồi ra, Visual Studio.NET 2008 có thay đổi lớn so với Visual Studio.NET 2003 mơi trường lập trình, định dạng mã, chế gỡ lỗi, xây dựng, kiểm tra triển khai ứng dụng, tự động hóa trợ giúp người sử dụng Ví dụ, trang bắt đầu Visual Studio.NET 2008 IDE hình 1-2 Hình 1.2 : Trang bắt đầu Visual Studio.NET 2008 Sau cài đặt thành công Visual Studio.NET 2008, lần sử dụng Visual Studio.NET 2008 IDE, cửa sổ xuất yêu cầu chọn ngơn ngữ lập trình mặc định Chẳng hạn, trường hợp chọn ngôn ngữ lập trình C# cách di chuyển đến Visual C# Development Setting nhấn mạnh Start Visual Studio Lưu ý, tìm hiểu chi tiết cơng cụ, cửa sổ, cách cấu hình IDE để làm việc với ngơn ngữ lập trình C# Sau chọn ngơn ngữ lập trình C# ngơn ngữ mặc định, tạo Project hay Solution, ngôn ngữ nằm ngăn Project types hình 13, ngơn ngữ lập trình cịn lại Visual basic, C++ J# xuất bên phần Other Language Hình 1.3 : Màn hình yêu cầu chọn ngôn ngữ để cài đặt Ngăn bên phải danh sách loại ứng dụng Windows ,bao gồm loại như: Windows Application, Console Application, Class Library, Windows Service, Crystal Reports Application,… Trong trường hợp muốn xây dựng ứng dụng ASP.NET, bạn chọn vào phần tạo mới, cửa sổ xuất hình 1-5 Tương tụ trường hợp ứng dụng vWindows, ứng dụng vWebsite bao gồm loại như: ASP.NET vWebsite, ASP.NET vWeb Service, Srystal Reports vWebsite Trên thực đơn (menu) Visual studio NET 2008, menu có tên Community bao gồm menu như: Ask a question, Check Question Status, Send Feedback nhằm hỗ trợ cho bạn tìm kiếm, gởi kiểm tra câu hỏi hay góp ý kiến cơng ty Microsoft Ngồi ra, menu cịn có menu khác, chúng cho phép bạn trỏ đến địa internet chứa tài nguyên hay thông tin cập nhật Visual studio NET 2008 nhằm hỗ trợ tối đa cho cộng đồng lập trình NET ... Suite ,b? ??n dự đoán trư? ?c chất lượng tổ ch? ?c trình phát triển ứng dụng B? ?? Visual Studio 2008 Team Edition for Software Architects: Team Edition for Software Architects cung c? ??p c? ?ng c? ?? tr? ?c quan... tính mà từ trang web ph? ?c vụ) Điều áp dụng trang web c? ? chứa nội dung nhúng applet Java phim Flash C? ? ngoại lệ cho quy t? ?c này, th? ?c thi nội dung (chẳng hạn điều khiển ActiveX) bao gồm trang Trong... Numbers Authority (IANA), gần Tổng c? ?ng ty Internet cho tên miền số (ICANN ) C? ? thể hoạt động thông qua nhà cung c? ??p dịch vụ Internet để gán địa IP c? ?ng c? ??ng cho tổ ch? ?c cá nhân M? ?c dù phân b? ??