Khám phá kiến trúc Facebook API và ứng dụng eStore

MỤC LỤC

Kiến trúc của Facebook

Ứng dụng sẽ chạy trên server và người dùng thực thi ứng dụng bằng cách sử dụng giao thức HTTP thông qua trình duyệt. Tuy nhiên ứng dụng không được đặt tại máy chủ của Facebook mà được lưu trên máy chủ của chính người tạo ra ứng dụng đó. Để giải quyết vấn đề này Facebook đã sử dụng vùng lưu trữ đệm (cache) và đây cũng chính là trái tim của hệ thống.

Tuy vậy việc xử lý theo cách cổ điển này là không phù hợp với nhu cầu tăng rất nhanh số lượng người dùng của Facebook dẫn tới tình trạng nghẽn mạch Input / Output. Bên cạnh đó Facebook còn cải tiến các đoạn code trên webserver để giảm thiểu kích thước tập tin và thời gian tính toán. Người truy cập sẽ được phân luồng ngẫu nhiên vào các ngân hàng dữ liệu để giảm tải và các truy vấn của họ sẽ được hệ thống cache trả lời nhanh chóng.

Những server này sẽ phân tích các yêu cầu , xác định các ứng dụng tương ứng, sau đó tìm kiếm Url callback mà nhà phát triển ứng dụng cung cấp và thực hiện gọi tới Url đó. • Server chứa ứng dụng tạo một lời gọi API tới server của Facebook bằng cách sử dụng FQL thông qua phương thức fql.query() của API hoặc trực tiếp bằng các hàm API.

Kiến trúc của ứng dụng eStore 1. Kiến trúc hệ thống

Địa chỉ này trỏ tới một cụm máy chủ trong trung tâm dữ liệu của Facebook. • Máy chủ của Facebook sẽ gửi yêu cầu tới máy chủ của người tạo ứng dụng. • Tài liệu FBML sẽ được chuyển sang dạng HTML và phục vụ cho người sử dụng.

Đây là bước cuối cùng trong quá trình thực thi và trả về kết quả cho trình duyệt. Gói này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển thị kết quả thông qua các thành phần trong giao diện người sử dụng: Các trang aspx, html, …. Gói này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển thị kết quả thông qua các thành phần trong giao diện người sử dụng.

Gói này thực hiện các nhiệm vụ liên quan đến lưu trữ và truy xuất dữ liệu của ứng dụng và thực hiện các nhiệm vụ của hệ thống, chi tiết lớp như sau. AuthorInfo Định nghĩa các trường CSDL ứng với bảng Author CategoryInfo Định nghĩa các trường CSDL ứng với bảng Category ContactInfo Định nghĩa các trường CSDL ứng với bảng Contact PublisherInfo Định nghĩa các trường CSDL ứng với bảng Publisher OrderInfo Định nghĩa các trường CSDL ứng với bảng Order OrderDetailInfo Định nghĩa các trường CSDL ứng với bảng OrderDetail. AuthorService Thao tác với CSDL ứng với bảng Author CategoryService Thao tác với CSDL ứng với bảng Category ContactService Thao tác với CSDL ứng với bảng Contact PublisherService Thao tác với CSDL ứng với bảng Publisher.

Yêu cầu chức năng nghiệp vụ

Lưu trữ qdLuuNhomNguoiDung Thêm, sửa, xóa 4 Lưu thông tin người dùng Lưu trữ qdLuuTTNguoiDung Thêm, sửa, xóa 5 Lưu thông tin nhà sản xuất Lưu trữ qdLuuNSX Thêm, sửa, xóa 6 Lưu thông tin đơn đặt. 7 Lưu chi tiết đơn đặt hàng Lưu trữ qdLuuCTHD Thêm, sửa, xóa 8 Thay đổi, phục hồi mật.

Quy định liên quan

Mỗi đơn đặt hàng cần lưu các thông tin sau: mã đơn, mã khách hàng đặt hàng, địa chỉ để chuyển hàng cho khách hàng, đơn giá của hóa đơn và ngày lập đơn đặt hàng. Đơn đặt hàng cần cho biết những sản phẩm do khách hàng đặt, giá bán và số lượng của từng sản phẩm. 9 qdHTLoaiSP Quy định hiển thị Menu này sẽ liệt kê danh sách tên các loại sản phẩm, khi người dùng nhấn vào tên này, sẽ cho người dùng danh sách các sản phẩm trong nhóm sản phẩm ở mức tổng quan.

Khi người dùng chọn nhóm sản phẩm, sẽ hiển thị thông tin tổng quan các sản phẩm: hình ảnh, tên sản phẩm, giá bán, nhà sản xuất và 1 button để xem thông tin chi tiết sản phẩm đó. Khi người dùng đã nhấn vào button “Chi tiết”, hệ thống sẽ hiển thị thông tin của sản phẩm đó ở. 13 qdHTCTNguoiD ung qdHTCTNguoiDung Hiển thị các thông tin sau: email, ngày tạo tài khoản, lần đăng nhập cuối, lần thay đổi mật khẩu cuối.

Hiển thị các thông tin sau: mã hóa đơn, tài khoản khách hàng, ngày lập hóa đơn, địa chỉ gửi hàng, đơn giá. Cho phép người dùng tìm kiếm sản phẩm theo: tất cả thông tin, tên sản phẩm, đặc tính kỹ thuật và tìm theo nhà sản xuất sản phẩm. Chứa danh sách người dùng trong 1 combobox, khi chọn nhóm nào thì ở dưới sẽ lọc ra các tài khoản người dùng tương ứ ng.

-Liệt kê bảng chứa thông tin chi tiết của người dùng bao gồm các thông tin: mã tài khản, tên tài khoản, lần kích hoạt tài khoản cuối cùng, và 1 hyperlink “Chi tiết” để xem chi tiết hơn về tài khoản này. -Giỏ hàng của khách hàng sẽ được lưu trữ dựa trên kỹ thuật lập trình web như: session, mảng dữ liệu,…. -Thông tin giỏ hàng: sản phẩm, giá bán của sản phẩm, số lượng và thành tiền của từng sản phẩ m, tổng thành tiền ( đơn giá của hóa đơn).

- Có nút xóa sản phẩm đã chọn mua, và nút cập nhật lại số lượng đã chọn, nút tiếp tục mua hàng và nút tính tiền. Khi người dựng gừ bỡnh luận và nhấn vào nút “comment”, sẽ lưu lại nội dung bình luận của người dùng đó trên sản phẩm. Hiển thị nút “post to your friend's wall”, cho phép hoặc không khi người dùng muốn đăng sản phẩm của họ lên tường.

Hướng dẫn cài đặt

Tạo ứng dụng trên Facebook

• Sau khi tạo xong ứng dụng ta cài đặt một số thông số để ứng dụng ta hoạt động. • Ví dụ thiết lập ứng dụng chạy trên localhost – sử dụng khi đang phát triển ứng dụng.

Cài đặt eStore

• Để ứng dụng hoạt động ta phải sửa lại appKey và SecretId trong file web.config với giá trị tương ứng ta có được khi khởi tạo ứng dụng trên facebook ở trên. Trong mỗi file sẽ có hai class chính là UserService – dùng để gọi các phương thức sử dụng và một class UserInfo để mô tả thông tin đối tượng. • Trong phần quản lý ta xây dựng các trang giao diện gần như tương tự nhau.

Mỗi trang gồm có 1 DataGrid để hiện danh sách thông tin và 1 panel để chỉnh sửa chi tiết thông tin.

Hướng dẫn sử dụng

• Xây dựng được trang bán hàng trực tuyến đáp ứng các yêu cầu nghiệp vụ cơ bản.