1. Trang chủ
  2. » Thể loại khác

Tìm hiểu facebook API và ứng dụng eStore

48 5,3K 60
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm Hiểu Facebook API & Ứng Dụng eStore
Tác giả Võ Quang Thiều, Ngô Văn Toàn
Người hướng dẫn CH. Hầu Nguyễn Thành Nam, CH. Cáp Phạm Đình Thăng
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Đồ án chuyên ngành
Năm xuất bản 2012
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 48
Dung lượng 2,96 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tìm hiểu facebook API và ứng dụng eStore

Trang 1

Giảng viên hướng dẫn:

CH Hầu Nguyễn Thành Nam

CH Cáp Phạm Đình Thăng

Sinh viên thực hiện:

Võ Quang Thiều 08520597 Ngô Văn Toàn 08520411

TP Hồ Chí Minh 06/2012.

Trang 2

Lời mở đầu.

Ngày nay, công nghệ thông tin có mặt trong hầu hết các lĩnh vực của đời sốngkinh tế xã hội đặc biệt nó là công cụ hỗ trợ đắc lực trong công tác quản lý Việc đưa tinhọc vào trong quản lý kinh doanh là một trong những ứng dụng quan trọng nhất trongnhiều ứng dụng của cơ sở dữ liệu Nhờ vào việc tin học hoá mà công việc quản lý vàđiều hành doanh nghiệp tỏ ra nhanh chóng và hiệu quả hơn rất nhiều

Hiện nay, hầu hết các tổ chức, doanh nghiệp đều đã nhận thức được tầm quantrọng và tác dụng to lớn của việc áp dụng tin học hoá trong công tác quản lý của mình

Vì vậy mà nhu cầu xây dựng những phần mềm quản lý của các doanh nghiệp rất lớn.Hầu hết các doanh nghiệp, tổ chức dù lớn hay nhỏ đều đang có xu hướng muốn ápdụng tin học trong công tác quản lý

Cùng với sự phát triển to lớn đó, song song với việc phát triển về chiều rộng thìphát triển về chiều sâu cũng được nhiều nhà phát triển quan tâm Và một vấn đề đặt ra

là Internet đang ngày càng bùng nổ và tiếp cận gẫn gũi với con người nên làm việctrên Internet là một nhu cầu bức thiết Vì thế dần dần các hệ thống phân bố hay các môhình phân tán được áp dụng triệt để trong việc phát triển phần mềm và trong các ứngdụng CNTT nói chung để phục vụ tốt hơn nhu cầu của cá nhân cũng như doanh nghiệptrong đời sống và kinh doanh

Sau thời gian làm việc, nhóm cũng đã hoàn thành đề tài quản lý khách sạn chomôn Xử lý phân bố Tuy phần mềm cũng còn nhiều điểm hạn chế và sai sót song vẫnđáp ứng được những yêu cầu đặt ra của đề tài

Nhóm xin chân thành cảm ơn ThS Nguyễn Trác Thức (giảng viên bộ môn) đã giúp đỡnhóm trong quá trình hoàn thành đề tài

TP Hồ Chí Minh, tháng12 năm 2011.

Trang 3

I Giới Thiệu Chung

1 Thông tin nhóm thực hiện

1.1 Thông tin cở bản

ST

T

1 08520411 Ngô Văn Toàn vantoan210@gmail.com

2 08520597 Võ Quang Thiều vqthieuuit@gmail.com

1.2 Phân chia công việc:

2 Thông tin chung về đề tài

Đề tài tập trung vào việc tìm hiểu API của facebook và từ đó ứng dụng vào phát triển trang eStore – trang bán hàng trực tuyến Ứng dụng được chạy trên nền Facebook application và phát triển bằng công nghệ ASP.net

II Phát Triển Đề Tài

1 Thuyết minh nội dung

1.1 Phát biểu vấn đề

 Làm cách nào để có thể đưa thông tin sản phẩm của mình đến vớicộng đồng một cách nhanh nhất? Đó là câu hỏi mà nhiều doanhnghiệp đều muốn được giải quyết một cách nhanh nhất

 Như chúng ta biết Facebook là trang mạng xã hội lớn nhất thế giớihiện nay Theo thống kế tính đến năm 2012 có đến… sử dụngfacebook, trong đó Việt Nam có…người sử dụng

 Vì vậy xây dựng một ứng dụng cho phép người dùng có thể đăng kýthành viên, quảng cáo và đăng sản phẩm của mình lên đó sẽ đượcnhiều người hưởng ứng, nó giúp khách hàng có thể tiếp cần với sảnphẩm nhiều hơn

 Vấn đề còn lại là công cụ hổ trợ để ta có thể phát triển ứng dụng VàFacebook API là thành quả mà nhà phát triển Facebook tạo ra để giúpnhà phát triển ứng dụng có thể dễ dàng sử dụng và hoàn thành ýtưởng của mình Chúng ta cần biết được API là gì và sử dụng nó nhưthế nào

Trang 4

cụ bán hàng trên các trang web thương mại điện tử.

 Theo Facebook, 30% người dùng tích cực tham gia với các trang webbên thứ ba thông qua Facebook Connect mỗi tháng

 Bên cạnh đó kinh doanh trực tuyến với việc áp dụng CNTT vào chiếnlược lâu dài của doanh nghiệp, thì nhu cầu quảng bá sản phẩm ngàycàng trở lên cấp bách Việc quảng bá sản phẩm trên các trang webđang rất được quan tâm và dần trở thành một việc vô cùng quan trọngquyết định đến sự thành công của công ty doanh nghiệp

 Theo lối kinh doanh trực tuyến hiện nay, đa số khách hàng chỉ thực

sự biết tới sản phẩm một cách hạn chế và khách hàng ít có sự lựachọn tối ưu Việc quảng bá sản phẩm chỉ thông qua trang web củachính công ty đó hoặc phần quảng cáo sản phẩm ở các site khácnhau Sự ra đời của các trang Web như Amazon.com, Vatgia.com,raovat.com… cũng đã mang tới một hiệu quả nhất định, tuy vậy mứcphí mà người dùng phải trả để những sản phẩm của mình có mặt trêncác site này không hề nhỏ Ngày nay với sự bùng nổ mạng xã hộiFacebook, thông tin của doanh nghiệp cũng như người dùng đượcbiết đến và trao đổi vơi nhau một cách dễ dàng, như vậy yêu cầu đặt

ra là tại sao không sử dụng một ứng dụng (site) được tích hợp sẵntrên Facebook cho phép các doanh nghiệp(người dùng) có thể đăng

ký trở thành thành viên và giao tiếp với khách hàng một cách nhanhchóng và hiệu quả

Trang 5

Khi đó việc đăng nhập sẽ rất dễ dàng: Site sẽ tự động tích hợp cho

phép người dùng đăng ký lấy lại những thông tin ở tài khoảnFacebook, và nhập thêm thông tin cần cho việc quảng bá và đăng sảnphẩm và giao dịch

2 Nội dung triển khai

2.1 Tìm hiều Facebook API

2.1.1 Facebook API là gì?

 API - Application Programming Interface – tạm dịch là giao diệnchương trình ứng dụng API là một phương tiện để giao tiếp giữa cácchương trình, là xu hướng trong thế giới lập trình Không chỉ chỉ cóFacebook API mà Google, Yahoo, Amazon và các công ty lớn kháccũng cung cấp các API riêng, với API này bạn có thể tạo ra các ứngdụng bằng cách sử dụng tính năng hoặc dữ liệu hiện có trên máy chủcủa họ

 Facebook API là một nền tảng để xây dựng những ứng dụng cho cácthành viên của mạng xã hội Facebook API cho phép các ứng dụng sửdụng các kết nối xã hội và các thông tin hồ sơ để làm cho các ứngdụng liên quan tới nhau nhiều hơn API cung cấp những lời gọi đểlấy thông tin về người sử dụng, nhóm người dùng, bạn bè, thông báo,

sự kiện và nguồn cấp dữ liệu…Cũng có thể dùng lời gọi API để cậpnhật và lấy thông tin hồ sơ

 API sử dụng giao thức RESTful và các hồi đáp được trả lại dướidạng XML

2.1.2 Cách thức làm việc Facebook API

 API là nền tảng do Facebook cung cấp cho người viết ứng dụng để dễdàng trong việc tạo ứng dụng và đảm bảo người viết ứng dụng không

Trang 6

can thiệp quá sâu vào hệ thống của Facebook API cho phép thực thinền tảng thông qua các phương thức được định nghĩa Thông qua cáclời gọi API, người tạo ứng dụng có thể lấy thông tin về user, groups,photo,… mà họ cần.

 Facebook gửi phương thức POST tới máy chủ Facebook API Nó baogồm một số các thông số yêu cầu như api_key của ứng dụng.Session_key của người dùng đưa ra yêu cầu Bên cạnh đó Facebookcòn thêm vào tham số fb_sig để thông báo ứng dụng đưa ra yêu cầu.Bằng cách này tất cả các lời gọi API sẽ được đảm bảo, Facebook cóthể xác minh các yêu cầu được gửi từ một ứng dụng đã được chấpthuận Thông tin mà Facebook sẽ trả lại là một tài liệu XML

2.1.3 Một số phương thức Facebook API

User: Facebook API cung cấp một số phương thức cho phép nhà phát

triển ứng dụng truy cập vào một số thông tin người dùng:

o Getinfo(): lấy thông tin của người dùng, như name (họ tên),

first_name, last_name, id, email… Ví dụ lấy họ tên ngườidùng ta dùng: API.user.getinfo().name sẽ trả về họ tên user.Một số thông tin cần được cho phép của người dùng thì mới

có thể lấy được, ví dụ email, address, phone…

o GetLoggedInUser(): trả về uid của người hiện tại đang đăng

nhập ứng dụng

o GetStandardInfo(): lấy thông tin cơ bản của người dùng như

name, first_name, last_name…

Friends: Khi phát triển ứng dụng, việc hiển thị danh sách bạn bè của

người dùng là rất phổ biến Để giải quyết vấn đề này API có các hàmgiúp người viết ứng dụng lấy thông tin về bạn bè của người dùng

o areFriend(): kiểm tra xem 2 user của phải là bạn của nhau hay

không Ở đây truyền vào 2 đối số là 2 uid hoặc 2 user hoặc 2danh sách (list) user, uid Kiểu trả về là dạng boolean Ví dụ:bool result = API.friends.areFriend(123123,3990023);

o get(): trả lại danh sách uid của người dùng là bạn của người

dùng hiện tại

Trang 7

o getAppUsers(): lấy danh sách uid của người dùng đang sử

dụng ứng dụng của bạn

o getAppUsersObjects(): trả về danh sách các user đang sử dụng

ứng dụng

o getLists(): trả về freindslisst của người dùng hiện tại.

Groups: Làm việc với nhóm cũng là một phần rất quan trọng của

ứng dụng API đã cung cấp các phương thức:

o Get():Trả về các nhóm theo tiêu chí lọc như nhóm có liên kết

với một người dùng , theo một danh sách gids hoặc theo cả 2tiêu chí lọc trên

o getMember():Mô tả: Trả về danh sách thành viên của một

nhóm Kết quả trả về là một mảng đa chiều với chiều đầu tiên

là kiểu thành viên (admin, member, officer, not_replied)

Notifications: Facebook cho phép gửi và nhận các thông báo trong

ứng dụng với các hàm API Có 2 hàm chính:

o Get():Trả về một mảng đa chiều với các đối tượng là các loại

thông báo: tin nhắn, giới thiệu nhóm, giới thiệu sự kiện, yêucầu kết bạn, chia sẻ, poke)

o getList(): Trả về tất cả thông tin của người dùng hiện tại.

Photos: Với hơn 60 triệu bức ảnh được thêm vào mỗi tuần bởi người

dùng Facebook, các nhà phát triển Facebook đã cung cấp một nhómphương thức API để giúp các nhà phát triển ứng dụng dễ dàng thaotác với các ảnh của người dùng

o addTag(): Thêm một thẻ đi kèm thông tin cho một bức ảnh.

Thẻ chỉ có thể thêm vào những bức ảnh đang chờ giải quyếtthuộc sở hữu của người dùng cụ thể hoặc người dùng hiệnhành Ứng dụng với quyền mở rộng photo_upload có thể thêmthẻ vào bất kì bức ảnh nào thuộc quyền sở hữu của ngườidùng

o createAlbums():Tạo và trả về một album mới thuộc quyền sở

hữu của một người dùng cụ thể hoặc người dùng hiện hành

Trang 8

o Get(): Trả về tất cả các ảnh theo tiêu chí lọc Có thể lọc theo 4

cách: được đánh dấu theo chủ đề đã quy định, có chứa trongalbum được định rõ bởi aid, bao gồm tập các ảnh được định rõbởi pid hoặc cả 3 tiêu chí trên

o getAlbum(): Trả về siêu dữ liệu về tất cả các album ảnh được

tải lên bởi người dùng cụ thể Phương thức này trả về thôngtin của tất cả các album dựa theo tiêu chí lọc Nó có thể được

sử dụng để trả lại tất cả các album ảnh được tạo ra bởi ngườidùng, truy vấn một danh sách các album thông qua aids hoặclọc theo cả 2 tiêu chí trên

o getTags(): Trả về danh sách người dùng được đánh dấu của

các hình ảnh cụ thể

o upload(): upload một ảnh thuộc sở hữu của người dùng cụ thể

hoặc người dùng hiện hành và trả về là một ảnh mới Các loạiảnh hỗ trợ như: gif, jpg, png, psd, tiff, jp2, iff, wbmp, xbm

Profile: Để dễ dàng tương tác với các thiết lập thông tin trong trang

hồ sơ của người dùng, nhóm hàm này đã cung cấp 2 phương thức:

o setFBML(): Thiết lập FBML cho hồ sơ của người dùng hoặc

trang Facebook , bao gồm: nội dung của hộp thông tin trênnhãn Wall, hộp thông tin cho nhãn Boxes

o getFBML(): Trả lại FBML của hộp thông tin hiện đang thiếtlập cho cấu hình của người dùng

Stream: Để thực hiện các thao tác cập nhật thông tin như đăng bài,

bình luận, tuy nhiên phải tuân theo quyền được phép thực hiện cácthao tác từ phía người khác Nó gồm các phương thức cơ bản như:

o addComment(): cho phép thêm bình luận vào bài đã được

đăng trên tường của người nào đó Trong đó có các tham sốnhư: post_id: là id bài viết mà bạn đang bình luận, comment:

là nội dung bình luận, uid: là id của người sử dụng để đăngbài

o addLike(): dùng để like một bài viết nào đó, và đối số truyền

vào chính là id của bài viết đó – post_id

Trang 9

o getComments(): lấy danh sách các comment trong một bài

bình luận, tham số truyền vào chính là post_id – id bài cần lấythông tin comment

o Publish(): cho phép đăng lên tường ai đó, nội dung đăng có

thể là đoạn text hoặc kèm theo hình ảnh hay link,…

o Remove(): xóa bài đăng nào đó, thông số truyền vào là post_id

là id của bài cần xóa, có thể kèm theo uid để xác định xóa bàicủa người nào

o removeComment(): là xóa bình luận của người dùng nào đó

trong một bài bình luân, thông số truyền vào là comment_id là

id của lời bình luận cần xóa

o removeLike(): tương tự như trên, removeLike() dùng để

unlike bài viết nào đó mà trước đó đã like

2.1.4 API với FQL:

 FQL: là viết tắt của Facebook Query Language tạm dịch là ngôn ngữtruy vấn

o Ngôn ngữ truy vấn của Facebook (FQL) là một ngôn ngữ

dựa trên ngôn ngữ SQL, được các nhà phát triển Facebook tạo

ra để giúp người viết ứng dụng truy xuất tới các bảng trong cơ

sở dữ liệu bao gồm các bảng : user, friend, group,group_member, event, event_member, photo, album, andphoto_tag…

o Các đối tượng FQL được chấp nhận để gọi một câu truy vấn

FQL thông qua Graph API FQL cung cấp một số tính năngnâng cao không có sẵn trong Graph API, bao gồm xử lý nhiềucâu truy vấn trong 1 lời gọi hàm duy nhất

 Cấu trúc câu truy vấn:

o Do FQL dựa trên nền tảng là ngôn ngữ SQL chính vì vậy cấu

trúc của FQL cũng tương tự như cấu trúc của SQL:

SELECT [ trường ] FROM [ bảng ] WHERE [ điều_kiện]

o Trong FQL, các mệnh đề trong SQL như ORDER BY,LIMIT cũng được hỗ trợ:

Trang 10

SELECT [ trường ] FROM [ bảng ] WHERE [ điều_kiện]ORDER BY[ trường] LIMIT [vị trí bắt đầu], [vị trí kết thúc]

o Tuy dựa trên nền tảng của SQL nhưng FQL cũng có nhữngđiểm khác biệt Đầu tiên là phải kể đến mệnh đề FROM Nếunhư trong SQL sau from có thể là một hoặc nhiều bảng để truyxuất dữ liệu nhưng trong FQL sau from chỉ có duy nhất mộtbảng Như vậy trong FQL không hỗ trợ các kiểu join Để cóthể lấy dữ liệu từ nhiều bảng, cách phổ biến nhất là sử dụngcác câu truy vấn con Ví dụ nếu muốn lấy danh sách nhữngngười bạn của người dùng đang sử dụng ứng dụng câu truyvấn FQL có thể là:

SELECT uid FROM user WHERE has_added_app = 1 ANDuid IN (SELECT uid2 FROM friend WHERE uid1=$user)trong đó $user là uid của người dùng hiện tại

o Thứ hai, để các ứng dụng truy xuất cơ sở dữ liệu một cách trực

tiếp, tất cả các truy vấn phải được đánh chỉ số, tránh cho việc

có quá nhiều câu truy vấn gửi tới server Facebook chỉ chophép người tạo ứng dụng truy xuất trên 45 bảng dữ

o Thứ ba, trong mệnh đề where, ít nhất phải có một trường được

đánh chỉ số Ví dụ nếu muốn tìm tất cả những người dùngđang chia sẻ ngày sinh nhật của người dùng hiện tại:

SELECT uid FROM user WHERE strpos(birthday,

“September 27”) = 0AND uid IN (SELECT uid2 FROM friend WHERE uid1 =

$user)

o Tiếp theo, để giảm một lượng lớn dữ liệu trao đổi, FQL không

hỗ trợ SELECT * Cuối cùng, mệnh đề ORDER BY chỉ hỗ trợmột trường đơn duy nhất, không hỗ trợ nhiều trường như trongSQL

 Phương thức sử dụng chính:

o API.fql.query(): sử dụng để gọi câu truy vấn.

Trang 11

o Tham số truyền vào chính là chuỗi truy vấn và giá trị trả về

cũng dạng chuỗi

o Ví dụ lấy tên của người dùng facebook ta có thể thực hiện như

sau: string _name = API.fql.query(“SELECT name FROMuser WHERE uid = 1814236399”); như vậy là ta có thể lấyđược tên đầy đủ của user có id là 1814236399

2.2 Ứng dụng eStore – Facebook application

 Để viết ứng dụng Facebook:

o Bạn cần một số kiến thức về các ngôn ngữ lập trình web: phổ

biến nhất là PHP - được đông đảo cộng đồng mạng và nhàphát triển ứng dụng facebook hổ trợ - ngoài ra cũng có thể sửdụng VB, ASP.net, …

o Cần biết một số máy chủ (web server) cho phép bạn có thể đặt

ứng dụng Facebook lên đó Thông qua kiến trúc hệ thống ứngdụng facebook (sẽ nói mục 3) thì ta sẽ hiểu tạo sao cần có mộtserver để đặt ứng dụng của bạn

 Ứng dụng eStore là một ứng dụng dùng để tạo ra trang cho phépchúng ta có thể rao bán sản phẩm của mình và thông tin rộng rãi đếnbạn bè của mình nhờ vào cộng đồng mạng facebook

o Ứng dụng sử dụng công nghệ chính là ASP.Net và API của

facebook

o Ứng dụng đáp ứng được đầy đủ các nghiệp vụ của một trang

web bán hàng đơn giản: đăng sản phẩm, tạo order, xem bìnhluận sản phẩm, …

o Các bước xây dựng ứng dụng:

 Tạo một ứng dụng trên facebook để lấy appKey vàSecretId: 2 khóa quan trọng để nhận định ứng dụng củamình

 Tạo project asp.net để phát triển ứng dụng

 Đưa ứng dụng lên hosting và config lại thông tin đểứng dụng hoạt động

(Chi tiết về phát triển ứng dụng eStore sẽ được nói ở phần sau.)

Trang 12

3 Kiến trúc hệ thống

3.1 Kiến trúc của Facebook:

3.1.1 Mô hình ứng dụng Web thông thường.

 Ứng dụng và cơ sở dữ liệu được đặt trên một máy chủ Web Ứngdụ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 Mô hình này sẽ làmviệc hiệu quả nếu như server và client có 1 kết nối Internet ổn định

3.1.2 Mô hình ứng dụng web Facebook

 Kiến trúc Facebook App - Canvas

Trang 13

 Người dùng truy cập Facebook.com và ứng dụng thông qua trìnhduyệt và Internet 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 ứngdụng đó Facebook Platform cũng cung cấp một giao diện chongười viết ứng dụng

 Với một máy chủ web bình thường trung bình chỉ chịu được từ 100tới 500 truy vấn cùng một lúc Tuy nhiên với Facebook trung bìnhmỗi giây phải hiện 600 nghìn hình ảnh cùng một lúc Vấn đề đặt ra

ở đây là làm thế nào để mỗi giây Facebook hiện được 600 ngàn hìnhảnh ? Để 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

Trang 14

 Facebook đã phát triển Haystack – một hệ thống quản lý các tập tinhình ảnh trung gian để cải tiến sự truy vấn Trước đây, Facebook đã

sử dụng hệ thống 2 tầng : một tầng chuyên cho việc upload hình ảnh

và lưu trữ vào server Tầng kia có nhiệm vụ tìm và lấy hình ảnh từserver để trả lời các truy vấn Tuy vậy việc xử lý theo cách cổ điểnnày là không phù hợp với nhu cầu tăng rất nhanh số lượng ngườidùng của Facebook dẫn tới tình trạng nghẽn mạch Input / Output.Haystack sẽ quản lý và lưu trữ các hình ảnh trong vùng đệm và từđây sẽ trả lời các truy vấn hìn ảnh Bên cạnh đó Facebook còn cảitiế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ôn ngữ lập trình cho từng bộ phận cũng dầnđược tối ưu hóa Người truy cập sẽ được phân luồng ngẫu nhiên vàocá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

3.1.3 Cách thức làm việc

 Trình duyệt người dùng yêu cầu : http://apps.facebook.com/myapp Địa chỉ này trỏ tới một cụm máy chủ trong trung tâm dữ liệu củaFacebook 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 đó

 Máy chủ của Facebook sẽ gửi yêu cầu tới máy chủ của người tạo ứngdụng Yêu cầu này người dùng hoàn toàn không biết

Trang 15

 Server chứa ứng dụng tạo một lời gọi API tới server của Facebookbằng cách sử dụng FQL thông qua phương thức fql.query() của APIhoặc trực tiếp bằng các hàm API

 Máy chủ chứa ứng dụng sẽ trả về FBML tới máy chủ của Facebook.Kết quả đạt được cuối cùng là 1 tài liệu FBML Tài liệu này sẽ đượcgửi trả lại server của Facebook để thực thi

 Tài liệu FBML sẽ được chuyển sang dạng HTML và phục vụ chongườ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

3.2 Kiến trúc của ứng dụng eStore

3.2.1 Kiến trúc hệ thống.

Hệ thống website eStore được chia thành 3 thành phần chính, sự tương tác giữa các thành phần được mô tả hình dưới đây:

Gói 2: Data & Business

Gói này chịu trách nhiệm lưu trữ và truy xuất dữliệu: Info Class

Đảm nhận thực hiện các nhiệm vụ chính của hệ thống: Service Class

Gói 3: Helper Class

Là gói dùng chung cho cho hệ thống Chứa các hàm xử lý được viết chung như: ControlClass,MegBox, SendMail, …

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

Trang 16

Gói 1: eStore sử dụng: Các trang aspx, html, …

3.2.2 Mô tả chi tiết từng thành phần của hệ thống eStore.

3.2.2.1. Gói 1 : eStore.

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 giaodiện người sử dụng

Là các trang aspx, html, …

3.2.2.2. Gói 2 : Data & Business

Gói này được tích hợp chung trong lớp Service

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

Lớp Info:

Trang 17

Lớp này gồm các lớp đối tượng.

Lớp đối tượng Diễn giải

EbookInfo Định nghĩa các trường CSDL ứng với bảng Ebook

UserInfo Định nghĩa các trường CSDL ứng với User

GroupUserInfo Định nghĩa các trường CSDL ứng với bảng GroupUser

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

OrderDetailInf

o

Định nghĩa các trường CSDL ứng với bảng OrderDetail

Lớp Business:

Lớp này gồm các lớp đối tượng

Lớp đối tượng Diễn giải

EbookService Thao tác với CSDL ứng với bảng Ebook

UserService Thao tác với CSDL ứng với User

GroupUserService Thao tác với CSDL ứng với bảng GroupUser

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

Trang 18

OrderService Thao tác với CSDL ứng với bảng Order

OrderDetailService Thao tác với CSDL ứng với bảng OrderDetail

3.2.2.3. Gói 3: Lớp Common

Lớp đối tượng Diễn giải

ControlClass Reset các control về dạng mặt định lúc đầu

DateTimeClass Định dạng này tháng theo chuẩn của chúng ta

WebMsgBox Thông báo một tin nhắn

SendMail Giúp hệ thống tự động gởi mail khi người dùng đăng ký

FuntionClass Một số hàm phổ biến thường dùng: FormatPrice,

encryptData…

UrlRewrite Trả về chuỗi không dấu gắn vào đường dẫn

4 Chức năng hệ thống

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

Việc

Quy định liên quan Ý nghĩa/ghi chú

1 Lưu danh mục loại sản

phẩm

Lưu trữ qdLuuLoaiSP

Thêm, sửa, xóa

2 Lưu thông tin sản phẩm

đã Upload

Lưu trữ qdLuuSP Thêm, sửa, xóa

Trang 19

3 Lưu danh mục nhóm

người dùng

Lưu trữ qdLuuNhomNguoiDun

g

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

hàng

Lưu trữ qdLuuDDH Thêm, sửa, xóa

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

khẩu người dùng

Lưu trữ qdMatKhau Thêm, sửa, xóa

9 Hiển thị menu loại sản

phẩm

Kết xuất qdHTLoaiSP Thêm, sửa, xóa

10 Hiển thị thông tin tổng

Hiển thị thông tin chi tiết

Tra cứu qdLocDSNguoiDung

18 Hiển thị danh sách người

dùng

Kết xuất qdDSNgDung

19 Tính năng giỏ hàng Lưu trữ qdGioHang

20 Hiển thị thông tin giỏ hàng

22 Hiển thị bình luận của

người tham gia ứng dụng

Trang 20

người dùng trên sản phẩm

khi tham gia ứng dụng

24 Cho phép đăng lên tường Lưu trữ

4.2 Quy định liên quan

STT Mã Số Tên quy định Mô tả chi tiết

1 qdLuuLoaiSP Quy định lưu danh mục

loại sản phẩm Thông tin loại sản phẩm bao

- Với mỗi sản phẩm cần lưu trữthêm các thông tin sau: tên,thông số của sản phẩm, giá bán,hình ảnh, ngày nhập liệu, nhàsản xuất ra nó, và cho nó biếttrạng thái hiển thị hoặc không

3 qdLuuNhomNguoiDung Quy định lưu danh mục

nhóm ng dùng tương tácvới hệ thống

- Thông tin nhóm người dùngbao gồm: mã nhóm, tên nhóm

- Có 4 nhóm người dùng tươngtác với hệ thống: Administrator,User, Visitor

4 qdLuuTTNguoiDung Quy định lưu thông in

người dùng hệ thống

- Đầu tiên cần cho biết ngườidùng thuộc một nhóm ngườidùng nào

- Thông tin chi tiết của từngngười dùng: mã người dùng, têntài khoản, mật khẩu, lần kíchhoạt cuối…

5 qdLuuNSX Quy định lưu thông tin - Thông tin cần lưu trữ và quản

Trang 21

nhà sản xuất lý của nhà sản xuất sản phẩm:

mã, tên, địa chỉ, email, logo,website của nhà sản xuất

6 qdLuuDDH Quy định lưu thông tin

đơn đặt hàng

Mỗi đơn đặt hàng cần lưu cácthông tin sau: mã đơn, mã kháchhàng đặt hàng, địa chỉ để chuyểnhàng cho khách hàng, đơn giácủa hóa đơn và ngày lập đơn đặthàng

7 qdLuuCTHD Quy đinh lưu chi tiết

đơn đặt hàng

Đơn đặt hàng cần cho biếtnhững sản phẩm do khách hàngđặt, giá bán và số lượng củatừng sản phẩm

8 qdMatKhau Quy định thay đổi, phục

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ườidùng nhấn vào tên này, sẽ chongười dùng danh sách các sảnphẩm trong nhóm sản phẩm ởmức tổng quan

10 qdHienThiSP Quy định hiển thị thông

tin tổng quan nhiều sảnphẩm

Khi người dùng chọn nhóm sảnphẩm, sẽ hiển thị thông tin tổngquan các sản phẩm: hình ảnh, tênsản phẩm, giá bán, nhà sản xuất

và 1 button để xem thông tin chitiết sản phẩm đó

11 qdHienThiCTSP Quy định hiển thị thông

tin chi tiết sản phẩm

Khi người dùng đã nhấn vàobutton “Chi tiết”, hệ thống sẽ

Trang 22

hiển thị thông tin của sản phẩm

đó ở mức chi tiết: hình ảnh, tênsản phẩm, giá bán, thông số kỹthuật

12 qdHienThiSPMoi

Quy định hiển thịnhững sàn phẩm mới

Ở trang chủ, các sản phẩm mớinhất được hiển thị ra cho kháchhàng chọn lựa với các thông tinsau: tên sản phẩm, giá bán, hìnhảnh

13 qdHTCTNguoiD ung qdHTCTNguoiDung Hiển thị các thông tin sau: email,

ngày tạo tài khoản, lần đăngnhập cuối, lần thay đổi mật khẩucuối

14 qdHTHoaDon Quy định hiển thị các

thông tin đơn đặt hàng

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ửihàng, đơn giá

15

qdHTCTHD Quy định hiển thị chi

tiết hóa đơn

Hiển thị các thông tin sau:

-Các thông tin về hóa đơn: mãhóa đơn, tài khoảnkhách hàng, ngày lập, địa chỉ gửihàng, đơn giá

-Thông tin chi tết: sản phẩmđược mua đi kèm với giá sảnphẩm và số lượng đã được đặt

16 qdTimSP Quy định tìm kiếm sản

phẩm

Cho phép người dùng tìm kiếmsả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ảnphẩm

17 qdLocDSNguoiDung Quy định lọc danh sách

người sử dụng theo

Chứa danh sách người dùngtrong 1 combobox, khi chọn

Trang 23

19 qdGioHang Quy định hiển thị giỏ

hàng

-Giỏ hàng của khách hàng sẽđược lưu trữ dựa trên kỹ thuậtlập trình web như: session, mảng

dữ liệu,…

-Khách hàng phải đăng nhập hệthống mới có giỏ hàng

-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)

20 qdHienThiGioHang Quy định hiển thị giỏ

hàng

Chỉ hiện thị nếu khách hàng đãđăng nhập hệ thống

- Cho biết các sản phẩm đã chọnmua, số lượng, đơn giá, thànhtiền

- Có dòng hiển thị tổng số tiềncủa giỏ hàng

- Có nút xóa sản phẩm đã chọn

Trang 24

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

21 qdTinhThanhTien

Quy định tình thànhtiền những sản phẩmkhách hàng chọn mua

Thành Tiền = (Số lượng sảnphẩm*Đơn giá từng sản phẩm)

22 qdHienThiBinhLuan

Quy định bình luận củangười tham gia ứngdụng trên sản phẩm

Trên sản phẩm cho hiển thị bìnhluận khi người dùng sử dụng vàbình luận sản phẩm trên ứngdụng

23 qdLuuBinhLuan

Quy định lưu bình luậncủa người dùng trên sảnphầm

Khi người dùng gõ bình luận vànhấn vào nút “comment”, sẽ lưulại nội dung bình luận của ngườidùng đó trên sản phẩm

24 qdDangLenTuong

Quy định Cho phépđăng lên tường khiupload sản phẩm vàview sản phẩm

Hiển thị nút “post to yourfriend's wall”, cho phép hoặckhông khi người dùng muốnđăng sản phẩm của họ lêntường

26 qdLuuLikeUser

Quy định hiển thị nútLike trên sản phẩm

Hiển thị lưu trạng thái Like sảnphẩm người dùng

Ngày đăng: 18/01/2013, 09:23

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w