Sơ lược về Web 2.0

Nội dung phần mở đầu giới thiệu tổng quan về đề tài: trào lưu Web 2.0, sự ra đời của Mashup và widget; tiếp theo trình bày lý do thực hiện và mục tiêu của đề tài. Nội dung tóm tắt của từng chương trong luận văn được trình bày ở cuối phần này.

pdf10 trang | Chia sẻ: vietpd | Lượt xem: 2507 | Lượt tải: 3download
Bạn đang xem nội dung tài liệu Sơ lược về Web 2.0, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1 Chương 1 Mở đầu Tóm tắt:  Nội dung phần mở đầu giới thiệu tổng quan về đề tài: trào lưu Web 2.0, sự ra đời của Mashup và widget; tiếp theo trình bày lý do thực hiện và mục tiêu của đề tài. Nội dung tóm tắt của từng chương trong luận văn được trình bày ở cuối phần này. 1.1 Giới thiệu chung 1.1.1 Sơ lược về Web 2.0 Web 2.0 đã mở ra một thời kỳ mới cho các ứng dụng web, trong đó web được xem như là nền tảng (platform) trong việc phát triển ứng dụng, chia sẻ thông tin thông qua các dịch vụ mà mình cung cấp [51]. Nếu như các ứng dụng web thuộc thế hệ 1.0 chủ yếu là các website đóng của các hãng thông tấn hay các công ty nhằm cung cấp thông tin và tiếp cận với khách hàng một cách hiệu quả thì các ứng dụng web 2.0 đã phát triển dần sang một xu hướng khác mà ở đó yếu tố tham gia của người dùng đóng vai trò chủ đạo. Web 2.0 có khuynh hướng kết nối mọi người lại với nhau và tạo ra các công nghệ phục vụ hiệu quả các hoạt động của con người [53]. Khái niệm Web 2.0 đầu tiên được Dale Dougherty, phó chủ tịch của O’Reilly Media, đưa ra tại hội thảo Web 2.0 lần thứ nhất vào tháng 10 năm 2004. Dougherty không đưa ra định nghĩa mà chỉ dùng các ví dụ để so sánh phân biệt Web 1.0 và Web 2.0, chẳng hạn:  DoubleClick là Web 1.0; Google AdSense là Web 2.0.  Ofoto là Web 1.0; Flickr là Web 2.0.  Britannica online là Web 1.0; Wikipedia là Web 2.0. 2  Web cá nhân là Web 1.0; Weblog là Web 2.0.  Kỹ thuật rút trích thông tin từ các trang web (Screen Scraping) là Web 1.0; Web Services là Web 2.0.  Directory (taxonomy) là Web 1.0; Tagging (folksonomy) là Web 2.0.  … Sau đó, tại hội nghị Web 2.0 lần 2 tổ chức vào tháng 10 năm 2005, Tim O’Reilly, chủ tịch kiêm giám đốc điều hành O’Reilly Media đã đúc kết lại những đặc trưng chính của Web 2.0, bao gồm [51]:  Web có vai trò nền tảng, có thể chạy mọi ứng dụng.  Tập hợp trí tuệ cộng đồng.  Dữ liệu có vai trò then chốt.  Phần mềm được cung cấp ở dạng dịch vụ và được cập nhật không ngừng; người dùng đóng vai trò đồng phát triển.  Phát triển ứng dụng dễ dàng và nhanh chóng.  Phần mềm có thể chạy trên nhiều thiết bị.  Giao diện ứng dụng phong phú. Các ứng dụng Web 2.0 đánh dấu những thay đổi quan trọng không chỉ ở sự đột phá trong nền tảng công nghệ mà còn cả ở cách thức sử dụng Internet của con người: mọi người cùng tham gia đóng góp cho xã hội “ảo” chứ không chỉ “duyệt và xem”. Sự thay đổi này vô hình trung đã hình thành nên những môi trường chia sẻ, cộng tác mà ở đó các cá nhân được liên kết chặt chẽ với nhau. Web 2.0 mang đến những cảm nhận mới, trong đó các ứng dụng Web 2.0 mang tính đại chúng cao hơn, sự sáng tạo và dấu ấn cá nhân được thể hiện đậm nét. Hình 1-1 thể hiện sự đóng góp từ người dùng vào nội dung các ứng dụng web 1.0 và 2.0. Năm 1996, số lượng website (ở thế hệ 1.0) vào khoảng 250.000; trong đó, thông tin chủ yếu do các nhà cung cấp thông tin tạo ra. Chỉ 10 năm sau, số lượng website (ở thế hệ 2.0) đã tăng hơn 300 lần với một lượng thông tin lớn được cung cấp từ đóng góp của người sử dụng. Một số ứng dụng tiêu biểu thể hiện tinh thần của Web 2.0 như Weblog (Yahoo360 Plus, Opera…), mạng xã hội Facebook (www.facebook.com), Twitter (www.twitter.com), chia sẻ ảnh (www.flickr.com), chia sẻ địa chỉ web (del.icio.us), video (www.youtube.com)… 3 Hình 1-1: Sự đóng góp từ người dùng vào nội dung các ứng dụng web 1.0 và 2.0 1 Web 2.0 đã cho ra đời nhiều khái niệm mới, ví dụ như:  Folksonomy: thuật ngữ này được Thomas Vander Wal sử dụng để mô tả khả năng gán nhãn (label hay tag) và phân loại tài nguyên web được thực hiện bởi người dùng dựa trên lĩnh vực khái niệm (conceptual domain) của tài nguyên web này [53]. Kết quả là một hệ thống phân loại khái niệm được chuẩn hóa dần dựa trên quá trình sử dụng của người dùng. Folksonomy còn có các tên gọi khác là Collaborative Tagging, Social Classification, Social Tagging.  Microformat: là các định dạng dữ liệu nhỏ gọn được sử dụng để mô tả hay cung cấp các thông tin tóm tắt về nội dung tài liệu HTML. Định dạng này giúp người dùng tiếp nhận thông tin dễ dàng hơn và có thể xử lý tự động bởi máy tính [53]. Một số chuẩn microformat tiêu biểu bao gồm: hCard mô tả thông tin cá nhân, công ty, tổ chức; hCalendar mô tả lịch biểu, sự kiện; XHTML Friends Network (XFN) biểu diễn mối quan hệ cá nhân thông qua các siêu liên kết. 1 4  Mạng xã hội: là ứng dụng web cho phép các cá nhân trên Internet có thể kết nối, liên lạc với nhau tạo thành một cộng đồng với mục tiêu giao lưu kết bạn, chia sẻ thông tin, sở thích, lĩnh vực quan tâm, kinh doanh, mua bán [53]. Các mạng xã hội nổi tiếng hiện nay là MySpace, Facebook (ở Bắc Mỹ và Tây Âu), Friendster (tại Châu Á), Cyworld (Hàn Quốc), Mixi (Nhật Bản), Zing Me (Việt Nam).  Web API: là phương tiện truy cập thông tin do nhà phát triển ứng dụng Web cung cấp nhằm cho phép các ứng dụng khác sử dụng và khai thác thông tin từ Website của mình. Web API là một trong những thành phần quan trọng để xây dựng ứng dụng Mashup [53].  … 1.1.2 Mashup và widget Mashup cũng là một thành viên ra đời trong trào lưu Web 2.0. Mục tiêu chính mà Mashup mang lại là cung cấp cho người dùng các công cụ hay kỹ thuật cần thiết nhằm khai thác, tận dụng, kết hợp các nguồn thông tin, dịch vụ có sẵn để tạo ra thông tin hay dịch vụ mới phục vụ cho nhu cầu của mình. Hình 1-2 mô tả một cách tổng quan cách phát triển ứng dụng Mashup. Hình 1-2: Ứng dụng Mashup với khả năng tích hợp nội dung từ nhiều nguồn [55] 5 Hiện nay có khá nhiều định nghĩa liên quan đến Mashup [5][19][28][35][53]. Một cách tổng quát Mashup là một ứng dụng web được tạo ra bằng cách kết hợp thông tin, xử lý và giao diện từ nhiều nguồn khác nhau để tạo thành một ứng dụng mới. Ứng dụng Mashup chủ yếu được tạo ra để giải quyết nhanh các tình huống nghiệp vụ phát sinh hàng ngày hơn là các giải pháp phục vụ cho các mục tiêu mang tính chiến lược và lâu dài trong doanh nghiệp, tổ chức. IBM đã đưa ra 3 tình huống mà Mashup là một trong những giải pháp tức thời và hữu dụng [52]:  Tạo ra ứng dụng ứng phó nhanh các tình huống nghiệp vụ phát sinh hàng ngày mà các tình huống này thường rất khó hoặc không thể dự đoán trước.  Ứng dụng tạo ra chỉ phục vụ cho một nhóm người dùng nhỏ. Bộ phận IT sẽ phát triển các công cụ hỗ trợ và ủy thác người dùng tự xây dựng ứng dụng theo nhu cầu của họ.  Bộ phận IT có thể tận dụng hỗ trợ của các công cụ phát triển Mashup để triển khai nhanh các ứng dụng nhỏ phục vụ người dùng cuối. Mashup khi được áp dụng trong các hệ thống doanh nghiệp không chỉ giúp doanh nghiệp đạt được lợi ích về mặt kinh tế mà còn phát huy khả năng đóng góp và sáng tạo của nhân viên [52]. Trong Mashup, widget là thành phần quan trọng có nhiệm vụ cung cấp giao diện thể hiện thông tin và tương tác với người dùng cuối [5][19][22][35]. Ban đầu, widget (còn có tên gọi khác là gadget hay badget) ra đời một phần xuất phát từ nhu cầu quảng bá và phổ biến thông tin trên Internet … Người dùng đóng gói các thông tin cần chia sẻ (RSS, Blog, Site cá nhân ...) và thể hiện dưới dạng widget, những người dùng khác có thể download về sử dụng, xem các thông tin mà widget cung cấp.  Ví dụ: Flickr badget là widget hỗ trợ xem trước các tấm ảnh trong một album dưới dạng thu nhỏ. Khi click chọn Badge, trình duyệt sẽ điều hướng người dùng đến trang hiển thị tất cả ảnh trong Album. Một số nhà cung cấp widget tiêu biểu nhất hiện nay bao gồm: Google, WidgetBox, ClearSpring, Netvibes, Microsoft, Yahoo… Tính đến thời điểm 5/2010, Netvibes và Google có thể được xem là các nhà cung cấp widget lớn nhất hiện nay dựa trên số lượng widget cung cấp (Netvibes: 189760 widget, Google: 147335 widget) và sự đông đảo của cộng đồng. Hình 1-3, Hình 1-4, Hình 1-5 minh họa một số widget do Google, WidgetBox và Netvibes cung cấp. 6 Hình 1-3: Các gadget do Google cung cấp ( Hình 1-4: Các loại widget được hỗ trợ bởi widgetBox (www.widgetbox.com) Hình 1-5: Các widget của Netvibes (www.netvibes.com) 7 Phần lớn widget được cung cấp dưới dạng ứng dụng tiện ích: lịch, đồng hồ, ghi chú (sticky notes), lịch công việc (task list) hoặc gián tiếp cung cấp thông tin, dịch vụ từ các website khác (Google Map, Facebook, Gmail, Youtube, Flickr…). Các widget có thể hoạt động trên môi trường do nhà phát triển đưa ra (chẳng hạn Netvibes Container, iGoogle Container) hoặc nhúng trực tiếp bằng các đoạn mã javascript vào các website khác. Đặc điểm chung của các loại widget trên là chỉ hoạt động đơn lẻ, thậm chí không thể kết hợp widget cùng nền tảng. Trong ứng dụng Mashup đòi hỏi các widget thường phải có khả năng phối hợp hoạt động với nhau [5][19][25][35][38]. Ứng dụng Mashup là kết quả của việc kết hợp khả năng xử lý và phối hợp vận hành của các widget với nhau trên cùng một ứng dụng Web. Việc lắp ráp, tích hợp widget để cho ra đời những công dụng hay chức năng hữu ích mới sẽ nâng cao khả năng sử dụng và mức độ phổ biến của widget hơn là chỉ hoạt động độc lập. Hình 1-6: Các widget do IBM cung cấp có khả năng phối hợp hoạt động Theovào kết quả khảo sát của chúng tôi được trình bày trong Bảng 1-1, IBM widget [26] và OpenAjax widget [38] là 2 phương pháp đặc tả widget hỗ trợ Mashup mạnh mẽ nhất hiện nay. IBM đã đưa ra công cụ IBM Mashup Center [15] với giao diện thân thiện cùng với tập widget xây dựng sẵn với chức năng phong phú, mạnh mẽ, khả năng tùy biến cao cho phép xây dựng Mashup một cách dễ dàng và nhanh chóng [56]. 8 1.1.3 Widget Platform Chúng tôi đã khảo sát trên 14 platform tiêu biểu hỗ trợ các kỹ thuật cần thiết để phát triển widget. Chi tiết về đặc điểm, khả năng hỗ trợ của từng platform được trình bày chi tiết trong Bảng 1-1. widget Platform Gallery Platform Cung cấp đặc tả và API Hỗ trợ Mashup Web Desktop Mobile Khác (TV, ..) OpenAjax widget x x x Google Gadget x x x x IBM iWidget x x x Netvibes x x x x Kludgets x x x x ClearSpring x MuseStorm x x x Opera x x x x x x Microsoft Gadget x x x x x YourMinis x x x Springwidget x x x Yahoo widget x x x x widgetBox x x W3C x x x x Bảng 1-1: widget Platform hỗ trợ tạo widget Bảng 1-1 liệt kê các nhà cung cấp widget tiêu biểu nhất hiện nay dựa trên mức độ phổ biến của platform. Đa số widget tạo bởi các platform thường được xây dựng dựa trên công nghệ chuẩn của web (HTML, CSS, Javascript); do đó đều có thể hoạt động trên web. Một số widget còn có thể hoạt động trên desktop, thậm chí trên thiết bị di động, tivi… Các widget này thường yêu cầu cài đặt thư viện mà platform sử dụng, chẳng hạn Opera, Yahoo… Ngoài việc sử dụng widget có sẵn do Gallery cung cấp, người dùng còn có thể sử dụng các thư viện lập trình API kèm theo platform (OpenAjax, IBM iWidget, Google Gadget, Netvibes, Opera, Microsoft Gadgets…) để tự xây dựng widget phục vụ nhu cầu cá nhân hoặc đóng góp cho cộng đồng. Bảng 1-1 cũng cho thấy hiện nay đa số các platform hỗ trợ phát triển widget phục vụ Mashup còn rất hạn chế; chỉ có OpenAjax widget và IBM iWidget cung cấp các framework trưởng thành phục vụ phát triển Mashup. 9 1.2 Lý do thực hiện đề tài Mashup là một dạng ứng dụng tổng hợp (Composite Application), trong đó việc tích hợp chủ yếu thực hiện ở tầng giao diện thông qua các widget [5][19][35]. Việc tích hợp widget về bản chất là kết hợp các thành phần thể hiện nội dung (Presentation Component) và các nghiên cứu về giải pháp tích hợp ở tầng trình bày (Presentation) vẫn còn hạn chế [20]. Bảng 1-1 trình bày kết quả khảo sát của chúng tôi về khả năng tạo Mashup của các widget Platform và hạn chế trong các đề xuất về đặc tả, phối hợp widget (OpenAjax widget[38], Jin Yu[14], IBM iWidget[26]…). Ta thấy nhu cầu cung cấp đặc tả widget với các biểu diễn bổ sung nhằm mở rộng khả năng phối hợp và giảm bớt sự phụ thuộc giữa các widget là cần thiết và giúp cho Mashup trở thành một hướng tiếp cận phát triển các giải pháp tình huống dễ dàng và nhanh chóng. 1.3 Mục tiêu đề tài Đề tài không hướng đến việc xây dựng một hệ thống quản lý, cung cấp đầy đủ mọi dạng widget mà đóng góp chủ yếu là đề xuất mô hình đặc tả widget (widget Model), biểu diễn sự phối hợp widget (widget Coordination Model) nhằm nâng cao khả năng phối hợp, khắc phục các hạn chế trong các hướng tiếp cận hiện nay. Các đóng góp của luận văn bao gồm: Đề xuất mô hình biểu diễn widget đặc tả các thành phần quan trọng trong cấu trúc widget tương thích với các chuẩn widget hiện nay cũng như tập trung đặc tả các thành phần biểu diễn khả năng phối hợp widget: sự kiện (event), thao tác (operation), tham số sự kiện truyền (Event Data), đối số nhận trong thao tác (Operation Input). Đề xuất mô hình biểu diễn mối quan hệ phối hợp widget để tạo lập Mashup kết quả; trong đó 2 đề xuất chính là: ánh xạ các thành phần trong cấu trúc tham số sự kiện truyền với các thành phần trong đối số của thao tác; gom nhóm tham số sự kiện tự động để tạo kiểu dữ liệu tương thích với cấu trúc đối số của thao tác. Từ những đề xuất bổ sung biểu diễn khả năng phối hợp, mô hình đã khắc phục sự phụ thuộc về tham số truyền khi phối hợp giữa các widget, nâng cao tính tái sử dụng widget và khả năng kết buộc trễ giữa các widget (late binding). 10 Trên cơ sở các mô hình đề xuất, luận văn cũng đã xây dựng Engine phân tích đặc tả widget, đặc tả biểu diễn phối hợp và phát sinh ứng dụng web với khả năng phối hợp xử lý phù hợp với yêu cầu trong đặc tả. Cài đặt một số widget có vai trò chuyển đổi dữ liệu nhằm giải quyết vấn đề tham số truyền không tương thích, giúp cho quá trình tổng hợp Mashup dễ dàng và thuận tiện hơn. 1.4 Nội dung Luận văn bao gồm 6 chương với bố cục trình bày như sau: Chương 1: Giới thiệu chung về đề tài: Web 2.0, sự ra đời của Mashup, widget, lý do thực hiện và mục tiêu của đề tài. Chương 2: Trình bày các vấn đề liên quan đến Mashup, các thành phần trong cấu trúc widget, khả năng biểu diễn phối hợp widget trong các hướng tiếp cận hiện nay cũng được đề cập. Chương 3: Khảo sát, phân tích, đánh giá ưu và khuyết điểm trong các mô hình đặc tả, tổng hợp widget hiện nay, từ đó đề xuất một số ý tưởng biểu diễn bổ sung nhằm khắc phục hạn chế của các đề xuất hiện tại. Chương 4: Đề xuất 2 mô hình: mô hình biểu diễn widget và mô hình đặc tả sự phối hợp widget tạo ứng dụng Mashup nhằm hiện thực hóa khả năng phối hợp với các ý tưởng biểu diễn cải tiến và khắc phục hạn chế trong các phương pháp biểu diễn đã khảo sát trong chương 3. Chương 5: Trình bày kiến trúc tổng quan hệ thống, quy trình xử lý, kết quả thử nghiệm. Việc so sánh với các hướng tiếp cận hiện nay về các khía cạnh: mô hình biểu diễn widget, mô hình phối hợp, khả năng tạo Mashup an toàn cũng được trình bày ở cuối chương. Chương 6: Tổng kết các kết quả tìm hiểu, những cải tiến, đóng góp trong đề xuất về mô hình biểu diễn widget, phối hợp widget và hướng phát triển của đề tài.
Tài liệu liên quan