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 ...................................................................................... 27 2.1 Khái niệm về ngôn ngữ HTML................................................................................... 27 2.2 Lập trình Web với ngôn ngữ HTML ................................ ................................ ........... 27 2.2.1 Các thành phần cơ bản của html................................ ................................ ........... 27 2.2.2 Cấu trúc tệp HTML ................................ ................................ ............................. 28 2.3 Các tag cơ bản trong HTML ....................................................................................... 28 2.3.1. Thẻ giải thích ................................ ................................ ................................ ...... 28 2.3.2 Các thẻ định dạng văn bản ................................................................................... 28 2.3.4 Một số kí tự đặc biệt trong HTML ....................................................................... 31 2.3.5 Các tag dùng thiết kế bảng ................................................................................... 32 2.3.6 Các tag tạo Frame ................................................................................................ 33 2.3.7 Các tag dùng tạo Form......................................................................................... 33 Chương III Cascading style sheets ............................................................................. 35 2.1 Căn bản về CSS (Cascading style sheets) ................................................................... 35 2.2 Cú pháp CSS .............................................................................................................. 35 2.2.1 Phần tử chọn – Seclector...................................................................................... 35 2.2.2 Các phần tử lựa chọn lớp giả động ....................................................................... 39 2.2.3 Thuộc tính, miêu tả, qui tắc.................................................................................. 41 2.3 Bổ sung CSS vào tài liệu HTML ................................................................................ 44 2.4. Các mô hình trực quan............................................................................................... 45 Chương IV Ngôn ngữ kịch bản Javascript................................ ................................ .. 48 4.1. Giới thiệu ngôn ngữ kịch bản Javascrip ..................................................................... 48 4.2. Ngôn ngữ kịch bản JavaScript ................................................................................... 50 4.2.1 Kiểu dữ liệu ......................................................................................................... 50 4.2.2 Khai báo biến ................................ ................................ ................................ ...... 50 4.2.3. Các toán tử JavaScript ................................ ................................ ........................ 51 4.2.4. Các câu lệnh rẽ nhánh và lặp ................................ ................................ ............... 53 4.2.3. Các đối tượng trong JavaScript ................................ ................................ ........... 59 4.2.4. Hàm................................ ................................ ................................ .................... 66 4.2.5. Lập trình hướng đối tượng trong JavaScript ............................................................ 68 4.2.5.1 Tạo một đối t ượng ............................................................................................ 68 4.2.6. Lập trình với các đối tượng của trình duyệt ......................................................... 69 4.2.7. HTML Forms ..................................................................................................... 75 Chương V Active Server Pages.................................................................................. 88 5.1.Giới thiệu công nghệ ASP .......................................................................................... 88 5.2 Cú pháp và thao tác cơ bản ......................................................................................... 88 5.2.1. Cách chèn các đoạn mã VBScript vào trong trang web ....................................... 88 5.2.2. Chú thích ............................................................................................................ 89 5.2.5. Các toán tử ......................................................................................................... 90 5.2.4. Hằng và biến ................................ ................................ ................................ ...... 90 1
  2. 5.3. Các câu lệnh .............................................................................................................. 91 5.3.1. Lệnh rẽ nhánh ..................................................................................................... 91 5.3.2. Lệnh lặp xác định ............................................................................................... 92 5.3.3. Vòng lặp không xác định ................................ ................................ .................... 93 5.4 Hàm và thủ tục ................................................................ ................................ ........... 95 5.4.1. Hàm................................ ................................ ................................ .................... 95 5.4.2. Thủ tục ................................ ................................ ................................ ............... 95 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ố) ..................... 95 5.4.2. MỘT SỐ HÀM THƯỜNG DÙNG TRONG VBSCRIPT.................................... 96 5.4.3. ĐOẠN MÃ DÙNG CHUNG .............................................................................. 98 5.5. Tệp cấu hình GLOBAL.ASA ................................ ................................ .................... 99 5.5.1. Các sự kiện ......................................................................................................... 99 5.5.2. Khai báo đố i tượng ................................ ................................ ............................. 99 5.5.3. Một file cấu hình Global.asa đ ơn giản ............................................................... 100 5.5.2. TẬP HỢP (COLLECTION) TRONG ASP ....................................................... 100 5.5.2.1. Khái niệm ...................................................................................................... 100 5.5.2.2. Cách truy cập các phần tử trong tập hợp......................................................... 101 5.6. Xử lý các FORM dữ liệu ....................................................................................... 102 5.6.1. Mở đầu ................................ ................................ ................................ ............. 102 5.6.2. Sử dụng phương thức GET ............................................................................... 102 5.6.3. Sử dụng phương thức POST ................................ ................................ ............. 103 5.7. Các đối tượng cài sẵn trong ASP ................................ ................................ ............. 105 5.7.1. Các đối tượng ASP ................................ ................................ ........................... 105 5.7.2. Đối tượng REQUEST ....................................................................................... 105 5.7.3. Đối tượng RESPONSE ..................................................................................... 108 5.7.4. Đối tượng APPLICATION ............................................................................... 109 5.7.5. ĐỐI TƯỢNG SESSION ................................................................................... 111 5.7.6. ĐỐI TƯỢNG SERVER .................................................................................... 113 5.8. COOKIES ............................................................................................................... 116 5.8.1. Khái niệm COOKIES ....................................................................................... 116 5.8.2. Thiết lập COOKIES .......................................................................................... 116 5.8.3. Lấy giá trị của COOKIES ................................................................................. 116 5.8.4. Thư mục COOKIES ......................................................................................... 116 5.8.5. Kiểm tra xem COOKIES có dùng khóa không ................................ .................. 117 5.9 Giới thiệu ADO và các kết nối cơ sở dữ liệu ............................................................. 117 5.9.1 Giới thiệu .......................................................................................................... 117 5.9.2 Kế nối với cơ sở dữ liệu ..................................................................................... 117 5.9.3 Các đối tượng của ADO..................................................................................... 118 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 trúc của các mạng máy tính, việc phân biệt giữa những kiến trúc vật lý và kiến trúc logic rất cần thiết. Kiến trúc vật lý miểu tả cấu trúc, chức năng và những m ối quan hệ trung gian giữa các giao thức thực thi tại tầng dưới và các tầng giữa trong mô hình phân lớp chuẩn của sự tương tác mạng (mô hình 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 trúc vật lý không chỉ phụ thuộc vào kiến trúc, chức năng và mối quan hệ qua lại của phần cứng mạng, mà còn phụ thu ộc sự thực thi phần mềm của các giao thức tại tầng thấp và tầng giữa của mô hình 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 trúc logic miêu tả cấu trúc, nhiệm vụ và mối quan hệ của phần mềm thực thi các giao thức ở tầng trên, đặc biệt các giao thứ c ở tầng trình diễn và tầng ứng dụng. 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 trúc ngang hàng  Kiến trúc khách/chủ cổ đ iển  Kiến trúc khách chủ dự a vào Web  Sự xu ất hiện của các mô hình đều liên quan đến các giai đoạn khác nhau của sự phát triển hệ thống mạng máy tính. Sự lựa chọn chính xác mô hình cho kiến trúc logic của mạng máy tính cho phép nhà thiết kế mạng đáp ứng những yêu cầu về tình hiệu quả, độ tin cậy bảo vệ những nguồn tài nguyên mạng, sự u yển chuyển thiết lập mạng và hơn nữa đó là chi phí nhỏ nhất cho việc xây dự ng và quản trị. 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à bảo mật xử lý dữ liệu , sự thu ận lợi chính củ a kiến trúc tập trung đó là mối quan hệ đơn giản của việc xây d ựng và quản trị hệ thống bảo mật thông tin. Điều nà y dẫn tới sự tập trung ngu ồn tài nguyên, vì đ iều đó mang lại sự dễ dàng đ ể bảo vệ rất nhiều đối tượng nếu những đối tượng này đ ược xác định ở một nơi hơn là chú ng được phân b ố ở những vị trí khác nhau Mặc dù có nhiều thuận lợi, những hệ thống tính toán đ ầu tiên có số điều hạn chế như thiếu sự u yển chuyển hệ thống, không thu ận lợi sử dụng đối với người sử dụng cu ối và chi phí cao . Khi sử dụng nhữ ng hệ thống tính toán với kiến trúc 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: Chỉ có dữ liệu được lưu trữ trên máy chủ (Hình. 1.4 ).  6
  7. 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 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ể 7
  8. 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 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 ). 8
  9. 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. 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í. 9
  10. 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 du yệ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. 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 10
  11. 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 Đ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  11
  12. Tất cả những chức năng này, loại trừ chức năng cuối cùng, trợ giú p giải quyết vấn đề bảo mật thông tin. Sự tập trung tất cả nguồn tài nguyên thông tin và các hệ thống ứng dụng trên máy chủ làm đơn giản trong việc xây d ựng và quản trị của hệ thống b ảo mật và bảo vệ các đối tượng ở cùng m ột nơi sẽ được thực hiện một cách d ễ dàng hơn so với kiến trúc phân tán. Việc sử dụng chu ẩn mở TCP/IP cho việc trao đổi thông tin giữa các máy tính trong mạng dẫn đến việc thố ng nhất các phương thức tương tác giữa các trạm làm việc và máy chủ. Điều nà y không mang lại lợi ích để giải quyết vấn đ ề của 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 d o 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ủ khác (ví dụ: máy chủ DBMS). Cổng phần mềm p há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 13
  14. 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 máy chủ Web hỗ trợ cây ảo của những máy chủ Web khác, việc tìm kiếm sẽ được định hướng tới ngu ồn tài nguyên cần thiết. 7. Nếu máy chủ Web được sử dụng như máy chủ ủy quyền, một mặt nó hoạt động như là máy chủ Web cho các máy trạm gửi truy vấn tới, mặt khác nó hoạt động như trạm Web, gửi truy vấn tới các máy 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 máy trạm, máy chủ Web hủ y bỏ kết nối. Máy chủ Web có thể được sử dụng để giải quyết các vấn đề lớn. Điển hình, các chức năng sau được hỗ trợ trên các máy chủ : Hỗ trợ cơ sơ dữ liệu văn b ản phân cấp, xử lý truy vấn và đ iều khiển truy cập tới thông  tin từ các chương trình phía client Tiền xử lý dữ liệu trước khi trả lời một truy vấn  Tương tác với các chương trình mở rộng và các máy chủ khác, ví dụ, các cơ chế tìm  kiếm Phần lớn các mô hình máy chủ Web như Netscape's Enterprise Server, Microsoft's Internet Information Server bổ sung giao thức mã hóa Secure Socket Layer (SSL), duy trì sự riêng tư, tính toàn vẹn, tính xác thực của dữ liệu truyền trên mạng. Giao thức SSL cũng được bổ sung trong các trình duyệt Web. Chức năng này cung cấp một môi trường an toàn cho việc sử dụng công nghệ Web trong các mạng máy tính. 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 các chức năng quan trọng của kiến trúc Intranet đ ó là việc xử lý thông tin phân tán trên nền tảng của những chương trình d ễ biến đổi. Chương trình hướng Web chạy trên máy trạm không chỉ hiển thị các trang Web và thực hiện các chuyển tiếp tới các ngu ồn tài nguyên khác mà nó có thể kích hoạt các chương trình trên máy chủ, thông dịch và thực thi chú ng, khi tài liệu Web đ ược thực thi những đòi hỏi. Các chương trình này đ ược truyền cùng với tài liệu từ máy chủ . Kiểu xử lý thông tin phân tán này đ ảm bảo ràng b ộc của toàn bộ hệ thống ứng dụng trên máy chủ Có 3 kiểu chương trình chính có thể được kết hợp với tài liệu Web và truyền tới máy trạm đ ể thực thị: Java applet được thực thi bởi công nghệ Java  Các chương trình đ ược viết bằng các ngôn ngữ kịch bản như JavaScript, VBScript,  VRML Các thành 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 vào 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 b yte. 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. 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). 17
  18. 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 b iế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 b iến đổi bao gồm: 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. 18
  19. 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 (nằm Web, nhưng được xây dựng b ên trong 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 ta Các kiểu dữ liệu và biến không cần phải trước khi xử dụng. 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ượng tồn tại tại bược biên dịch đượ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 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 19
  20. 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 các công nghệ của Microsoft tập trung vào việc bổ sung, tích hợp và thống nhất các phương thức biểu diễn và xử lý thông tin hiện thời trong mạng máy tính. Công nghệ này đ ược xây dựng sẵn phù hợp với kiến trúc 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. Hình. 1.14: Truy cập đồng bộ đến các nguồn tài nguyên thông tin mạng 20
nguon tai.lieu . vn