1. Trang chủ
  2. » Luận Văn - Báo Cáo

xây dựng mạng xã hội địa điểm trên mobile

76 529 2

Đ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

Định dạng
Số trang 76
Dung lượng 3,88 MB

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

Nội dung

Các nhiệm vụ cụ thể của ĐATN Xây dựng server của mạng xã hội địa điểm Xây xưng ứng dụng trên Android cho phép người dùng kết nối Server và Facebook 4.. MỞ ĐẦUMục tiêu của đồ án nhằm xây

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

──────── * ───────

ĐỒ ÁN

TỐT NGHIỆP ĐẠI HỌC

NGÀNH CÔNG NGHỆ THÔNG TIN

XÂY DỰNG MẠNG XÃ HỘI ĐỊA ĐIỂM

TRÊN MOBILE

Sinh viên thực hiện : Lê Mạnh Hùng

Lớp Công nghệ phần mềm K51

Giáo viên hướng dẫn: ThS Lê Tấn Hùng

Trang 2

HÀ NỘI 5-2011

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

1 Thông tin về sinh viên

Họ và tên sinh viên: Lê Mạnh Hùng

Điện thoại liên lạc 01682031542 Email: hunglmbk@gmail.com

Lớp: công nghệ phần mềm Hệ đào tạo: đại học chính quy

Đồ án tốt nghiệp được thực hiện tại: Hà Nội

Thời gian làm ĐATN: Từ ngày 14 / 2 /2011 đến 27/ 05 /2011

2 Mục đích nội dung của ĐATN

Xây dựng mạng xã hội địa điểm trên mobile, cụ thể là trên hệ điều hành Android, kết nối với các mạng xã hội khác, cụ thể là Facebook

3 Các nhiệm vụ cụ thể của ĐATN

Xây dựng server của mạng xã hội địa điểm

Xây xưng ứng dụng trên Android cho phép người dùng kết nối Server và Facebook

4 Lời cam đoan của sinh viên:

Tôi Lê Mạnh Hùng cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sựhướng dẫn của thạc sĩ Lê Tấn Hùng

Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳcông trình nào khác

Hà Nội, ngày 27 tháng 5 năm2011

Tác giả ĐATN

Lê Mạnh Hùng

5 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảovệ:

Hà Nội, ngày 27 tháng 5 năm 2011

Giáo viên hướng dẫn

Trang 4

Mục Lục

Danh mục các hình 6

LỜI NÓI ĐẦU 8

MỞ ĐẦU 9

Chương I Đặt vấn đề và giải pháp 10

1 Các tình huống 10

2 Giải pháp 10

2.1 Mạng xã hội địa điểm 10

2.2 Các vấn đề liên quan 14

2.2.1 Quyền bảo mật riêng tư 14

2.2.2 Có quá nhiều mạng xã hội 14

3 Công nghệ sử dụng 15

3.1 Hệ điều hành Android 15

3.1.1 Giới thiệu 15

3.1.2 Lập trình trên Android 16

3.2 Location based services 19

3.2.1 Location based services là gì? 19

3.2.2 Hệ thống định vị toàn cầu – GPS 20

3.2.3 Nguyên lý hoạt động của A-GPS 22

3.3 Facebook platform 22

3.3.1 Giới thiệu 22

3.3.2 Thành phần 23

3.4 Các công nghệ khác 24

3.4.1 Spring web MVC 25

3.4.2 Hibernate framework 25

3.4.3 Định dạng JSON 26

3.4.4 RESTful Service 26

Chương II Đặc tả hệ thống 28

4 Mô tả hệ thống 28

4.1 Kiến trúc hệ thống 28

4.2 Biểu đồ USE CASE 30

4.2.1 Login 31

Trang 5

4.2.2 Tham gia 32

4.2.3 Định vị bản thân 33

4.2.4 Khám phá xung quanh 33

4.2.5 Khám phá địa điểm 34

4.2.6 Quản lý thông tin cá nhân 35

4.2.7 Chia sẻ hành động 36

4.2.8 Tìm hiểu bạn bè 37

4.2.9 Bình luận 39

4.2.10 Chia sẻ trải nghiệm 40

4.2.11 Gửi tin nhắn 41

4.2.12 Kết bạn 42

5 Client 43

5.1 Kiến trúc tổng quan 43

5.2 Thiết kế giao diện 43

5.3 Biểu đồ lớp 46

5.4 Biểu đồ tuần tự 47

5.4.1 Usecase định vị bản thân 47

5.4.2 Usecase bình luận 48

5.4.3 Usecase chia sẻ trạng thái 49

5.4.4 Usecase chia sẻ trải nghiệm 50

5.4.5 Usecase gửi tin nhắn 51

5.4.6 Usecase khám phá địa điểm 52

6 Server 52

6.1 Kiến trúc tổng quan 52

6.2 Biểu đồ lớp 53

6.3 Thiết kế Cơ sở dữ liệu 55

6.3.1 Mô hình thực thể liên kết 55

6.3.2 Thiết kế bảng cơ sở dữ liệu 56

6.3.3 Chi tiết các bảng dữ liệu 58

6.4 Biểu đồ Usecase 60

6.5 Biểu đồ tuần tự 61

6.5.1 Usecase đăng nhập – Login 62

6.5.2 Usecase lấy vị trí của 1 người ( get person Location ) 62

Trang 6

6.5.3 Usecase get people in place 64

6.5.4 Usecase getPerson - lấy thông tin thành viên 64

6.5.5 Usecase get place Exerience 65

6.5.6 Usecase ping message gửi tin nhắn 66

6.5.7 Usecase post comment 67

6.5.8 Usecase post status 68

6.5.9 Usecase post experience 68

7 Giao tiếp Server-client 69

8 Cài đặt và thực thi 69

Chương III Đánh giá 72

9 Đánh giá tổng quan 72

9.1 Ưu điểm 72

9.2 Nhược điểm 73

10 Sinh viên đánh giá 73

10.1 Đánh giá làm được và chưa làm được 73

10.2 Định hướng phát triển 73

11 Tài liệu tham khảo 74

Trang 7

Danh mục các hình

Hình 2.1.a mạng xã hội 8

Hinh 2.1.c mạng xã hội kun kun 10

Hình 3.1.2a kiến trúc Android 14

Hình 3.1.2b Activity State trong Android 16

Hình 3.2.1 Location base service 17

Hình 3.4.2 kiến trúc Hibernate 23

Hình 4.2 Biểu đồ USE CASE 29

Hình 4.2.1: biểu đồ tuần tự login 30

Hình 4.2.2: biểu đồ tuần tự tham gia 30

Hình 4.2.3: biểu đồ tuần tự định vị bản thân 31

Hình 4.2.4: biểu đồ tuần tự khám phá xung quanh 32

Hình 4.2.5: biểu đồ tuần tự khám phá địa điểm 32

Hình 4.2.6.a: biểu đồ tuần tự hiển thị profile 33

Hình 4.2.6.b: biểu đồ tuần tự cập nhật thông tin 34

Hình 4.2.7: biểu đồ tuần tự chia sẻ hành động 35

Hình 4.2.8.a: biểu đồ tuần tự định vị bạn bè 36

Hình 4.2.8.b: biểu đồ tuần tự xem trải nghiệm bạn bè 37

Hình 4.2.9: biểu đồ tuần tự bình luận 38

Hình 4.2.10: biểu đồ tuần tự chia sẻ trải nghiệm 39

Hình 4.2.11: biểu đồ tuần tự gửi tin nhắn 40

Hình 4.2.12: biểu đồ tuần tự kết bạn 40

Hình 5.1.1 kiến trúc tổng quan client 41

Hình 5.2.a giao diện menu Bản đồ 42

Hình 5.2.b xem status bạn bè 43

Hình 5.2.c menu Tôi 43

Hình 5.2.d menu danh sách 44

Hình 5.3 biểu đồ lớp 45

Hình 5.4.1 biểu đồ tuần tự định vị bản thân 46

Hình 5.4.2 biểu đồ tuần tự bình luận 47

Hình 5.4.3 biểu đồ tuần tự chia sẻ trạng thái 48

Hình 5.4.4 biểu đồ tuần tự chia sẻ trải nghiệm 49

Hình 5.4.4 biểu đồ tuần tự gửi tin nhắn 49

Hình 5.4.4 biểu đồ tuần tự khám phá địa điểm 50

Hình 6.1 kiến trúc Server 51

Hình 6.2 biểu đồ lớp server 52

Hình 6.3.1 sơ đồ thực thể liên kết 54

Hình 6.3.2 biểu đồ các bảng dữ liệu 55

Hình 6.3.3.a bảng policy 56

Hình 6.3.3.b bảng place 56

Hình 6.3.3.c bảng notification 56

Hình 6.3.3.d bảng comment 57

Trang 8

Hình 6.3.3.e bảng mycharacter 57

Hình 6.3.3.f bảng message 57

Hình 6.3.3.g bảng image 58

Hình 6.3.3.h bảng history 58

Hình 6.3.3.i bảng friend 58

Hình 6.3.3.j bảng experience 58

Hình 6.4 biểu đồ usecase server 59

Hình 6.5.1 biểu đồ tuần tự login 60

Hình 6.5.2 biểu đồ tuần tự get person location 62

Hình 6.5.3 biểu đồ tuần tự get people in place 62

Hình 6.5.4 biểu đồ tuần tự get person 63

Hình 6.5.5 biểu đồ tuần tự get place experience 64

Hình 6.5.6 biểu đồ tuần tự ping message 65

Hình 6.5.7 biểu đồ tuần tự post comment 65

Hình 6.5.8 biểu đồ tuần tự post status 66

Hình 6.5.9 biểu đồ tuần tự post exprience 67

Hình 8.1 giao diện bản đồ ứng dụng client 68

Hình 8.2 giao diện bản đồ ứng dụng client với status 69

Hình 8.3 giao diện danh sách ứng dụng client 69

Hình 8.4 giao diện tôi ứng dụng client 70

Trang 9

LỜI NÓI ĐẦU

Trong thời đại bùng nổ thông tin hiện nay thì nhu cầu kết nối của con người trở nênnóng bỏng hơn bao giờ hết Thực tế cho thấy những ai nắm bắt được cơ hội này đều trởthành ông lớn trong giới công nghệ thông tin Facebook và Android là những ví dụ điểnhình nhất Sức mạnh của Facebook nằm trong sức mạnh kết nối con người trong khi sứcmạnh của Android thì hứa hẹn 1 tương lai tươi sáng khi đứng sau nó là ông trùm côngnghệ GOOGLE Chính từ nhu cầu đó nên em đã tìm hiều và phát triển đề tài xây dựngmạng xã hội địa điểm trên mobile

Đề tài nhằm đưa người dùng kết nối với nhau trên mobile dựa theo vị trí địa lý,điều này khiến mối quan hệ giữa họ thật hơn Với lực lượng đông đảo người dùngFacebook hiện nay, có nhiều ứng dụng đã rất thành công khi kết nội với mạng xã hội lớnnày Xu hướng đó cũng là xu hướng đề tài đi theo xây dựng Mặc dù đã có cố gắng song đồ

án vẫn không thể tránh khỏi những thiếu sót mong thầy cô giúp đỡ em phát triển hoànthiện hơn nữa sản phầm của minh trong tương lại

Em xin cảm ơn sự định hướng và giúp đỡ tận tình của thầy Lê Tấn Hùng trong quátrình tìm hiểu và thực hiện đồ án này

Sinh viên thực hiện

Lê Mạnh Hùng

Trang 10

MỞ ĐẦU

Mục tiêu của đồ án nhằm xây dựng mạng xã hội địa điểm mà ở đó người dùng có thể:

 Định vị được địa điểm của mình cũng như người trên bản đồ số trong sự cho phépcủa họ

 Chia sẻ hoạt động, tâm trạng trên vị trí hiện tại của mình, những địa điểm mà mìnhquan tâm hay kể những câu chuyện có hình ảnh hay chú thích có liên quan đến địađiểm đó Ngược lại có thể bình luận lên chính những hoạt động này của bạn bè

 Kết nối được với mạng xã hội Facebook, cho phép thành viên của mạng xã hội nàyđăng nhập, kết nối và chia sẻ với người thân của mình trên Facebook hay trongmạng xã hội địa điểm

 Phục vụ người dùng trên thiết bị mobile chạy hệ điều hành Android, hỗ trợ GPShoặc wireless network

Bố cục đồ án

phần 1- đặt vấn đề và giải pháp: nêu các tình huống trong cuộc sống, qua đó thấy

được lợi ích của mạng xã hội địa điểm mang lại Bên cạnh đó, còn nêu các vấn đềliên quan cần giải quyết đi kèm các giải pháp đời sống cũng như công nghệ với sự

mô tả lý thuyết và công cụ của công nghệ đó

phần 2 - đặc tả hệ thống: mô tả chi tiết kiến trúc hệ thống bao gồm các thành phần,

chức năng với các biểu đồ minh hoạ, đồng thời đưa ra các kết quả đạt được trongquá trình cài đặt và thực thi Ngoài ra còn có đánh giá ưu nhược điểm của hệ thống

phần 3 - Tổng kết và đánh giá: đánh giá các kết quả đạt được trong quá trình thực

hiện đồ án và định hướng phát triển cũng như hoàn thiện

Phần 4- tài liệu tham khảo danh sách các tài liệu tham khảo

Trang 11

Chương I Đặt vấn đề và giải pháp

1 Các tình huống

Chúng ta lạc đường trong thành phố, muốn tìm lối ra? Chúng ta đi tham quan màkhông có bản đồ của địa điểm đó, hay muốn tìm đường đến những địa điểm như công viên,viện bảo tàng, rạp phim… 1 bản đồ số là cần thiết và có sẵn trong nếu chúng ta là thànhviên của tham gia mạng xã hội địa điểm

Chúng ta đang tham gia 1 hội chợ hay đi mua sắm tại siêu thị lớn của Hà Nội hay SàiGòn hay đang đi du lịch trên sa mạc Sahara … chúng ta muốn chia sẻ hay gửi tin nhắn kèmđịa điểm cho người thân hay bạn bè hay bất kỳ ai điều đó, bạn chỉ việc post lên mạng xãhội địa điểm

Đôi khi nhóm bạn chúng ta tụ tập trong 1 chuyến đi chơi xa, và mong muốn cập nhật vịtrí của họ liên tục của họ tại điểm hẹn hoặc trong hội chợ đông đúc, chúng ta muốn biết cóngười thân nào cũng tham gia không hay trong ngày nghỉ ở quê, chúng ta thắc mắc bạn bè

có cùng về quê không? Thêm nữa, chúng ta muốn biết bạn thân đang gần mình không trêntrong thành phố đông dân Thậm chí chúng ta có thể biết được 1 số thông tin người ngồicùng quán ăn hay café nếu họ cập nhật thông tin trên mạng xã hội địa điểm

Chúng ta muốn kể những kỷ niệm từng trải dưới mái trường hay bất kỳ địa điểm nàokhác với những bức ảnh gắn liền, tại sao không cập nhật trên mạng xã hội địa điểm để mọingười cảm nhận và bình luận ngược lại, chúng ta muốn xem những thông tin liên quan vềnhững địa điểm nổi tiếng với những hình ảnh hay bình luận của người khác, thật đơn giảnnếu chúng ta tham gia mạng xã hội địa điểm và để lại những bình luận của mình

2 Giải pháp

2.1 Mạng xã hội địa điểm

Mạng xã hội -theo vi.wikipedia thì mạng xã hội, hay gọi là mạng xã hội ảolà dịch vụ

nối kết các thành viên cùng sở thích trên Internet lại với nhau với nhiều mục đích khácnhau không phân biệt không gian và thời gian

Mạng xã hội có những tính năng như chat, e-mail, phim ảnh, voice chat, chia sẻ file,blog và xã luận Mạng đổi mới hoàn toàn cách cư dân mạng liên kết với nhau và trở thànhmột phần tất yếu của mỗi ngày cho hàng trăm triệu thành viên khắp thế giới Các dịch vụnày có nhiều phương cách để các thành viên tìm kiếm bạn bè, đối tác: dựa theo group (ví

dụ như tên trường hoặc tên thành phố), dựa trên thông tin cá nhân (như địa chỉ e-mail hoặcscreen name), hoặc dựa trên sở thích cá nhân (như thể thao, phim ảnh, sách báo, hoặc canhạc), lĩnh vực quan tâm: kinh doanh, mua bán

Trang 12

Hiện nay thế giới có hàng trăm mạng mạng xã hội khác nhau, với MySpace vàFacebook nổi tiếng nhất trong thị trường Bắc Mỹ và Tây Âu; Orkut và Hi5 tại Nam Mỹ;Friendster tại Châu Á và các đảo quốc Thái Bình Dương Mạng xã hội khác gặt hái đượcthành công đáng kể theo vùng miền như Bebo tại Anh Quốc, CyWorld tại Hàn Quốc, Mixitại Nhật Bản và tại Việt Nam xuất hiện rất nhiều các mạng xã hội như: Zing Me, YuMe,Tamtay…

Hình 2.1.a mạng xã hội

Lịch sử Mạng xã hội xuất hiện lần đầu tiên năm 1995 với sự ra đời của trang

Classmate với mục đích kết nối bạn học, tiếp theo là sự xuất hiện của SixDegrees vào năm

1997 với mục đích giao lưu kết bạn dựa theo sở thích

Năm 2002, Friendster trở thành một trào lưu mới tại Hoa Kỳ với hàng triệu thành viênghi danh Tuy nhiên sự phát triển quá nhanh này cũng là con dao hai lưỡi: server củaFriendster thường bị quá tải mỗi ngày, gây bất bình cho rất nhiều thành viên

Năm 2004, MySpace ra đời với các tính năng như phim ảnh (embedded video) vànhanh chóng thu hút hàng chục ngàn thành viên mới mỗi ngày, các thành viên cũ củaFriendster cũng lũ lượt chuyển qua MySpace và trong vòng một năm, MySpace trở thànhmạng xã hội đầu tiên có nhiều lượt xem hơn cả Google và được tập đoàn NewsCorporation mua lại với giá 580 triệu USD

Năm 2006, sự ra đời của Facebook đánh dấu bước ngoặt mới cho hệ thống mạng xãhội trực tuyến với nền tảng lập trình "Facebook Platform" cho phép thành viên tạo ranhững công cụ mới cho cá nhân mình cũng như các thành viên khác dùng FacebookPlatform nhanh chóng gặt hái được thành công vược bậc, mang lại hàng trăm tính năng

Trang 13

mới cho Facebook và đóng góp không nhỏ cho con số trung bình 19 phút mà các thànhviên bỏ ra trên trang này mỗi ngày.

Mạng xã hội địa điểm (location based social network ), có rất nhiều định nghĩa : Theo ông Vương Quang Khải, Phó Giám đốc VNG, một mạng xã hội địa điểm thườngcung cấp các dịch vụ chính gồm có: địa chỉ, ghi danh (check in), tìm kiếm dựa trên khoảng

cách địa lý, hệ thống điểm/xếp hạng người dùng, và bình luận, đánh giá về địa điểm Bên

cạnh đó, thông tin về địa điểm giúp cho người dùng có một góc nhìn hoàn toàn mới để cóthể khám phá thông tin và tương tác với nhau Đây là sự khác biệt lớn nhất của mạng xãhội địa điểm so với các mạng xã hội truyền thống

Các mạng xã hội địa điểm thuần tuý có nhược điểm là số lượng người sử dụng thấp vàthường chỉ giới hạn trong tập những người dùng smartphone, sẽ khó cạnh tranh khi cácmạng xã hội truyền thống cung cấp thêm chức năng địa điểm Ví dụ như Facebook đã bổsung thêm Facebook Places hoặc goOnline đang phát triển goLocation Khi đó, các mạng

xã hội địa điểm thuần tuý sẽ phải thu hẹp lại và trở thành một phần cộng sinh (plugin) chomạng xã hội truyền thống (như FourSquare sẽ sống chủ yếu trên nền của Facebook vàTwitter) Xu hướng chung thì các mạng xã hội truyền thống đều sẽ tích hợp thêm chứcnăng địa điểm, vì đây là một hướng mở rộng tự nhiên của mạng xã hội và dịch vụ nàymang lại nhiều lợi ích cho người dùng

Lịch sử phát triển của mạng xã hội địa điểm

Trên thế giới, mô hình mạng xã hội dựa trên địa điểm (location based social networking)không mới Foursquare có thể xem là hình mẫu thành công đầu tiên của hình thức mạng xãhội này Dennis Crowley và Naveen Selvadurai phát triển Foursquare từ năm 2009, đếnnăm 2010, sản phẩm này đã có sự phát triển ngoạn mục

Hình 2.1.b mạng xã hội địa điểm

Ý tưởng về mạng xã hội dựa trên địa điểm manh nha khi điện thoại thông minh với hệthống định vị ra đời Ban đầu, hệ thống định vị giúp người dùng xác định được vị trí của họ

và tìm đường trên bản đồ, hiểu nôm na là tích hợp một bản đồ vào điện thoại di động.Nhưng nhu cầu của con người không chỉ dừng lại ở đó Với mạng xã hội địa điểm, ngườidùng sau khi đăng nhập ngoài việc tìm kiếm thông tin về địa điểm, có thể tạo ra một mạng

Trang 14

kết nối với các người dùng khác thông qua việc họ hiển thị đăng nhập và chia sẻ với nhaucác địa điểm mình quan tâm.

Người dùng Foursquare “check-in” tức là vào các đại lộ trên Foursquare bằng cách sửdụng tin nhắn SMS, website di động hoặc một ứng dụng di động đặc thù Sau đó họ đượcthưởng điểm và đôi khi là “phù hiệu” Người dùng có thể chọn đăng điểm mình check-inqua tài khoản của mình trên Twitter, Facebook hoặc cả hai Trong phiên bản Foursquare1.3 dành cho iPhone, Foursquare bắt đầu đẩy thông báo của các cập nhật của bạn bè mà họgọi là “Ping”

Trang công nghệ out-smarts đánh giá những mạng xã hội dựa trên địa điểm hàng đầutrên thế giới hiện nay là: Foursquare, Facebook Places, Loopt, Gowalla và Yelp

Mạng xã hội địa điểm tại Việt Nam

Ở Việt Nam, mạng xã hội bản đồ được nhắc đến lần đầu tiên khoảng đầu năm 2009, khiứng dụng KunKun của hai sinh viên khoa Công nghệ thông tin, đại học Bách KhoaTP.HCM giành giải nhất cuộc thi Mùa hè sáng tạo (tháng 3/2009)

So với mạng xã hội bản đồ kunkun.vn mới ra mắt của Viettel, ý tưởng có vẻ khá giốngnhau Mặc dù ra mắt vào thời điểm khá nhạy cảm và được “đồn” là mạng xã hội thay thếFacebook, nhưng đến nay, KunKun dường như chưa có sự vận động

Hinh 2.1.c mạng xã hội kun kun

Mạng xã hội bản đồ này dựa trên những chia sẻ từ cá nhân và bạn bè, bên cạnh đó nhữnggợi ý dành cho người dùng (gợi ý kết bạn, gợi ý địa điểm…) chưa được triển khai nênkhiến cho những người mới vào cảm giác bị… cô lập Ngoài việc xem bản đồ và thêm địađiểm của cá nhân, người dùng của kunkun chưa có sự kết nối với nhau Có vẻ ở giai đoạnnày, Viettel mới chỉ đưa ra KunKun.vn để “xí phần” trên thị trường cung cấp dịch vụ mạng

xã hội dựa trên địa điểm

Được truyền thông khá rầm rộ từ trước khi ra mắt, ngày 11/1, Yoo! xuất hiện trên thịtrường với một số tính năng định vị được nhấn mạnh Người dùng đăng nhập Yoo! có thểnhận được các gợi ý về những thành viên khác ở gần địa điểm của mình, tuy thế, chứcnăng cập nhật vị trí tự động có vẻ chưa hoạt động ổn định, người dùng cập nhật địa điểm

Trang 15

thủ công thì sẽ nhận được nhiều hơn các gợi ý về các thành viên ở gần và địa điểm ở gần.Đây là sản phẩm do Công ty Cổ phần Công nghệ trẻ (NES) phát triển.

2.2 Các vấn đề liên quan

2.2.1 Quyền bảo mật riêng tư

Đây là vấn đề nhạy cảm mà người dùng là trung tâm khi họ tham gia vào internet nóichung và mạng xã hội nói riêng và đặc biệt hơn là đến việc chia sẻ vị trí hiện tại hay thôngtin liên quan sự thật là khi người dùng chia sẻ vị trí hay địa điểm của mình thì họ tự đặtcâu hỏi : liệu mình có bị theo dõi không? những ai có thể biết được thông tin của mình? Rõràng người dùng là nắm đằng lưỡi khi họ tham gia việc chia sẻ vị trí hay mạng xã hội địađiểm Vì vậy, nhà phát triển mạng xã hội địa điểm cần phải đảm bảo việc bảo mật riêng tưcho cộng đồng của mình, cho họ quyền chủ động trong quyết định chia sẻ thông tin nào,cho ai, và họ có quyền gì đối với thông tin ấy

Đã có rất nhiều bài học kinh nghiệm về việc mạng xã hội vi phạm quyền bảo mật tínhriêng tư, trong đó có cả các ông lớn như Google, Facebook Cụ thể có thể nêu ra:

Google Buzz đã sai lầm vì đã vi phạm "lời hứa bảo vệ quyền riêng tư" của kháchhàng Dịch vụ Google Buzz được ra mắt vào tháng 2/2010 đã chịu sự chỉ trích từ phíangười dùng Tính năng bị khiếu nại nhiều nhất là cho phép công khai danh sách các liên lạcthường xuyên của người dùng Gmail Tính năng này có thể tắt đi, nhưng thiết lập mặc địnhlại cho phép tiết lộ danh bạ của các liên lạc cũ "thủ thuật gian lận" này được sử dụng đểđưa dữ liệu cá nhân của người dùng Gmail vào hệ thống mạng Ngay cả khi người dùngkhông còn tham gia Buzz nữa, tính năng này vẫn tồn tại FTC cho rằng Goolge đã vi phạmchính sách bảo mật, vì đã sử dụng dữ liệu cá nhân của khách hàng vào dịch vụ khác màkhông báo trước Trong tháng 11/2010 một số người dùng đã kiện công ty về việc vi phạmquyền riêng tư Google đã giải quyết việc này bằng cách lập ra một quỹ hỗ trợ cho "Tổchức giáo dục quyền riêng tư và chính sách lướt web" với chi phí 8,5 triệu USD Đó như làlời xin lỗi người dùng vì bản thử nghiệm chưa đầy đủ của dịch vụ Buzz

Qua đó thấy được việc bảo vệ quyền riêng tư của người không những là việc thực thipháp luật mà còn ảnh hưởng rất lớn đến thành quả của mạng xã hội Cần cung cấp quyềncài đặt cho người dùng thật dễ hiểu, linh động và đưa ra cảnh bảo nếu như họ sẽ chia sẻthông tin của mình

2.2.2 Có quá nhiều mạng xã hội

Các mạng xã hội địa điểm thuần tuý có nhược điểm là số lượng người sử dụng thấp vàthường chỉ giới hạn trong tập những người dùng smartphone, sẽ khó cạnh tranh khi cácmạng xã hội truyền thống cung cấp thêm chức năng địa điểm Ví dụ như Facebook đã bổsung thêm Facebook Places hoặc goOnline đang phát triển goLocation Khi đó, các mạng

xã hội địa điểm thuần tuý sẽ phải thu hẹp lại và trở thành một phần cộng sinh (plugin) chomạng xã hội truyền thống (như FourSquare sẽ sống chủ yếu trên nền của Facebook vàTwitter) Xu hướng chung thì các mạng xã hội truyền thống đều sẽ tích hợp thêm chức

Trang 16

năng địa điểm, vì đây là một hướng mở rộng tự nhiên của mạng xã hội và dịch vụ nàymang lại nhiều lợi ích cho người dùng

Sự thành công của Facebook kéo theo hàng loạt bản sao của Facebook như tamtay.vn,Faceviet.com, Guongmat.com, ZoomBan.vn, YouSecond.com, Thegioiban.com,Anhyou.vn, truongxua.vn, Noi.vn và nhiều Mạng xã hội vô danh khác Nhiều Mạng xã hộisao chép chính xác không khác máy photocopy là mấy, đến nút bấm cũng giống hệt nútbấm của Facebook Trên đây chỉ là một ví dụ về sự thiếu đa dạng trong mô hình kinhdoanh của nhiều Mạng xã hội Tuy nhiên điều nguy hiểm lại nằm ở chỗ hầu hết các Mạng

xã hội tại Việt Nam đều nhái lại Facebook và Myspace và nhắm vào lứa tuổi 15 – 30 Điềunày càng làm tăng số lượng đối thủ cạnh tranh trong một mảnh đất chật hẹp, và người dùngngày càng giảm cam kết với các Mạng xã hội

Hàng loạt Mạng xã hội đã chuyển trọng tâm sang chia sẻ nội dung để hút giới trẻ thamgia Nội dung phổ biến là Nhạc, Video, Hình ảnh, Game văn phòng và tin tức Những site

đã biến dạng mô hình như tamtay.vn, cyvee.vn, yume.vn, yobanbe.vn, faceviet.vn, …zoomban.com chưa kịp thay đổi thì đã chết thảm Khá nhiều Mạng xã hội ( hoặc gần giốngMạng xã hội) sau khi xác định phân khúc và định vị thì gắng đẩy càng nhiều càng ít videohoặc hình ảnh gợi tình hay tin tức cướp, hiếp, giết lên Site, tiêu biểu là zing.vn, tamtay.vn,clip.vn Sự thay đổi này có phải là chiến thuật đúng đắn? Chưa có thành công nổi bật nàođến từ việc đổi thay, nhưng điều nhìn thấy là các Mạng xã hội lại đồng loạt vác bom laovào cuộc chiến mới, cuộc chiến đầu tư Cơ sở hạ tầng, ứng dụng Web, nhân sự vàmarketing để quản lý, bảo vệ và phát triển nội dung Cuộc chiến chỉ dành cho những tổchức có nguồn tài chính hoặc có bầu sữa mẹ dồi dào Nếu ai đó nói, Việt Nam là đất nướccủa các trào lưu dựa trên tâm lý bầy đàn, khởi điểm với chó Nhật, rồi Blog, rồi Chứngkhoán, và giờ là Mạng xã hội, Công cụ tìm kiếm cũng không sai nhiều lắm

Vậy giải pháp mạng xã hội mà đồ án hướng tới là gì? Đúng như phần trên phân tích

thì “các mạng xã hội địa điểm thuần tuý sẽ phải thu hẹp lại và trở thành một phần cộngsinh (plugin) cho mạng xã hội truyền thống ” Mạng xã hội địa điểm có thể coi là plugincho mạng xã hội truyền thống Điều này sẽ dễ dàng hơn trong việc thu hút người dùng.Trong khuôn khổ đồ án hướng tới Facebook như mạng xã hội truyền thống Như vậy, nếunhư Facebook Place cho phép người dùng tại Việt Nam thì nguy cơ mạng xã hội này khó

có thể thu hút người dùng Tuy nhiên, mạng xã hội địa điểm hướng tới không phải là 1plugin đơn thuần của 1 mạng xã hội mà sẽ là nhiều mạng xã hội Xu hướng tương lai sẽ kếtnối với nhiều mạng xã hội khác như Twitter hay các mạng xã hội truyền thống trong nước.Điểm mạnh là chúng ta không phải đi hút số lượng người dùng mà chỉ tập trung vào chấtlượng dịch vụ để lôi kéo số người dùng có sẵn trên các mạng xã hội truyền thống trong khiviệc thu hút người dùng có thể coi là gánh nặng đối với các mạng xã hội địa điểm truyềnthống

3 Công nghệ sử dụng

3.1 Hệ điều hành Android

Trang 17

3.1.1 Giới thiệu

Android là hệ điều hành trên điện thoại di động phát triển bởi Google và dựa trên nềntảng Linux Trước đây, Android được phát triển bởi công ty liên hợp Android ( sau đóđược Google mua lại vào năm 2005) Theo NPD, thiết bị di động sử dụng hệ điều hànhandroid bán được tại Mỹ trong quý II năm 2010 xếp vị trí đầu tiên với 33%, thứ 2 là BB osvới 28% và iOS ở vị trí thứ 3 với 22% Android có một cộng đồng những nhà phát triển rấtlớn viết các ứng dụng cho hệ điều hành của mình.Hiện tại có khoảng 70,000 ứng dụng choAndroid os và vào khoảng 100,000 ứng dụng đã được đệ trình, điều này khiến Android trởthành hệ điều hành di động có môi trường phát triển lớn thứ 2 Các nhà phát triển viết ứngdụng cho Android dựa trên ngôn ngữ Java Sự ra mắt của Android vào ngày 5 tháng 11năm 2007 gắn với sự thành lập của liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78công ty phần cứng, phần mềm và viễn thông nhằm mục đính tạo nên một chuẩn mở chođiện thoại di động trong tương lai Google công bố hầu hết các mã nguồn của Android theobản cấp phép Apache Hệ điều hành Android bao gồm 12 triệu dòng mã; 3 triệu dòngXML, 2.8 triệu dòng mã C, 2.1 triệu mã Java và 1.75 triệu dòng mã C++

3.1.2 Lập trình trên Android

Sơ đồ dưới đây cho thấy các thành phần chính của hệ điều hành Android Mỗi phầnđược mô tả chi tiết hơn dưới đây

Hình 3.1.2a kiến trúc Android

Các thành phần (component) tạo nên một ứng dụng Android:

Activity: hiểu một cách đơn giản thì Activity là nền của 1 ứng dụng Khi khởi động 1

ứng dụng Android nào đó thì bao giờ cũng có 1 main Activity được gọi, hiển thị mànhình giao diện của ứng dụng cho phép người dùng tương tác

Service: thành phần chạy ẩn trong Android Service sử dụng để update dữ liệu, đưa ra

các cảnh báo (Notification) và không bao giờ hiển thị cho người dùng thấy

Trang 18

Content Provider: kho dữ liệu chia sẻ Content Provider được sử dụng để quản lý và

chia sẻ dữ liệu giữa các ứng dụng

Intent: nền tảng để truyền tải các thông báo Intent được sử dụng để gửi các thông báo

đi nhằm khởi tạo 1 Activity hay Service để thực hiện công việc bạn mong muốn VD:khi mở 1 trang web, bạn gửi 1 intent đi để tạo 1 activity mới hiển thị trang web đó

Broadcast Receiver: thành phần thu nhận các Intent bên ngoài gửi tới VD: ta viết 1

chương trình thay thế cho phần gọi điện mặc định của Android, khi đó bạn cần 1 BR đểnhận biết các Intent là các cuộc gọi tới

Notification: đưa ra các cảnh báo mà không làm cho các Activity phải ngừng hoạt

động

Activity, Service, Broadcast Receiver và Content Provider mới là những thành phầnchính cấu thành nên ứng dụng Android, bắt buộc phải khai báo trong AndroidManifest Android có cơ chế quản lý các process theo chế độ ưu tiên Các process có priority thấp

sẽ bị Android giải phóng mà không hề cảnh báo nhằm đảm bảo tài nguyên

Foreground process: là process của ứng dụng hiện thời đang được người dùng tương

tác

Visible process: là process của ứng dụng mà activity đang hiển thị đối với người dùng

(onPaused() của activity được gọi)

Service process: là Service đang running.

Background process: là process của ứng dụng mà các activity của nó ko hiển thị với

người dùng (onStoped() của activity được gọi)

Empty process: process không có bất cứ 1 thành phần nào active.

Theo chế độ ưu tiên thì khi cần tài nguyên, Android sẽ tự động kill process, trước tiên

là các empty process

Android Activity Life Cycle:

Actitvity là thành phần quan trọng nhất và đóng vai trò chính trong xây dựng ứngdụng Android Hệ điều hành Android quản lý Activity theo dạng stack: khi một Activitymới được khởi tạo, nó sẽ được xếp lên đầu của stack và trở thành running activity, cácActivity trước đó sẽ bị tạm dừng và chỉ hoạt động trở lại khi Activity mới được giải phóng.Activity bao gồm 4 state:

active (running): Activity đang hiển thị trên màn hình (foreground).

paused: Activity vẫn hiển thị (visible) nhưng không thể tương tác (lost focus) VD:

một activity mới xuất hiện hiển thị giao diện đè lên trên activity cũ, nhưng giao diệnnày nhỏ hơn giao diện của activity cũ, do đó ta vẫn thấy được 1 phần giao diện củaactivity cũ nhưng lại không thể tương tác với nó

Trang 19

stop: Activity bị thay thế hoàn toàn bởi Activity mới sẽ tiến đến trạng thái stop

killed: Khi hệ thống bị thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo nguyên tắc ưu

tiên Các Activity ở trạng thái stop hoặc paused cũng có thể bị giải phóng và khi nó

được hiển thị lại thì các Activity này phải khởi động lại hoàn toàn và phục hồi lại trạngthái trước đó

Biểu đồ miêu tả Activity state

Hình 3.1.2b Activity State trong Android

Vòng đời của Activity:

- Entire lifetime: Từ phương thức onCreate( ) cho tới onDestroy( )

- Visible liftetime: Từ phương thức onStart( ) cho tới onStop( )

- Foreground lifetime: Từ phương thức onResume( ) cho tới onPause( )

Android sẽ ship với một bộ các ứng dụng lõi bao gồm một ứng dụng email, lịchchương trình tin nhắn SMS,, bản đồ, trình duyệt, liên lạc, và những người khác Tất cả cácứng dụng được viết bằng cách sử dụng ngôn ngữ lập trình Java

Trang 20

Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhàphát triển khả năng để xây dựng các ứng dụng vô cùng phong phú và sáng tạo Các nhàphát triển được miễn phí để tận dụng lợi thế của các thiết bị phần cứng, thông tin địa điểmtruy cập, dịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo đến các thanhtrạng thái, và nhiều, nhiều hơn nữa.

Các nhà phát triển có thể truy cập vào các API cùng một khuôn khổ được sử dụngbởi các ứng dụng lõi Kiến trúc ứng dụng được thiết kế để đơn giản hóa việc tái sử dụngcác thành phần; bất kỳ ứng dụng có thể xuất bản các khả năng của mình và ứng dụng nàokhác sau đó có thể làm cho việc sử dụng những khả năng (tùy thuộc vào chế bảo đảm thihành theo khuôn khổ) Cơ chế này cũng cho phép các thành phần được thay thế bởi người

sử dụng

Nằm bên dưới tất cả các ứng dụng là một tập hợp các dịch vụ và hệ thống, bao gồm:

 Một tập phong phú và mở rộng của xem có thể được sử dụng để xây dựng một ứngdụng, bao gồm các danh sách, lưới, hộp văn bản, các nút, và thậm chí một trìnhduyệt web nhúng

 Nhà cung cấp nội dung cho phép các ứng dụng để truy cập dữ liệu từ các ứng dụngkhác (như Contacts), hoặc chia sẻ dữ liệu của riêng mình

 Một quản lý tài nguyên, cung cấp quyền truy cập vào tài nguyên phi mã như dâybản địa hoá, đồ họa, và bố trí tập tin

 Một Notification Manager cho phép tất cả các ứng dụng tùy chỉnh để hiển thị cảnhbáo trong thanh trạng thái

 Một Activity Manager quản lý vòng đời của các ứng dụng và cung cấp mộtbackstack phổ biến chuyển hướng

3.2 Location based services

3.2.1 Location based services là gì?

LBS là dịch vụ thông tin hay giải trí cho phép mobile devices kết nối qua mạng diđộng và sử dụng vị trí địa lý có thể xác định được của thiết bị đó

Trang 21

Hình 3.2.1 Location base service

Dịch vụ này được sử dụng trong rất nhiều lĩnh vực như y tế, công việc , đời sống cánhân v.v LBS bao gồm các dịch vụ xác định vị trí của người hoặc vật, chẳng hạn như tìmkiếm 1 máy rút tiền tự động gần nhất hoặc muốn biết 1 người bạn hay nhân của mình đang

ở đâu hay các dịch vụ theo dõi các phương tiện giao thông hoặc bưu kiện Bên cạnh đó, nócòn bao gồm dịch vụ thương mại trên di động khi các doanh nghiệp hướng các quảng cáohay các loại vé, phiếu tới các khách hàng hiện tại đang đứng trên vị trí của họ Các dịch vụ

về thời tiết cá nhân thậm chí là các trò chơi định vị cũng có thể thấy trong LBS Chúng là 1

ví dụ hội tụ viễn thông

3.2.2 Hệ thống định vị toàn cầu – GPS

Hiện có khá nhiều hệ thống vệ tinh khác nhau nhưng chúng đều có cách hoạt độngkhá giống nhau: thiết bị tính toán vị trí của mình từ tín hiệu nhận được từ các vệ tinh GPS.Các vệ tinh liên tục phát các thông điệp gồm các thông số như thời gian gửi thông điệp,vịtrí của vệ tinh và tình trạng của vệ tinh Thiết bị nhận sẽ đo thời gian truyền của thôngđiệp để tính toán khoảng cách tới từng vệ tinh, từ đó có thể dùng hình học để biết được vịtrí của mình (giao điểm của các đường cầu với tâm là các vệ tinh và bán kính là khoảngcách tới thiết bị) (United States Coast Guard Navigation Center 1996)

Các thành phần của GPS bao gồm : user, ground và space section

Thành phần không gian (space section) là hệ thống vệ tinh chuyển động quanh tráiđất ở quỹ đạo cao (high orbit) đã để cập ở 2.1.1 Ở quỹ đạo cao các vệ tinh di chuyểnkhông đều so với tốc độ quay của trái đất nên vị trí của các vệ tinh trên bầu trời đối vớithiết bị nhận sẽ luôn thay đổi Tuy nhiên hệ thống được thiết kế để lúc nào cũng có 4 vệtinh trong tầm nhìn của thiết bị

Trang 22

Thành phần mặt đất (ground section) là các trạm điểu khiển và tính toán sái lệch của

vệ tinh từ đó trả về thông tin hiệu chỉnh Ground section của GPS khác với các hệ thốngtăng cường độ chính xác như LAAS (phần 2.1.4.3.3) ở chỗ tín hiệu của các trạm thuộcground section sẽ được dùng để điều chỉnh trực tiếp tín hiệu do vệ tinh GPS phát ra thay vìchỉ được kết hợp để điều chính độ chính xác trên thiết bị nhận

Hình 3.2.3.a Hệ thống GPSNgười dùng: là người sử dụng và các thiết bị có nhu cầu định vị, xác địnhphương hướng, v.v…

Trên thị trường ngày càng xuất hiện nhiều hơn những chiếc điện thoại di động tích

hợp sẵn chip định vị GPS và được hỗ trợ công nghệ A-GPS.

Trên thực tế, hầu hết các thiết bị cầm tay (điện thoại di động, PDA,…) GPS hiện nayđều ứng dụng công nghệ A-GPS (Assisted GPS)

Trong nhiều điều kiện thực tế, việc truyền dẫn tín hiệu GPS giữa vệ tinh và thiết bịnhận trên mặt đất hoạt động rất kém hoặc thậm chí không thể hoạt động, nhất là trong cácthành phố lớn nhiều nhà cao tầng hoặc ở trong không gian kín A-GPS chính là giải phápcho vấn đề này

Đơn giản, thay cho việc truyền tín hiệu trực tiếp với vệ tinh, A-GPS kết nối tín hiệuqua một “trạm trung chuyển” là một hệ thống máy chủ hỗ trợ Hệ thống trung gian này xácđịnh vị trí của thiết bị so với các trạm thu phát sóng của các mạng điện thoại trung giantrong khu vực và từ đó tính toán ra vị trí trên hệ thống GPS Có thể nói, nếu không có sự

hỗ trợ của các trạm trung chuyển qua mạng điện thoại di động này, thiết bị A-GPS vẫn cóthể nhận được tín hiệu từ vệ tinh nhưng không có khả năng giải mã vị trí

Trang 23

Hình 3.2.3.b truyền tải tín hiệu GPS

3.2.3 Nguyên lý hoạt động của A-GPS

Một thiết bị tích hợp công nghệ A-GPS điển hình cần có các kết nối dữ liệu (quamạng GPRS, 3G hoặc Wi-fi) để có thể truyền tải dữ liệu qua lại với máy chủ trung gian.Nhiều thiết bị hỗ trợ A-GPS vẫn có thể hoạt động với công nghệ GPS chuẩn không qua hỗtrợ của mạng truyền dẫn, tuy nhiên trong một số trường hợp, việc xác định vị trí theo thờigian thực sẽ gặp nhiều khó khăn do thông tin từ vệ tinh đến thiết bị không ổn định

Theo báo cáo Facebook Platform tháng 5 năm 2010:

 Hơn 1 triệu developer và doanh nghiệp từ hơn 180 nước

 Hơn 550.000 ứng dụng hoạt động tại thời điểm hiện tại trên Facebook Platform

 Hàng tháng, hơn 70% người dùng Facebook kết nối tới Facebook Platform

 Hơn 250.000 trang web tích hợp với Facebook Platform

 Hơn 100 triệu người dùng Facebook kết nối với Facebook trên các trang websitengoài hàng tháng

Các doanh nghiệp đối tác thứ 3 cung cấp các số liệu ứng dụng, một vài blog đã phảnứng mạnh mẽ trước các ứng dụng Facebook

Ngày 29 tháng 8 năm 2007, Facebook thay đổi cách thức đánh giá phần lớn các ứngdụng, chú trọng tới các ứng dụng lôi cuốn hơn, chỉ theo tiêu chí xếp hạng ứng dụng là số

Trang 24

lượng người cài đặt ứng dụng mà họ đưa ra các ưu điểm Nỗ lực chính tạo ra các ứng dụngvirus là thuê các nhà phát triển ứng dụng Facebook với số lượng lớn Đại học Satandfordthậm chí còn đưa ra các đề tài trong lớp Khoa học Máy tính: “sáng tạo ứng dụng web thíchhợp dùng số liệu và học tập trên Facebook” Rất nhiều ứng dụng được sáng tạo với thànhcông cao, và được xếp hạng top các ứng dụng Facebook, với thành quả hơn 3.5 triệu ngườidùng trong 1 tháng.

3.3.2 Thành phần

Graph API

Graph API là nhân của Facebook platform, cho phép developer đọc và ghi dữ liệutới Facebook Nó cung xấp cái nhìn đơn giản và nhất quán về mạng lưới xã hội, các đốitượng được trình bảy với dạng duy nhất (như people, photos, events, và pages) và kết nốigiữa chúng (như , likes, and photo tags)

Authentication

Facebook authentication cho phép người dùng tương tác với Graph API trên các thuộctính của người dùng Facebook, và nó cung cấp 1 chữ ký đơn trên cơ chế xuyên ngang web,mobile, và ứng dụng Desktop

Open Graph protocol

Open Graph protocol cho phép developer tích hợp trang của mình vào social graph.Những trang này đem lại những chức năng của của các đối tượng graph khác bao gồmđường link profile và dòng update cho người dùng đã kết nối Ngụ ý rằng, Open Graph cóthể có trên các trang web, điều này liên quan đến ý tưởng của công nghệ tìm kiếm Trongkhi Google vẫn lôi cuốn người dùng ghé thăm hơn bất kỳ trang web nào khác thì Facebook

là là kẻ về nhì Thậm chí không có 1 công nghệ tìm kiếm tốt bên trong, Facebook thực sựđược ghé thăm nhiều hơn cho các tìm kiếm đặc biệt là các tìm kiếm mang tính xã hội hơnchính cả Google Và trong nỗ lực liên kết Facebook với các trang web , Open Graph đượctạo ra 1 công nghệ tìm kiếm phiên bản mở rộng và tương tác ở mức cao Đây là điều quantrọng cần nhắc tới, tuy nhiên Google vẫn nắm giữ phần quan trọng đáng kể trong hệ thốngđược sắp xếp, thậm chí là nếu Facebook có vượt qua Google đi nữa, thì Google vẫn tiếptục đóng 1 vai trò lớn trên thế giới online

Facebook Markup Language

Trang 25

Facebook Markup Language là thành phần con tiến hoá của html với vài thành phần được

gỡ bỏ, cho phép các nhà phát triển ứng dụng Facebook tuỳ chỉnh tính năng“ xem và cảmnhận” trong ứng dụng của mình tới giới hạn của mình Đây là cách đặc biệt làm thế nào mãhoá nội dung để cho máy chủ Facebook có thể đọc và xuất bản nó, điều này là cần thiết để

hệ thống Facebook có thể phân tích nọi dụng và xuất bản nó cụ thể hơn FBML cài đặt bởibất kỳ ứng dụng nào được gọi bởi Facebook cho tới 1 tập API con được gọi thay thế.Facebook cũng đặc tả Facebook javascript và thư viện

18 tháng 3 năm 2011, Facebook ngừng các ứng dụng FBML mới , nhưng vẫn tiếptục hộ trợ các tabs và ứng dựng FBML trước đó Facebook khuyến khích dùng iframes choviệc phát triển các ứng dụng mới

Facebook Connect

Facebook Connect là 1 tập các hàm API của Facebook cho phép các thành viênđăng nhập từ website, ứng dụng, thiết bị cầm tay và hệ thống trò chơi thứ 3 với sự xácnhận của Facebook Trong khi log in, người dùng có thể kết nới tới bạn bè bằng cácphương thức trên và post nội dung lên profile của mình trên Facebook Developer có thểdùng các dịch vụ này để giúp đỡ người dùng chia sẻ và kết nối với bạn bè trong và ngoàiFacebook và tăng tính phù hợp cho các website hay ứng dụng của mình

Tháng 7 năm 2008, Facebook connect hình thành và sẵn sang vào tháng 12 năm

2008 Theo thời báo NewYork, “một vài quan điểm cho rằng dịch vụ này cho thấy nhữngsuy nghĩ mới mẻ đầy kinh ngạc bên trong thung lũng Silicon Thay vì cố gắng tích trữthông tin về người dùng, các doanh nghiệp Internet (bao gồm Facebook, Google, Myspace

và Twitter) tất cả đều chia sẻ ít nhất một vài dữ liệu giúp người dùng không phải mất côngnhập lại liên tục những thông tin giống nhau trên các site khác nhau.”

Kể từ khi khởi động Facebook Connect, công ty này đã thêm các tính năng liênquan bao gồm: Translations for Connect;Facebook Connect Wizard và Facebook Connectcho Mobile Web

Facebook Connect không thể sử dụng bởi người dùng tại nơi mà không thể truycập vào Facebook( như Trung Quốc), thậm chí là các site của bên thứ 3 cũng không thểtruy cập tại đó

Microformats

Tháng 2 năm 2011, Facebook bắt đầu dùng hCalendar microformat để đánh dấu các

sự kiện và hCard cho địa điểm hẹn gặp của các sự kiện, cho phép hiển thị chi tiết lên lịchcủa người dùng hay ánh xạ sang các ứng dụng

3.4 Các công nghệ khác

Trang 26

Kiến trúc của Spring Framework được ra mắt công chúng lần đầu tiên hồi tháng 6 năm

2003 dưới Giấy phép Apache - phiên bản 2.0 Phiên bản 1.0 đánh dấu mốc thành đạt đầutiên được xuất bản vào tháng 3 năm 2004, và tiếp đó vào tháng 9 năm 2004, tháng 3 năm2005

Tuy Spring Framework không bắt buộc người ta phải tuân theo một mô hình lập trình(programming model) cụ thể nào, song nó lan truyền rộng rãi trong cộng đồng nhữngngười viết chương trình dùng Java, như một hình thức chủ yếu thay thế cho mô hìnhEnterprise JavaBean Theo thiết kế, bộ khung hình này giải phóng lập trình viên dùng Java,cho phép họ nhiều quyền tự do hơn, và đồng thời cung cấp một giải pháp tiện lợi, đầy đủdẫn chứng bằng tài liệu, dễ dàng sử dụng, phù hợp với những thực hành thông dụng trongcông nghệ phần mềm

Bên cạnh những đặc trưng nền tảng của Spring Framework là những cái có thể dùngđược trong bất cứ một chương trình ứng dụng Java nào, rất nhiều các mở rộng và tiến bộtrong việc kiến tạo các trình ứng dụng dành cho nền tảng mạng web (web-basedapplication) dựa trên nền Java Enterprise cũng tồn tại nữa Spring Framework nổi tiếngcũng một phần do chính đặc thù kể trên và được giới thương mại công nhận như một nềntảng kiến trúc có tầm quan trọng trong chiến lược kiến tạo phần mềm

3.4.2 Hibernate framework

Hibernate là một trong những ORM Framework

Hibernate framework là một framework cho persistence layer Như vậy, nhờ cóHibernate framework mà giờ đây khi bạn phát triển ứng dụng bạn chỉ còn chú tâm vào

những layer khác mà không phải bận tâm nhiều về persistence layer nữa.

Hibernate: là một dịch vụ lưu trữ và truy vấn dữ liệu quan hệ mạnh mẽ và nhanh.Hibernate giúp bạn phát triển các class dùng để lưu trữ dữ liệu theo cách thức hướngđối tượng: association, inheritance, polymorphism, composition và collections

Hibernate cho phép bạn thực hiện các câu truy vấn dữ liệu bằng cách sử dụng ngôn ngữSQL mở rộng của Hibernate (HQL) hoặc là ngôn ngữ SQL nguyên thủy cũng như là sửdụng các API

Trang 27

Hình 3.4.2 kiến trúc Hibernate

Hibernate được license theo LGPL (Lesser GNU Public License) Theo đó, bạn có thể thoải mái sử dụng Hibernate trong các dự án open source hoặc các dự án thương mại (commercial)

3.4.3 Định dạng JSON

JSON (JavaScript Object Noattion) là 1 định dạng hoán vị dữ liệu nhanh Chúng dễdàng cho chúng ta đọc và viết Dễ dàng cho thiết bị phân tích và phát sinh Chúng là cơ sởdựa trên tập hợp của Ngôn Ngữ Lập Trình JavaScript, tiêu chuẩn ECMA-262 phiên bản 3– tháng 12 năm 1999 JSON là 1 định dạng kiểu text mà hoàn toàn độc lập với các ngônngữ hoàn chỉnh, thuộc họ hàng với các ngôn ngữ họ hàng C, gồm có C, C++, C#, Java,JavaScript, Perl, Python, và nhiều ngôn ngữ khác Những đặc tính đó đã tạo nên JSON 1ngôn ngữ hoán vị dữ liệu lý tưởng

JSON được xây dựng trên 2 cấu trúc:

 Là tập hợp của các cặp tên và giá trị name-value Trong những ngôn ngữ khácnhau, đây được nhận thấy như là 1 đối tượng (object), sự ghi (record), cấu trúc(struct), từ điển (dictionary), bảng băm (hash table), danh sách khoá (keyed list),hay mảng liên hợp

 Là 1 tập hợp các giá trị đã được sắp xếp Trong hầu hết các ngôn ngữ, this đượcnhận thấy như là 1 mảng, véc tơ, tập hợp hay là 1 dãy sequence

Đây là 1 cấu trúc dữ liệu phổ dụng Hầu như tất cả các ngôn ngữ lập trình hiện đại đều

hổ trợ chúng trong 1 hình thức nào đó Chúng tạo nên ý nghĩa của 1 định dạng hoán vị dữliệu với các ngôn ngữ lập trình cũng đã được cơ sở hoá trên cấu trúc này

3.4.4 RESTful Service

REST xác định một nhóm các nguyên lý kiến trúc, bằng cách đó bạn có thể thiết kếcác dịch vụ mạng, chú trọng vào các tài nguyên hệ thống, bao gồm các trạng thái tàinguyên được định dạng như thế nào và được chuyển tải qua HTTP thông qua một lượng

Trang 28

lớn người dùng và được viết bởi những ngôn ngữ khác nhau Nếu tính theo số dịch vụmạng sử dụng, REST đã nổi lên trong một vài năm qua như là một mô hình thiết kế dịch

vụ chiếm ưu thế Thực tế là REST đã có những ảnh hưởng lớn đến như vậy đối với mạng

và gần như chiếm vị trí của thiết kế giao diện dựa trên SOAP hay WSDL vì nó là cách thứcđơn giản hơn rất nhiều để sử dụng

REST không thu hút được nhiều sự chú ý khi lần đầu tiên nó được giới thiệu vào năm

2000 bởi Roy Fielding trong luận án của ông "Architectural Styles and the Design ofNetwork-based Software Architectures" (Phong cách kiến trúc và thiết kế kiến trúc phầnmềm dựa trên mạng) tại Đại học California Luận án đã phân tích một loạt các nguyên tắckiến trúc phần mềm sử dụng mạng như là một nền tảng tính toán phân tán Hiện nay, vàinăm sau khi được giới thiệu, các khung làm việc chính đối với REST đã được bắt đầu xuấthiện và vẫn đang được tiếp tục phát triển, vì nó đang được xem xét đề xuất ví dụ như trởthành một phần của Java™ 6 thông qua JSR-311

Trong cách thức đơn thuần nhất ngày nay, khi đã thu hút được nhiều sự chú ý thì việcthực hiện cụ thể của một dịch vụ mạng REST sẽ tuân theo bốn nguyên lý thiết kế cơ bảnnhư sau

 Sử dụng các phương thức HTTP một cách rõ ràng

 Phi trạng thái

 Hiển thị cấu trúc thư mục như URls

 Chuyển đổi JavaScript Object Notation (JSON) và XML hoặc cả hai

Các phần sau đây sẽ mở rộng dựa trên bốn nguyên lý này và đề xuất một nhân tố kỹthuật cơ bản giải thích vì sao chúng quan trọng đối với các nhà thiết kế dịch vụ mạngREST

Trang 29

Sơ đồ sau mô tả chi tiết kiến trúc bên trong client và server:

Trang 30

 Tầng Controler có tên Process chịu trách nhiệm xử lý các yêu cầu từ tầng View màngười dùng xác nhận Nó sẽ phân tích việc cần làm Công việc cần làm bao gồm:gửi yêu cầu người dùng đến Server hay Facebook, nhận dữ liệu trả về, xem xét việccập nhật dữ liệu người dùng ở tầng Model, và trả dữ liệu hiển thị về tầng View.

 Tầng Model là tầng quản lý dữ liệu người dùng Dữ liệu có thể là thông tin củangười dùng như thông tin tài khoản, các tin nhắn lưu trữ, trải nghiệm (experience)hay bình luận (comment) hay image mà người dùng load về Dữ liệu có tác dụngnhằm tối ưu kết nối, tránh việc tải lại các dữ liệu đã tải trước đó Tầng này sử dụngSqlite để quản lý lưu trữ dữ liệu được cung cấp sẵn trong hệ điều hành Android

Thành phần Server:

Được xây dựng theo mô hình web MVC Tuy nhiên dữ liệu hiện thị không hiện thịtrên web nên tầng View sẽ trả về dữ liệu theo định dạng JSON object để thuận tiện choviệc trao đổi dữ liệu ( sẽ mô tả chi tiết tại phần sau ) và kiến trúc RESTful Service ( mô tảchi tiết sau) Đối với mô hình web MVC có rất nhiều framework hỗ trợ Trong khuôn khổ

đồ án sử dụng Springweb MVC vì nó hỗ trợ mạnh kiến trúc Restful và JSON object Ngoài

Trang 31

ra ở tầng Model, đồ án sử dụng Hibernate Frame work để công việc kết nối với database dễdàng hơn Cơ sở dữ liệu được xây dựng bằng Oracle 10g Ta có thể tóm tắt chức năng của

3 tầng như sau:

 Tầng View trả về dữ liệu hiện thị cho các request, ở đây là các JSON object

 Tầng Controler nhận các Request và quyết định làm gì: thao tác gì cho dữ liệu nào

để trả về kết quả cho tầng View Nó gọi đến các đối tượng thuộc tầng Model đểcác đối tượng này thực hiện công việc của mình

 Tầng Model thực hiện các thao tác dữ liệu mà Controler uỷ thác

4.2 Biểu đồ USE CASE

Ta xây dựng biểu đồ Use case với các chức năng chính xoay quanh người dùng.Người dùng có thể là thành viên của Facebook, thành viên đã đăng ký của mạng xã hội địađiểm và những người chưa đăng ký Đối với những người chưa đăng ký, họ vẫn có thểdùng những chức năng phù hợp như định vị vị trí của mình trên bản đồ hay tìm người xungquanh Người dùng đã đăng ký có nhiều tính năng hơn thiên về kết nối và chia sẻ Còn đốivới những thành viên Facebook, họ có chức năng như thành viên bình thường thêm vào đó,

họ có thể post nội dung của mình lên trang cá nhân tại Facebook Chức năng trung tâm màngười dùng sử dụng đó là định vị bản thân,tìm hiểu bạn bè bao gồm định vị bạn bè và xemthông tin về bạn bè như, khám phá địa điểm, chia sẻ hành động , trải nghiệm, bình luận,khám phá xung quanh, gửi tin nhắn cho bạn bè trên hệ thống

Trang 32

Hình 4.2 Biểu đồ USE CASE

Các chức năng chia sẻ và kết nối chỉ có với người dùng là thành viên hoặc thành viênFacebook, điều này yêu cầu việc đăng nhập

4.2.1 Login

Người dùng đăng nhập hệ thống đối với các thành viên đã tham gia và những thànhviên của Facebook Các thành viên Facebook sẽ đăng nhập với Facebook server và gửithông tin của mình ( UID ) để Server quản lý mạng kết nối với thành viên này Sau đây làbiểu đồ tuần tự của chức năng Login:

Trang 33

Hình 4.2.1: biểu đồ tuần tự login

4.2.2 Tham gia

Hình 4.2.2: biểu đồ tuần tự tham gia

Trang 34

Chức năng báo danh hay đăng ký cho những người dùng chưa phải là thành viên.

4.2.3 Định vị bản thân

Hình 4.2.3: biểu đồ tuần tự định vị bản thân

Chức năng xác định vị trí của bản thân nhở sử dụng tín hiệu GPS hoặc cột phátwireless Khi vị trí thay đổi 1 khoảng cách xác định, cần update vị trí nhờ tín hiệu GPS vàcập nhật ví trí này lên server để chia sẻ

4.2.4 Khám phá xung quanh

Kiểm tra những người hoặc xung quanh nhờ kết nối với server, gửi yêu cầu serverkiểm tra Những người chia sẻ vị trí cho mọi người hoặc chia sẻ với người dùng này sẽđược hiển thị

Trang 35

Hình 4.2.4: biểu đồ tuần tự khám phá xung quanh

4.2.5 Khám phá địa điểm

Hình 4.2.5: biểu đồ tuần tự khám phá địa điểm

Trang 36

Khám phá địa điểm là chức năng cho phép người dùng tìm hiểu về các địa điểm trênbản đồ Khi người dùng chọn địa điểm, ứng dụng sẽ gửi yêu cầu đến server, kết quả trả về

là thông tin liên quan đến địa điểm bao gồm các trải nghiệm (có thể có ảnh đi kèm) củamọi người về địa điểm này Trên biểu đồ có thể thấy được việc lưu các trải nghiệm này vào

cơ sở dữ liệu trên client để hạn chế dữ liệu tải về

4.2.6 Quản lý thông tin cá nhân

Quản lý thông tin cá nhân cho phép người dùng hiển thị cập nhật và thay đổi thông tincủa mình như avatar, tên cho cả thành viên của mạng xã hội địa điểm hay các thành viênFacebook

Hình 4.2.6.a: biểu đồ tuần tự hiển thị profile

Ứng dụng kiểm tra thành viên có là thành viên của Facebook không trước khi gửirequest đến server tương ứng

Trang 37

Hình 4.2.6.b: biểu đồ tuần tự cập nhật thông tin

Cập nhật thông tin cũng tiến hành tương tự Ứng dụng sẽ kiểm tra xem người dùng có

là thành viên của Facebook không Việc cập nhật cũng được lưu trong database của ứngdụng

4.2.7 Chia sẻ hành động

Hành động của người dùng có thể là hành động hàng ngày họ muốn chia sẻ như xemphim đá bóng, uống cà phê hay đi du lịch… hay cũng có thể là tâm trạng hàng ngày muốnchia sẻ- rất giống với các chương trình chat truyền thống Nó sẽ được hiển thị cho những ai

mà người dùng cho phép Đối với người dung Facebook, nó sẽ post nội dung lên trang cánhân của người dùng trên Facebook

Trang 38

Hình 4.2.7: biểu đồ tuần tự chia sẻ hành động

4.2.8 Tìm hiểu bạn bè

Tìm hiểu bạn bè giúp người dùng có được các thông tin về bạn bề Với mạng xã hộiđịa điểm thì quan trọng đó là vị trí hiện tại của họ hay những địa điểm mà họ quan tâm vàchia sẻ những trải nghiệm của mình trên địa điểm đó Thêm vào đó, giống như các mạng

xã hội thuần tuý, có chức năng hiển thị danh sách bạn bè của người bạn minh

Dưới đây là biểu đồ tuần tự định vị bạn bè

Ngày đăng: 22/11/2014, 08:41

HÌNH ẢNH LIÊN QUAN

Hình 2.1.a mạng xã hội - xây dựng mạng xã hội địa điểm trên mobile
Hình 2.1.a mạng xã hội (Trang 9)
Hình 3.2.1 Location base service - xây dựng mạng xã hội địa điểm trên mobile
Hình 3.2.1 Location base service (Trang 18)
Hình 3.4.2 kiến trúc Hibernate - xây dựng mạng xã hội địa điểm trên mobile
Hình 3.4.2 kiến trúc Hibernate (Trang 24)
Hình 4.2 Biểu đồ USE CASE - xây dựng mạng xã hội địa điểm trên mobile
Hình 4.2 Biểu đồ USE CASE (Trang 29)
Hình 4.2.1: biểu đồ tuần tự login - xây dựng mạng xã hội địa điểm trên mobile
Hình 4.2.1 biểu đồ tuần tự login (Trang 30)
Hình 4.2.3: biểu đồ tuần tự định vị bản thân - xây dựng mạng xã hội địa điểm trên mobile
Hình 4.2.3 biểu đồ tuần tự định vị bản thân (Trang 31)
Hình 4.2.4: biểu đồ tuần tự khám phá xung quanh - xây dựng mạng xã hội địa điểm trên mobile
Hình 4.2.4 biểu đồ tuần tự khám phá xung quanh (Trang 32)
Hình 4.2.5: biểu đồ tuần tự khám phá địa điểm - xây dựng mạng xã hội địa điểm trên mobile
Hình 4.2.5 biểu đồ tuần tự khám phá địa điểm (Trang 32)
Hình 4.2.6.b: biểu đồ tuần tự cập nhật thông tin - xây dựng mạng xã hội địa điểm trên mobile
Hình 4.2.6.b biểu đồ tuần tự cập nhật thông tin (Trang 34)
Hình 4.2.7: biểu đồ tuần tự chia sẻ hành động - xây dựng mạng xã hội địa điểm trên mobile
Hình 4.2.7 biểu đồ tuần tự chia sẻ hành động (Trang 35)
Hình 4.2.8.a: biểu đồ tuần tự định vị bạn bè - xây dựng mạng xã hội địa điểm trên mobile
Hình 4.2.8.a biểu đồ tuần tự định vị bạn bè (Trang 36)
Hình 4.2.8.b: biểu đồ tuần tự xem trải nghiệm bạn bè - xây dựng mạng xã hội địa điểm trên mobile
Hình 4.2.8.b biểu đồ tuần tự xem trải nghiệm bạn bè (Trang 37)
Hình 4.2.9: biểu đồ tuần tự bình luận - xây dựng mạng xã hội địa điểm trên mobile
Hình 4.2.9 biểu đồ tuần tự bình luận (Trang 38)
Hình 4.2.10: biểu đồ tuần tự chia sẻ trải nghiệm - xây dựng mạng xã hội địa điểm trên mobile
Hình 4.2.10 biểu đồ tuần tự chia sẻ trải nghiệm (Trang 39)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w