logo

Giới thiệu Internet-intranet

Tài liệu tham khảo về internet và intranet 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...
Giới thiệu Internet-intranet 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 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 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 va ̀ 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). Vi ̀ 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 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 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 co ́ 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 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  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 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 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  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 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  Đ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 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 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 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 tri ̀ 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 va ̀ 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 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 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 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  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
DMCA.com Protection Status Copyright by webtailieu.net