|
Post by Vĩnh Long on May 31, 2007 12:05:50 GMT 9
Ghi chú về chuẩn CORBA, chuẩn XML ngôn ngữ Java và công nghệ 'tác tử'1 Hà Dýõng Tuấn
Tóm tắt Những ghi chú có tính cách tổng quan trong bài này có tham vọng phác họa một khung cảnh chung cho những nghiên cứu và phát triển trong Công Nghệ Thông Tin (CNTT) trên khía cạnh xử lý phân tán, ở tầm mức của mạng toàn cầu Internet.
Ðể nắm bắt khuynh hýớng tiến triển của CNTT trong chiều hýớng ấy, những ðiều cõ bản cần thiết tìm hiểu là : 1) Chuẩn CORBA, cho phép các sự vật tin học phân tán cộng tác ðýợc với nhau ; 2) Chuẩn XML, xác ðịnh ngôn ngữ giao diện cho mạng Internet, tổng quát hõn ngôn ngữ HTML ; 3) Ngôn ngữ Java, cho phép chỉ viết chýõng trình một lần ðể nó hoạt ðộng ðýợc ở bất cứ nõi nào ; và 4) Công nghệ tác tử, công nghệ ðể thực hiện trong týõng lai những ứng dụng di ðộng và có trí tuệ. Bốn công nghệ nói trên ðang trên ðà hội tụ ðể thể hiện một tổng hợp mới giữa tin học và viễn thông, và hình thành một mô thức mới trong hoạt ðộng phát triển mạng thông tin cũng nhý dịch vụ CNTT trong thời ðại Internet.
Trong týõng lai không xa các ðiều kiện sẽ hội ðủ ðể cho phép có những ứng dụng tiên tiến của CNTT, mà ðặc tính là dễ dùng, phân tán và di ðộng trong phạm vi toàn cầu. Có thể tiên ðoán là chúng sẽ ðẩy mạnh những thay ðổi trong sinh hoạt kinh tế xã hội của con ngýời nói chung, và lao ðộng trí óc nói riêng, trên ðà khởi ðộng bởi Internet. ' Tác tử di ðộng' là một trong những công cụ ðể thực hiện những ứng dụng nói trên, bằng cách kết hợp những thành quả thừa hýởng từ các nghiên cứu và phát triển về xử lý phân tán và về trí tuệ nhân tạo trong nhiều nãm qua.
1. Dẫn nhập Hiện nay cái nhìn về kiến trúc mạng thông tin của cộng ðồng những ngýời công tác trong ngành công nghệ thông tin (CNTT) trên thế giới chýa ðýợc rõ ràng lắm. Ðiều ðó cũng dễ hiểu, vì nhiều yếu tố ðang ảnh hýởng mạnh ðến các quan niệm về kiến trúc mạng nhýng lại chýa ổn ðịnh : sự bùng nổ của Internet ðýa ðến vai trò nổi trội của mạng thông tin số liệu lên trên mạng ðiện thoại về mặt kinh tế ; ðồng thời nhiều tiến bộ výợt bực về kỹ thuật truyền tin nhý sợi quang dẫn, kỹ thuật vô tuyến... làm cho các dịch vụ ða mêðia 2hiện chỉ ðýợc thỏa mãn cục bộ với một máy tính cá nhân, sẽ ðýợc thực hiện phổ biến trên mạng tầm rộng. Trong khung cảnh ðó các tập ðoàn kinh tế - kỹ thuật vừa phải thýõng lýợng với nhau trong các tổ chức ngành nghề quốc tế nhý OMG (Object Management Group), W3C (World Wide Web Consortium)... ðể xác ðịnh các chuẩn không thể thiếu trong việc phát triển CNTT ; vừa ðấu tranh với nhau ðể chiếm ảnh hýởng lớn cho cái sở trýờng của mình ; vừa lại có thể liên kết với nhau ðể mở rộng thị trýờng theo những xu hýớng của thời ðại. Theo các tầng lớp của CNTT từ dýới lên trên có thể kể : các tập ðoàn sản xuất và khai thác mạng truyền tin nhý Alcatel, AT&T, Cisco, Lucent, Nortel, France Telecom... các tập ðoàn bán dịch vụ Internet nhý AOL... các tập ðoàn làm tin học cổ ðiển hõn nhý Microsoft, Sun, IBM... Ðáng chú ý là các tập ðoàn này có mặt trong các tổ chức ngành nghề khác nhau, và nhiều khi bảo vệ các giải pháp khác nhau, vì bản thân trong nội bộ họ cũng không thống nhất, hay không cần thống nhất ; một hãng lớn rất có thể có lợi ích ðể nuôi dýỡng nhiều nhóm làm việc trên (và bảo vệ) các chuẩn mâu thuẫn với nhau, trong tình trạng các chuẩn này còn chýa chín mùi và cần nghiên cứu và phát triển thêm. Ðiều ðó khiến cho việc dự ðoán týõng lai lại càng thêm khó khãn.
CORBA (Common Object Request Broker Architecture) là một chuẩn hết sức quan trọng ra ðời trong khung cảnh này, nó nhằm cho phép thực hiện kiến trúc "khách-hàng - phục-vụ" theo phýõng pháp tiếp cận hýớng sự vật, trên những hệ thống máy khác nhau và phân tán, ðể cho phép nhiều nhóm sản xuất phần mềm khác nhau cùng cộng tác. Chuẩn CORBA khi ðầu chỉ ðýợc quan niệm với các phần mềm 'cố ðịnh' và hoạt ðộng phân tán trong một mạng cục bộ. Chuẩn này vừa ra ðời thì cũng cùng lúc ðó xuất hiện ngôn ngữ Java và công nghệ tác tử, cho phép mỗi khi cần dùng thì bản thân trạm phục vụ thông qua mạng nạp xuống vào máy khách những tác tử 'khách hàng', do ðó việc chuẩn hoá giao diện "khách hàng-phục vụ" ở mức ðộ ứng dụng trở nên ðõn giản hõn. Thêm nữa, với sự bùng nổ Internet thì mở rộng CORBA ðể xử lý phân tán ở mạng tầm rộng qua Internet trở thành quan trọng, và khi ðó phải kết hợp CORBA với ngôn ngữ giao diện XML của Internet, XML ðang ðýợc triển khai ðể mở rộng HTML mà chúng ta quen thuộc, vì cái áo HTML ðã quá chật.
Tìm hiểu chuẩn CORBA, chuẩn XML, ngôn ngữ Java và công nghệ tác tử vì thế trở nên thiết yếu ðể nắm bắt những khuynh hýớng tiến triển của CNTT trong nghĩa một tổng hợp mới giữa tin học và viễn thông. Chẳng hạn, khuynh hýớng làm các "trạm vấn tin mỏng" (thin terminal) ở giữa khả nãng của một trạm vấn tin "quá dốt" (dumb) nhý thời xýa, và một loại trạm vấn tin "quá nặng nề" cần chứa sẵn quá nhiều chýõng trình nhý hiện nay, chính vì khả nãng truy nạp nói trên. Nhýng, nhý chúng ta sẽ thấy, công nghệ tác tử sẽ không chỉ dừng ở ðó, nó còn cho phép nghĩ tới việc thực hiện dễ dàng các thuật toán phân tán và di ðộng trên mạng thông tin tầm rộng ðể tận dụng khả nãng gần nhý vô hạn của sức tính toán và xử lý thông tin nằm trong mạng rộng, có thể thích hợp cho nhiều lớp bài toán hữu ích, tuy rằng không phải là cho mọi bài toán.
Bài này có 5 phần chính, sau ðoạn 2 ðiểm lại các ngôn ngữ lập trình và các mô hình quy chiếu thì có 4 ðoạn lần lýợt ðề cập ðến CORBA, XML, Java và tác tử. Các chuẩn và công nghệ này có liên hệ chặt chẽ với nhau, tuy rằng việc tích hợp chúng thành một thể thống nhất chýa hoàn chỉnh và còn cần nhiều nghiên cứu và phát triển, ngýời ta có thể nhận thấy rõ rệt chúng ðang trên ðà hội tụ. Ðiểm bài này muốn làm sáng tỏ là vị trí trung tâm của ngôn ngữ Java và vị trí mũi nhọn của các nghiên cứu về tác tử di ðộng, dựa trên hai chuẩn thiết yếu là CORBA và XML.
Những ghi chú trong bài này chỉ có tham vọng phác họa một khung cảnh chung cho những nghiên cứu và phát triển của CNTT, giới hạn trong khía cạnh xử lý phân tán trên mạng rộng. Với ðối týợng là các ngýời thực sự ði vào nghiên cứu thì hy vọng bài này giúp ðỡ cho việc ðọc những tài liệu kỹ thuật về những vấn ðề này ðýợc dễ dàng hõn, nhýng nó không thể thay thế cho việc tìm hiểu sâu những tài liệu kỹ thuật ðó.
Sau cùng, bài này có một tham vọng bên lề là ðề nghị một số thuật ngữ mới mà ngýời viết chýa ðýợc biết là có sẵn, và sử dụng chúng trong khung cảnh một bài viết ðể thử nghiệm.
2. Ðiểm lại các ngôn ngữ và mô hình quy chiếu 2.1. Ngôn ngữ lập trình Kể từ khi phát minh ra máy tính ðiện tử, so với sự tiến triển của thiết bị thì sự tiến triển của phần mềm luôn luôn là chậm chạp, ðầy những hãm hở sôi nổi týởng rằng làm gì cũng dễ, và tiếp theo là nguội lạnh nản lòng. Các hợp ngữ (assemblers) ra ðời khá nhanh từ những nãm 50, và khi ấy ðôi khi cũng ðã ðýợc gọi là ngôn ngữ lập trình tự ðộng ! Rồi ðến những nãm 60, COBOL và FORTRAN... xuất hiện nhý những tiến bộ výợt bực... Nhýng cuối cùng ngýời ta nhận thấy ngôn ngữ lập trình không ðủ ðể tự nó cho phép làm nên những sản phẩm hệ mềm có chất lýợng. Ngýời ta thấy thiếu ở phía hạ nguồn những phép tắc, những kỷ luật lập trình ; và thiếu ở phía thýợng nguồn những phýõng pháp mô hình hoá một cách dễ hiểu và trong sáng các vấn ðề cần giải quyết ; cũng nhý là, ði song song với tiến trình phát triển một sản phẩm hệ mềm lớn, còn cần có những quy trình và công cụ ðể tổ chức, quản lý ðề án một cách chặt chẽ. Một phần nào của những ý niệm trên ðã ðýợc tích hợp vào trong các ngôn ngữ lập trình hiện ðại và các mô hình quy chiếu ðýợc chuẩn hoá, nhýng dĩ nhiên không thể là tất cả.
Khái niệm lập trình có cấu trúc (structured programming) là một thành quả của những nãm 70, cho tới nay vẫn còn giữ nguyên giá trị. Khái niệm này phần nào ðýợc lồng trong cõ cấu của tất cả những ngôn ngữ lập trình kể từ ALGOL, Pascal, C ... Mặt khác ngýời ta ý thức ðýợc rằng cần bảo vệ các dữ liệu bằng cách 'bao bọc' chung quanh chúng những thao tác ðặc thù theo từng kiểu dữ liệu (những thao tác này hiện nay gọi là những phýõng pháp (methods) trong ngôn ngữ hýớng sự vật). Dữ liệu và phýõng pháp ðýợc gộp lại trong một thể thống nhất ngày nay gọi là sự vật (object). Ngýời ðã ðýa ra khái niệm ðó từ cuối những nãm 60, và gọi là kiểu dữ liệu trừu týợng (abstract data type) là bà Barbara Liskov, hiện nay là giáo sý ðại học MIT. Nhýng khái niệm này chỉ trở thành quen thuộc từ những nãm 80 - 90 với các ngôn ngữ SIMULA, SMALL TALK, và nhất là C++ ... Hýớng tiến bộ thứ ba phát triển từ cuối những nãm 80 là việc ðýa vào các ngôn ngữ lập trình cấp cao việc mô tả và ðiều khiển các tiến trình song hành có liên hệ chặt chẽ với nhau, chứ không chỉ ðể cho các hệ ðiều hành quản lý một cách tự ðộng (việc này tốt cho những tiến trình không hoặc rất ít liên hệ) ; hoặc ðể cho mỗi hệ mềm 'thời gian thực' lớn phải tự viết lấy việc ðiều khiển ðó, nhý ðã phải làm trong các hệ thời gian thực của những nãm 70-80. Ngôn ngữ lập trình tổng hợp ðýợc tốt nhất những khái niệm trên có lẽ là ngôn ngữ ADA, do bộ quốc phòng Mỹ ðặt yêu cầu và lựa chọn. Nhýng ADA không ðýợc sử dụng nhiều ngoài môi trýờng 'thời gian thực', có lẽ vì những lý do lịch sử ; và ADA cũng chýa có các công cụ thuận tiện cho việc cộng tác của các máy tính ðiện tử với nhau trên mạng. Vấn ðề này trở nên chủ yếu trong thời ðại ngày nay khi viễn thông và tin học ðang hoà nhập vào nhau. Ở ðây không ðề cập tới nhiều loại ngôn ngữ lập trình chuyên dụng và khác hẳn các ngôn ngữ tổng quát, nhý LISP, Prolog... Vai trò của các ngôn ngữ này có thể trở thành quan trọng hõn ðể bổ sung cho các ngôn ngữ tổng quát, trong quy trình tiến hoá về hýớng các ứng dụng tích hợp ngày càng rộng hiện nay. 2.2 Các mô hình quy chiếu Ði song song, và ðể bổ túc cho các công cụ lập trình hiện ðại, cần nhýng không ðủ ðể phát triển tốt ðẹp những hệ mềm lớn nhý loại dùng trong viễn thông ; tập thể các công ty sản xuất và quản lý mạng viễn thông ðã từ lâu ngồi lại với nhau ðể xác ðịnh những mô hình quy chiếu (reference model). Ðó là một thứ ngôn ngữ ðể mô tả rõ ràng hõn ngôn ngữ thýờng, nhýng cũng không hoàn toàn hình thức nhý ngôn ngữ lập trình, và thýờng ðýợc minh họa bằng các hình khối ; chúng cho phép hiểu giống nhau cú pháp và ý nghĩa của các thông tin cần truyền qua các ðiểm quy chiếu (reference points) ðýợc quy ðịnh giữa hai hệ thống. Việc này cho phép chuẩn hoá các giao thức (protocol) cần thiết trong viễn thông ðể gửi nhận thông tin và ðể quản lý mạng.
Sáng tạo ðầu tiên là chuẩn OSI ( Open System Interconnection) của tổ chức chuẩn quốc tế ISO (International Organisation for Standardization) thành lập một mô hình 7 tầng giao thức từ thấp (gần vật chất, thấp nhất là việc truyền các bít qua giây ðiện) ðến cao. Mô hình này không ðýợc áp dụng hoàn toàn trên thực tế vì nhiều lý do, ngoài một vài áp ðặt có tính hõi giáo ðiều (nhý nhất ðịnh phải tuyến tính từ 1 ðến 7), nó vừa quá ðõn giản vừa quá phức tạp so với thực tế. Tuy nhiên nó ðã có ảnh hýởng tri thức rất mạnh và là nguồn cảm hứng cho nhiều mô hình quy chiếu khác.
Trong lãnh vực viễn thông kể từ ðó có khá nhiều mô hình quy chiếu ra ðời ; mỗi mô hình nhằm làm cõ sở cho việc chuẩn hóa một kỹ thuật mạng hay một vấn ðề nào ðó. Thí dụ nhý mô hình ISDN của mạng ðiện thoại số, mô hình TMN nhằm vào việc quản lý các mạng viễn thông, mô hình TINA dùng ðể phát triển các ứng dụng viễn thông... Có thể nói các mô hình này nhằm phục vụ việc thiết lập, bảo trì và phát triển các mạng và dịch vụ viễn thông, một mảng lớn của công nghệ thông tin, chúng týõng ứng với các tầng từ 1 ðến 4 của mô hình OSI, và không phải là chủ ðề của bài này. Ở ðây chúng ta chỉ ðề cập ðến công nghệ tin học phân tán, tức là phần trên của mô hình OSI, và nhý thế mô hình quan trọng nhất hiện nay là OMA (Object Management Architecture) và trong OMA thì bộ phận nòng cốt là CORBA (Common Object Request Broker Architecture), sau ðây sẽ gọi chung cả là CORBA cho gọn. Trýớc khi CORBA trở thành cõ bản vì tiếp cận hýớng sự vật ðýợc ðại ða số trong ngành CNTT chấp nhận, thì ðã có nhiều mô hình quy chiếu khác nhằm cụ thể hoá phần trên của mô hình OSI, thí dụ nhý DCE (Distributed Computing Environment), mà CORBA thừa hýởng khá nhiều. Ở ðây không có chỗ mô tả DCE ; cũng nhý không có chỗ mô tả DCOM (Distributed Component Object Model), một mô hình hýớng sự vật và phân tán khác của riêng Microsoft. Trái với CORBA là một mô hình mở, DCOM khép kín trong các sản phẩm hoàn toàn tuỳ thuộc Microsoft.
3. OMG, OMA VÀ CORBA OMG là một tổ chức chuyên ngành vô vụ lợi, do 8 công ty quốc tế thành lập tháng 5 nãm 1989, trong ðó ðáng kể là Hewlett-Packard và SUN, nhằm thiết lập một khung cảnh khái niệm chung về hýớng tiếp cận sự vật phân tán, ðể có thể cho phép các hệ áp dụng hýớng sự vật, ðã và sẽ ðýợc phát triển trên những hệ ðiều hành và thiết bị khác nhau, có thể trao ðổi với nhau. OMG ðáp ứng ðúng nhu cầu chung và có một phýõng pháp làm việc khá khách quan, nên ðã ðýợc hýởng ứng mạnh mẽ. Tới nay ðã có khoảng 800 (tức là hầu hết) tổ chức và các công ti CNTT lớn trên cả thế giới tham gia.
Vấn ðề muốn giải quyết không ðõn giản, và lại phải giải quyết 'giữa chợ ' huyên náo và ðông ngýời, cho nên tiến bộ cũng chậm chạp. OMG theo con ðýờng của OSI-ISO : cùng nhau thành lập một mô hình quy chiếu, và từ ðó thỏa thuận dần về các chuẩn giao diện và giao thức 3 . Sau gần 3 nãm bàn cãi một số tài liệu có tính giai ðoạn (CORBA 1) ðýợc công bố nãm 1992. Nhýng, tuy rằng mục ðích chính ðã ðạt là các chýõng trình ứng dụng thì có thể mua từ nhiều nguồn, sai lầm khá lớn của CORBA 1 là chỉ thoả thuận về chuẩn giao diện mà ðã ðể cho các giao thức ðýợc phát triển tự do. Có lẽ vì một mặt các tập ðoàn sản xuất CNTT thoả thuận ngầm với nhau lúc ấy là mỗi ngýời giữ khách hàng của mình, hay/và mặt khác họ không thống nhất ðýợc với nhau về một kỹ thuật ORB duy nhất 4. Hậu quả là trong một mạng cõ quan thì chỉ áp dụng ðýợc CORBA giữa những máy cùng một hệ, và hoàn toàn không thể ði ra ngoài, vì ðể trao ðổi với nhau các chýõng trình ứng dụng cần ðến những giao thức ở phía dýới.
|
|
|
Post by Vĩnh Long on May 31, 2007 12:10:28 GMT 9
Ðến giữa 1996 ta có một hệ thống tài liệu týõng ðối hoàn chỉnh tuy chýa ðầy ðủ (CORBA 2). CORBA 2 phải sống với những sai lầm của CORBA 1 nhýng ðã ðýa ra ðýợc những biện pháp phụ trội cho phép các sản phẩm tuân thủ CORBA 2 của các nhà sản xuất khác nhau liên hệ ðýợc với nhau. Nhýng ðiều này cũng chỉ hạn chế trong một mạng cõ quan, vì nếu ði ra ngoài thì còn vấp phải một số vấn ðề nhý an toàn thông tin, kiểm tra chất lýợng các sự vật ở xa... Những vấn ðề này, theo OMG, hiện nay ðã ðýợc giải quyết, và CORBA 3, dự kiến ra ðời trong nãm 2000, sẽ là một tập hợp chuẩn ðầy ðủ, mở rộng CORBA 2 ðể cho phép các ứng dụng hýớng sự vật cộng tác ðýợc với nhau trên phạm vi toàn thế giới, qua mạng Internet. CORBA là một mô hình quy chiếu nằm ở tầng các chýõng trình sử dụng mạng, nó coi nhý việc truyền tin qua mạng ðýợc bảo ðảm ; và chỉ thiết lập các chuẩn ðể liên lạc giữa các phần phân tán của ứng dụng (týõng ðýõng với các tầng 5 và 6 của mô hình OSI). Tầm quan trọng của các chýõng trình phục vụ tổng quát việc ứng dụng phân tán này thể hiện qua việc nảy sinh thuật ngữ 'middleware', tạm dịch là hệ giữa. CORBA nhý thế là một chuẩn của hệ giữa, 'giữa' ðây có thể hiểu là giữa các bộ phận phân tán của một ứng dụng, hay giữa tầng ứng dụng ở trên và tầng viễn thông ở dýới. Có thể hình dung một cách giản lýợc CORBA qua hình vẽ sau : CORBA 2 và 3, trýờng hợp nối bằng Internet Qua hình này ta có thể ghi chú vài ðiểm sau : CORBA 1 chủ yếu ðặc tả giao diện chuẩn cho phép sử dụng các ORB (Object Request Broker). ORB gồm những chýõng trình phân tán trong các máy của mạng, quản lý tên và ðịa chỉ các sự vật ở tầng ứng dụng, chúng liên lạc với nhau bằng một giao thức riêng. Chức nãng của ORB là làm môi giới (broker) cho phép một sự vật trong máy khách hàng yêu cầu sử dụng (request) một sự vật trong máy phục vụ, mà không cần biết nó ở ðâu. Dĩ nhiên hai máy này phải dùng cùng một hệ ORB và nằm trong cùng một mạng truyền tin trong nghĩa cả về thiết bị lẫn hệ ðiều hành mạng. Tầng ORBnằm trên tầng vận chuyển (tầng 4, transport layer), và các giao thức của ORB không cần chuẩn hoá. CORBA 1 không nói gì ðến các chức nãng chuyển ðổi giao thức. Một trạm phục vụ cũng có thể chứa những sự vật khách hàng của những trạm phục vụ khác, và trong một ứng dụng không nhất thiết chỉ có những quan hệ song phýõng. CORBA 2 ðặc tả sự liên lạc và vận hành (interworking) giữa các ORB khác nhau qua một giao thức trung gian tổng quát gọi là GIOP (General Inter-ORB Protocol). Giao thức này sẽ lại sử dụng những loại giao thức 'ðệm' khác nhau ðể truyền tin qua các loại mạng khác nhau ; trong ðó ðầu tiên và quan trọng nhất là giao thức IIOP (Internet Inter-ORB Protocol), cho phép sử dụng Internet. Việc sử dụng các loại mạng trung gian khác ðang ðýợc bổ túc dần. Chức nãng chuyển ðổi các giao thức ORB ðã có sang giao thức GIOP là trách nhiệm của những ngýời ðã sản xuất các ORB khác nhau. CORBA 2 giải quyết ðýợc vấn ðề của một cõ quan dùng một mạng nhýng lại có hai nhóm máy mỗi nhóm một ORB khác nhau A và B. Khi ấy hai máy cửa ngõ nhập lại với nhau thành một trạm chỉ có chức nãng chuyển ðổi giao thức thôi, bởi không cần mạng trung gian. Nếu muốn hiệu nãng cao ngýời ta có thể loại trừ luôn GIOP, nhýng khi ấy phải viết thêm chức nãng chuyển ðổi thẳng giữa các giao thức ORB A và ORB B. Nhýng nhý trên ðã nói, trong thực tế CORBA 2 chýa ðủ ðem lại ðộ tin cậy cho ngýời dùng nếu thực sự muốn nối 2 ORB bằng Internet hay một kỹ thuật mạng khác. Nó chýa ðặc tả nhiều chức nãng quan trọng trong ðõn vị chuyển ðổi giao thức, ðặc biệt là chýa giải quyết sự xung ðột với chức nãng týờng chặn lửa (firewall) trong máy cửa ngõ. Ngýời ta phải ðợi CORBA 3 mới hy vọng thành công. Ðiểm rất quan trọng và ðộc ðáo của CORBA, một tiến bộ rất lớn so với những ðặc tả về giao diện trýớc nó, là quan niệm về giao diện nhý sản phẩm của một ngôn ngữ mô tả, vì vậy rất mềm dẻo, rất tổng quát, mà lại rất dễ dùng. Ngôn ngữ này gọi là IDL (Interface Definition Language, ngôn ngữ mô tả giao diện) 5 , mỗi sự vật phục vụ cần có một mô tả bằng IDL (hay nhiều, mỗi mô tả týõng ứng với một cách dùng khác nhau), ðýợc chép lại bên phía sự vật khách hàng. Sau ðó chýõng trình biên dịch sẽ biến mô tả này thành hai chýõng trình con, khách hàng một bên và phục vụ một bên. Chính hai chýõng trình con này là giao diện cho phép gọi tầng phục dịch ORB ðể liên hệ giữa hai bên. Ngoài CORBA theo nghĩa hẹp ra, OMG còn có tham vọng ðýa vào mô hình OMA một số chuẩn và ðặc tả khác nữa mà ở ðây không ðề cập, ðặc biệt ở trong bản thân tầng ứng dụng (tầng 7 theo mô hình OSI). Những cố gắng về kiến trúc này chýa có gì ổn ðịnh, nó vừa bị xáo trộn bởi, vừa ðýợc ðõn giản hoá nhờ sự xuất hiện của Internet và Java. Nhý ðã nói trong phần dẫn nhập, chính nhờ có một ngôn ngữ nhý Java và công nghệ tác tử mà việc chuẩn hoá các giao diện ở mức ứng dụng ðýợc ðõn giản hoá ði rất nhiều, vì nếu nhý trýớc thì mỗi ứng dụng cần phải ðýợc cài ðặt không những chýõng trình phục vụ ở trạm phục vụ mà còn chýõng trình khách hàng ở mọi trạm khách hàng. Nếu quan niệm khách hàng có thể xuất hiện bất cứ lúc nào ở khắp nõi trên thế giới và liên hệ với trạm phục vụ qua Internet thì việc cài ðặt kiểu ðó trở thành vô cùng tốn kém. Ngày nay thì chýõng trình khách hàng là một tác tử ðõn giản ðýợc nạp từ xa thẳng vào máy của ngýời dùng khi cần. Trên ðây là một vài ðặc ðiểm cũng nhý tình hình hiện nay của CORBA, 'nhìn từ máy bay'. Không thể ði sâu thêm trong phạm vi bài này vì ðây là một chuẩn khá phức tạp gồm mấy trãm trang ðặc tả kỹ thuật.
|
|
|
Post by Vĩnh Long on May 31, 2007 12:11:28 GMT 9
4. W3C và chuẩn XML 4.1. Sõ lýợc về XML Với sự bùng nổ của Internet thì tổ chức W3C có tầm quan trọng ðặc biệt. W3C hội ðủ mọi công ty, ðại học và cõ quan hành chánh về CNTT lớn trên thế giới, cũng nhý OMG. W3C có mục tiêu xác ðịnh những chuẩn toàn cầu cho việc ứng dụng Internet ; và nhý thế vai trò của OMG và W3C có phần nào trùng lặp. Ở ðây không trở lại vai trò kỹ thuật quyết ðịnh của giao thức HTTP (Hyper-Text Transport Protocol) và ngôn ngữ HTML trong hiện týợng bùng nổ Internet trên toàn cầu, cũng nhý không mô tả HTTP (công cụ vận chuyển, sử dụng giao thức TCP ở phía dýới) và HTML (công cụ mô tả trang Web, do HTTP vận chuyển), ðã trở thành quen thuộc. Nhýng không thể nói tới CNTT trên thế giới hiện nay, dù chỉ dýới dạng hạn hẹp, mà không có vài ghi chú về XML.
XML (eXtensible Mark-up Language) là một chuẩn do W3C quy ðịnh, nhằm tổng quát hoá và thay thế chuẩn HTML, ðể cho phép thực hiện những ngôn ngữ giao diện ðặc thù cho từng phạm vi hoạt ðộng kinh tế, ðiều ðó sẽ càng làm dễ dàng hõn nữa việc viết các chýõng trình ứng dụng với màn hình cho Internet. Thực ra thì HTML là một hình thức trình bày ðặc thù của một chuẩn cũ là SGML, có bổ túc thêm ðể cho phù hợp với Internet, nhý thêm vào khái niệm siêu liên hệ (hyper-link). SGML là một chuẩn rất ðầy ðủ và phức tạp ðể mô tả vãn bản trong việc in ấn, do tổ chức ISO thực hiện từ ðầu những nãm 60, chủ yếu dùng trong các chýõng trình ðiều khiển máy in lớn của các nhà xuất bản chuyên nghiệp. Nó cho phép mô tả các cấu trúc ðặc thù của từng loại vãn bản bằng một tài liệu riêng ði kèm ðể xác ðịnh kiểu vãn bản (DTD, Document Type Definition). DTD ðịnh nghĩa các nhãn ghi chú (tag) 6dùng ðể ðánh dấu các câu, ðoạn trong vãn bản, và xác ðịnh cú pháp (syntax) của tập hợp các nhãn ghi chú ðó. Có thể coi HTML nhý là SGML không có DTD ði kèm, hay nói cách khác chỉ có một DTD cố ðịnh duy nhất và ẩn tàng, thích hợp với các trang nhện. Những hình thức trình bày ðặc thù cho từng loại phát hành khác nhau của cùng một vãn bản, thí dụ in ấn hay chiếu trên màn hình phải ðýợc xác ðịnh bởi một tài liệu riêng khác, tờ thý pháp7 (style sheet). Tài liệu này tuỳ thuộc thiết bị ngoại vi, và xác ðịnh hình thức trình bày của những câu ðoạn, theo nhý các nhãn ghi chú có trong DTD ; nó chỉ có ý nghĩa trong việc trình bày thôi, nội dung vãn bản hoàn toàn ðộc lập với nó. Các tờ thý pháp của SGML ðýợc viết bằng ngôn ngữ DSSSL (Document Style Semantics and Specification Language, ý nghĩa của thý pháp các tài liệu và ngôn ngữ ðặc tả thý pháp). XML mở rộng HTML bằng cách trở lại với SGML sau khi ðã ðõn giản hoá 8 . Ấn bản XML 1.0 ðã ðýợc phát hành từ tháng Hai-1998. Tuy trong DTD còn thiếu nhiều thứ, nhất là phần kiểm soát nội dung các trýờng tuỳ thuộc nhãn ghi chú còn ðang ðýợc bàn cãi và phát triển thêm, nhýng XML ðã ðýợc ðýa vào sử dụng mạnh mẽ. Những ngýời làm tin học trong mỗi ngành nghề hiện ðang làm những ðặc tả DTD ðể dùng cho những tài liệu trong ngành mình. Khi các công việc này hoàn chỉnh thì việc thực hiện giao diện ngýời-máy và máy-máy qua liên mạng sẽ trở nên dễ dàng vì mỗi ngýời chỉ cần nắm những nhãn ghi chú trong các DTD của ngành mình 9 . XML týõng thích với HTML 10. Ngôn ngữ mô tả cách trình bày vãn bản của XML ðýợc gọi là XSL (eXtensible Style Language), thoát thai từ DSSSL của SGML. XSL hiện nay ðang ở giai ðoạn hoàn chỉnh, chýa có chuẩn chính thức. Hy vọng sau ðó sẽ có những chýõng trình xử lý vãn bản cũng dễ dùng và tốt hõn hiện nay với ðầu vào và ðầu ra là XML. Một việc trýớc mắt không khó khãn gì là làm chýõng trình hoán chuyển hai chiều giữa dạng XML và dạng riêng của các chýõng trình xử lý vãn bản ðã có. Nói chung, một loại sản phẩm ðang ðýợc nhiều nõi triển khai là các chýõng trình phân tích cú pháp XML (XML parser) ðể biến tài liệu XML thành ra một ðiều gì khác có thể khai thác trong những áp dụng ðặc thù, chứ không phải chỉ xử lý vãn bản. Trong ðó quan trọng nhất là biến một tài liệu XML thành một sự vật mô tả tài liệu, xử lý ðýợc bởi các ngôn ngữ hýớng sự vật (chẳng hạn ðể làm các cõ sở tài liệu, documentation base, hay các kho URL... ). Hai chuẩn về các sự-vật-tài-liệu hiện ðang ðýợc bàn cãi là SAX (Simple API for XML, giao diện lập trình ðõn giản cho XML) và DOM (Document Object Model, mô hình của sự-vật-tài-liệu). Hiện ðã có các chýõng trình phân tích vãn bản XML ðể cho ra dạng SAX, các chýõng trình cho ra dạng DOM thì còn ở mức thử nghiệm. 4.2. Lợi ðiểm của XML Không nên hiểu XML một cách hạn hẹp nhý chỉ là một chuẩn ðể mô tả vãn bản có tính vãn chýõng, dùng cho màn ảnh hay in ấn và truyền ðýợc qua liên mạng. Nhý thế cũng rất quan trọng rồi, nhýng tiềm nãng của nó výợt lên trên kích thýớc ðó khá nhiều, nếu ta lýu ý rằng tất cả những dữ kiện dùng cho máy hay cho mạng truyền tin nhý các thông ðiệp, các chýõng trình, các cõ sở dữ liệu... ðều cần, ðến một lúc nào ðó, hiện hữu dýới dạng con ngýời ðọc ðýợc, nghĩa là dýới dạng một vãn bản có cấu trúc. Mà có thể nói ðịnh nghĩa cõ bản của XML là nhý thế : một chuẩn mô tả các loại vãn bản có cấu trúc (xác ðịnh trong DTD) dýới dạng con ngýời ðọc ðýợc. Từ ðó, mặc dù một số ðiểm bất tiện (nhỏ, và càng ngày càng không quan trọng trýớc tiến triển kỹ thuật) nhý :
Vãn bản XML thýờng không hiện hữu một cách ðộc lập, mà phải ðýợc ði kèm với một hay nhiều tài liệu DTD mà nó sử dụng. Vãn bản XML dài vì mang theo các nhãn ghi chú ðể dàn trang, mô tả cấu trúc... lại thêm nữa mỗi chữ cái dùng 16 bít theo chuẩn mới Unicode thay vì 8 bít. Nhiều trýờng của cấu trúc (fields, champs), nhý các con số ðáng lẽ ðể dýới dạng nhị nguyên, tiện cho máy và có hiệu nãng hõn, thì vẫn phải viết bằng chữ cái. XML chắc chắn sẽ ðýợc sử dụng trong rất nhiều chuẩn của CNTT, nhất là các chuẩn truyền tin ở mức ứng dụng và trên mạng rộng, vì những thuận lợi rất lớn : Một thí dụ rất quan trọng ðối với Việt Nam là : việc mã hoá các chữ cái bằng 16 bít theo chuẩn Unicode sẽ chấm dứt ðýợc tình trạng "thập nhị sứ quân" hiện nay của các mã tiếng Việt dùng 8 bít, với các khó khãn do nó gây ra trong việc xử lý vãn bản và việc truyền tin trên mạng. 'chuẩn' de facto của các vãn bản Word theo Microsoft, và do Microsoft lợi dụng thế mạnh của mình tự ý thay ðổi ðể bắt khách hàng chạy theo và trả tiền nâng cấp mỗi lần, sẽ không còn lý do tồn tại. Và nhý thế ai cũng có thể sản xuất những chýõng trình xử lý vãn bản, vì mọi sản phẩm của các chýõng trình này sẽ ðều týõng thích. Với nhiều loại chýõng trình ứng dụng khác vấn ðề cũng týõng tự, nếu có thể mô tả ðầu vào và ðầu ra bằng XML. Với XML mạng Web sẽ thực sự là một mạng thông tin quốc tế, vì chữ viết cho mọi nýớc ðều sẽ ðýợc thể hiện bằng một chuẩn thống nhất. Mọi chýõng trình ðều có thể ðýợc dùng tại khắp nõi trên thế giới bằng cách thay ðổi ngôn ngữ giao diện một cách dễ dàng hõn hiện nay. Một thí dụ ảnh hýởng của XML lên trên việc xác ðịnh các chuẩn : ngôn ngữ IDL của CORBA có thể ðýợc viết lại một cách rất dễ dàng dýới dạng XML, vì IDL cũng chỉ là một vãn bản có cấu trúc dýới dạng con ngýời ðọc ðýợc. Vậy thì các chýõng trình khách hàng và phục vụ cũng có thể trao ðổi với nhau bằng ngôn ngữ XML với một DTD ðặc thù týõng thích với IDL. 4.3. Ðề nghị chuẩn SOAP Ðó là ý ðồ cõ bản nằm ðằng sau ðề nghị chuẩn SOAP (Simple Object Acces Protocol). Chuẩn này do Microsoft ðề nghị và ðang ðýợc bàn cãi. Nếu so sánh SOAP với GIOP và IIOP thì ta nhận thấy : SOAP có chức nãng týõng tự với IIOP, nhýng thay vì dùng IIOP ðể chuyên chở GIOP thì SOAP dùng HTTP ðể chuyên chở XML với những chức nãng týõng tự và ðõn giản hõn GIOP :
Ýu ðiểm của phýõng pháp này là sử dụng lại ðýợc những công cụ và hệ thống ðã có sẵn vì thế ðýa vào dùng rất nhanh chóng. Ðặc biệt là không bị xung ðột với chức nãng týờng chặn lửa, vì týờng chặn lửa không ngãn chặn HTTP. Giải pháp của GIOP/IIOP tuy cũng qua ðýợc týờng chặn lửa nhýng cần nâng cấp các týờng chặn lửa hiện có, vì dùng một chân cắm (socket) cho giao thức TCP/IP khác với chân cắm của HTTP. Một ýu ðiểm nữa của SOAP là vì dùng XML nên có khả nãng mở rộng dễ dàng nội dung và cấu trúc của các thông ðiệp. Nhýng các ýu ðiểm này cũng là nhýợc ðiểm vì HTTP không cho kết nối lâu dài (persistent connection), chỉ có hỏi và trả lời là hết (chính vì thế OMG ðã dùng IIOP trên một chân cắm khác). SOAP hiện nay mới dùng cho những ứng dụng ðõn giản, nếu muốn nối lâu dài thì cũng phải xây dựng lên trên HTTP một khả nãng nối lâu dài giữa khách hàng và trạm phục vụ. Thêm nữa vì SOAP chuyên chở thẳng XML nên dài dòng hõn, chậm và tốn giải tần của mạng hõn. Ðiều này không ðáng ngại lắm, ðáng ngại hõn là mỗi lần các sự vật gọi nhau qua SOAP lại phải thông dịch giao diện viết bằng XML, hiệu nãng sẽ rất thấp so sánh với IDL là một ngôn ngữ biên dịch một lần rồi thôi. Từ ðó suy ra, với tình trạng hiện nay, việc chọn lựa XML/SOAP hay IDL(biên dịch)/IIOP tùy thuộc tần số và cách thức liên hệ của các sự vật. Tuy nhiên, ðây là những vấn ðề còn ðang ðýợc bàn cãi, triển khai, và có thể thay ðổi. Chýa có kết luận rõ ràng, nhýng rất ðáng theo dõi. Có lẽ hýớng trong tuõng lai gần là OMG và W3C phải cộng tác ðể có một giải pháp toàn bộ giữ ðýợc cả ýu ðiểm của XML và CORBA.
|
|
|
Post by Vĩnh Long on May 31, 2007 12:12:16 GMT 9
5. JAVA Ngôn ngữ Java do hãng SUN sáng tạo và phát triển từ ðầu những nãm 90, nó trở thành rất ðýợc ýa chuộng từ khoảng bốn nãm nãm nay, nhờ ở một số ðặc ðiểm hết sức thích hợp với mạng Internet, hiện ðã bùng nổ trên toàn thế giới, và ðýa tới yêu cầu phát triển những ứng dụng cho Internet. Java là một ngôn ngữ lập trình hoàn chỉnh 11 ðýợc thiết kế theo hýớng sự vật và kế thừa có nâng cấp của những ngôn ngữ lập trình ði trýớc nó :
Về mặt cú pháp, Java rất giống C++, ngôn ngữ lập trình hýớng sự vật phổ biến nhất hiện nay, nhýng : Java loại ra khỏi C++ những khả dụng (facilities) quá mạnh nhýng khó và ít dùng, hoặc thừa về mặt ngôn ngữ : không có kiểu dữ liệu cấu trúc (structure) của C hay C++, vì có thể thay thế dễ dàng bằng những sự vật ðặc thù ; không cho phép sự kế thừa nhiều lớp (multiple inheritance), nhýng tạo ra khái niệm 'lớp bên trong' (inner class) cho phép thực hiện những chức nãng týõng ðýõng trong nhiều trýờng hợp một cách chặt chẽ (nhýng cũng hõi nặng nề) hõn. Không cho phép thao tác số học trên kiểu con trỏ (pointer, mà Java gọi là handle), vì ðây là nguồn gốc của những 'con bọ ' không thể phát hiện khi biên dịch... Vì vậy ðối với những ngýời lập trình chuyên nghiệp ðã quen với C hay C++ thì Java không linh ðộng và hiệu nãng bằng C hay C++ ðể làm những chýõng trình lớn và phức tạp. Ðây chỉ là vấn ðề thói quen, vì tuy rằng với cùng chức nãng thì chýõng trình Java có thể dài và chậm hõn, nó dễ hiểu và dễ chỉnh lý hõn. Ðó lại chính là ðiều quan trọng nhất trong những chýõng trình lớn. Mặt khác thì Java còn cao cấp hõn C++ ở nhiều mặt : Ðó là một ngôn ngữ ða mạch (multi-thread), cho phép thực hiện nhiều mạch song hành, cũng nhý ADA hay nhiều ngôn ngữ 'thời gian thực' khác. Ðồng thời, với việc khởi ðộng và ðóng các mạch hay/và sự vật thì ngôn ngữ Java không có các lệnh xin và trả bộ nhớ, vì giả thiết máy ảo Java (JVM, Java Virtual Machine, xem sau ðây) có bộ phận tự ðộng quản lý 12 bộ nhớ. Những ðặc tính kể trên có thể ðýợc coi nhý ðã tổng hợp và rút kinh nghiệm khá tốt những kỹ thuật cổ ðiển. Nhýng còn ðáng chú ý hõn, Java thêm vào những ðặc thù mới khiến cho nó ðáp ứng ðýợc những nhu cầu của thời ðại là việc xử lý phân tán trên những hệ máy không thuần nhất, dựa trên các mạng thông tin hẹp, vừa hay rộng, và theo giao diện WWW của Internet. Ðó là : Theo gýõng PASCAL, Java là một ngôn ngữ nửa biên dịch (compilation) nửa thông dịch (interpretation). Các chýõng trình Java ðýợc biên dịch thành một chuỗi giả lệnh (gọi là byte code, tuõng tự nhý p-code của PASCAL) ngôn ngữ giả lệnh này ðýợc một máy ảo Java (JVM) thông dịch ngay thành ngôn ngữ máy, khi chýõng trình hoạt ðộng. Bất cứ loại máy nào muốn sử dụng Java chỉ cần ðýợc cài ðặt một JVM, chuyện týõng ðối dễ dàng, và khi ðó thừa hýởng ðýợc tất cả các chýõng trình viết cho Java, kể cả bộ biên dịch Java. Nhýng ðiều ðó không phải là lý do chủ chốt của thành công, vì nếu thế thì PASCAL ðã chiếm lãnh vị trí thýợng phong này từ hõn 20 nãm trýớc. Yếu tố khiến bây giờ khái niệm giả lệnh trở thành không thể thiếu là công nghệ tác tử và Internet : ngýời ta có thể gửi tới bất cứ máy nào trên thế giới có JVM (hay bộ thông dịch Javascript) một ứng dụng nhỏ hay một tác tử Java (hoặc Javascript) ðể ðýợc thực hiện ngay tức khắc. Và ðó là trýờng hợp của hầu nhý tất cả các máy tính hiện nay, ðặc biệt là các máy PC với khả nãng nhập mạng Internet qua Internet Explorator của Microsoft, hay Netscape Navigator. Khi thực hiện những lệnh máy từ nõi khác gửi ðến có nguy cõ là phần mềm của máy bị phá huỷ hay thông tin bị chép trái phép từ những sai lầm vô tình hay hữu ý. Vì thế bộ giả lệnh của Java chỉ cho phép gửi ði một loại ứng dụng nhỏ (applet) không ðýợc phép truy nhập vào hệ thống dữ liệu của máy chủ nhà. Ðiều này khác với các chýõng trình chính của Java, cũng nhý việc các chýõng trình chính có thể (và applet không thể) ðýợc biên dịch thẳng ra ngôn ngữ máy ðể tãng hiệu nãng nếu cần. Ðể tránh nguy cõ phần mềm bị phá huỷ thì kỹ thuật nguy hiểm nhất, thao tác số học trên con trỏ, ðã bị loại. Còn lại một sai lầm hay xẩy ra nữa là thao tác sai về các chỉ số (index) của cấu trúc bảng, khiến cho chýõng trình có thể viết ra ngoài bảng và phá hoại bộ nhớ của máy. Ðó là lý do tại sao JVM nhất thiết phải kiểm ðiểm chỉ số mỗi lần truy nhập bảng, trong khi thông dịch giả lệnh (cũng nhý một lựa chọn cho phép nhýng ít khi ðýợc dùng của trình biên dịch PASCAL). Với những thận trọng 'di truyền' nhý thế thì không thể viết ðýợc một ứng dụng con có thể làm hỏng (về nội dung) bộ nhớ hay bộ ðĩa của máy chủ nhà. Tuy nhiên, khi biên dịch hay thông dịch không có cách nào phát hiện một chýõng trình phạm vào lỗi 'quay vòng vô hạn ðịnh' và từ ðó cũng có thể tiêu dùng tất cả tài nguyên (resource) cho phép của máy và làm nó yếu ði rất nhiều. Những ngýời quen thâm nhập Internet ðể ði tới những trang nhà (home page) xa lạ ðều có kinh nghiệm về hiện týợng này và cách duy nhất là dùng các lệnh ýu tiên của hệ ðiều hành ðể giết các ứng dụng nhỏ loại ðó. Hiện týợng này chắc sẽ còn lan truyền do thiếu các 'Web-master ' có trình ðộ, và ai cũng có thể tự mình học lấy và làm 'Web-master '. Thế nhýng, giá phải trả cho những thận trọng nói trên là : Java týõng ðối chậm hõn khá nhiều so với những ngôn ngữ khác. Theo những ðo ðạc ðã ðýợc thực hiện thì nếu dùng JVM thuần tuý (nhý bắt buộc ðối với các applet) Java chậm hõn C++ trên dýới 20 lần tuỳ theo ứng dụng. Và nhiều tác giả cho rằng (chủ yếu vì việc kiểm tra thýờng trực các chỉ số) các cố gắng tối ýu hoá (nhý biên dịch thẳng ra ngôn ngữ máy) cũng không thể nào làm cho Java chậm ít hõn khoảng 3 lần so với C++. Mặc dù vậy trên thực tế hiện nay phong trào phát triển bằng Java vẫn ngày càng mạnh, và những ngýời làm tin học ứng dụng, trừ những nõi cần tính toán khoa học kỹ thuật nhanh và nhiều, không ai cho rằng sức xử lý của Java là một trở ngại 13. Thực tế là các trạm vấn tin ðã quá thừa thãi sức xử lý và trên các trạm phục vụ thì nói chung cũng thế, chủ yếu ngýời ta cần vận tốc truy nhập vào các bộ ðĩa. Nếu Java lại cho phép thực hiện dễ dàng các hệ phân tán (dựa trên CORBA, hoặc RMI, Remote Method Invocation, một ORB riêng của SUN ) thì ðã quá bù trừ lại ðýợc ðiểm yếu của nó, do hiện týợng thiết bị ngày càng rẻ so với nhân lực cần thiết ðể phát triển các ứng dụng trong CNTT. Cuối cùng, ðặc ðiểm hấp dẫn và hiện ðại của Java là : nó ðýợc tung ra cùng một lúc với cả một thý viện chýõng trình ðầy ðủ ðể cho phép làm việc với màn hình, coi ngôn ngữ HTML (Hyper-text Mark-up Language) nhý là hệ thống vào ra chủ yếu chứ không phải những dòng chữ nhý các ngôn ngữ cổ ðiển khác. Tất cả những gì ta thấy qua việc truy nhập Internet hiện nay là ðýợc viết bằng HTML. Sau này trong Java sẽ thay thế HTML bằng XML.
|
|
|
Post by Vĩnh Long on May 31, 2007 12:13:29 GMT 9
6. Công nghệ tác tử Thuật ngữ tác tử thoát thai từ môi trýờng nghiên cứu về trí tuệ nhân tạo, từ cuối những nãm 80 ngýời ta ðã nói tới các tác tử phân tán. Tác tử là gì ? về lập trình có thể hiểu tác tử một cách giản dị nhý là một sự vật hoạt ðộng tích cực một cách thýờng trực trong một máy tính nào ðó, chứ không phải nhý những sự vật thông thýờng chỉ thụ ðộng chờ ðợi các thông ðiệp gửi tới nó rồi mới khởi ðộng một phýõng pháp nào ðó do thông ðiệp yêu cầu. Tích cực có nghĩa là tác tử luôn luôn khảo sát khung cảnh chung quanh nó (chẳng hạn bằng một quay vòng vô hạn ðịnh), và có thể tự ðộng phản ứng với những thay ðổi chung quanh nó. Nghĩa là tác tử có một trí tuệ nhất ðịnh nào ðó xác ðịnh bởi môi trýờng nó khảo sát và những phản ứng có thể của nó, tuy rằng dù sao chữ 'trí tuệ ' ở ðây cũng chỉ là một sự lạm phát danh từ nhý thýờng thấy trong tin học14.
Khái niệm ấy khá mõ hồ : ở mức ðộ thấp nhất môi trýờng ðó ðýợc giản lýợc vào bản liệt kê các thông ðiệp gửi tới nó cùng với những phýõng pháp týõng ứng nó phải thực hiện ; nhý thế tác tử chỉ là một sự vật tin học, không hõn không kém. Khó có thể xác ðịnh mức trí tuệ cao nhất của tác tử, ở ðây chỉ ghi chú lại tình trạng tiến triển hiện nay với hy vọng ðem lại một ý niệm sõ lýợc về khả nãng của nó. Ðiều ðáng chú ý là trừ những tác tử cố ðịnh và ðộc lập, hầu hết các nghiên cứu và phát triển về tác tử di ðộng ðều dựa trên chuẩn CORBA, chuẩn XML và ngôn ngữ Java.
Mỗi tác tử có hai kích thýớc không hoàn toàn ðộc lập với nhau : ðó là tính di ðộng và tính có trí tuệ. Càng di ðộng cao càng ít có trí tuệ và ngýợc lại, nhýng dĩ nhiên với tiến triển kỹ thuật thì vẫn có thể tãng cýờng về cả hai kích thýớc. Một tác tử di ðộng thì khối lýợng (ðo bằng bít) của nó phải nhỏ ðể dễ dàng truyền qua mạng, thêm nữa những nõi tiếp nhận ðều phải có một khung cảnh tiếp ðón chung (cõ-sở-cho-tác-tử-hoạt-ðộng, = tác sở 15) cho phép tác tử hoạt ðộng ðýợc, và nó lại phải hoạt ðộng với những giả thiết tối thiểu về nguồn tài nguyên ở nõi tiếp nhận nó, do ðó cũng phải tự hạn chế chức nãng. Hiện có nhiều hệ thống tác sở khác nhau ðang ðýợc nghiên cứu và phát triển, và ðề nghị về chuẩn cho các tác sở. Còn một tác tử cố ðịnh thì không bị những hạn chế ðó. Hiện những tác tử có trí tuệ ðều cố ðịnh, tuy có thể hợp thành một cụm tác tử cộng tác và trao ðổi với nhau qua mạng rộng hay hẹp.
6.1. Tính di ðộng Trong kích thýớc di ðộng có thể xếp tác tử vào các loại : cố ðịnh, nạp từ xa ðýợc (telechargeable), và thực sự di ðộng. Các tác tử loại cuối này có thể tự di chuyển ði nhiều nõi, còn các tác tử nạp từ xa thì chỉ ði từ trạm phục vụ tới trạm khách hàng.
Một thí dụ của tác tử cố ðịnh là tác tử giúp ðỡ (help agent) trong hệ vãn phòng MS Office, một thí dụ ðõn giản trong ðó tác tử chỉ týõng tác với những chýõng trình nằm tại chỗ một cách thýờng trực nhýng kín ðáo, nó chỉ nhảy ra khi nhận thấy ngýời dùng có vẻ ðã thao tác sai khi dùng một dịch vụ nào ðó (về sự hữu ích của nó thì xin miễn bàn, có ngýời thích có ngýời không). Trong nhiều ðề án nghiên cứu hiện nay những tác tử có chức nãng trí tuệ cao nhất thýờng cố ðịnh và thýờng cộng tác với nhau trong một nhóm nằm ở nhiều nõi trên mạng. Một thí dụ về tác tử nạp từ xa là các rôbôt tìm kiếm quy chiếu trong mạng Web của các hãng làm dịch vụ tìm kiếm thông tin trên mạng nhý Yahoo hay Altavista. Các rôbôt này thýờng xuyên ðýợc gửi ði từ các cõ sở tài liệu rất lớn của các hãng trên, tới các kho chứa các trang Web, ðể ðem về cập nhật mỗi ngày và tích tụ cho tới nay hàng tỷ những URL và sắp xếp chúng theo chữ khoá (keywords). Từ ðó phục vụ ðýợc sự tìm kiếm thông tin của hàng trãm triệu ngýời khách Internet trên thế giới. Dĩ nhiên các applet hay cookies cũng có thể ðýợc coi là thứ tác tử ðõn giản nhất trong loại này. Ðiều kiện ðể các tác tử nạp từ xa hoạt ðộng ðýợc là trong máy chủ nhà phải ðã ðýợc cài ðặt JVM, máy ảo Java (hay Javascript). Hiện trên thị trýờng chýa có những tác tử thực sự di ðộng. Việc thực hiện những tác tử loại này khó hõn nhiều vì ðó phải là một tập hợp ít ra là hai tác tử trong ðó một là cố ðịnh, hợp tác với nhau trong mạng rộng 16 . Do ðó ngoài việc ðòi hỏi các nõi chấp nhận chúng, ngoài các chức nãng tác sở riêng (trong ðó dĩ nhiên có JVM), còn phải giải quyết vấn ðề di ðộng của tác tử, tức là sẽ phải nâng cấp CORBA 3 lên một mức khá cao ðể thứ nhất là theo dõi, theo thời gian thực, việc thay ðổi ðịa chỉ ; và thứ hai là chuyên chở ðýợc XML vì có phần chắc là ngôn ngữ trao ðổi giữa các tác tử (ACL, Agent Communication Language) sẽ dựa trên XML. Ðây còn là chủ ðề cho nhiều nghiên cứu và thử nghiệm ðang ðýợc tích cực tiến hành. 6.2. Tính trí tuệ Mô tả tính trí tuệ của tác tử là ðiều không ðõn giản, không có một chỉ tiêu tuyến tính từ thấp tới cao. Dýới ðây là một vài khía cạnh khác nhau ðể ðánh giá, theo ngýời viết bài tìm hiểu, danh sách này cũng hõi khác nhau tuỳ tác giả. Nhý chúng ta sẽ thấy, những ðặc ðiểm về trí tuệ này thừa hýởng một quá trình lâu dài những nghiên cứu và phát triển trong ngành trí tuệ nhân tạo. Những khái niệm sẽ ðýợc ðề cập, tuy rằng cần ðýợc hiểu theo lýu ý ðã nói trên về sự lạm phát ngôn từ, chắc rằng sẽ ảnh hýởng mạnh ðến những phýõng pháp và ngôn ngữ lập trình tuõng lai.
Có mục tiêu : Tác tử, cũng nhý bất cứ chýõng trình nào khác, ðýợc viết ra nhằm mục ðích giải quyết một vấn ðề nào ðó. Ðiều mới là trong các chýõng trình cổ ðiển thì mục ðích giải quyết không ðýợc mô tả trong chýõng trình, chýõng trình thực hiện nó nhýng không nói tới nó. Trong tác tử ðiều này có thể ðýợc mô tả hiển hiện thành mục tiêu rõ ràng viết trong bản thân chýõng trình tác tử. Ðiều ấy cho phép sử dụng những giải thuật mềm dẻo dựa trên các tham số có thể thay ðổi với thời gian sau khi so sánh (tự ðộng hay không) kết quả với mục tiêu, nhờ ở tính tự quản (autonomy) và tự thích nghi (auto adaptation). "Tự quản và tự thích nghi ðể tiến ðến một mục tiêu" là một mô thức (paradigm, nếp suy nghĩ và hoạt ðộng trong một ngành nào ðó) thừa hýởng từ những nghiên cứu về rôbôt. Tự quản : Tự quản trýớc hết có nghĩa là tác tử tích cực hoạt ðộng một cách thýờng trực, không chỉ thụ ðộng phản ứng trýớc những sự kiện rời rạc xẩy ra với nó. Tác tử luôn luôn xem xét môi trýờng chung quanh nó và có ý thức về thời gian. Ðể làm ðýợc nhý thế tác tử cần có bộ nhớ giữ lại nhiều trạng thái biến ðổi (và có thể tự biến ðổi theo thời gian) trong 'cuộc ðời ' của nó, và có thể một lúc nào ðó tự ðộng thực hiện một ðiều cần thiết. Tự thích nghi : Một tác tử có trí tuệ phải biết tự thích nghi ðể tự nâng cao khả nãng với thời gian. Muốn thực hiện ðiều ðó thýờng là bộ nhớ thýờng trực của tác tử ðýợc tổ chức theo kiểu hệ chuyên gia (xem ðoạn về bản luận phía sau), có một cõ sở các dữ liệu về sự kiện và một cõ sở các quy luật diễn dịch (inference rules). Thêm vào ðó là một quy trình học hay tự học gồm những quy luật ðánh giá kết quả hành ðộng quá khứ bằng cách so sánh với mục tiêu. Ngýời ta thấy ở ðây gia sản của các nghiên cứu về trí tuệ nhân tạo và cách lập trình theo lôgích nhý trong ngôn ngữ Prolog ... Biết trao ðổi và thýõng lýợng : Khi một tập hợp nhiều tác tử cộng tác với nhau thì một tác tử nào ðó phải biết cách ði tìm một hay những tác tử khác có chức nãng mình cần. Nhýng vì ðối týợng cũng là một tác tử có khả nãng tự quản và ðộc lập cao nên không chắc nó ðã chấp nhận công việc nhờ cậy lúc ấy ! trong ngôn ngữ trao ðổi giữa hai bên khi ấy phải có một thủ tục thýõng lýợng nào ðó. Ðây là ðiểm mới trong mô thức tác tử không có trong mô thức sự vật, quan hệ giữa hai sự vật có tính mệnh lệnh, quan hệ giữa hai tác tử có tính ngang hàng hõn, tuy rằng việc này có thể thực hiện bằng những công cụ lập trình hýớng sự vật. Nếu các tác tử là di ðộng thì lại cần biết tìm ðịa chỉ cũng nhý biết thích ứng với những giao thức cần thiết cho việc liên hệ với ðịa chỉ ðó. Ngýời ta còn muốn nghĩ tới việc thành lập những tổ hợp tác tử một cách linh ðộng trong ðó các tác tử có thể tham gia hay rút ði một cách tự ðộng. Ðiều này ðặt ra những khó khãn mới trên nhiều tầng giao thức. Có bản luận 17:Ý nghĩa của bản luận (ontology) trong công nghệ tác tử là một hệ thống khái niệm và ngôn ngữ biểu diễn và thao tác ðýợc trong máy tính, chẳng hạn bằng một hay nhiều sự vật tin học. Bản luận có hai phần : phần thứ nhất ghi nhớ một cấu trúc thông tin nào ðó (hiện chýa thống nhất với nhau, có thể hiểu nhý một sõ ðồ thực thể - quan hệ, cổ ðiển trong công nghệ cõ sở dữ liệu, hay nhý một sõ ðồ cõ sở hiểu biết (knowledge base), cổ ðiển trong trí tuệ nhân tạo và có khả nãng biểu diễn mạnh hõn), cùng với những phýõng pháp thao tác trên cấu trúc ðó. Phần thứ hai là những quy luật diễn dịch (inference rules) ðầu tiên, cũng còn gọi là tiên ðề (axiome) nhằm giới hạn và xác ðịnh rõ những quan hệ ðýợc mô tả không ðầy ðủ bằng sõ ðồ. Bản luận chỉ là phần sõ ðồ và tiên ðề mà thôi, nó ðýợc dùng ðể tác tử xử lý những từ ngữ và dữ liệu ở ðầu vào. Mỗi tác tử có trí tuệ nhý vậy là một sự vật tin học có mục tiêu và tự quản ; có phần ghi nhớ bản luận của nó, tức là những khái niệm và từ ngữ mà nó hiểu ðýợc, và những thao tác trên hay/và dựa trên bản luận ðể biết tự thích nghi và biết trao ðổi, thýõng lýợng. Từ ngữ là phần quan trọng trong bản luận, vì thế cần phân biệt hai bản luận có thể là ðẳng cấu (isomorphe, từ ðiển toán học) nhýng dùng từ ngữ khác nhau. Chính những thao tác phát hiện ra các bản luận ðẳng cấu, hoặc hõi khác nhau nhýng có một phần ðẳng cấu, cho phép ngýời ta hy vọng các tác tử biết chấp nhận những khách hàng dùng ngôn ngữ tự nhiên với những phong cách khác nhau. Ði xa hõn nữa ngýời ta hy vọng tự ðộng dịch từ tiếng nýớc này sang tiếng nýớc khác qua suy luận cho ðến bản thể nhờ ở sự phát hiện và so sánh những khung cảnh ngữ nghĩa týõng ðồng, mà không phải chỉ là dịch một cách vô ý thức từng chữ một. Nhýng mỗi bản luận tin học hiện nay chỉ là một mảng nhỏ của hiện thực (tuy không rất nhỏ nhý những sõ ðồ thực thể quan hệ dùng trong công nghệ cõ sở dữ liệu) một bộ phận chủ yếu ở trong một ðề mục chuyên môn nào ðó thôi. Không nhý 'bản thể luận' trong triết học. Có cá tính : Ðặc ðiểm này nói về giao diện giữa một tác tử với ngýời dùng hay các tác tử khác cùng cộng tác, và các chức nãng bên trong týõng ứng. Một tác tử, khi ðối thoại với ngýời dùng nó, có thể nhận ra phong cách riêng của ngýời ấy và ðáp ứng một cách thích nghi ; thí dụ ðã có một tác tử thử nghiệm phụ giúp vào việc mua bán chứng khoán, có thể khi thì ðề nghị những hành ðộng 'chắc ãn', khi thì ðề nghị những việc mua bán 'phiêu lýu ' hõn, tuỳ khách hàng ; khách hàng ðây cũng có thể là những tác tử khác. Ði xa hõn nữa ngýời ta có thể quan niệm tác tử có những 'cá tính' (personality) 18 khác nhau tuỳ trýờng hợp ; và cũng có thể sử dụng những hệ diễn dịch dựa trên thuyết tập hợp mờ ðể có những trả lời 'nửa nạc nửa mỡ ', hay 'ba phần ðúng bảy phần sai ' và ðể cho ngýời dùng quyết ðịnh.
|
|
|
Post by Vĩnh Long on May 31, 2007 12:14:13 GMT 9
6.3. Một thí dụ Một thí dụ của tác tử có trí tuệ hay ðýợc nói ðến là loại tác tử tìm kiếm thông tin. Nhý hiện nay thì việc này gồm hai phần : phần cố ðịnh nằm trong trạm chứa kho quy chiếu URL ðể tìm theo nhu cầu, và phần cố ðịnh nằm trong các chýõng trình ðọc quét (browser) nhý Netscape hay IE. Thế hệ hiện nay của các chýõng trình phục vụ loại này nằm trong kho của Altavista hay Yahoo thýờng chỉ chấp nhận, từ chýõng trình ðọc quét gửi ðến, những câu hay chữ chìa khoá với một quan hệ lôgích nào ðó giữa chúng với nhau, cộng thêm vài thông tin ðể thanh lọc theo thời gian, ngôn ngữ v.v. ; sau ðó trạm phục vụ gửi trả lại một danh sách những URL, thýờng khi vừa thừa vừa thiếu.
Thế hệ sắp tới của các chýõng trình phục vụ tìm kiếm thông tin, hiện ðang ðýợc thử nghiệm tại nhiều nõi, sẽ là các tác tử có trí tuệ tại cả nõi khách hàng và phục vụ, tác tử khách hàng thích hợp với tác tử phục vụ sẽ do trạm phục vụ nạp xuống máy khách hàng, với ðiều kiện máy khách hàng là một tác sở cho nó. Khi ấy tác tử của khách hàng sẽ trao ðổi với ngýời dùng và trao ðổi với trạm phục vụ ðể chấp nhận những lệnh tìm kiếm 'thông minh' hõn. Các tác tử còn có thể dùng bản luận ðể hỏi lại ngýời dùng cho rõ ý muốn, và tìm kiếm những khái niệm, từ ngữ týõng ðýõng không cần có trong câu hỏi v.v. ðể ðem lại thông tin chính xác, ít nhiễu và ðầy ðủ hõn.
Trong týõng lai, khi các tác sở của mọi nõi ðã theo cùng một chuẩn thì ta có thể týởng týợng khách hàng gửi một tác tử lýu ðộng ðến nhiều kho thông tin khác nhau ; theo một lộ trình ðến từng kho thông tin ðể tự nó tìm kiếm, thanh lọc và loại trùng lặp ; rồi lại mang theo kết quả ðến nõi khác và tiếp tục công việc cho ðến khi xong lộ trình mới trở về. Cách làm này giảm thông lýợng cần ðến trong mạng, thay vì N lần ði và N lần về thì chỉ cần N lần ði theo một vòng, thêm nữa mỗi lần thì thông tin chuyển qua mạng cũng nhẹ hõn vì ðã ðýợc thanh lọc rồi (dĩ nhiên còn cái cộng thêm là khối lýợng thông tin của bản thân tác tử tự di chuyển). Có thể suy ra dễ dàng là N càng lớn thì cách ði vòng càng có lợi.
Kịch bản ðó có thể áp dụng cho nhiều sự phục vụ khác, chẳng hạn trong thýõng mại ðiện tử : khách hàng có thể gửi một tác tử với những chỉ tiêu nhất ðịnh về hàng hoá, giá cả v.v. theo một vòng ði ðến nhiều nõi bán ðể chọn lựa mặt hàng và quyết ðịnh...
Ðó không hoàn toàn là týởng týợng mà là chủ ðề của nhiều ðề án ðang ðýợc tích cực nghiên cứu về tác tử di ðộng và có trí tuệ.
6.4. Phạm vi và ðiều kiện ứng dụng Có một sự tãng trýởng hỗ týõng giữa công nghệ mạng truyền tin và công nghệ tác tử. Một mặt mạng truyền tin càng nhanh và có ðộ tin cậy cao thì tác dụng của các tác tử càng ðýợc phát huy, mặt khác chính những dịch vụ cõ bản của mạng thông tin cũng sẽ ðýợc hỗ trợ bởi công nghệ tác tử. Cũng nhý có một sự tãng trýởng hỗ týõng khác giữa chất lýợng của công nghệ thông tin (mạng truyền tin cộng với thiết bị tin học và phần mềm), và nhu cầu của ngýời sử dụng.
Với mạng Internet hiện nay thì các dịch vụ mà công nghệ tác tử có thể ðáp ứng nói chung là do các tác tử nạp từ xa thực hiện. Trong týõng lai gần các tác tử này có thể tãng thêm trí tuệ và làm tốt hõn việc tìm kiếm thông tin trong không gian xibe (ít nhiễu, nhanh và ðủ hõn) bằng cách thanh lọc thông tin theo ðúng nhu cầu cá nhân của ngýời dùng. Các tác tử cũng sẽ ðýợc dùng trong việc tự ðộng giám sát các thông tin trong các ðề mục yêu cầu, và chỉ lýu ý ngýời dùng khi có các sự cố hoặc sự kiện ðáng chú ý ; thí dụ nhý giám sát thị trýờng, giám sát các tác phẩm, bài báo hay thông báo chuyên ngành... chọn lọc và ðề nghị các tiết mục giải trí / vãn hoá, chọn lọc và ðề nghị các ðề tài du lịch, nõi nghỉ mát ...
Mặt khác công nghệ tác tử cũng sẽ ðýợc ứng dụng vào trong bản thân mạng thông tin ðể có thể quản lý mạng tốt hõn, chẳng hạn bằng những tác tử di ðộng giám sát chất lýợng và thông lýợng của các nút và các kênh trong mạng và ðem về kịp thời những thông tin báo ðộng, thậm chí có thể tự thay ðổi các cấu hình của mạng thông tin ðể phản ứng nhanh trýớc các sự cố. Ðây là những ðề tài nghiên cứu có thể trở thành hiện thực trong týõng lai không xa.
Trong týõng lai xa hõn, nhýng có lẽ không quá một thập kỷ, vì ðã có những tiền ðề kinh tế kỹ thuật rất rõ ràng, tại Âu Mỹ mạng thông tin cho mọi ngýời sẽ nhanh hõn bây giờ hàng trãm lần, và nhý thế có thể nghĩ ðến những tác tử di ðộng và có trí tuệ, ðối týợng nghiên cứu khá 'nóng' hiện nay. Chẳng hạn, ðiều này có thể phục vụ cho những nhóm làm việc chuyên ngành (trong bất cứ ngành nào) nằm ở khắp nõi trên thế giới và ngýời trong nhóm có thể tự do di chuyển. Trong máy tính xách tay của mỗi ngýời sẽ có những tác tử ðộc lập phụ giúp trong sinh hoạt riêng, cũng nhý có những tác tử phụ giúp trong sinh hoạt nghề nghiệp và bản thân chúng lại cộng tác với các tác tử khác của những ngýời trong nhóm. Những tác tử di ðộng của trung tâm quản lý sẽ có thể tìm ðến nhân viên ở bất cứ ðâu ðể gửi/nhận thông tin dýới những dạng cô ðọng và ðýợc bảo vệ an toàn... Ðể ý là qua thí dụ này ta thấy có hai loại tác tử di ðộng, những tác tử di ðộng vì máy tính chứa nó di ðộng, và những tác tử di ðộng vì bản thân nó tự di ðộng qua mạng, ðó là loại nói ðến trong bài này. Những vấn ðề của hai loại này không ðộc lập với nhau.
Nhýng cần nêu một vấn ðề chủ chốt cần (và chýa) giải quyết thỏa ðáng ở mức chuẩn quốc tế : khó có thể hạn chế các tài nguyên của một tác sở ðối với tác tử có trí tuệ vào những giới hạn quá hạn hẹp mà JVM dành cho những ứng dụng con nạp từ xa nhý hiện hay, tuy rằng nhý ta ðã thấy, chỉ thế thôi cũng còn chýa hoàn toàn ổn thoả. Nhý vậy thì cần tổ chức kho dữ liệu và hệ ðiều hành của tác sở ðể có phần công cộng và phần riêng tý, ðây không phải là cái gì khó lắm. Vấn ðề thứ hai quan trọng hõn là ðể bảo vệ an toàn các tác sở cũng cần chỉ chấp nhận những tác tử 'tin cậy ðýợc' ðến thãm viếng mà thôi. Một ðiều thú vị là hýớng giải quyết cho yêu cầu này ðã có : ðó là dùng những thuật toán của thýõng mại ðiện tử gồm chữ ký ðiện tử và xác minh ðiện tử.
Một hýớng phát triển cần thiết và còn ðể ngỏ là cần ðem vào một ngôn ngữ nhý Java phýõng pháp lập trình lôgích ðể cho phép thực hiện dễ dàng các hệ diễn dịch (inference systems).
6.4 Công tác chuẩn hoá FIPA (Foundation for Intelligent Physical Agent, tổ chức vì các tác tử vật chất có trí tuệ) ðýợc thành lập nãm 1996 với mục ðích viết ra những ðặc tả cho tác tử trí tuệ thực hiện ðýợc trong ngắn hạn, ðồng thời với việc thực hiện những ðề án cụ thể nhằm vào việc thử nghiệm sự cộng tác giữa các tác tử ðýợc sản xuất từ những nguồn khác nhau.
FIPA hoạt ðộng theo hai chiều. Hoạt ðộng chiều ngang nhằm thực hiện những chuẩn ðặc tả các chức nãng nhý : quản lý các tác tử, ngôn ngữ trao ðổi giữa các tác tử, giao diện ngýời-máy, việc tích hợp với những phần mềm không phải tác tử, tính di ðộng, an toàn của tác tử, bản luận. Hoạt ðộng chiều dọc nhằm viết các hýớng dẫn cài ðặt các tác tử trong một vài phạm vi sinh hoạt ðýợc chọn lọc : phụ tá cho ngýời du lịch, phụ tá cho hoạt ðộng vãn phòng, phụ tá chọn lựa các giải trí và truyền hình, quản lý mạng và kế hoạch phát triển mạng. Các hýớng dẫn cài ðặt này ðýợc rút ra từ những kinh nghiệm của các ðề án thử nghiệm dẫn ðạo. Các ðề án này theo sát và phản hồi lại cho công việc làm chuẩn.
Cách hoạt ðộng nhý vậy khá hay, vì nó tạo ra sự qua lại giữa hai chiều ðể ði ðến những chuẩn thực tế. Nhýng nhý vậy chắc là phải qua nhiều ðợt thử nghiệm, vì vậy không thể có nhanh các chuẩn ổn ðịnh cho công nghệ tác tử. Có lẽ phải theo dõi và chờ ðợi hai ba nãm nữa.
Mặt khác tổ chức OMG cũng vừa thành lập nhóm làm việc cho chuẩn mới gọi là MASIF (Mobile Agent System Interoperability Facility, khả dụng cho phép các tác tử di ðộng cùng vận hành) nhằm tãng cýờng CORBA ðể làm cõ sở dịch vụ viễn thông cho các tác tử di ðộng. OMG và FIPA hợp tác ( ðiều ấy không có nghĩa không có những bàn cãi và ðề nghị khác nhau trên những chuẩn cả hai bên ðều quan tâm) chứ không cạnh tranh, FIPA ðặt trọng tâm vào khía cạnh trí tuệ, còn OMG coi nặng tính di ðộng.
|
|
|
Post by Vĩnh Long on May 31, 2007 12:15:13 GMT 9
7. Kết luận CORBA, XML, Java và tác tử ðang trên ðà hội tụ ðể tạo thành một mô thức mới trong việc phát triển mạng thông tin và dịch vụ CNTT trong thời ðại Internet, mà ðặc tính là những ứng dụng dễ dùng, phân tán và di ðộng trong phạm vi toàn cầu. Hiện nay những khó khãn về hiệu nãng của mạng Internet cũng nhý của các công nghệ này, cộng với tình trạng non trẻ của chúng và của các chuẩn týõng ứng, còn chýa cho phép phát triển ðại trà các ứng dụng. Nhýng trong vài nãm nữa các nghiên cứu và phát triển sẽ chín mùi, chất lýợng và thông lýợng của mạng thông tin sẽ tãng cao. Nhý thế các ðiều kiện sẽ hội ðủ ðể cho phép có những ứng dụng mới dựa trên các công nghệ này, và có thể tiên ðoán là chúng sẽ ðẩy mạnh những thay ðổi trong sinh hoạt kinh tế xã hội của con ngýời nói chung, và lao ðộng trí óc nói riêng, trên cái ðà mà Internet ðã khởi ðộng.
Tuy nhiên các công nghệ CORBA, XML, Java và tác tử chỉ là những phýõng tiện và ðiều kiện. Nội dung của mỗi ứng dụng tuỳ thuộc các vấn ðề riêng của mỗi ngành nghề và tổng cộng lại mới là khối lýợng công việc rất lớn và lâu dài cho thị trýờng phát triển phần mềm. Mặt khác công nghệ tác tử cũng còn cần nhiều tiến bộ cõ bản khác nữa trong công nghệ thông tin nói chung, ðể trở nên hấp dẫn và dễ dùng hõn : hiểu và viết ngôn ngữ tự nhiên, ngôn ngữ lập trình (Java chýa hẳn là thiên ðýờng của ngýời lập trình), nhận dạng và tổng hợp tiếng nói, trí tuệ nhân tạo, cõ sở dữ liệu, phýõng pháp luận phát triển hệ mềm, tổ chức và quản lý mạng thông tin thế giới ...
8. Cảm tạ Tác giả xin cảm tạ ở ðây sự khuyến khích, giúp ðỡ bổ túc và chỉnh lý bài này từ các bạn : Lê Phạm ngýng Hýõng, Hồ tú Bảo, James Ðỗ, Nguyễn Hoàng, Hồ vãn Tiến, Ngô trung Việt. Mọi sự khiếm khuyết thuộc trách nhiệm riêng của tác giả.
9. Tham khảo Về tổ chức OMG, hoặc vào thẳng CORBA . Qua hai trang nhà này có thể ði tới tất cả những tài liệu cũng nhý bài viết phổ biến OMG cũng nhý CORBA. Ðặc biệt nên ðọc : A history of CORBA, nếu kiên nhẫn có thể nạp và ðọc : A discussion of the Object Managemnent Architecture (gần 50 trang pdf). Ngoài ra, có rất nhiều bài viết phổ biến CORBA ở các nõi khác, ít nhiều dễ hiểu. Xin giới thiệu CORBA overview và CORBA: theory and practice. Ðầy ðủ các thông tin kỹ thuật về XML và liên hệ, cũng nhý về tất cả các vấn ðề liên quan tới Internet, có thể tìm từ trang nhà của tổ chức W3C. Ngoài ra thì ðể có cái nhìn tổng quát về XML xem bài trong tạp chí Scientific American : XML and the Second Generation Web, May 1999 Về SOAP có thể tham khảo Microsoft hoặc ở trạm . Về Java, có thể truy nạp một giáo trình rất tốt và cho không trên mạng, của Bruce Eckel : Thinking in Java, ấn bản 2. Dĩ nhiên nguồn thông tin dồi dào nhất về Java, tuy không khách quan, nằm ở : Sun và Javaworld . Về tổ chức FIPA và các ðặc tả trong ấn bản ðầu, nãm 1997, xin xem . Ngoài ra có hai bài giới thiệu công nghệ tác tử có thể ðọc trên mạng : Applications of Intelligent Agent, và A roadmap of Agent Research and Development. Bài trình bày có tính giáo trình về công nghệ tác tử, khá dài và dýới dạng bảng chiếu. Muốn biết các nõi nghiên cứu về tác tử . Về các nghiên cứu cho cõ sở hoạt ðộng của tác tử di ðộng, có bài tổng duyệt của Hens Krause ở ÐH BK Lausanne : Technology review of java-based Mobile Agent Platforms ; phần tham khảo của bài sẽ dẫn ðến những báo cáo ðáng kể. Có thể ðọc sau khi chọn lựa từ trang liệt kê các báo cáo KH của ÐH BK Lausanne. Khái niệm Beegent của Toshiba cũng ðáng chú ý. Bài viết : An Ontology Tool for Query Formulation in an Agent-Based context cho thấy khá rõ thế nào là một 'bản luận' tổ chức theo sõ ðồ thực thể-quan hệ. Ngoài ra trang nhà có rất nhiều liên hệ tới những tài liệu về công nghệ tác tử, ðặc biệt nhiều mô tả các ứng dụng.
--------------------------------------------------------------------------------
1 Agent, tức là ngýời thừa hành (thýờng gửi ði xa) ðể làm một việc ðýợc giao phó. Ở ðây ðề nghị 'tác tử ', phỏng theo thuật ngữ 'toán tử ' trong toán học. Nhýng cũng có thể dùng lại thuật ngữ 'tác nhân' nhý thuật ngữ hoá học (agent chimique). Dĩ nhiên những thuật ngữ dùng trong bài này chỉ là tạm thời, trong khi chờ ðợi những thuật ngữ chính thức của một cõ quan có thẩm quyền. 2 'Multimedia ' , gồm tiếng nói, hình ảnh, chữ viết. Ngýời ta còn hay dùng chữ media ðể nói chung về các sản phẩm hay dịch vụ thông tin ðại chúng : báo chí, truyền thanh, truyền hình. Có lẽ tốt nhất là giữ nguyên chữ media theo gốc La tinh và phiên âm thành 'mêðia'. Một vài chữ ðã dùng ðể dịch 'multimedia' nhý 'ða môi giới', 'ða môi trýờng', 'ða phýng tiện' ... ðều thấy chýa ðạt, vả lại cả ba chữ này ðều có nghĩa quen thuộc rồi. Nếu nhất quyết không muốn phiên âm thì ở ðây ðề nghị tân từ 'ða môi dạng' cho sát nghĩa hiện hành của 'media'. 3 Giao diện (Interface) là các quy ðịnh về những trao ðổi trên-dýới của các tầng (giữa tầng i và tầng i+1) nằm trong cùng một hệ thống ; và Giao thức (protocol) là các các quy ðịnh về những trao ðổi theo chiều ngang giữa các khối chức nãng của cùng một tầng và nằm ở những ðiểm khác nhau trong không gian, trong một mạng thông tin. Ðây là những thuật ngữ của mô hình quy chiếu OSI mà OMG tuân thủ. 4 Ðây là nhận ðịnh của ngýời viết bài này vì rất khó tìm ra những phê phán khách quan, công khai và kịp thời về OMG, một tổ chức rất lớn ðủ sức ðể thực thi chính sách "ðẹp ðẽ phô ra, xấu xa ðậy lại ". Chỉ khi nào chính OMG quảng cáo ấn bản CORBA mới thì ngýời ta mới hiểu (ngầm) ðýợc những thiếu sót của cái cũ. Muốn nắm bắt nhanh và ðầy ðủ các chuẩn cần tham gia sinh hoạt chuẩn, khá tốn kém. 5 Trong Java cũng có khái niệm Interface, và thực chất phần Interface của Java và IDL là một, cú pháp khác nhau rất ít. Không phải tình cờ mà hãng SUN tác giả của Java cũng là một thành viên nãng ðộng chủ chốt của OMG. 6 tag nghĩa ðen là một sợi chỉ, mẩu vải, mảnh bià... buộc thêm vào cái gì ðó ðể ðánh dấu. Nhãn ghi chú của SGML và XML là một hai chữ không có trong vãn bản, thay chỗ cho " ... " trong : chuỗi < ... > ('< ' và '>' là hai dấu hiệu bao bọc nhãn ghi chú). 7 Phýõng pháp này ðýợc Microsoft dùng lại trong chýng trình Word một cách giản dị và dễ dùng hõn, gộp chung DTD + style sheet và cũng gọi là style sheet. Style ðây không có nghĩa là bút pháp (phong cách hành vãn), mà chỉ là cách xếp loại chữ, kiểu chữ và khổ chữ trong vãn bản. Có lẽ chữ gần nhất là thý pháp, tức là cách viết chữ, nhý viết thảo, viết chân phýõng... 8 SGML quá cồng kềnh và XML không có tham vọng trở thành chuẩn chuyên nghiệp của các nhà xuất bản. SGML cũng ðang ðýợc chỉnh lý lại ðể chấp nhận XML nhý là một phần của nó. 9 Trong một vài nãm tới, tác dụng và một số vấn ðề do XML mang lại có thể lớn ngoài dự liệu những ngýời làm ra XML. Thí dụ : làm sao quản lí và sử dụng hiệu quả khối lýợng DTD ðang tiếp tục cãng phồng lên trong thực tế. 10 Không hẳn hoàn toàn, tuy nhiên, nâng cấp HTML (thành XHTML) ðể týõng thích với XML là rất dễ. 11 Khác với Javascript, cũng tựa theo Java, nhýng do Netscape và Sun cộng tác sáng tạo ; ðể cho phép làm những 'applet' và 'cookie' (tác tử nhỏ gửi từ một trang chủ Web tới ngýời ðọc) dễ dàng hõn Java, nhýng về mặt lập trình thì khả nãng rất hạn chế và hiệu nãng thấp. 12 Ðây là con dao hai lýỡi, vì nếu việc này tránh ðýợc một loại lỗi thýờng xảy ra và khó phát hiện là chýõng trình quên trả bộ nhớ, thì nó cũng không thích hợp cho những hệ thời gian thực gắt gao vì không biết lúc nào bộ vi xử lý bị bận vì quản lý bộ nhớ. Hiện ðang có những ðề nghị sửa ðổi chức nãng này. 13 Tuy nhiên, nếu không ðể ý về mặt hiệu nãng thì cũng có thể bị thất vọng trong một thời gian. Ðiều cần thiết cho ngýời làm thiết kế hệ thống là chọn lựa ðúng ðắn sau khi ðã nắm rõ mọi khía cạnh. 14 Ðây không phải làm một cách làm ðáng chê, vì ta biết sự khó khãn của những ngýời nghiên cứu trong tin học khi phải ðặt ra những thuật ngữ cần thiết ðể mô tả các sáng tạo của mình bằng ngôn ngữ ðời thýờng, qua so sánh với các hiện týợng sinh học hoặc xã hội học. Từ 'lạm phát' ở ðây không có tính phê phán mà chỉ có nghĩa ðen : lạm phát tức là giảm giá trị . Vấn ðề thực sự là khi ngýời ta dùng một từ thông tục cho một khái niệm kỹ thuật thì ý nghĩa của nó, vì hạn hẹp hõn, phải ðýợc xác ðịnh rõ ràng hõn. Thí dụ nhý thuật ngữ 'bộ nhớ ', ai cũng biết rất rõ nó chỉ ðịnh cái gì. Việc phần lớn các khái niệm của công nghệ tác tử không ðýợc xác ðịnh rõ ràng chỉ chứng tỏ là công nghệ này còn rất non trẻ (so với tham vọng). Vì vậy không nên cho nó là cái gì ghê gớm. 15 Agency, trạm ðón tiếp có ðủ các dịch vụ mà tác tử cần ðến, tạm dịch là tác sở, cũng có thể là cõ sở tác tử, nhiều tác giả dùng chữ platform, cõ sở hoạt ðộng, có ý nghĩa chung hõn, chỉ một hệ thống có cài ðặt các dịch vụ mà một loại chýõng trình ứng dụng nào ðó cần ðến. Platform dùng lại ngôn ngữ chính trị, ðó là cõ sở chính trị ðể hoạt ðộng của một tổ chức. 16 Nếu mạng hạn hẹp thì dễ hõn, nhýng có lẽ phạm vi ứng dụng của các tác tử tự di ðộng sẽ thu hẹp ; nhý chẳng hạn trong một thuật toán phân tán trong cụm máy tính, một tác tử có thể tự ði tìm máy tính còn tài nguyên nhiều nhất ðể hoạt ðộng. 17 Tập thể nghiên cứu về tác tử dùng thuật ngữ 'ontology ' , có nghĩa triết học là 'bản thể luận ' , một khái niệm rất cõ bản và cổ ðiển, nhýng cũng khác nhau tuỳ triết gia ! Sự lạm phát này không thể chấp nhận ðýợc, nó thể hiện một tình trạng thiếu vãn hoá ðáng phàn nàn. Vì thế ðề nghị chữ 'bản luận ', theo từ ðiển Hán Việt của Ðào duy Anh là : 1) 'bộ phận chủ yếu ở trong một ðề mục', 2) 'suy luận cho ðến bản thể ' . Cả hai nghĩa ðều sát với ý nghĩa ontology thực sự của các 'trí thức nhân tạo'. Thế cũng là lạm phát, nhýng khiêm tốn hõn. 18 Ðây cũng là hệ luận của việc các tác tử có bản luận và biết thao tác trên bản luận : sõ ðồ hiểu biết và tập hợp những quy luật diễn dịch của một tác tử, týõng ứng với một chủ ðề nhận ra ðýợc, có thể thay ðổi (hay có một sõ ðồ con và một tập hợp tiên ðề con dùng ðýợc) ðể thích hợp với một phong cách hay một ngôn ngữ nào ðó của ngýời (hay tác tử khác) ðối thoại với nó.
|
|