Web 2.0 là một cuộc cách mạng trong ngành công nghiệp máy tính – nền tảng phát triển Internet, các nguyên tắc thành công trên nền tảng mới. Đứng đầu trong các nguyên tắc đó đó là: Xây dựng ứng dụng chạy trên mạng máy tính tạo hiệu ứng ngày càng tốt hơn đối với người sử dụng chúng.
Chắc hẳn giờ đây ai cũng được nghe nói đến Web
2.0. Vậy chính xác web 2.0 là gì? Một số người nghĩ rằng Web 2.0 giống như việc
đồng bộ hóa con người vào kiến trúc Web, trong khi một số người thì định nghĩa
đó là sự phát triển tự nhiên của Internet. Web 2.0 thực sự được sinh bởi nhu cầu
cấp thiết trên Internet. Có rất nhiều định nghĩa và ví dụ về web 2.0.
Web 2.0 được hiểu là các mẫu thiết kế (design
patterns) và các kiến trúc xử lý đằng sau chúng. Sự trừu tượng hóa, định danh
các đối tượng, công cụ thương mại, giúp phân tích hiện trạng thực tế trên mô
hình trừu tượng. Rất khó có thể tìm ra một định nghĩa đầy đủ về Web 2.0.
Tại sao Web 2.0 lại khó định nghĩa đến vậy? Bởi
vì Internet thay đổi quá nhanh, thay đổi theo từng ngày, nên khi định nghĩa ra
thì nó đã thay đổi. Web 2.0 rất năng động, được xây dựng trên một phạm vi, được
cập nhật gia tăng liên tục trên mọi cấp độ, bao gồm các nội dung blog và những lời
bình luận trên cơ sở hạ tầng của Internet.
Chụp lại kiến trúc Web 2.0 tại một thời điểm trên
Internet – kiến trúc tĩnh không thể nói lên toàn bộ về Web 2.0. Cũng bao gồm
các công nghệ đã, đang có hiệu ứng trên thế giới thực. Ví dụ như, xem xét sự hưng
phấn của người dùng khi yêu thích mạng xã hội Facbook.com, MySpace.com. Làm thế
nào tạo ra tài liệu trong một kiến trúc chính Web, ở đó có sự tham gia của cảm
hứng của con người như một thành phần của kiến trúc?
Thực tế: Chưa có một
kiến trúc hoặc mô tả nào đã có mô tả một cách rõ ràng về Web 2.0 và sẽ không
bao giờ có.
Thuật ngữ Web 2.0 ngày càng khó nắm bắt khi có
hàng ngàn công ty đã áp dụng công nghệ 2.0 vào sản phẩm và dịch vụ của họ và
ngày càng có nhiều giải pháp hiệu quả và kỳ diệu được đưa ra.
Thực tế: Bạn không bao
giờ mua được Web 2.0 cho doanh nghiệp của bạn.
Các công ty có thể bán cho bạn những đường liên
kết Website của công nghệ Web 2.0 cho bạn. Một số trong đó có những người trục
lợi khi bán cho bạn Web 2.0.
Kiến trúc thông dụng của Web 2.0.
Hầu hết các các mẫu Web 2.0, chúng ta có thể định
nghĩa một cách trừu tượng với 3 mức, từ cơ bản đến trừu tượng, được sắp xếp từ
trừu tượng nhất cho đến cụ thể nhất.
Kiến trúc hướng dịch vụ (Service-Oriented Architecture (SOA))
Phần mềm như một dịch vụ (Software as a Service (SaaS))
Tham gia phối hợp (Participation-Collaboration)
Asynchronous Particle Update
Mashup
Rich User Experience
(RUE)
Web đồng bộ (The
Synchronized Web)
Gắn thẻ cộng tác (Collaborative
Tagging)
Declarative Living and
Tag Gardening
Semantic Web Grounding
Persistent Rights
Management
Kiến trúc thông tin (Structured Information)
Kiến trúc và mẫu của tri thức Web 2.0.
Để Web 2.0
trong điều kiện thực tế, nó có thể được hình dung tìm hiểu một kiến trúc sư nghĩ và làm như thế nào? Kiến
trúc sư thường thấy những thứ không thể cảm nhận bằng mắt thường. Như khi nhìn
vào một tòa nhà chọc trời, anh ta có thể thấy những khía cạnh về độ cứng hay
đánh giá những giá trị riêng lẻ của tòa nhà. Kết hợp tất cả hoặc một phần những
khía cạnh đó vào dự án mới thì sẽ có một kiến trúc mới.
Khái niệm về Kiến trúc
Có nhiều
khái niệm kiến trúc khác nhau, từ phần mềm cho đến xây dựng thương mại, cầu đường,
sân bay, …Thiết kế kiến trúc, mô tả hệ thống, tài liệu cấu trúc, bao gồm các thiết
kế thành bên trong, các thuộc tính bên ngoài, các mối liên hệ giữa chúng. Miêu
tả theo cách truyền thống, kiến trúc
gồm tất cả các tài liệu về khung nhìn tĩnh, các hành vi động trong tất cả các
pha cho phát triển, sử dụng một hệ thống hoặc cấu trúc của hệ thống. Bao gồm toàn
bộ các khía cạnh phát sinh khi đang xây dựng kiến trúc hệ thống. Trong trường hợp
kiến trúc phần mềm có thể là, bao gồm khung nhìn về mô hình dữ liệu, khung nhìn
về hạ tầng công nghệ, tất cả các khung nhìn từ các tác nhân có tiếp xúc với hệ
thống… Các tác nhân trong tình huống có thể giao tiếp với hệ thống, có thể là
con người hay một hệ thống khác. Nhưng khó có một kiến trúc chính xác để mô tả
kiến trúc web 2.0.
Kiến trúc sẽ
gói gọn toàn bộ mọi thứ về hệ thống. Nắm
bắt, xây dựng yêu cầu kiến trúc thành công hay không phải do việc xác định
thành phần, phạm vi các thành phần, mối quan hệ giữa các thành phần, đằng sau
các mối quan hệ đó. Phương thức thể hiện cho chúng và xây dựng phương án sử dụng
lại. Kiến trúc phải được nhìn từ bên ngoài, bao gồm các khái niệm lĩnh vực,
thành ngữ (axioms, tenets, and idioms) … mà các phương thức có thể truyền tải.
Kiến trúc sử
dụng tất cả các quy ước, thỏa thuận, các khuôn dạng lưu trữ tri thức, chúng sẽ
đi từ lĩnh vực chuyên môn, nhà nghề cho đến những khái niệm quen thuộc với mỗi
chúng ta. Bản thiết kế kiến trúc sẽ bao gồm toàn bộ các khuôn dạng phổ biến và
một vài khuôn dạng đặc biệt mô tả một phần cấu trúc hệ thống. Ví dụ bản kiến
trúc xây dựng chẳng hạn, thường sử dụng các kiến trúc tĩnh, mà không mô tả những
hành vi động của con người trong trong hệ thống. Kiến trúc không thể nằm bắt
yêu cầu hệ thống ở mức độ chi tiết, nó sử dụng các mô hình, các mẫu thiết kế,
truyền đạt kiến thức bổ sung mà không được viết vào bản quy phạm kiến trúc.
Trong ngành
công nghiệp phần mềm, một bản thiết kế kiến trúc thương được đồng bộ với một khung
nhìn công nghệ. Khía cạnh tài liệu có thể không được xem bằng cách thông thường.
Cũng như trong ngành xây dựng, khía cạnh động của phần mềm cũng rất được coi trọng.