10. Tạo racác dịch vụ đám mây của bên thứ 3: Nội dung chuyển giao trêncác dịch vụ lưu trữ đám mây
10.2. Hệ thốngMetaCDN
Dịch vụ MetaCDN (mô tả trong hình 10) được trình bày cho người dùng cuối qua cách: sử dụng cổng thông tin web hoặc RESTful Web Service. Cổng thông tin web được phát triển bằng cách sử dụng công nghệ Java Enterprise và JavaServer Faces (JSF) với MySQL để lưu trữ các tài khoản người sử dụng,người triển khai, các tính năng, giá cả và lịch sử hiệu suất sử dụng của các nhà cung cấp dịch vụ. Bằng cách sử dụng cổng thông tin web, người dùng có thể tạo một tài khoản trên hệ thống MetaCDN và chứng thựcđăng nhập cho bất kỳ Cloud Storagehoặc các nhà cung cấp phụ thuộc mà họ có tài khoảng. Sau khihoàn thành giai đoạnthiết lập ban đầu, họ có thểsử dụng hệ thốngMetaCDNđể triển khainội dung một cách thông minh lêncác nhà cung cấpdịch vụ lưu trữtheo yêu cầuthực hiện của họ. Cổng thông tinphù hợp cho các triển khainhỏhoặc không dự tính trướcvàđặc biệt hữu íchchonhững người tạonội dungkhông thiên về kỹ thuật.
Một phương pháp kháctruy cập vàodịch vụMetaCDNlà thông quaRESTful Web Services, RESTful Web Serviceshiển thị tất cảcác chức năngquan trọngcủa hệ thốngMetaCDN. Phương pháp tiếp cậnnàyphù hợp cho khách hàngcó nhu cầuphân phối nội dungphức tạp vàthường xuyên thay đổi, cho phép họ tích hợp cácdịch vụMetaCDNtrongcác trang webmình.Việctạo nội dungvà quản lýtriển khai của họđược thực hiện một cách linh động.
Hình 10: Hệ thống MetaCDN
Hệ thống MetaCDN hoạt động bằng cách kết hợp với mỗi nhà cung cấp lưu trữ thông qua kết nối (mô tả trong hình 10). Kết nối này trừu tượng hóa để ẩn đi sự phức tạp phát sinh từ các giao diện riêng của mỗi nhà cung cấp sử dụng để truy cập vào hệ thống của họ. Một lớp trừu tượng, DefaultConnector, đóng gói các chức năng cơ bản mà mỗi nhà cung cấp dự kiến sẽ hỗ trợ cũng như cácchức năng nâng cao chỉ có thể được hỗ trợ bởi một số nhà cung cấp. Lớp này phải thực hiện tất cả các kết nối hiện tại và tương lai, bắt buộc phải sử dụng một giao diện chung.Cácthao tác cơ bảnbao gồmtạo,xóavàđổi têncác tập tinvà thư mục.Nếumột hoạt động (ví dụ: lưu trữ nâng cao hoặc tính năng phân phối)không được hỗ trợtrênmộtdịch vụ cụ thể thì kết nốicho dịch vụ đóđưa ra mộtFeatureNotSupportedException. Điều nàylà rất quan trọng, vì các nhà cung cấptựcó chức năngrất giống nhaunhưng cũng có một sốkhác biệt quan trọng, chẳng hạn nhưkích thước lớn nhấtcho phép củatập tinhoặcmột cơ chếphân phốiđặc biệt.Ngoại lệ nàycũng hỗ trợhệ thốngMetaCDNnhằm đáp ứng vớiviệc triển khaicủa mộtngười sử dụng vớimột nhà cung cấpriêng lẻ có thểđáp ứng yêu cầutính năngcụ thể của họ.