intTypePromotion=1

Luận văn: XÂY DỰNG ỨNG DỤNG DẠNG DỊCH VỤ CHẠY TRÊN WINDOWS SERVER 2003 DOMAIN CONTROLLER ĐỂ SHUTDOWN CÁC MÁY TRONG DOMAIN THEO THỜI GIAN ĐỊNH TRƯỚC

Chia sẻ: Japet75 Japet75 | Ngày: | Loại File: PDF | Số trang:0

0
55
lượt xem
9
download

Luận văn: XÂY DỰNG ỨNG DỤNG DẠNG DỊCH VỤ CHẠY TRÊN WINDOWS SERVER 2003 DOMAIN CONTROLLER ĐỂ SHUTDOWN CÁC MÁY TRONG DOMAIN THEO THỜI GIAN ĐỊNH TRƯỚC

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Ngày nay, để cùng hòa vào xu thế phát triển công nghệ thông tin của thế giới, bộ mặt công nghệ thông tin của Việt Nam đang có những bước phát triển thật đáng mừng. Người người dùng máy tính, nhà nhà dùng máy tính, các tổ chức, công ty cũng đang bước từng bước tin học hóa dần hệ thống làm việc của mình, các trường học, trung tâm tin học cũng đã, đang mọc lên ngày càng đông đúc,… kéo theo đó là hàng loạt hệ thống mạng máy tính nhỏ có, vừa có, lớn có cũng ra đời. Và các lợi ích...

Chủ đề:
Lưu

Nội dung Text: Luận văn: XÂY DỰNG ỨNG DỤNG DẠNG DỊCH VỤ CHẠY TRÊN WINDOWS SERVER 2003 DOMAIN CONTROLLER ĐỂ SHUTDOWN CÁC MÁY TRONG DOMAIN THEO THỜI GIAN ĐỊNH TRƯỚC

  1. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN MẠNG MÁY TÍNH & VIỄN THÔNG TN NGUYỄN QUỐC HÙNG 0012043 H TRẦN THỊ HOÀI THANH 0012657 K H XÂY DỰNG ỨNG DỤNG DẠNG DỊCH VỤ Đ CHẠY TRÊN WINDOWS SERVER 2003 – DOMAIN CONTROLLER ĐỂ SHUTDOWN TT CÁC MÁY TRONG DOMAIN THEO THỜI GIAN ĐỊNH TRƯỚC N C A LUẬN VĂN CỬ NHÂN TIN HỌC O H K NGƯỜI HƯỚNG DẪN: THẦY NGUYỄN MINH TUẤN NIÊN KHÓA 2000-2004
  2. LỜI CẢM ƠN Để thực hiện và hoàn thành tốt bài luận văn tốt nghiệp này, chúng em đã nhận được sự giúp đỡ và hướng dẫn rất tận tình của các thầy cô và các bạn thuộc khoa Công Nghệ Thông Tin trường Đại học Khoa Học tự Nhiên TP.Hồ Chí Minh. Chúng em xin cảm ơn các thầy cô thuộc khoa Công Nghệ Thông Tin đã cung TN cấp cho chúng em các kiến thức vô cùng quý báu và cần thiết trong suốt thời gian học tập tại trường để chúng em có thể thực hiện và hoàn thành bài luận văn tốt H nghiệp này. K Đặc biệt, chúng em chân thành cảm ơn thầy Nguyễn Minh Tuấn đã tận tình hướng dẫn và giúp đỡ chúng em trong suốt thời gian thực hiện đề tài. H Cuối cùng, chúng em xin cảm ơn gia đình cùng bạn bè đã tạo điều kiện, động Đ viên và giúp đỡ để chúng em đủ tự tin và nghị lực để thực hiện tốt đề tài. Do giới hạn về mặt thời gian và kiến thức nên đề tài chắc chắn sẽ không – tránh khỏi những sai sót ngoài ý muốn. Chúng em rất mong nhận được sự thông TT cảm và đóng góp ý kiến của quý thầy cô và các bạn. Trân trọng kính chào. N Sinh viên thực hiện C Nguyễn Quốc Hùng Trần Thị Hoài Thanh A O H K
  3. Mục lục MỤC LỤC Trang Phần 1: Mở Đầu Chương 1: Đặt vấn đề và giới thiệu đề tài ............................................................. 1 1.1. Giới thiệu đề tài................................................................................... 1 TN 2.1. Các chương trình đã có........................................................................ 2 Phần 2: Cơ sở lý thuyết H Chương 2: Tìm hiểu một số khái niệm liên quan đến đề tài................................... 4 2.1. Domain Controller ............................................................................... 4 K 2.2. Domain ................................................................................................ 5 2.3. Active Directory .................................................................................. 6 H 2.3.1. Active Directory là gì? ............................................................ 6 Đ 2.3.2. Lợi ích của Active Directory................................................... 6 2.4. Windows Server 2003 .......................................................................... 7 – Chương 3: Tìm hiểu ứng dụng dạng dịch vụ ......................................................... 9 TT 3.1. Tổng quan và các đặc điểm của ứng dụng dạng dịch vụ ....................... 9 3.2. Cơ chế hoạt động của các ứng dụng dạng dịch vụ .............................. 10 3.3. Tài khoản dịch vụ và mật mã tài khoản dịch vụ.................................. 11 N 3.4. Cách tạo một ứng dụng dịch vụ trong .NET Framework .................... 12 C 3.4.1. Các lớp chính trong việc tạo dịch vụ. .................................... 12 3.4.2. Tạo một ứng dụng dịch vụ đơn giản...................................... 14 A 3.5. Sự khác nhau giữa các ứng dụng dịch vụ và các ứng dụng .NET O Framework khác. ................................................................................................ 21 H Chương 4: Tìm hiểu về WMI (Windows Management Instrument)..................... 23 4.1. Tổng quan về WMI............................................................................ 23 K 4.1.1. Khái niệm script và ngôn ngữ viết script ............................... 23 4.1.2. Tổng quan về WMI............................................................... 23 4.2. Kiến trúc WMI................................................................................... 25
  4. Mục lục 4.2.1. Các tài nguyên được quản lý ................................................. 26 4.2.2. Cơ sở hạ tầng WMI............................................................... 26 4.2.2.1. Thư viện viết script WMI.......................................... 26 4.2.2.2. Kho lưu trữ CIM....................................................... 27 4.2.2.3. CIMOM.................................................................... 28 TN 4.2.2.4. Các Provider ............................................................. 29 4.2.3. Phần tiêu thụ ......................................................................... 30 4.3. Ví dụ ứng dụng WMI đơn giản .......................................................... 30 H 4.4. Tìm hiểu Win32 Provider................................................................... 32 K 4.4.1. Các lớp mà Win32 Provider hỗ trợ........................................ 32 4.4.2. Lớp Win32_OperatingSystem............................................... 34 H Chương 5: Tìm hiểu System.DirectoryServices................................................... 35 5.1. Tổng quan System.DirectoryServices................................................. 35 Đ 5.2. Cách sử dụng System.DirectoryServices ............................................ 36 – 5.2.1. Đưa System.DirectoryServices vào ứng dụng ....................... 36 5.2.2. Liên kết và sử dụng các đối tượng danh bạ............................ 37 TT 5.2.2.1. Các đối tượng danh bạ .............................................. 37 5.2.2.2. Liên kết đến các đối tượng danh bạ........................... 38 N Phần 3: Thiết kế và cài đặt ứng dụng. Chương 6: Ứng dụng và các chức năng của ứng dụng......................................... 41 C 6.1. Giới thiệu chương trình ...................................................................... 41 A 6.2. Các lớp chính của chương trình.......................................................... 41 6.3. Lưu đồ họat động chính của ứng dụng ............................................... 42 O 6.4. Cách cài đặt và sử dụng ứng dụng...................................................... 44 H Phần 4: Kết luận Chương 7: Kết luận - Đánh giá - Hướng phát triển.............................................. 54 K 7.1. Kết luận và đánh giá .......................................................................... 54 7.2. Hướng phát triển ................................................................................ 56 Tài liệu tham khảo .............................................................................................. 57
  5. Bảng hình vẽ và các chữ viết tắt BẢNG HÌNH VẼ VÀ CÁC CHỮ VIẾT TẮT Hình vẽ Trang Hình 3.1 ................................................................................................... 18 Hình 3.2 .................................................................................................. 19 Hình 3.3 ................................................................................................... 20 TN Hình 4.1 ................................................................................................... 25 Hình 4.2 .................................................................................................. 31 Hình 5.1 ................................................................................................... 36 Hình 5.2 ................................................................................................... 37 H Hình 5.3 .................................................................................................. 38 Hình 6.1 ................................................................................................... 43 K Hình 6.2 ................................................................................................... 44 Hình 6.3 ................................................................................................... 45 Hình 6.4 ................................................................................................... 46 H Hình 6.5 ................................................................................................... 46 Hình 6.6 ................................................................................................... 47 Đ Hình 6.7 ................................................................................................... 47 Hình 6.8 ................................................................................................... 48 Hình 6.9 ................................................................................................... 49 – Hình 6.10 ................................................................................................. 51 Hình 6.11 ................................................................................................. 53 TT Chữ viết tắt N WS2K3 : Windows Server 2003 Win2K : Windows 2000 C DC : Domain Controller PDC : Primary Domain Controller BDC : Backup Domain Controller A SCM : Service Controll Manager WMI : Windows management Instrument O CIM : Common Information Model CIMOM : Common Information Model Object Manager H K
  6. Tóm tắt luận văn TÓM TẮT LUẬN VĂN Chương 1: Đặt vấn đề và giới thiệu đề tài. Nêu lí do chọn, mục đích của đề tài. Phân tích, đánh giá các chương trình đã có của các tác giả trong và ngoài nước có liên quan đến đề tài. Mục tiêu chính mà đề tài tập trung nghiên cứu giải quyết. TN Chương 2: Giới thiệu một số khái niệm liên quan, cần thiết cho đề tài như: domain, H domain controller, dịch vụ danh bạ, Active Directory,…. Chương 3: K Tìm hiểu về ứng dụng dạng dịch vụ: thế nào là một ứng dụng dạng dịch vụ? Các đặc điểm chính của nó là gì? Cơ chế hoạt động của dịch vụ như thế nào?. Và H cũng trong phần này chúng ta sẽ xem cách tạo một ứng dụng dạng dịch vụ trong Đ .NET Framework, từ đó rút ra sự khác nhau giữa các ứng dụng dịch vụ và các ứng dụng .NET Framework khác. – Chương 4: TT Làm quen với WMI (Windows management Instrument), một kỹ thuật cho phép quản lý, tương tác với các thành phần cốt lõi bên trong hệ điều hành Windows. N Nắm được kiến trúc của WMI và cách sử dụng WMI trong ứng dụng như thế nào. Cũng trong chương 4, các bạn sẽ được làm quen với lớp C Win32_OperatingSystem cùng với phương thức Win32_Shutdown được dùng để gọi shutdown Windows. A Chương 5: O Tìm hiểu về System.DirectoryServices, một namespace trong .NET H Framework cho phép truy cập đến ActiveDirectory thông qua kỹ thuật .NET để lấy về các thông tin mong muốn. Tại đây bạn sẽ được xem các ví dụ rất cụ thể, đặc biệt K là cách truy cập vào ActiveDirectory để lấy về các máy tính thuộc cùng domain.
  7. Tóm tắt luận văn Chương 6: Giới thiệu về ứng dụng và chức năng của ứng dụng, lưu đồ họat động, các lớp chính và cách thức chính đã được sử dụng để viết ứng dụng. Hướng dẫn cài đặt và sử dụng ứng dụng. Chương 7: TN Kết luận, tự đánh giá và hướng phát triển của ứng dụng. H K H Đ – TT N C A O H K
  8. Chương 1: Đặt vấn đề và giới thiệu đề tài Phần 1: Mở Đầu Chương 1: Đặt vấn đề và giới thiệu đề tài 1.1. Giới thiệu đề tài Ngày nay, để cùng hòa vào xu thế phát triển công nghệ thông tin của thế giới, bộ mặt công nghệ thông tin của Việt Nam đang có những bước phát triển thật đáng TN mừng. Người người dùng máy tính, nhà nhà dùng máy tính, các tổ chức, công ty cũng đang bước từng bước tin học hóa dần hệ thống làm việc của mình, các trường học, H trung tâm tin học cũng đã, đang mọc lên ngày càng đông đúc,… kéo theo đó là hàng loạt hệ thống mạng máy tính nhỏ có, vừa có, lớn có cũng ra đời. Và các lợi ích do K mạng máy tính đem lại thì có lẽ chúng ta không cần bàn thêm nữa bởi vì cả các bạn, cả H chúng tôi đều đã ít nhất một lần thấy được những lợi ích do mạng máy tính đem lại cho chúng ta. Đ Có mạng máy tính tức là chắc chắn sẽ có người quản trị mạng, những người – chịu trách nhiệm chăm sóc, theo dõi, hồi phục,… “sức khỏe” cho mạng. Vậy mà bạn có tưởng tượng được không, một công việc mang tính chất “nhàm chán” lặp đi lặp lại TT hàng ngày lại được xem mặc nhiên là công việc của các quản trị viên. Công việc mà chúng tôi đề cập đến ở đây không gì khác hơn là: việc kiểm tra và thực hiện shutdown N các máy trạm còn sót lại, hay có khi là phải shutdown tất cả các máy này vào cuối mỗi C ngày làm việc. Đồng ý là Microsoft đã hỗ trợ cho chúng ta một cách làm ít tốn công hơn trên Windows nhưng thật sự thì tuy rằng ngồi một chỗ nhưng người quản trị vẫn A phải thực hiện thao tác mở, nhập, nhắp, chọn,… hàng ngày hàng ngày và hàng ngày. O Chính vì lý do này nên chúng tôi đã chọn đề tài: “xây dựng ứng dụng dưới dạng dịch vụ chạy trên Windows Server 2003 domain controller để shutdown các máy trong H domain theo thời gian định trước” để làm bài luận tốt nghiệp cho mình. K Không chỉ giúp ích được cho các tổ chức, các người quản trị mạng có nhu cầu quản lý các máy trong domain của mình mà nhu cầu của các cá nhân cho các máy tính đơn cũng không kém phần cần thiết. Bạn đi vắng? bạn hay ngủ quên khi nghe nhạc? 1
  9. Chương 1: Đặt vấn đề và giới thiệu đề tài bạn cần đi học hay đi làm việc quan trọng vào một số ngày nhất định nhưng lại hay quên vì mải say sưa cùng chiếc máy vi tính. Bạn chỉ cần hẹn giờ, máy sẽ shutdown giúp bạn, bạn có thể đi, có thể ngủ,… bất kì lúc nào mà không cần phải quan tâm nhiều đến việc mình đã tắt máy hay chưa. Chúng tôi sẽ giúp bạn làm điều đó! 1.2. Các chương trình đã có TN Hiện tại đã có một số chương trình hẹn giờ tự động tắt máy trên thị trường phần mềm Việt Nam, nhưng đa số các chương trình này có giao diện bằng tiếng nước Ngoài H (tiếng Anh) làm cho một số người mới làm quen với máy tính sẽ gặp không ít khó khăn khi sử dụng. Và, một điều cũng không kém phần quan trọng nữa đó là phần lớn các K phần mềm này đòi hỏi phải có bản quyền, tức là phải có mua mới được sử dụng. H Nhưng với mức sống trung bình của người dân Việt Nam hiện nay thì chi phí để chi trả cho vấn đề bản quyền này cũng là một vấn đề không nhỏ. Đ Ngoài ra, hệ điều hành Microsoft Windows cũng cung cấp cho người sử dụng – một công cụ dòng lệnh để thực hiện việc tắt máy. Muốn sử dụng bạn chỉ cần đánh lệnh shutdown và kèm theo các tham số cho phù hợp với yêu cầu. Ví dụ: TT shutdown /i : để hiển thị giao diện đồ họa giúp người dùng dễ dàng chọn máy cũng như hành động muốn thực hiện. N shutdown /s : để shutdown máy cục bộ. C shutdown /s/m \\may1 : để shutdown máy ở xa có tên là “may1”,…. Nhìn chung thì công cụ này đã thực hiện tốt việc tắt máy cục bộ hay ở xa. A Nhưng nó vẫn còn một số hạn chế là không thể đặt được giờ hẹn cũng như giờ hẹn lặp, O tức là mỗi lần muốn tắt máy cục bộ hay máy từ xa, bạn đều phải thao tác bằng tay. Còn về các chương trình hẹn giờ tự động tắt máy do chính người Việt viết thì H sau một thời gian tìm hiểu chúng tôi nhận thấy rằng: không có nhiều chương trình cho K vấn đề này, nổi bật nhất là chương trình ShutdownAlarm. _ Ưu điểm của ShutdownAlarm: + Giải quyết được tương đối yêu cầu đặt ra là hẹn giờ để tắt máy. 2
  10. Chương 1: Đặt vấn đề và giới thiệu đề tài + Miễn phí. + Mã nguồn mở. _ Khuyết điểm của ShutdownAlarm: + Chỉ cho hẹn vào một thời điểm trong một ngày, tức là chúng ta không thể hẹn giờ vào các ngày lặp lại. Ví dụ như mỗi ngày, mỗi thứ hay các thứ trong TN tuần,..v…v.. + Chỉ có thể hẹn giờ tắt máy cho máy cục bộ. H Do đó, trong đề tài này chúng tôi luôn cố gắng tập trung vào giải quyết các yêu cầu chính mà chương trình cần có là: K _ Chạy được trên Windows 2003 server. H _ Shutdown được các máy trong cùng domain. _ Đặt được thời gian shutdown linh hoạt hơn. Đ _ Có thể gọi chương trình bất cứ lúc nào, tại bất cứ máy nào (work-station hay – domain controller server) bằng phương tiện Remote Deskstop Connection. TT N C A O H K 3
  11. Chương 2: Tìm hiểu một số khái niệm liên quan đến đề tài Phần 2: Cơ sở lý thuyết Chương 2: Tìm hiểu một số khái niệm liên quan đến đề tài 2.1. Domain Controller Như chúng ta đã biết: nối mạng là tất cả những gì về chia sẻ dùng chung, nhưng không phải vì vậy mà có thể “mở cửa” cho bất kì ai vào ra một cách tự do mà người TN quản trị phải tạo ra các tài khoản người dùng và lưu trữ chúng ở một file nào đó để xác minh và bảo đảm đúng quyền hạn truy cập của người dùng. Ở dạng đơn giản nhất, các H tài khoản người dùng bao gồm một cơ sở dữ liệu các tên người dùng và mật khẩu. NT 4 lưu trữ thông tin người dùng trong một tập tin tên là SAM nhưng Windows 2000 K (Win2K) và Windows Server 2003 (WinS2K3) lưu trữ trong một tập tin tên là H NTDS.DIT. Dữ liệu trong NTDS.DIT được mã hóa phức tạp hơn trong SAM để đảm bảo cho cơ sở dữ liệu an toàn hơn. Đ Nếu mạng của bạn có một server thì tập tin chứa các tài khoản người dùng sẽ – được lưu trữ ở đó, thế nhưng nếu mạng của bạn gồm nhiều server. Hầu hết các công ty lớn đều phải xây dựng nhiều server và số server lên đến hàng chục hoặc hàng trăm TT cũng không phải là hiếm (xét trên bình diện thế giới). Có phải chúng ta sẽ lưu trữ mỗi bản sao hoàn chỉnh của NTDS.DIT trên mỗi server?. Thực tế thì: N ● Thứ nhất: kích thước của NTDS.DIT có thể hơi bị lớn do đó chúng ta sẽ phải C tốn khá nhiều bộ nhớ để lưu trữ file này trong tất cả các server. ● Thứ hai: nếu các server được nối kết bởi những đường tốc độ chậm thì quá A trình cập nhật NTDS.DIT đến tất cả các server trên mạng sẽ có thể chiếm dụng nhiều O thời gian và dung lượng đường truyền. ● Thứ ba: chúng ta có thực sự cần phải tạo ra một “trận bão” sao chép tập tin H giữa các server trên mạng mỗi khi ai đó chỉ đơn giản là thay đổi mật khẩu của họ K chăng? 4
  12. Chương 2: Tìm hiểu một số khái niệm liên quan đến đề tài ● Thứ tư: nếu chúng ta sao chép NTDS.DIT đến từng server một trong mạng, rất có thể là có một vài server trong số đó bị hớ hênh, không được bảo vệ về mặt vật lý. Như thế sẽ rất dễ dàng cho việc đánh cắp NTDS.DIT từ các máy đó. Do đó, NTDS.DIT sẽ được đặt trên một nhóm nhỏ các server và các server này sẽ đóng vai trò của logon server, đảm trách việc xác minh cho những server còn lại. TN Những server này thường được gọi là domain controller. Domain controller (DC) là một server chứng thực cho việc logon vào domain, H duy trì chính sách bảo mật và cơ sở dữ liệu của các tài khoản người dùng trong domain. Hay nói một cách đơn giản hơn là: domain controller (DC) sẽ làm các công việc như: K kiểm tra sự hợp lệ của username và password, kiểm tra xem client này có phải là thành H viên trong domain của mình hay không, cập nhật thông tin cho nhau,… Có hai lọai domain controller (DC): Đ ● Primary domain controller (PDC): Trên một domain chỉ có một primary – domain controller duy nhất. Primary domain controller sẽ là DC đầu tiên nhất được tạo ra và nó là “nhà kho” chính cho dữ liệu của domain. TT ● Backup domain controller (BDC): Trái lại với primary DC, trên một domain có thể tồn tại nhiều backup DC. Backup DC Ngoài chức năng chính như tên gọi của nó N là backup dữ liệu từ primary DC thì backup DC cũng có thể chứng thực thông tin logon C của user và có thể được nâng cấp lên như primary DC khi cần thiết. 2.2. Domain A Domain là tập hợp những máy dùng chung cùng một danh sách các tài khoản O người dùng, tức cùng một NTDS.DIT. Các máy này cùng chia sẻ một cơ sở dữ liệu danh bạ chung (common directory database). Cho nên, các máy trạm, các server, các H domain controller đều là những thành viên của cùng một domain. Mỗi domain có một K tên duy nhất và có các chính sách bảo mật cũng như các mối liên hệ bảo mật với các domain khác của chính nó. 5
  13. Chương 2: Tìm hiểu một số khái niệm liên quan đến đề tài 2.3. Active Directory 2.3.1 Active Directory là gì? Dịch vụ danh bạ (directory service) là một “kho lưu trữ” có cấu trúc các thông tin về người cũng như các tài nguyên trong một tổ chức. Dịch vụ danh bạ (directory service) bao gồm cả nguồn thông tin danh bạ và dịch vụ làm cho các thông tin này có TN giá trị và có thể dùng được. Dịch vụ danh bạ có thể tìm kiếm một đối tượng cho người sử dụng ngay cả khi chỉ được cung cấp một thuộc tính bất kì trong tất cả các thuộc tính H của đối tượng đó. Trong mạng WS2K3, dịch vụ danh bạ là Active Directory. Active Directory là một dịch vụ danh bạ (directory service) lưu trữ thông tin về K các đối tượng trong mạng như các tài khoản người dùng, các máy tính,…. và làm cho H các thông tin này có giá trị đối với người dùng và các người quản trị mạng. Nó cung cấp cho các người quản trị mạng một cái nhìn trực quan, có cấp bậc về mạng, đơn giản Đ hóa công việc quản trị các đối tượng mạng. Khi bạn cài đặt Active Directory lên máy – tính đang chạy WS2K3, máy tính đó sẽ trở thành domain controller cho một domain. 2.3.2. Các lợi ích của Active Directory TT Active Directory có các khả năng sau: ● Cho phép người dùng và các ứng dụng truy cập thông tin về các đối tượng. N Thông tin này được lưu trữ dưới dạng các thuộc tính của đối tượng. Bạn có thể tìm C kiếm đối tượng dựa trên bất kì thuộc tính nào của nó. ● Làm cho các giao thức và topology mạng vật lý trong suốt. Tức là, người A dùng trên mạng có thể truy cập bất kì tài nguyên nào (VD:máy in) mà không cần biết O tài nguyên này ở đâu và nó được kết nối vật lý đến mạng như thế nào. ● Cho phép lưu trữ một số lượng rất lớn các đối tượng. Active Directory có thể H mở rộng khi tổ chức của bạn phát triển. Ví dụ, một danh bạ (directory) có thể mở rộng K từ một server đơn với vài trăm đối tượng thành hàng ngàn server với hàng triệu đối tượng. 6
  14. Chương 2: Tìm hiểu một số khái niệm liên quan đến đề tài ● Có thể lập trình dễ dàng. Active Directory có thể được truy cập và quản trị một cách tự động bằng cách sử dụng Active Directory Service Interfaces (ADSI) API, Lightweight Directory Access Protocol (LDAP) API hay System.DirectoryServices namespace. Và còn rất nhiều lợi ích mà chúng ta có thể tìm thấy được ở Active Direcory, TN đặc biệt là với WS2K3, sau khi đã được Microsoft phát triển và bổ sung thêm nhiều tính năng mới từ Win2K. Nhưng trong phạm vi phần này chúng tôi không đề cập nhiều H đến vấn đề này, để tìm hiểu thêm bạn có thể xem thêm tại Webside: www.microsoft.com. K 2.4. Windows Server 2003 H Như tất cả chúng ta đều đã biết, trên thị trường phần mềm hiện nay có rất nhiều hệ điều hành, bao gồm Unix, Linux, Novell Netware, MVS của IBM, VMS của Đ Compaq,… Nhưng thật sự chỉ có một hệ điều hành đang chiếm lĩnh thị trường, đó – chính là Microsoft Windows. Theo bộ số liệu thống kê mới nhất thì 43% server trên thế giới sử dụng Microsoft Windows, hàng trăm triệu người đã biết và quá quen thuộc với TT cách làm việc trên Windows. Và thực tế một lần nữa, Windows lại tiếp tục khẳng định lại vị trí của mình với phiên bản mới nhất Windows Server 2003 (WS2K3). N Với WS2K3, chúng ta có bốn phiên bản chủ lực là: C ● Windows Server 2003, Web Edition: được thiết kế riêng cho các máy chủ web. Mặc dù các máy chạy Windows Server 2003, Web Edition có thể là thành viên A của một domain nhưng bạn không thể chạy Active Directory trên Windows Server O 2003, Web Edition. ● Windows Server 2003, Standard Edition: sử dụng cho các doanh nghiệp H nhỏ, các nhóm làm việc để làm domain controller hay làm máy chủ. K ● Windows Server 2003, Enterprise Edition: sử dụng trong các tổ chức vừa và lớn để làm các máy chủ ứng dụng, các domain controller,…. Đây là phiên bản được phát triển từ Windows 2000 Advanced Server. 7
  15. Chương 2: Tìm hiểu một số khái niệm liên quan đến đề tài ● Windows Server 2003, Datacenter Edition: cho các cơ sở dữ liệu lớn nhất, các ứng dụng doanh nghiệp quy mô nhất. Datacenter Edition có thể cho phép bạn thực hiện được kiểu quản trị hệ thống mà nhiều năm trước đây người ta làm được trên máy mainframe. Với bốn ấn bản chuyên dụng cho các mục đích, quy mô và chi phí khác nhau TN nên người sử dụng sẽ linh hoạt hơn trong việc lựa chọn phiên bản phù hợp với mình nhất. Trong phạm vi đề cập dĩ nhiên là chúng ta sẽ không xét đến hai phiên bản Web H Edition và Datacenter Edition. Có rất nhiều điều để nói về WS2K3, các điểm cải tiến, các chức năng cũng như K các hỗ trợ mới. Nhưng trong phần này chúng tôi chỉ giới thiệu sơ lược về hệ điều hành H WS2K3 thôi, do đó chúng ta sẽ không tìm hiểu sâu về bản chất WS2K3. Nhưng chúng tôi cũng muốn các bạn biết rằng WS2K3 quả thật là một hệ điều hành với nhiều mới Đ mẻ và thú vị. Chẳng hạn như, với WS2K3 bạn có thể thực hiện được khoảng 98% công – việc quản trị bằng dòng lệnh, bạn có thể đặt số người trong một nhóm làm việc là tùy ý (ở Win2K, bạn không thể đặt nhiều hơn 5.000 người trong một nhóm), bạn có thể chạy TT các chương trình .NET một cách thoải mái bởi vì WS2K3 đã được tích hợp .NET Framework, bạn có thể ..v..v.. Và còn một điểm mới mẻ nữa mà chúng ta không thể N không nhắc đến đó là: WS2K3 là hệ điều hành cho máy chủ 64-bit lần đầu tiên từ C Microsoft. Với một hệ điều hành 64-bit, đặc biệt là trên máy chủ, các ứng dụng của bạn sẽ thi hành các yêu cầu một cách nhanh chóng, dễ dàng và đáng tin cậy hơn. Từ đó kéo A theo một loạt các lợi ích khác cho các doanh nghiệp, công ty, tổ chức có quy mô lớn và O rất lớn. H K 8
  16. Chương 3: Tìm hiểu ứng dụng dạng dịch vụ. Chương 3: Tìm hiểu ứng dụng dạng dịch vụ 3.1. Tổng quan và các đặc điểm của ứng dụng dạng dịch vụ Dịch vụ (service) là một phần quan trọng trong hệ điều hành Microsoft Windows, trước đây được biết đến như các NT service. Nó là một ứng dụng có thể giao tiếp và được quản trị bởi trình quản lý điều khiển dịch vụ (Service Control Manager _ TN SCM). Một dịch vụ có thể: ● Tự khởi động khi máy tính khởi động. H ● Chạy ngay cả khi không có người dùng nào đăng nhập vào máy tính. ● Hồi đáp các yêu cầu mà không cần sự can thiệp của con người. K ● Được cấu hình để khởi động lại một cách tự động nếu việc khởi động ban đầu H thất bại và không hiển thị bất cứ giao diện người dùng nào. Các đặc điểm này làm cho các dịch vụ thật sự lý tưởng để sử dụng trên máy chủ Đ hay trên bất cứ nơi đâu bạn cần các chức năng chạy lâu dài, các chức năng không can – thiệp với người dùng khác. Dịch vụ không những quan trọng để máy tính vận hành mà còn làm cho việc quản trị hệ thống trở nên dễ dàng và chấp nhận được. Ví dụ, không có TT dịch vụ DHCP (Dynamic Host Configuration Protocol: dịch vụ cấp địa chỉ IP động), người quản trị sẽ phải tự cấu hình địa chỉ IP cho mỗi máy tính. Không có dịch vụ DNS N (Domain Name System: dịch vụ phân giải tên miền), người quản trị sẽ phải tự cấu hình C và bảo trì các tập tin Host và Lmhost. Không có khả năng tự động hóa của các dịch vụ, những công việc tưởng chừng như đơn giản ở trên đây rất khó và thậm chí là không thể A thực hiện được trong bối cảnh các doanh nghiệp lớn và rất lớn. O Do các dịch vụ đóng một vai trò quan trọng trong cơ sở hạ tầng tính toán của một tổ chức, nên việc quản lý dịch vụ là một phần quyết định trong bất cứ công việc H quản trị hệ thống nào. Chúng ta không thể để cho một dịch vụ ngừng hoạt động bởi vì K nếu như vậy không những nó sẽ ảnh hưởng đến máy tính mà nó đang chạy trên đó mà nó còn ảnh hưởng đến các máy tính, các người dùng khác trong môi trường mạng nếu máy đang chạy dịch vụ là máy chủ. Nếu dịch vụ DHCP ngưng hoạt động, các máy tính 9
  17. Chương 3: Tìm hiểu ứng dụng dạng dịch vụ. không được cấp địa chỉ IP, người dùng sẽ không vào mạng được. Nếu dịch vụ DNS bị lỗi, dịch vụ Active Directory không dùng được, người dùng sẽ không xác định được các tài nguyên mạng. Việc quản lý dịch vụ giúp đảm bảo rằng: ● Các máy tính có thể hoàn thành vai trò của chúng, ví dụ như các máy trạm TN (workstation), các domain controller, các máy chủ mail và các máy chủ cơ sở dữ liệu,… H ● Người dùng có thể truy xuất các tài nguyên kể cả trên máy cục bộ lẫn trên mạng. K ● Khi có vấn đề xảy ra, bạn có thể được báo động ngay trong thời gian rất ngắn. H Chẳng hạn, nếu dịch vụ DHCP dừng, sự thất bại của dịch vụ đó có thể được phát hiện ngay lập tức và dịch vụ DHCP sẽ khởi động lại, thậm chí trước cả khi người dùng cảm thấy có vấn đề. Đ – 3.2. Cơ chế hoạt động của các ứng dụng dạng dịch vụ Cũng như các ứng dụng khác, dịch vụ được chạy từ các tập tin thực thi. Ví dụ, TT dịch vụ DNS được chạy từ tập tin systemroot\ system32\dns.exe. Nhưng dịch vụ là một dạng đặc biệt của ứng dụng. Không giống như các tập tin thực thi của hầu hết các ứng N dụng, tập tin thực thi của dịch vụ gồm các đoạn mã để chúng thực hiện những chức C năng đặc biệt của một dịch vụ và để giao tiếp với trình quản lý điều khiển dịch vụ (SCM). A Để chạy một ứng dụng như một dịch vụ, phải có các thành phần sau: O ● Trình quản lý điều khiển dịch vụ (Service Control manager_SCM). SCM giao tiếp với dịch vụ bằng các lệnh chuyển tiếp yêu cầu dịch vụ khởi động, dừng, tạm H dừng, hoặc tiếp tục. SCM cũng giám sát trạng thái của mỗi dịch vụ được cài đặt và K thực hiện các hành động cụ thể nếu dịch vụ bị hỏng (dịch vụ kết thúc mà không gửi mã kết thúc thích hợp cho SCM). 10
  18. Chương 3: Tìm hiểu ứng dụng dạng dịch vụ. ● Tập tin thực thi của mỗi dịch vụ. Bao gồm đoạn mã cho phép dịch vụ hồi đáp lại những lệnh từ SCM và thông báo trạng thái của nó với SCM. Yêu cầu này tạo ra sự khác biệt giữa dịch vụ và các ứng dụng thông thường. Ví dụ, Notepad không thể chạy như một dịch vụ vì những người phát triển ứng dụng này không đưa vào đoạn mã cho phép Notepad giao tiếp với SCM. TN ● Chương trình điều khiển dịch vụ (Service Control Program_SCP). Cho phép người dùng giao tiếp với SCM. Ví dụ, để chỉnh sửa dịch vụ, bạn sử dụng một H chương trình điều khiển dịch vụ để gửi các lệnh sửa đổi đến cho SCM. SCM sẽ gửi các lệnh này đến cho dịch vụ cần thay đổi, và các sửa đổi này sẽ có hiệu lực. K * Khi một máy tính trên nền Win2K hay WS2K3 bắt đầu hoạt động, tập tin thực H thi của SCM (services.exe) bắt đầu chạy trước cả khi hộp thoại đăng nhập xuất hiện. Điều này cho phép các dịch vụ tự khởi động trước cả khi bất kì người dùng nào đăng nhập. Đ – Sau khi services.exe khởi động, SCM sẽ quét nội dung trong KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. Ứng với mỗi dịch TT vụ liệt kê bên trong registry, SCM sẽ tạo ra một chỉ mục tương ứng với những chương trình điều khiển dịch vụ và sau đó khởi động các dịch vụ được đặt thuộc tính là tự khởi N động. C Khi một dịch vụ khởi động, nó phát sinh tối thiểu hai luồng. Một luồng được sử dụng để giao tiếp với SCM, luồng kia được sử dụng để trả lời các yêu cầu từ các ứng A dụng khách. Một ứng dụng mà khởi tạo duy nhất một luồng thì không thể chạy như O một dịch vụ. 3.3. Tài khoản dịch vụ và mật mã tài khoản dịch vụ H Các dịch vụ phải chạy dưới một tài khoản người dùng (user account). Khi SCM K khởi động dịch vụ, nó sẽ đăng nhập tới tài khoản đó. Nếu đăng nhập thành công, tiến trình của dịch vụ sẽ được cấp một thẻ truy cập (access token). Từ đó về sau, trong bất kì sự tương tác nào với những đối tượng có khả năng bảo mật (các đối tượng có các mô 11
  19. Chương 3: Tìm hiểu ứng dụng dạng dịch vụ. tả bảo mật gắn với chúng), thẻ này sẽ được sử dụng để xác nhận dịch vụ. Ví dụ, nếu dịch vụ thử truy cập đến một máy tính ở xa, thẻ này sẽ được sử dụng cho việc chứng thực. Nếu việc chứng thực thất bại, dịch vụ sẽ bị từ chối truy cập đến các tài nguyên. Trong Win2K, WS2K3, hầu hết các dịch vụ hệ điều hành chạy dưới tài khoản LocalSystem, một tài khoản đặc biệt có tất cả các đặc quyền có thể trên máy cục bộ. TN LocalSystem thường được sử dụng như một tài khoản dịch vụ vì nó có tất cả các đặc quyền và không yêu cầu thêm bất kì đặc quyền riêng nào để dịch vụ có thể chạy được. H 3.4. Cách tạo một ứng dụng dịch vụ trong .NET Framework 3.4.1. Các lớp chính trong việc tạo dịch vụ K Trong .NET Framework, bạn bắt đầu việc tạo một ứng dụng dạng dịch vụ H bằng cách tạo ra một lớp thừa kế từ lớp System.ServiceProcess.ServiceBase. Sau đó bạn sẽ định nghĩa chồng các phương thức từ lớp này và định nghĩa thêm các hàm mới Đ để phục vụ cho mục đích cuối của dịch vụ của bạn. – Các lớp chính trong việc tạo một ứng dụng dạng dịch vụ là: ► System.ServiceProcess.ServiceBase: TT Lớp dịch vụ của bạn sẽ phải kế thừa từ lớp này. Bạn sẽ định nghĩa chồng lại các phương thức của lớp cơ sở, các phương thức này xác định hành động gì sẽ xảy ra khi N trạng thái dịch vụ của bạn được thay đổi trong SCM. Thông thường, dịch vụ của bạn C phải định nghĩa chồng ít nhất là phương thức OnStart và OnStop. Lớp ServiceBase có các phương thức chính sau và bạn có thể định nghĩa chồng lại bất kì phương thức A nào phù hợp với ý muốn của mình: O Phương thức Dùng để OnStart chỉ ra các hành động nào sẽ được thực hiện khi dịch vụ của H bạn bắt đầu chạy. Bạn phải viết mã trong thủ tục này để dịch vụ của bạn thực hiện công việc một cách có hiệu quả. K OnPause chỉ ra cái gì nên xảy ra khi dịch vụ của bạn bị tạm dừng. OnStop chỉ ra cái gì sẽ xảy ra khi dịch vụ dừng. OnContinue chỉ ra cái gì sẽ xảy ra khi dịch vụ của bạn được tiếp tục bình thường sau khi bị tạm dừng. 12
  20. Chương 3: Tìm hiểu ứng dụng dạng dịch vụ. OnShutDown chỉ ra cái gì nên xảy ra chỉ trước khi hệ thống của bạn shut down, nếu dịch vụ của bạn đang chạy tại thời điểm đó. Chú ý: một loạt các thuộc tính của ServiceBase xác định các phương thức nào có thể được gọi trong dịch vụ của bạn. Ví dụ, khi thuộc tính CanStop được thiết lập là TN true thì phương thức OnStop mới có hiệu lực. Khi thuộc tính CanPauseandContinue được thiết lập là true thì phương thức OnPause và OnContinue có thể được gọi. ► System.ServiceProcess.ServiceProcessInstaller và H System.ServiceProcess.ServiceInstaller: K Bạn sử dụng các lớp này để cài đặt và gỡ bỏ dịch vụ của bạn, các phương thức của các lớp này sẽ được gọi bởi tiện ích cài đặt (như InstallUtil.exe), bạn không thể gọi H được các phương thức này. Trong đó ServiceProcessInstaller được sử dụng để chỉ ra Đ tài khoản người dùng mà dịch vụ sẽ chạy bên dưới đó. Bạn có thể chỉ rõ một cặp tên và mật khẩu tài khoản hay dùng một tài khoản LocalService, LocalSystem,… – Ứng với một ứng dụng dịch vụ chúng ta có một thực thể của TT ServiceProcessInstaller và ứng với mỗi dịch vụ trong ứng dụng chúng ta có một thực thể ServiceInstaller. ► Ngoài ra, một lớp có tên là ServiceController cũng có thể được sử dụng để N đại diện cho chính dịch vụ. Lớp này thì không liên quan trong việc tạo một dịch vụ, C nhưng chúng tôi cũng muốn đề cập đến nó trong phần này bởi vì nó là một lớp thật sự có ích trong quá trình viết một ứng dụng dạng dịch vụ. A Bạn có thể sử dụng thành phần ServiceController để tương tác với các dịch vụ O trên máy cục bộ hoặc bất kì máy nào mà bạn có thể truy cập. ServiceController cho H phép bạn thực hiện các công việc quản trị trên dịch vụ như khởi động, dừng, tạm dừng,…, dịch vụ; lấy danh sách các dịch vụ,… K Thành phần ServiceController sẽ chuyển các yêu cầu đến SCM, chứ không phải cho bản thân dịch vụ. Sau đó SCM sẽ thực hiện các hành động được yêu cầu như khởi động, dừng,… dịch vụ. Sau khi ServiceController đã chuyển các yêu cầu đến 13
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2