Xem mẫu

  1. Chương I Giới thiệu Internet và Intranet.........................................................................3 1.1. Kiến trúc logic mạng máy tính.......................................................................................3 1.1.1. Khái niệm cơ bản về kiến trúc máy tính................................................................3 1.1.2. Kiến trúc Peer-to-Peer và các hệ thống tính toán...................................................4 1.1.3 Kiến trúc khách/chủ cổ điển....................................................................................5 1.1.4. Kiến trúc khách chủ dựa Web...............................................................................10 1.2. Nền tảng của các Công nghệ mạng.............................................................................12 1.2.1. Sự tương tác với Webserver..................................................................................12 1.2.2. Xử lý thông tin phân tán trên nền tảng cả các chương trình dễ biến đổi...........15 1.2.3. Truy xuất tới cơ sở dữ liệu quản hệ....................................................................23 Chương II Ngôn ngữ HTML..........................................................................................28 2.1 Khái niệm về ngôn ngữ HTML.....................................................................................28 2.2 Lập trình Web với ngôn ngữ HTML.............................................................................28 2.2.1 Các thành phần cơ bản của html............................................................................28 2.2.2 Cấu trúc tệp HTML................................................................................................29 2.3 Các tag cơ bản trong HTML..........................................................................................29 2.3.1. Thẻ giải thích.........................................................................................................29 2.3.2 Các thẻ định dạng văn bản.....................................................................................29 2.3.4 Một số kí tự đặc biệt trong HTML........................................................................33 2.3.5 Các tag dùng thiết kế bảng.....................................................................................33 2.3.6 Các tag tạo Frame....................................................................................................34 2.3.7 Các tag dùng tạo Form............................................................................................34 Chương III Cascading style sheets..................................................................................36 2.1 Căn bản về CSS (Cascading style sheets)......................................................................36 2.2 Cú pháp CSS...................................................................................................................36 2.2.1 Phần tử chọn – Seclector........................................................................................36 2.2.2 Các phần tử lựa chọn lớp giả động.......................................................................40 2.2.3 Thuộc tính, miêu tả, qui tắc....................................................................................42 2.3 Bổ sung CSS vào tài liệu HTML..................................................................................45 2.4. Các mô hình trực quan...................................................................................................46 Chương IV Ngôn ngữ kịch bản Javascript.....................................................................49 4.1. Giới thiệu ngôn ngữ kịch bản Javascrip.......................................................................49 4.2. Ngôn ngữ kich ban JavaScript.......................................................................................51 ̣ ̉ 4.2.1 Kiêu dữ liêu.............................................................................................................51 ̉ ̣ ́ 4.2.2 Khai báo biên...........................................................................................................51 4.2.3. Cac toan tử JavaScript ...........................................................................................52 ́ ́ 4.2.4. Cac câu lênh rẽ nhanh và lăp..................................................................................54 ́ ̣ ́ ̣ 4.2.3. Cac đôi tương trong JavaScript..............................................................................60 ́ ́ ̀ 4.2.4. Ham.........................................................................................................................67 4.2.5. Lâp trinh hướng đôi tương trong JavaScript..............................................................70 ̣ ̀ ́ 4.2.5.1 Tao môt đôi tương ................................................................................................70 ̣ ̣ ́ 4.2.6. Lập trình với các đối tương của trình duyệt........................................................71 4.2.7. HTML Forms..........................................................................................................77 Chương V Active Server Pages......................................................................................90 5.1.Giới thiệu công nghệ ASP.............................................................................................90 5.2 Cú pháp và thao tác cơ bản............................................................................................90 5.2.1. Cách chèn các đoạn mã VBScript vào trong trang web.........................................90 5.2.2. Chú thích.................................................................................................................91 5.2.5. Các toán tử..............................................................................................................92 5.2.4. Hằng và biến..........................................................................................................92 1
  2. 5.3. Các câu lệnh..................................................................................................................93 5.3.1. Lệnh rẽ nhánh........................................................................................................93 5.3.2. Lệnh lặp xác định...................................................................................................94 5.3.3. Vòng lặp không xác định........................................................................................95 5.4 Hàm và thủ tục...............................................................................................................97 5.4.1. Hàm.........................................................................................................................97 5.4.2. Thủ tục...................................................................................................................97 5.4.3. Ví dụ sử dụng hàm và thủ tục (Giaỉ phương trình bậc 2 một ẩn số).................97 5.4.2. MỘT SỐ HÀM THƯỜNG DÙNG TRONG VBSCRIPT....................................98 5.4.3. ĐOẠN MÃ DÙNG CHUNG................................................................................100 5.5. Tệp cấu hình GLOBAL.ASA.....................................................................................101 5.5.1. Các sự kiện...........................................................................................................101 5.5.2. Khai báo đối tương..............................................................................................101 5.5.3. Một file cấu hình Global.asa đơn giản................................................................102 5.5.2. TẬP HỢP (COLLECTION) TRONG ASP..........................................................102 5.5.2.1. Khái niệm..........................................................................................................102 5.5.2.2. Cách truy cập các phần tử trong tập hơp.........................................................103 5.6. Xử lý các FORM dữ liệu..........................................................................................104 5.6.1. Mở đầu.................................................................................................................104 5.6.2. Sử dụng phương thức GET.................................................................................104 5.6.3. Sử dụng phương thức POST...............................................................................105 5.7. Các đối tương cài sẵn trong ASP...............................................................................107 5.7.1. Các đối tương ASP..............................................................................................107 5.7.2. Đối tương REQUEST..........................................................................................107 5.7.3. Đối tương RESPONSE........................................................................................110 5.7.4. Đối tương APPLICATION..................................................................................111 5.7.5. ĐỐI TƯỢNG SESSION......................................................................................113 5.7.6. ĐỐI TƯỢNG SERVER.......................................................................................115 5.8. COOKIES....................................................................................................................118 5.8.1. Khái niệm COOKIES...........................................................................................118 5.8.2. Thiết lập COOKIES.............................................................................................118 5.8.3. Lấy giá trị của COOKIES....................................................................................118 5.8.4. Thư mục COOKIES.............................................................................................118 5.8.5. Kiểm tra xem COOKIES có dùng khóa không....................................................119 5.9 Giới thiệu ADO và các kết nối cơ sở dữ liệu............................................................119 5.9.1 Giới thiệu..............................................................................................................119 5.9.2 Kế nối với cơ sở dữ liệu......................................................................................119 5.9.3 Các đối tương của ADO.......................................................................................120 2
  3. Chương I Giới thiệu Internet và Intranet 1.1. Kiến trúc logic mạng máy tính 1.1.1. Khái niệm cơ bản về kiến trúc máy tính Với sự phát triển không ngừng về qui mô và độ phúc tạp của các mô hình mạng máy tính đã dẫn đến sự phức tạp trong công nghệ vận hành của các mạng này, và hiểu đươc sự phức tạp này là yếu tố cần thiết cho phép tổ chức bảo vệ hiệu quả nguồn tài nguyên thông tin. Công nghệ vận hành của bất kì hệ thống nào đều phụ thuộc vào kiến trúc miêu tả các thành phần của công nghệ, các chức năng và mỗi quan hệ của chúng. Rất khó để hiểu và phân tích kiến trúc của hệ thống phúc tạp một cách trọn vẹn. Để giảm độ phức tạp của sự phân tích, một kiến trúc sẽ đươc cân nhắc ở các mức khác nhau. Điều này rất có ích để xem xét mỗi mức với các chức năng trừu tương ẩn đi hiết tiết của sự thực thi các thành phần của kiến trúc. Khi nghiên cứu kiên truc cua cac mang may tinh, việc phân biêt giữa những kiên truc vât lý ́ ́ ̉ ́ ̣ ́ ́ ̣ ́ ́ ̣ và kiên truc logic rất cần thiết. Kiên truc vât lý miêu tả câu truc, chức năng và những môi ́ ́ ́ ́ ̣ ̉ ́ ́ ́ quan hệ trung gian giữa các giao thức thực thi tai tâng dưới và cac tâng giữa trong mô hinh ̣ ̀ ́ ̀ ̀ phân lớp chuân cua sự tương tác mang (mô hinh tham chiêu OSI, một cách cụ thể giao thức ̉ ̉ ̣ ̀ ́ của tầng vật lý, liên kết dữ liệu, mạng, giao vận và tầng phiên). Vì vây, kiên truc vât lý ̣ ́ ́ ̣ không chỉ phụ thuôc vao kiên truc, chức năng và môi quan hệ qua lai cua phân cứng mang, ̣ ̀ ́ ́ ́ ̣ ̉ ̀ ̣ mà con phụ thuôc sự thực thi phần mềm cua cac giao thức tai tâng thâp và tâng giữa cua mô ̀ ̣ ̉ ́ ̣ ̀ ́ ̀ ̉ hinh OSI. Để có thể phân tich chi tiết về kiến trúc vật lý, cần phải xem xét tại tất cả các ̀ mức, tương ứng với tầng vật lý, liên kết dữ liệu, mạng, giao vận và phiên của mô hình phân lớp chuẩn. Hình. 1.1: Mối quan hệ giữa lớp OSI và kiểu kiến trúc mạng 3
  4. Kiên truc logic miêu tả câu truc, nhiêm vụ và môi quan hệ của phân mêm thực thi cac giao ́ ́ ́ ́ ̣ ́ ̀ ̀ ́ thức ở tâng trên, đăc biêt cac giao thức ở tâng trinh diên và tâng ứng dung. Kiến trúc này ̀ ̣ ̣ ́ ̀ ̀ ̃ ̀ ̣ mang lại công nghệ tích hơp và hơp nhất của mạng máy tính và có thể xây dựng các mức trừu tương khác nhau của kiến trúc vật lý. Hiện nay, có một vài loại kiến trúc mạng logic như sau:  ́ ́ ̀ Kiên truc ngang hang  Kiên truc khach/chủ cổ điên ́ ́ ́ ̉  Kiên truc khach chủ dựa vao Web ́ ́ ́ ̀ Sự xuât hiên cua các mô hinh đêu liên quan đên cac giai đoan khac nhau cua sự phat triên hệ ́ ̣ ̉ ̀ ̀ ́ ́ ̣ ́ ̉ ́ ̉ thông mang may tinh. Sự lựa chon chinh xac mô hinh cho kiên truc logic cua mang may tinh ́ ̣ ́ ́ ̣ ́ ́ ̀ ́ ́ ̉ ̣ ́ ́ cho phep nhà thiêt kế mang đap ứng những yêu câu về tinh hiêu qua, độ tin cây bao vệ những ́ ́ ̣ ́ ̀ ̀ ̣ ̉ ̣ ̉ nguôn tai nguyên mang, sự uyên chuyên thiêt lâp mang và hơn nữa đó là chi phí nhỏ nhât cho ̀ ̀ ̣ ̉ ̉ ́ ̣ ̣ ́ viêc xây dựng và quan tri. ̣ ̉ ̣ 1.1.2. Kiến trúc Peer-to-Peer và các hệ thống tính toán Bước đầu tiên trong sự tiến triển các hệ thống tính toán xuất hiện từ năm 1940 đến 1970,và trong thực tế, nó đã quay trở lại ngay sau khi chiếc máy tính đầu tiên đươc phát minh ra. Theo nguyên tắc, mỗi một hệ thống tính toán tại thời điểm này đều dựa vào việc sử dụng chia sẻ của máy tính đa người dùng, khi mà máy tính chưa xuất hiện. Kiến trúc của những hệ thống tính toán này, vận hành trong chế độ tự trị, đươc tập trung với các thiết bị đầu cuối kết nối đến máy tính trung tâm (Hình. 1.2). Hình. 1.2: Kiến trúc đầu tiển của hệ thống tính toán Tuy nhiên, nếu các máy tính đươc kết nối bởi các liên kết truyền thông để tạo thành một mạng, mạng như vậy có một kiến trúc ngang hàng, trong đó không có các máy tính tận hiến cung cấp toàn bộ nguồn tài nguyên của chúng cho các máy tính khác trong mạng sử dụng chung. Vì vậy, kiến trúc tập trung thuộc về danh mục của một hệ thống tính toán tự trị dựa trên việc sử dụng chia sẻ một máy tính đã người dùng, trong khi đó kiến trúc ngang hàng thuộc về danh mục mạng máy tính bao gồm các máy tính có vai trò như nhau, không tồn tại máy tính tận hiến cấp nguồn tài nguyên của chúng cho việc sử dụng chung. 4
  5. Trong kiến trúc tập trung, tất cả các nguồn tài nguyển của hệ thống tính toán, bao gồm thông tin, đươc tập trung trong máy tính trung tâm, đươc biết như là máy tính lớn (máy tính lớn là một thành phần tập trung của hệ thống máy tính). Các thiết bị đầu cuối đươc kết nối đến máy tính tập trung bằng cáp đươc sử dụng như phương tiện chính truy cập đển những nguồn tài nguyên thông tin. Vì một thiết bị đầu cuối là một thiết bị tương đối đơn giản, nó không đòi hỏi bất kì thao tác đặc biệt nào để thiết lập hay yêu cầu cấu hình phần mềm đươc thực hiện bởi người dùng cuối, khi mà không có phần mềm đươc lưu trữ trong thiết bị đầu cuối. Việc điều khiển các thiết bị đầu cuối đươc thiết lập chủ yếu (cetrally) từ máy tính lớn, và tất cả thiết bị đầu cuối đều có cũng kiểu. Vì vậy, đảm bảo đươc chương trình chạy trên một thiết bị đầu cuối bất kì có thể chạy trên tất cả các thiết bị đầu cuối trong cùng một cách. Về măt lưu trữ dữ liêu và bao mât xử lý dữ liêu, sự thuân lơi chinh cua kiên truc tâp trung đó ̣ ̣ ̉ ̣ ̣ ̣ ́ ̉ ́ ́ ̣ là môi quan hệ đơn gian cua viêc xây dựng và quan trị hệ thông bao mât thông tin. Điêu nay ́ ̉ ̉ ̣ ̉ ́ ̉ ̣ ̀ ̀ dân tới sự tâp trung nguôn tai nguyên, vì điêu đó mang lai sự dễ dang để bao vệ rât nhiêu đôi ̃ ̣ ̀ ̀ ̀ ̣ ̀ ̉ ́ ̀ ́ tương nêu những đôi tương nay đươc xac đinh ở môt nơi hơn là chung đươc phân bố ở ́ ́ ̀ ́ ̣ ̣ ́ những vị trí khac nhau ́ Măc dù có nhiêu thuân lơi, những hệ thống tinh toan đâu tiên có số điêu han chế như thiêu ̣ ̀ ̣ ́ ́ ̀ ̀ ̣ ́ sự uyên chuyên hệ thông, không thuân lơi sử dung đôi với người sử dung cuôi và chi phí ̉ ̉ ́ ̣ ̣ ́ ̣ ́ cao. Khi sử dung những hệ thông tinh toan với kiên truc tâp trung bắt đầu mất dần đi tầm quan ̣ ́ ́ ́ ́ ́ ̣ trọng, mạng ngang hàng trở nên phổ biến hơn, bởi vì chi phí của các mạng này khá thấp. Tuy nhiên, các mạng ngang hàng hiện nay kết nối các PC hơn nhưng máy tính đa người dùng. Vì vậy, một thuộc tính chính của mạng ngang hàng đó là thiếu vắng các máy tính tập trung cung cấp nguồn tài nguyên của chính nó cho việc sử dụng chung. Những nhươc điểm quan trọng của những mạng ngang hàng đó là sự thực thị, bảo mật và sự an toàn ở mức thức của chúng, cũng như sự phức tạp trong quản trị. Thêm vào đó, những nhươc điểm này tăng lên khi số lương các máy tính trong mạng tăng. Vì vậy, kiến trúc mạng ngang hàng thích hơp cho việc kết nối số lương máy tính ít với yêu cầu về sự an toàn và khả năng xử lý dữ liệu thấp. 1.1.3 Kiến trúc khách/chủ cổ điển Những nhươc điểm của hệ thống máy tính tập trung và các mạng máy tính ngang hàng gần đây đã đươc loại bỏ bởi cấu trúc của các hệ thống máy tính dựa trên kiến trúc khách/chủ. Kiến trúc này xuất hiện từ khoảng năm 1980, đánh dấu giai đoạn 2 trong tiến trình công nghệ tính toán. Đặc trưng của của giai đoạn này là sự phân quyền kiến trúc của hệ thống máy tính tự trị và sự tương kết của chúng trong các mạng máy tính toàn cầu. Kiến trúc phân quyền kết hơp với những hệ thống tính toán đầu tiên có thể là kết quả của sự xuất hiện các máy tính cá nhân, khác với các thiết bị đầu cuối đơn, những máy tính cá nhân có thể thực hiện rất nhiều các chức năng mà trước đây do máy tính trung tâm đảm nhiệm. Kết quả của sự phân quyền này là có thể tạo nên các hệ thống máy tính toàn cầu hoặc cục bộ phân tán bao gồm các máy tính cá nhân và các máy tính cung cấp tài nguyên của nó cho các máy tính khác trong mạng dùng chung. Các máy tính cung cấp tài nguyên của nó đươc gọi là máy chủ còn những máy tính sử dụng tài nguyên đươc chia sẻ gọi là máy khách. Theo đó kiến trúc hệ thống máy tính phân tán như vậy đươc biết đến như là kiến trúc khách/chủ (Hình. 1.3). Các máy tính cá nhân có vai trò máy khách cũng đươc gọi là các trạm làm việc của mạng. 5
  6. Hình. 1.3: Kiến trúc khánh chủ Một máy chủ đặc trưng đươc miểu tả bởi loại tài nguyên mà nó quản lý. Ví dụ, nếu nguồn tài nguyên là cơ sở dữ liệu thì máy chủ đó đươc coi như là máy chủ cơ sở dữ liệu, mục đích chính của nó đó là phục vụ các truy vấn của máy trạm cho việc xử lý dữ liệu. Nếu nguồn tài nguyên là một hệ thống tệp, máy chủ đươc biết đến như là máy chủ tệp. và mục đích của nó là chuyển các tệp tới các máy trạm. Nói chung, các máy chủ có khả năng cung cấp các nguồn tài nguyên sử dụng chung, bao gồm cơ sở dữ liệu, các hệ thống tệp và một số dịch vụ khác đươc thực hiện bởi số các chương trình máy chủ. Thêm vào đó, các máy chủ có thể cung cấp truy cập tới các thiết bị ngoại vi (ví dụ, máy chủ in ấn có thể cung cấp việc chia sẻ truy cập đến một máy in). Chúng ta phân biệt giữa các mô hình kiến trúc khách, mỗi mô hình này tương ứng sự phân loại thích hơp của các thành phần của kiến trúc phần mềm bên trong các máy tính mạng. Các thành phần phần mềm phân phối đươc phân biệt bởi chức năng mà chúng có khả năng cung cấp. Các chức năng của bất kì một ứng dụng phần mềm nào có thể đươc chia thành 3 nhóm sau đây:  Các chức năng liên quan tới đầu vào (input) và đầu ra (output)  Các chức năng ứng dụng, cụ thể tới từng vùng kiến thức (một vùng chuyên để giải quyết một vấn đề nào đó) của ứng dụng  Các chức năng quản lý dữ liệu Data mining Bất kì một ứng dụng phân mềm hiện nay có thể đươc biểu diển bởi một cấu trúc bao gồm 3 thành phần sau:  Các thành phần trình diễn, mà nó thực thi giao diện người dùng  Các thành phần ứng dụng, thực thi các chức năng ứng dụng  Các thành phần cung cấp truy cập tới các người tài nguyên thông tin, thông tin Các mô hình của kiến trúc khách chủ dưới đây đươc xác định, tương ứng với các phương thức phân phối của 3 thành phần phần mềm chính giữa các trạm làm việc và máy chủ mạng: 6
  7.  Chỉ có dữ liệu đươc lưu trữ trên máy chủ (Hình. 1.4). Hình. 1.4: Mô hình truy cập đến dữ liệu từ xa  Bổ sung dữ liệu, nhà quản lý tài nguyên đươc xác định trên máy chủ, ví dụ một hệ quản lý cơ sở dữ liệu (Hình. 1.5). Hình. 1.5: Mô hình máy chủ điều khiển dữ liệu  Dữ liệu, quản lý tài nguyên, và các thành phần ứng dụng đươc tập trung trên máy chủ (Hình. 1.6). Hình. 1.6: Mô hình khách/chủ hai lớp  Các thành phân ứng dụng đươc lưu trên máy chủ, trong khi dữ liệu và quản lý tìa nguyên đươc lưu trong máy chủ khác (Hình. 1.7). Hình. 1.7: Mô hình khách/chủ ba lớp Mô hình của kiến trúc khách chủ đầu tiên lưu trữ dữ liệu trên máy chủ, không cung cấp tính năng hiệu quả cao, vì thông tin đươc xử lý trên các máy trạm và các tệp chứa thông tin này phải đươc truyền cho việc xử lý từ máy chủ trên toàn bộ mạng. Việc truyền khối 7
  8. lương lớn dữ liệu trên toàn mạng dẫn tới sự trao đổi thông tin với tốc độ thấp. Tiếp theo, điểu này có thể dẫn tới quá tải trên mạng. Chính vì lí do này, mô hình truy xuất dữ liệu từ xa chỉ có thể đươc sử dụng cho các mạng khá nhỏ, với việc xử lý số lương dữ liệu ít. Hình 1.5 chỉ ra mô hình thứ 2 của kiến trúc khách chủ, trong đó thông tin đã đươc lưu trữ trên máy chủ, đó là hệ thống quản lý tài nguyên (ví dụ DBMS). Đây là mô hình máy chủ điều khiển dữ liêu. Các thành phần trình diễn và ứng dụng đã đươc kết hơp và thực thi trên máy trạm, hỗ trơ các chức năng hiển thị và dữ liệu đầu vào cũng như các chức năng ứng dụng. Theo quy ước, việc truy cập đến các nguồn tài nguyên thông tin đươc cung cấp với các thao tác của ngôn ngữ đặc biệt (ví dụ, SQL trong trường hơp của các cơ sở dữ liệu) hoặc gọi các chức năng chứa trong các thư viện chương trình chuyên dụng. Các câu truy vấn tạo ra các nguồn tài nguyên thông tin đươc gửi tới các trình quản lý tài nguyên. Trình quản lý tài nguyên xử lý các truy vấn và trả về các khối dữ liệu cho máy trạm. Ưu điểm của mô hình máy chủ điều khiển dữ liệu so với mô hình truy cập dữ liệu từ xa đó là thông tin ít đươc truyền trên mạng hơn. Đó là nhờ có việc lựa chọn các đơn vị thông tin đươc yêu cầu từ các tệp không đươc thực hiện trên máy trạm mà đươc thực hiện trên máy chủ. Nói chung, tại thời điểm hiện tại, có rất nhiều công cụ phát triển, cung cấp phát triển ứng dụng nhanh, sử dụng một giao diện chuẩn, thao tác với DBMS hướng SQL. Điều này cung cấp sự thống nhất, sự thao tác giữa các thành phần, và rất nhiều sự lựa chọn các công cụ phát triển phần mềm. Nhươc điểm chính của mô hình điều khiển dữ liệu đó là không có danh giới rõ ràng giữa thành phần trình diễn và thành phần ứng dụng. Điều này dẫn đến cản trở sự phát triển tiếp theo của hệ thống tính toán có kiến trúc xây dựng dựa vào mô hình này. Hơn thế nữa, sự thay đối một thành phần yêu cầu sự thay đổi của toàn bộ hệ thống Toàn bộ những thuận lơi và bất lơi của mô hình máy chủ điều khiển dữ liệu đươc liệt kê ở trên, có thể kết luận rằng dựa vào mô hình này là phù hơp nhất xây dựng những hệ thống tính toán hướng xử lý nội dung thông tin vừa phải, mà nội dung thông tin này không tăng theo thời gian. Vì vậy, độ phức tạp của các thành phần áp dụng ứng dụng sẽ không cao. So với mô hình máy chủ điều khiển dữ liệu, mô hình khách chủ hai lớp thuận tiện hơn để điều hành. Mô hình này đã đươc phát triển với giả thuyết rằng, việc thực hiện xử lý trên máy trạm đươc giới hạn đối với các chức năng trình diễn, trong khi các chức năng ứng dụng và truy cập dữ liệu đươc thực hiện ở phía máy chủ. Những chức năng ứng dụng có thể đươc thực hiện trong các chương trình riêng rẽ hoặc trong các thủ tục lưu trữ, đươc biết đến như là các thủ tục cơ sở dữ liệu. Những thủ tục này đươc lưu trữ trong cơ sở dữ liệu và đươc thực hiện trên máy chủ, nơi thành phần điều khiển truy xuất dữ liệu, tương đương nhân của DBMS cũng hoạt động. Ngươc lại với mô hình máy chủ điều khiển dữ liệu, lơi ích của máy chủ tích hơp rất rõ ràng: đơn giản, hiệu quả cao, quản trị tập trung, và vì vậy giảm bớt việc sự dụng các nguồn tài nguyên mạng. Từ những lơi ích này, có thể đi đến một kết luận đó là mô hình máy chủ tích hơp là tối ưu cho các mạng lớn hướng về xử lý số lương lớn thông tin, hoặc sẽ là mô hình mong đơi trong thời gian tới. Khi các thành phần ứng dụng ngày càng phức tạp và sử dụng nhiều nguồn tài nguyên, một máy chủ riêng biệt (máy chủ ứng dụng) có thể đươc sử dụng. Chính từ nhu cấu này đem lại mô hình ba lớp của kiến trúc khách chủ. Lớp đầu tiên chính là máy trạm, lớp thứ là máy chủ ứng dụng, và lớp ba chính là máy chủ điều khiển dữ liệu. Kiến trúc khách chủ là hai 8
  9. lớp khi các thành phần ứng dụng đươc đặt trên máy trạm cùng với thành phần trình diễn (Hình. 1.4, Hình. 1.5), hoặc trên máy chủ cùng với trình quản lý tài nguyên và dữ liệu (Hình. 1.6). Bên trong khung của máy chủ ứng dụng, một vài chức năng ứng dụng có thể đươc thực hiện, mỗi chức năng thiết lập mẫu các dịch vụ riêng biệt, cung cấp một vài chức năng cho bất kì chương trình có thể và muốn sử dụng chúng. Có một vài máy chủ ứng dụng, mỗi máy chủ hướng về tập các dịch vụ xác định. Bất ki một chương trình nào sử dụng dịch vụ đều đươc xem như là máy chủ. Chi tiết thực hiện các chức năng ứng dụng trên máy chủ ứng dụng đươc ẩn đi đối với máy trạm. Các truy vận nhận từ các ứng dụng của máy trạm đươc đặt trong hàng đơi kết hơp với các máy chủ xử lý ứng dụng, tách và truyền truy vấn cho việc xử lý theo chế độ ưu tiên. Máy trạm có thể có nhiều hơn một thành phần trình diễn. Thành phần trình diễn có thể hỗ trơ giao diện cho người dùng cuối (tại thời điểm đó, nó hoạt động như thành phần trình diễn); nó có thể cung cập chuyển dữ liệu từ các thiết bị; và có thể là máy chủ ứng dụng. Cuối cùng cho phép thựchiện các hệ thống ứng dụng, bao gồm các máy chủ ứng dụng của vài mức. Kiến trúc của hệ thống như vậy có thể đươc xem như là một nhân bao xung quanh bởi các vòng đồng tâm. Nhân bao gồm các máy chủ ứng dụng, mà ở đó các chức năng ứng dụng cơ bản đươc thực hiện. Tập biểu tương nhẫn của các máy chủ ứng dụng hoạt động như các máy trạm liên quan đến máy chủ của mực trong. Không có sự giới hạn số các mức của các máy chủ ứng dụng. Sự hiện diện của các đường rành giới giữa các thành phần của máy chủ phần mềm trong kiến trúc khách/chủ và sự phân phối cân bằng của các thành phần trong các máy tính của mạng cho phép mức như vậy mềm dẻo không có hiệu lực trong kiến trúc ngang hàng. Như vậy, nguồn tài nguyên dành ở mức cao của sự thực thi và khả năng mở rộng và cải tiến chức năng của hệ thống có thể đươc thực hiện. Kiến trúc mạng khách/chủ, xuất hiện ở giai đoạn hai của sự tiến triển các cộng nghệ mạng máy tính còn đươc gọi là kiến trúc khách/chủ cổ điển. Sau đây là một số mô tả chức năng của mô hình này:  Máy chủ không sinh ra thông tin cuối cùng mà là dữ liệu, dữ liệu này tuy thuộc vào sự biên dịch bởi các máy trạm  Các thành phần của hệ thống ứn dụng đươc phân tán trong các máy tính trên mạng.  Các giao thức riêng, không tương thích với TCP/IP, có thể đươc sử dụng giữa các máy trạm và máy chủ.  Mỗi máy tính mạng đươc hướng thực thi các chương trình cục bộ. Chức năng cuối cùng nảy sinh đó là bảo mật thông tin. Khi chỉ các chương trình cục bộ đươc thực hiện trên máy tính, sự di chuyển các chương trình trên mạng trong suốt quá trình xử lý các truy vấn đươc thực hiện bởi máy trạm đến máy chủ không xuất hiện. Khả năng thực hiện các chương trình gây tác hại hoặc sự lây nhiễm máy tính sẽ giảm đi Về mặt lưu trữ dữ liệu và xử lý bảo mật, kiến trúc khách/chủ có số bất lơi sau:  Phân phối vật lý của các thành phần của các chương trình ứng dụng và sự hỗn loạn, không tuân thủ qui tác của các hệ thống tính toán làm phức tạp xây dựng và quản trị hệ thống bảo mật  Một phần bảo vệ tài nguyên thông tin lưu trên máy tính cá nhân đươc miêu tả bởi và phụ thuộc tăng điểm yếu. 9
  10.  Việc sử dụng các giao thức riêng cho việc chuyển đổi dữ liệu giữa các máy tính yêu cầu việc phát triển các công cụ bảo mật riêng như vậy dẫn đến tăng chi phí.  Với việc mất các thiết lập phần mềm của các máy trạm, thực hiện các thủ tục phức tạp cho việc kết nối lại và phối hơp máy tính này với phần còn lại của hệ thống là cần thiết, dẫn đến sự tăng thời gian phục hồi lỗi. 1.1.4. Kiến trúc khách chủ dựa Web Có rất nhiều điều bất lơi đối với các mạng máy tính dựa theo kiến trúc khách chủ cổ điển, những bất lơi này có thể đươc loại bỏ bởi bằng cách kết hơp các đặc tính tốt nhất của các hệ thống tập trung và các hệ thống khách chủ cổ điển. Kiến trúc mới của các mạng máy tính đươc gọi là kiến trúc Intranet. Nó còn đươc gọi là kiến trúc Web hay là kiến trúc khách chủ dựa vào công nghệ Web. Kiến trúc này là kết quả nghiên cứu trong thời gian dài và phát triển trong lĩnh vực áp dụng Internet vào trong mạng cục bộ. Sự xuất hiện của kiến trúc Intranet trong năm 1993 đã đươc cân nhắc cho việc bắt đầu của giai đoạn 3 trong sự tiến triển của các hệ thống mạng máy tính. Chức năng chính của kiến trúc Intranet chính là các chức năng đã bị loại bỏ trong mô hình máy tính trung tâm trong giai đoạn hai của sự tiến triển các hệ thống tính toán. Nèn tản của kiến trúc mới này đó là công nghệ. Công nghệ Web còn đươc gọi là “các văn bản Web”, mà các văn bản này đươc lưu trên máy chủ và đươc biên dịch và hiển thị bởi chương trình duyệt hoạt động trên máy trạm workstations (Hình. 1.8). Các chương trình duyệt đươc gọi là trình duyệt Web. Hình. 1.8: Kiến trúc khác/chủ dựa vào công nghệ Web Nói cách khác, một tài liệu Web biểu diễn các tài liệu siêu media, bao gồm các trang Web đươc nối với nhau bởi các liên kết. Mỗi một trang Web có thể chứa các đối tương và các liên kết tới các trang Web khác. Theo qui luật đã định, một trang Web đươc biểu diễn bởi một tệp văn bản, với định dạng xác định mà chỉ rõ các liên kết tới các đối tương khác và các văn bản Web, đươc xác định trên các host mạng khác nhau. Thực ra, về bản chất một văn bản Web chứa chỉ một trang Web nhưng hơp lý nhất là nó có thể bao gồm số lương lớn các trang, mà các trang này thuộc về các văn bản Web khác nhau. 10
  11. Một trang Web có thể chứa văn bản và hình ảnh. Không giống như văn bản giấy, trang Web có thể là tương tác với các chương trình máy tính và có thể chứa các liên kiết đến những đối tương khác. Bất kì link nào chứa trong một trang Web đươc đánh dấu bởi màu và/hoặc dấu gạch chân. Hệ thống các siêu liên kết dành đươc dựa vào yếu đó đó là các vùng lựa chọn của tài liệu, đươc biểu diễn bởi text, ảnh, hoạt động như các liên kết đến các đối tương đươc kết nối logic đến chúng. Vì vậy các đối tương liên kết có thể đươc lưu trữ tại vị trí bất kì nào trên mạng Một trang Web có thể chứa liên kết đến một số kiểu đối tương sau:  Các phần khác của một tài liệu Web  Các tài liệu Web hoặc các tài liệu có định dạng khác (ví dụ tài liệu bảng tính, soạn thảo), mà các tài liệu này có thể đươc xác định trên bất kì máy tính nào trên mạng  Các đối tương Multimedia, bao gồm các ảnh, âm thanh và video.  Một chương trình sẽ đươc thực thi trên máy chủ sau kích vào liên kết  Một chương trình đươc truyền tới cho máy trạm bằng trình duyệt từ máy chủ và đươc biên dịch và thực thi trên máy trạm  Các dịch vụ khác, bao gồm e-mail, sao chép các tệp thông qua mạng, tìm kiếm thông tin vv.. Từ những định nghĩa về tài liệu Web, dễ dàng cho các chương trình điều hướng, thực hiện trên các máy trạm , không bị hạn chế hiển thị các trang Web và thực hiển truyền tới các đối tương khác. Chương trình điều hướng có thể là chương trình thực sự trên máy chủ và thông dịch hoặc chạy các môdun có khả năng thực thi liên quan tới tài liệu Web trên máy trạm Việc truyền các tài liệu và các đối tương từ máy chủ đến máy trạm sau khi các yêu cầu từ trình duyệt đươc xử lý bởi một chương trình hoạt động trên máy chủ, chương trình này đươc gọi là máy chủ Web. Để nhận đươc các tài liệu hoặc các đối tương từ máy chủ Web, trình duyệt gửi một truy vấn thích hơp tớ cho máy chủ. Nếu có đủ quyền hạn, một kết nối logic đươc thiết lập giữa máy trạm và máy chủ. Sau đó, máy chủ xử lý truy vấn, truyền kết quả về cho trình duyệt Web và hủy bỏ kết nối. Máy chủ Web hoạt động như là bộ tập trung thông tin làm nhiệm vụ truyền thông tin từ các nguồn tài nguyên khác nhau và biểu diễn chúng cho người sử dụng trong một cách thức đồng nhất. Trình duyệt cho phép người sử dụng xem thông tin mà không phụ thuộc vào định dạng của thông tin. Để kết nối kiểu dữ liệu phân tán và kiểu dữ liệu khác, các tài liệu Web cho phép cân nhắc thông tin với yêu cầu đầy đủ chi tiết, làm đơn giản hóa phân tích các nội dung thông tin. Điều này rất hơp lý để tập trung quan tâm tới khía cạnh quan trọng của dữ liệu, và nghiên cứu tài nguyên đã lựa chọn một cách chi tiết. Kiến trúc Intranet có một vài ưu điểm: The following distinctive features of Intranet architecture should be emphasized:  Thông tin cuối cùng dành để hiển thị cho người dùng xem bằng chương trình duyệt đươc tạo trên máy chủ  Tất cả nhưng nguồn tài nguyên và hệ thống ứng dụng đươc tập trung trên máy chủ  Các giao thức của bộ giao thức TCP/IP sẽ đươc sử dụng cho việc trao đổi dữ liệu giữa máy chủ và các máy trạm 11
  12.  Điều khiển tập trung không chỉ trên máy chủ mà còn cho máy trạm rất thuận lơi, vì chúng đã đươc chuẩn về mặt phần mềm  Các máy trạm có thể thực thi các chương trình từ những máy tính khác trên mạng Tât cả những chức năng nay, loai trừ chức năng cuôi cung, trơ giup giai quyêt vân đề bao ́ ̀ ̣ ́ ̀ ́ ̉ ́ ́ ̉ ̣ mât thông tin. Sự tâp trung tât cả nguôn tai nguyên thông tin và cac hệ thông ứng dung trên may chủ lam ̣ ́ ̀ ̀ ́ ́ ̣ ́ ̀ đơn gian trong viêc xây dựng và quan trị cua hệ thông bao mât và bao vệ cac đôi tương ở ̉ ̣ ̉ ̉ ́ ̉ ̣ ̉ ́ ́ cung môt nơi sẽ đươc thực hiên môt cach dễ dang hơn so với kiên truc phân tan. ̀ ̣ ̣ ̣ ́ ̀ ́ ́ ́ Viêc sử dung chuân mở TCP/IP cho viêc trao đôi thông tin giữa cac may tinh trong mang dân ̣ ̣ ̉ ̣ ̉ ́ ́ ́ ̣ ̃ đến viêc thống nhât cac phương thức tương tac giữa cac tram lam viêc và may chu. Điêu ̣ ́ ́ ́ ́ ̣ ̀ ̣ ́ ̉ ̀ nay không mang lai lơi ich để giai quyêt vân đề cua viêc cung câp trong đổi thông tin an toàn ̀ ̣ ́ ̉ ́ ́ ̉ ̣ ́ giữa các ứng dụng máy chủ trên các máy tính. Giải pháp cho an toàn tương tác phát triển cho từng mính tính sẽ thích hơp đối với tất cả ứng dụng. Sự thuận lơi của điều khiển tập trung của các máy trạm từ máy chủ làm giảm các lỗi không mong đơi có thể xảy do người dùng, điều hành, và quản lý. Nhưng lỗi như vậy là một trong sự đe dọa chính đối với àn toàn thông tin, dẫn đến sự phá hoại. Ví dụ, việc nhập dữ liệu đầu vào không chính xác gây ra ngừng chạy chương trình. Những lỗi này tạo ra chỗ yếu có thể bị khai thác. Trong kiến trúc Intranet, giả xử các chương trình xử lý thông tin phân tán vẫn đươc sử dụng từ máy chủ có thể đươc thực hiện trên máy trạm. Hệ thống như vậy của việc xử lý phân tán cho phép tập trung tất cả các hệ thống ứng dụng trên máy chủ. Tuy nhiên, khả năng các chương trình thực hiện từ máy chủ trên máy trạm sinh ra nhiều sự đe dọa mới từ an toàn thông tin (ví dụ, sự đe đọa đó là thay thế chương trình truyền từ máy chủ [1,14]. Ví vậy, khả năng di trú các chương trình bổ sung thêm nhiều yêu cầu để duy trì bảo mật trên mạng. 1.2. Nền tảng của các Công nghệ mạng 1.2.1. Sự tương tác với Webserver 1.2.1.2 Miêu tả tổng quát Ngày nay, hầu hết các phương thức phổ biến tương tác với Webserrver chính là kiến trúc khánh/chủ, dựa vào công nghệ Web. Việc xử lý trao đổi thông tin đươc sử dụng trong các công nghệ Web không khác so với việc xử lý trong kiến trúc khánh/chủ chuẩn, mà ở đó chương trình máy chủ điều khiển việc xử lý các câu truy vấn từ các chương trình khách. Trong việc xử lý trao đổi thông tin sử dụng trong các công nghệ Web, các chương trình khách đươc thực thi trong các chương trình định hướng Web mà đươc tìm thấy trên các máy trạm, cũng như các chương trình phụ trơ hoạt động như các trạm. Các trình duyệt Web đươc sử dụng biên dịch và hiển thị các tài liệu Web đươc lưu trữ trên máy chủ, cũng như truy cập tới các dịch vụ đặc biệt khác (Hình. 1.9), như: • Sao chép các tệp từ máy chủ về máy trạm và ngươc lại (FTP) • Cung cấp một phiên ảo trên máy chủ (Telnet) • Truy cấp thực đơn đa cấp tới các nguồn tài nguyên máy tính (Gopher) 12
  13. Hình. 1.9: Lươc đồ tổng quát của sự tương tác giữa trình duyệt và máy chủ Việc truy cập tới các dịch vụ đặc biệt này là khả thi, vì trên thực tế, ngay từ đầu, các chương trình định hướng Web đã đươc thiết kế như là các chương trình đa giao thức mà có thể cung cấp một giao diện chung cho phép truy cập đến rất nhiều các nguồn tài nguyên mạng. Hiện này, các chương trình định hướng Web phổ biến nhất hiện nay đó là Firefox, Internet Explorer, Opera, Mozilla, Netscape navigator,… Các chương trình Web phụ trơ đươc sử dụng để thu đươc dữ liệu thống kê từ máy chủ Web cho việc định chỉ số thông tin chứa trong máy chủ Web, hoặc cho mục đích cập nhật các cơ sở dữ liệu cho các cơ chế tìm kiếm. Trong lươc đồ tương tác với các công nghệ Web, máy chủ Web hoạt động như một chương trình máy chủ chính. Chương trình này đươc chạy trên máy chủ và thực hiện xử lý các truy vấn đến từ các trạm Web. Sự tương tác giữa các trạm Web và các máy chủ Web đươc thiết lập theo tập các luật đươc xác định bởi giao thức truyền siêu liên kết (HTTP). Khi thực thi, máy chủ Web điều khiển một cổng logic trên mạng, mà cổng này đươc gán mặc định bằng 80, và coi như bất kì các thông báo nào gửi tới cổng này đươc chuyển tới máy chủ Web. Khi nhận đươc một truy vấn từ Web client, máy chủ Web thiết lập truyền thông sử dụng TCP/IP và trao đổi thông với Web client theo giao thức HTTP. Nếu Web client yêu cầu truy cập thông tin đươc bảo vệ trên máy chủ Web, máy chủ Web có thể yêu cầu định danh người dùng và mật khẩu. Các tài liệu Web đươc bảo vệ sẽ chỉ hiển thị đối với những người dùng có các quyền truy cập thích hơp. Các tài liệu nhận đươc bởi trình duyệt từ máy chủ Web tương ứng với các tệp văn bản đươc viết bằng ngôn ngữ đặc biệt, gọi là ngôn ngữ đánh dấu siêu văn bản (HTML). Ngôn ngữ này bao gồm tập các qui định về định dạng văn bản (trong bất kì một ngôn ngữ nào) và cách hiển thị trong của sổ của trình duyệt Web. Việc đánh dấu xác định định dạng, cũng như điều khiển cách liên kết tới bất kì đối tương và đồ họa sẽ đươc hiển thị. Cùng với ngôn ngữ đánh dấu, các chương trình đươc viết bằng ngôn ngữ kịch bản JavaScript và VBSCript có thể đươc chèn vào bên trong tài liệu Web và trình duyệt Web sẽ biên dịch khi nạp và hiển thị tài liệu Web. Để truy cập tới thông tin mà máy chủ không thể xử lý trực tiếp (ví dụ: truy cập cơ sở dữ liệu), một hệ thống cổng phần mềm sẽ đươc sử dụng. Cổng phần mềm, nhận truy vấn từ máy chủ Web, xử lý truy vấn, hoặc hoạt động như proxy giữa máy chủ Web và máy chủ 13
  14. khác (ví dụ: máy chủ DBMS). Cổng phần mềm phát triển theo các chuẩn đặc biệt xác định các phương thức để máy chủ có thể gọi các ứng dụng hoặc các hàm từ các thư viện liên kết động,và hơn thể nữa cách thức của trao đổi thông tin với đối tương chương trình. Giao diện cổng chung (CGI-Common Gateway Interface) là một trong nhưng các chuẩn phổ biển này. 1.2.1.2 Xử lý truy vấn từ Web Client Các bước xử lý bởi máy chủ khi xử lý truy vấn nhận đươc từ Web Client: 1. Trình duyệt Web hoặc Web client khác, gửi truy vấn đến máy chủ Web, yêu cầu tài nguyên thông tin. Truy vấn này đươc gửi trong định dạng HTTP, trong khi địa chỉ của nguồn tài nguyên yêu cậu đươc xác định trong định dang URL 2. Sau khi nhận đươc truy vấn từ máy trạm, mấy chủ Web xác định sự tồn tại của các nguồn tài nguyên đươc yêu cầu trong nguồn tài nguyên cục bộ, có nghĩa là trong nguồn tài nguyên mà máy chủ điều khiển. 3. Nếu nguồn tài nguyên yêu cầu có sẵn, máy chủ Web kiểm tra quyền truy cập vào nguồn tài nguyên này và nếu quyền truy cập không vi phạm, máy chủ Web trả về nội dung của nguồn tài nguyên đến cho Web client. 4. Nếu yêu cầu của Web client can thiệp các quyền truy cập tài nguyên, máy chủ Web từ chối truy vấn và tra về cảnh bảo thích hơp cho client. 5. Nếu nguồn tài nguyên yêu cầu không nằm trong nguồn tai nguyên cục bộ trên máy chủ Web, máy chủ xác định thông tin về vị trí nguồn tài nguyên từ các tệp cấu hình của nó, kể cả việc xây dựng lại (Hình. 1.10). Hình. 1.10: Định hướng truy vấn 6. Nêu may chủ Web hỗ trơ cây ao cua những may chủ Web khac, viêc tim kiêm sẽ ́ ́ ̉ ̉ ́ ́ ̣ ̀ ́ đươc đinh hướng tới nguôn tai nguyên cân thiêt. ̣ ̀ ̀ ̀ ́ 7. Nêu may chủ Web đươc sử dung như may chủ uy quyên, môt măt nó hoat đông như ́ ́ ̣ ́ ̉ ̀ ̣ ̣ ̣ ̣ là may chủ Web cho cac may tram gửi truy vân tới, măt khac nó hoat đông như tram ́ ́ ́ ̣ ́ ̣ ́ ̣ ̣ ̣ Web, gửi truy vân tới cac may chủ (Hình. 1.11). ́ ́ ́ 14
  15. Hình. 1.11: Sử dụng máy chủ Web như máy chủ proxy 8. Sau khi trả về thông tin yêu câu cho may tram, may chủ Web huy bỏ kêt nôi. ̀ ́ ̣ ́ ̉ ́ ́ May chủ Web có thể đươc sử dung để giai quyêt cac vân đề lớn. Điên hinh, cac chức năng ́ ̣ ̉ ́ ́ ́ ̉ ̀ ́ sau đươc hỗ trơ trên cac may chu: ́ ́ ̉  Hỗ trơ cơ sơ dữ liêu văn ban phân câp, xử lý truy vân và điêu khiên truy câp tới ̣ ̉ ́ ́ ̀ ̉ ̣ thông tin từ cac chương trinh phia client ́ ̀ ́  Tiên xử lý dữ liêu trước khi trả lời môt truy vân ̀ ̣ ̣ ́  Tương tac với cac chương trinh mở rông và cac may chủ khac, ví du, cac cơ chế tim ́ ́ ̀ ̣ ́ ́ ́ ̣ ́ ̀ ́ kiêm Phân lớn cac mô hinh may chủ Web như Netscape's Enterprise Server, Microsoft's Internet ̀ ́ ̀ ́ Information Server bổ sung giao thức mã hoa Secure Socket Layer (SSL), duy trì sự riêng ́ tư, tính toan ven, tinh xac thực cua dữ liêu truyên trên mang. Giao thức SSL cung đươc bổ ̀ ̣ ́ ́ ̉ ̣ ̀ ̣ ̃ sung trong cac trinh duyêt Web. Chức năng nay cung câp môt môi trường an toan cho viêc sử ́ ̀ ̣ ̀ ́ ̣ ̀ ̣ dung công nghệ Web trong cac mang may tinh. ̣ ́ ̣ ́ ́ 1.2.2. Xử lý thông tin phân tán trên nền tảng cả các chương trình dễ biến đổi Môt trong cac chức năng quan trong cua kiên truc Intranet đó là viêc xử lý thông tin phân tan ̣ ́ ̣ ̉ ́ ́ ̣ ́ trên nền tảng của những chương trinh dễ biến đổi. Chương trinh hướng Web chay trên ̀ ̀ ̣ may tram không chỉ hiên thị cac trang Web và thực hiên cac chuyên tiêp tới cac nguôn tai ́ ̣ ̉ ́ ̣ ́ ̉ ́ ́ ̀ ̀ nguyên khac mà nó có thể kich hoat cac chương trinh trên may chu, thông dich và thực thi ́ ́ ̣ ́ ̀ ́ ̉ ̣ chung, khi tài liệu Web đươc thực thi những đòi hỏi. Cac chương trinh nay đươc truyên ́ ́ ̀ ̀ ̀ cung với tai liêu từ may chu. Kiêu xử lý thông tin phân tan nay đam bao rang bôc cua toan bộ ̀ ̀ ̣ ́ ̉ ̉ ́ ̀ ̉ ̉ ̀ ̣ ̉ ̀ hệ thông ứng dung trên may chủ ́ ̣ ́ Có 3 kiêu chương trinh chinh có thể đươc kêt hơp với tai liêu Web và truyên tới may tram để ̉ ̀ ́ ́ ̀ ̣ ̀ ́ ̣ thực thi: ̣  Java applet đươc thực thi bởi công nghệ Java  Cac chương trinh đươc viêt băng cac ngôn ngữ kich ban như JavaScript, VBScript, ́ ̀ ́ ̀ ́ ̣ ̉ VRML  Cac thanh phân ActiveX, liên quan tới công nghệ ActiveX ́ ̀ ̀ 15
  16. Thực tế là, tồn tại một vài loại chương trình dễ biến đổi có thể đươc miểu tả bởi các khả năng chức năng khác nhau của chúng, và hơn thể nữa bởi sự cạnh tranh giữa các công ty trong lĩnh vực chương trình và các côn nghệ mạng như Sun Microsystems, Netscape và Microsoft corporations, và các công ty khác. 1.2.2.1 Công nghệ Java Java đươc thiêt kế bởi Sun Microsystem vao những năm 1990, đáp ứng đòi hỏi các chương ́ ̀ trình máy tính hướng môi trường mạng và tích hơp công nghệ Web. Động lực phía sau công nghệ Java đưa ra các yêu cầu kết hơp của sự dễ biến đổi, độc lập phần cứng và các nền tảng, an toàn và tin cậy trong việc xử lý thông tin. Java là ngôn ngữ lập trình hướng đối tương dựa vào nền tảng của ngôn ngữ C++, loại bỏ đi nhưng chức năng không cần thiết, bổ sung thêm chức năng cung cấp sự an toàn và tin cậy của thao tác điện toán phân tán. Có rất nhiều chức năng trong Java vay mươn từ ngôn ngữ đối tương C và Samlltalk. Để giảm độ phức tạp lập trình và số lỗi trong mã, Java đưa ra sự chính xác của kiểu dữ liệu, hướng đội tương một cách chặt chẽ. Tất cả phần tử dữ liệu đươc lưu trong các đối tương, và tất cả hàm bao gồm các phương của vài đối tương. Kiểu đơn vị thông tin chính xác cho phép phát hiện lỗi kết nối kiểu dữ liệu không tương thích tại bươc biên dịch. Hướng tiếp cận module đối với thiết kế chương trình, thực thi trong ngôn ngữ và sự đơn giản của ngôn ngữ, không những cho phép phát triển nhanh các chương trình mới mà còn cập nhật ứng dụng đươc viết trước đó và kiểm tra trong Java. Hơn thế nữa, Java đưa ra việc cập nhật hiệu quả cho các chương trình cũ đươc viết bằng ngôn ngữ lập trình khác. Việc bổ sung các phần tử ngôn ngữ chuẩn, Java bao gồm số các thư viện, từ đó có thể xây dựng các hệ thống tính toán với mọi độ phức tạp. Tập hơp các chuẩn thư viên có thể đươc bổ sung liên tục với các hàm mới. Máy ảo Java, nó thực thị các chương trình Java thông qua bộ thông dịch, độc lập phần cứng và hệ điều hành. Xử lý thông tin một cách an toàn và tin cậy đươc tách riêng khỏi máy ảo. Kiến trúc máy ảo, sự trình diễn của các mục dữ liệu và hệ thống câu lệnh đươc xác định Bộ vi xử lý Java ảo cung cấp môi trường đầy đủ cho việc thực thi một chương trình Java. Vì thế, tất cả chương trình Java phải đáp ứng các đặc tả của bộ vi xử lý trừu tương, bộ vi xử lý trừu tương xác định tập các chỉ thị độc lập máy tính của nó, kiểu dữ liệu, và các thanh ghi đươc xử dụng. Nguồn của chương trình Java đươc dịch thành mã độc lập máy gọi là mã byte, sau đươc đươc biên dịch bởi bộ vi xử lý trừu tương, đươc thực hiện bởi bộ vi xử lý Java ảo Biên dịch chương trình Java dành cho sự thực thi trên máy trạm trong môi trường của trình duyệt gọi là applet Java hoặc đơn giản hơn là applet. Theo bản chất của applet, mọi applet đại diện chương trình nhỏ, trong đó một vài chức năng bắt buộc sẽ đươc xác định. Applet đươc nạp từ máy chủ thông qua mạng và đươc thực thi trong trình môi trường trình duyệt (Hình. 1.12). Các liên kết đến applet đươc xác định trong tài liệu Web, những applet không chứa trong thành phần tài liệu Web. Thay vào đó, applet đươc lưu trữ ở tệp riêng biệt trên máy chủ. 16
  17. Hình. 1.12: Truyền và thực thi các chương trình Java độc lập máy Sự độc lập của mã byte Java đối với phần cứng và hệ điều hành có khả năng thực hiện đươc bởi sự thực hiện chương trình của bộ vi xử lý Java ảo. Điều này dùng cho thông dịch các applet cho từng nền tảng Mã byte của các chương trình Java có một số chức năng sau:  Mã dễ dãng thông dịch trực tiệp mã máy cho bất kì nền tảng phần cứng nào.  Chiều dài trung bình của câu lệnh trong mã byte ngắn tối thiểu, vì thế giảm độ phức tạp và kích cỡ của applet Java khi so sánh với các chương trình thực thi bình thường  Mỗi mã byte của chương trình chứa thông tin đây đủ chương trình cho phép mã này đươc kiểm tra một cách an toàn cho việc thực thi. Mã byte đươc phát triển làm giảm chiều dài trung bình của chương trình một mức hơp lý nhất. Bộ vi xử lý Java ảo có kiến trúc ngăn xếp và thành ghi nhỏ và thường xử dụng định địa chỉ gián tiếp. Vì thế, phần lớn các câu lệnh chiếm byte đơn. Nói chung, các bộ vi xử lý Java có tập các chỉ thị cho từng kiểu dữ liệu. Do vậy, chiều dài trung bình của câu lệnh Java chỉ có 6 byte. Chiều dài trung bình của câu lệnh cho bộ vi xử lý RISC sắp xỉ 4 byte. Hai chức năng quan trọng đươc quy định cho tốc đô cao thực thi an toàn và tin cậy của applet  Kiểm tra mã byte để đảm bảo sự toàn vẹn và hơp thức của các chỉ thị trước khi thực thi.  Điều khiển vào khóa các thao tác trong suốt thời gian thông dịch mã byte Việc nạp và kiểm tra các mã byte thực hiện bởi chức năng đầu tiên, quản lý bảo mật của bộ vi xử lý Java ảo thực hiện bởi chức năng thứ hai. Quản lý bảo mật truy cập tới các tệp và nhóm thiết bị ngoại vị bằng applet và thực hiện các chức năng hệ thống như cấp phát bộ nhớ. Vi xử lý Java ảo cung cấp sự thực thị và các chức năng khác tác động độ tin cậy xử lý thông tin, ví dụ “tập hơp dữ liệu vô nghĩa” tương đương với việc giải phóng bộ nhớ. Nói chúng, Java bôm gồm các chức năng có ích đối với các thao tác chính xác cho các đội tương và nguồn tài nguyển trong các tính huống không mong đơi. 17
  18. Chu kì phần mềm applet tương tự như các chương trình viết bằng ngôn ngữ khác. Tiến trình thực hiện applet khác với tiến trình của các chương trình thông thường khác (Hình. 1.13). Hình. 1.13: Chuẩn bị và thực thi Applet Java Ví applet và các thành phần khác của hệ thống ứng dụng đươc lưu trên máy chủ, hệ thống hỗ trơ việc quản trị một cách dễ dãng hơn. Vì thế, đảm bảo sử dụng lâu dài các chường trình cập nhật hàng ngày. Không chỉ các applet đại diện các chương trình luôn biến đổi có thể đươc viết bằng ngôn ngữ Java – các chương trình ứng dụng cũng có thể đươc viết bằng Java. Tuy nhiên để dành đươc mức thực thi cao, mã nguồn của chương trình nên đươc biên dịch, không thành mã byte nhưng mã độc lập với máy cho phép thực hiện trực tiếp bởi các bộ vi xử lý máy trạm. Hiện nay, có rất nhiều công cụ phát triển cho applet và ứng dụng Java, bao gồm Microsoft Visual J++, Symantec Cafe, Borland Jbuilder, Sun Microsystems Java Workshop, và một số công cụ khác. 1.2.2.2 Các công nghệ dựa vào sử dụng các ngôn ngữ kịch bản Những công nghệ cho phát triển và ứng dụng của các chương trình biến đổi dựa vào sử dụng nhưng ngôn ngữ kịch bản xuất hiện xong xong với công nghệ Java. Sự khác biệt quan trong giữa công nghệ kịch bản và Java chính là sự thông dịch theo dòng lệnh của chương trình kịch bản, thực hiện biên dịch thành mã byte trước khi thực thi. (Để thực thi, các chương trình Java di động phải đươc biên dịch thành mã byte.) Chức năng của bộ biên dịch chương trình di động viết bằng các ngôn ngữ kịch bản đươc thực hiện bởi trình duyệt Web. Bản chất của ngôn ngữ kịch bản (hay còn gọi ngôn ngữ macro) dễ dàng gở rối và phát triển chương trình. Các ngôn ngữ kịch bản chính hiện thời dành cho viết chương trình biến đổi bao gồm: 18
  19.  Ngôn ngữ kịch bản JavaScript, đươc phát triển bởi Netscape và Sun Microsystems, và ngôn ngữ VBSCript của Microsoft.  Ngôn ngữ mô tả thực tế ảo (Virtual Reality Modeling Language), đươc phát triển bởi Silicon Graphics. Ban đầu, JavaScript xuất hiện trong trình duyệt Netscape Navigator 2.0 dưới cái tên LiveScript. Sau đó, Netscape loại bỏ tên này và bắt đầu làm việc với Sun Microsystems và đi đến đồng ý sử dụng Java. JavScript không đại diện ngôn ngữ Java, hai ngôn ngữ này có một vài điểm chung, có khả năng gọi lẫn nhau. (Bảng 1.1). Bảng 1.1: Các đặc tả của Java và JavaScript Java JavaScript Chương trình phải đươc dịch thành mã byte Chương trình đươc thông dịch ở phía để thực thi ở phía client client ngay khi khởi tạo Hướng đối tương. Applets bao gồm các đối Dựa đối tương. Không có lớp cho cơ tương miêu tả sử dụng các lớp cũng với tính chế thừa kế thừa kế Các Applet đươc gọi từ các trang Web, Chương trình đươc gòi từ các trang nhưng đươc lưu trữ riêng trong các tệp Web, nhưng đươc xây dựng bên trong (nằm ngoài văn bản Web) tài liệu Web Tất cả kiểu dữ liệu và biến phải đươc miêu Các kiểu dữ liệu và biến không cần ta trước khi xử dụng. phải khai báo Ràng buộc tính. Các liên kết đối tương phải Ràng buộc động. Các liên kết đối tồn tại tại bươc biên dịch tương đươc kiểm tra trong xuốt quá trình thực thi Không thể ghi vào đĩa hoặc thực hiện các Không thể ghi vào đĩa hoặc thực hiện chức năng hệ thống các chức năng hệ thống Javascript là ngôn ngữ thông dịch, đơn giản, dựa vào các hàm hướng đối tương. Sự dễ dàng là nguyên nhân … Bản chất hướng đối tương của Javascript đươc chứng tỏ bởi khả năng của hoạt động với các cửa sổ trình duyệt, thanh trạng thái và các đơn vị khác của giao diện trình duyệt và các đối tương mạng trong hệ đẳng cấp. Javascript không phải phong phú như ngôn ngữ Java, nhưng nó thuận lơi hơn, hiệu quả hơn cho một số các tác vụ liên quan đến xử lý các tài liệu Web và cho sự tương tác với người dùng khi hiển thị các tác vụ đó. Đây là ngôn ngữ với số lương lớn về cậu lệnh và chức năng đươc xây dựng sẵn. Các chương trình đươc viets bằng Javascript có thể cung cấp các hộp đối thoại, thực hiện các phép toán học, chơi đươc các tệp video, audio, tạo ra các tài liệu, xử lý các đối tương button trong form và rất nhiều đối tương khác. Cùng với sự trơ giúp của JavaScript, có thể thiết lập các thuộc tính va đặc tính của nhưng thư viên nhị phân Java, và hơn thể nữa là các mô dun chương trình đươc bổ sung vào trong trình duyệt Các câu lệnh JavaScript đươc viết trực tiếp trong trang Web, và đươc thực hiện bởi trình duyệt trong khi trang này đươc nạp, hoặc trong khi các thao tác mà người dùng thực hiện tương tác với trang Web (ví dụ, khi click vào các đối tương bằng chuột, vị trí của con trỏ chuột tại vị trí liên kết, hoặc nhập dữ liệu trong các trường của mẫu HTML). Cũng như bất kì công nghệ hay ngôn ngữ nào đươc sử dụng trong mạng máy tính, xử lý thông tin an toàn là yêu tiên hàng đầu. Mặc dù Javascript không đươc xem là ngôn ngữ có tính bảo mật cao, nó đáp ứng đươc phần lớn các yêu cầu này. Một vài chức năng dẫn đến việc dễ bị tấn công không tồn tại trong ngôn ngữ Javascript, chính vì vậy cung cấp tính bảo mật theo một cách thức không trực tiếp. Các chương trình đươc viết trong JavaScript, cũng như trong 19
  20. Java, bị ngăn cấm thực hiện các thao tác đối với các tệp cục bộ. Vì vậy, một chương trình không có khả năng thay đổi hoặc dành đươc quyền truy cập tới dữ liệu của người dùng. Nói chung, JavaScript không hỗ trơ các chức năng mạng. Ví dụ, một chương trình không thể mở cổng TCP/IP, và chỉ có khả năng nạp các đối tương tới địa chỉ đã cho và tạo ra dữ liệu truyền đến máy chủ Web. Các trình duyệt cho phép người dụng thiết lập các mức an toàn và điều khiển các mức này, vì vậy các chương trình đươc viết bằng JavaScript chỉ có thể tập trung vào một vùng xác định thông tin. Những bất lơi của Javascript đó là tốc độ thực thị tương đối thấp, bởi vì bản chất thông dịch của ngôn ngữ. Bất lơi này cũng chính là đặc tính của các ngôn ngữ lập trình biên dịch. Một vấn đề quan trọng cần chú ý đó là phiên bản của Netscape và Microsoft là khác nhau. Sự khác nhau có thể dẫn tới sự không tương thích. Vì vậy, khi viết các ứng dụng trong Javascript, cần kiểm trả sự tương thích dịch vụ trong môi trường của chương trình Microsoft VBScript tương tự như Javascript trong rất nhiều khía cạnh. VBScript là tập con của ngôn ngữ Visual Basic, hướng tới lập trình cho các trang Web. Có thể phát triển rất nhiều đối tương bao gồm các thành phần chương trình của các ngôn ngữ khác, trong trang Web trong khi sử dụng VBScript. Ví dụ, applet Java và các điều khiển ActiveX có thể đươc lưu trong trang Web, để dễ dàng tương tác với người sử dụng Không giống như Javascript và VBScript, ngôn ngữ VRML, đươc thiết kế bởi Silicon Graphics, đươc định hướng cụ thể trơ giúp tạo ra các chương tình thông dịch giả lập thế giới ảo 3D. Các trình thông dịch VRML đươc gắn vào bên trong trình duyệt, tương tự như các mô dun chương trình. Các mã nguồn của chương trình trong ngôn ngữ VRML đươc lưu trong tệp VRML riêng và đươc gọi bởi liên kết từ văn bản Web khi đó nó đươc xem trong trình duyệt. Kích vào liên kết như vậy dẫn tới mở của sổ riêng, cho phép người dùng thưởng thức chương trình. 1.2.2.3 Công nghệ ActiveX ActiveX là tâp hơp cac công nghệ cua Microsoft tâp trung vao viêc bổ sung, tich hơp và ̣ ́ ̉ ̣ ̀ ̣ ́ thông nhât cac phương thức biêu diên và xử lý thông tin hiên thời trong mang may tinh. ́ ́ ́ ̉ ̃ ̣ ̣ ́ ́ Công nghệ nay đươc xây dựng săn phù hơp với kiên truc Web. Ý tưởng của các công nghệ ̀ ̃ ́ ́ ActiveX nằm ở cách thức giống nhau của việc truy cập tới tất cả các nguồn tài nguyên thông tin (hình 1.14). Công nghệ Web đươc lựa chọn như là nền tảng cho cách thức đồng nhất của việc truy cập. 20
nguon tai.lieu . vn