Khóa luận Mạng xã hội địa điểm trên facebook

Tài liệu Khóa luận Mạng xã hội địa điểm trên facebook: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trần Hồng Hải MẠNG XÃ HỘI ĐỊA ĐIỂM TRÊN FACEBOOK KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trần Hồng Hải MẠNG XÃ HỘI ĐỊA ĐIỂM TRÊN FACEBOOK KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: Thạc sỹ Hồ Đắc Phương HÀ NỘI - 2010 LỜI CẢM ƠN Trước hết em xin gửi tới thầy Hồ Đắc Phương lời cảm ơn chân thành và sâu sắc đã trực tiếp hướng dẫn, chỉ bảo tận tình trong suốt quá trình em làm khóa luận tốt nghiệp. Em xin cảm ơn cô Nguyễn Minh Hằng trong những ngày cuối đã giúp em hoàn thiện khóa luận. Em cũng xin chân thành cảm ơn các thầy cô giáo trong Đại học Công Nghệ đã hết lòng dạy bảo, giúp đỡ em trong những năm học đại học, giúp em có những kiến thức và kinh nghiệm quý giá trong chuyên môn và cuộc sống. Những hành trang đó là một tài sản vô giá nâng bước cho em tới được với...

pdf47 trang | Chia sẻ: haohao | Lượt xem: 1342 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Mạng xã hội địa điểm trên facebook, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trần Hồng Hải MẠNG XÃ HỘI ĐỊA ĐIỂM TRÊN FACEBOOK KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trần Hồng Hải MẠNG XÃ HỘI ĐỊA ĐIỂM TRÊN FACEBOOK KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: Thạc sỹ Hồ Đắc Phương HÀ NỘI - 2010 LỜI CẢM ƠN Trước hết em xin gửi tới thầy Hồ Đắc Phương lời cảm ơn chân thành và sâu sắc đã trực tiếp hướng dẫn, chỉ bảo tận tình trong suốt quá trình em làm khóa luận tốt nghiệp. Em xin cảm ơn cô Nguyễn Minh Hằng trong những ngày cuối đã giúp em hoàn thiện khóa luận. Em cũng xin chân thành cảm ơn các thầy cô giáo trong Đại học Công Nghệ đã hết lòng dạy bảo, giúp đỡ em trong những năm học đại học, giúp em có những kiến thức và kinh nghiệm quý giá trong chuyên môn và cuộc sống. Những hành trang đó là một tài sản vô giá nâng bước cho em tới được với những thành công trong tương lai. Cuối cùng, em xin cảm ơn những người thân trong gia đình và bạn bè đã giúp đỡ, động viên em hoàn thành khóa luận tốt nghiệp của mình. TÓM TẮT NỘI DUNG KHÓA LUẬN Khóa luận nghiên cứu và trình bày cách thức tạo ra một mạng xã hội địa điểm. Cũng giống như mạng xã hội ảo các thành viên trong mạng chia sẻ cho nhau thông tin về cá nhân, cảm nghĩ hay một vấn đề nào đó thì ở mạng xã hội địa điểm thông tin được chia sẻ là về vị trí, địa điểm yêu thích của từng thành viên. Phần đầu khóa luận giới thiệu về các công nghệ liên quan như : Mạng xã hội ảo Facebook, dịch vụ Google Map, dịch vụ GPS, các ứng dụng mang tính chất tương tự. Phần thứ hai khóa luận trình bày các bước xây dựng một ứng dụng có tên “ Mạng xã hội địa điểm”. Sau đó khóa luận đi sâu vào xây dựng chức năng và cách sử dụng ứng dụng để tạo nên một mạng xã hội địa điểm. Việc áp dụng “ Mạng xã hội địa điểm” vào thực tế và kết luận được viết ở cuối khóa luận. MỤC LỤC Chương I: Đặt vấn đề: ........................................................................................................1 Chương II: Các công nghệ liên quan: ................................................................................4 2.1. Mạng xã hội: ........................................................................................................4 2.1.1. Mạng xã hội là gì? ..........................................................................................4 2.1.2 . Facebook ........................................................................................................5 2.2 . Google Map ........................................................................................................8 2.3. GPS ......................................................................................................................9 2.4 . Các ứng dụng tương tự ......................................................................................13 2.4.1. Map Your Buddies .......................................................................................13 2.4.2. Useamap ......................................................................................................14 Chương III: Kiến trúc hệ thống .......................................................................................15 3.1 . Mô tả hệ thống ..................................................................................................15 3.2 . Thành phần hệ thống .........................................................................................16 3.2.1 . Client ...........................................................................................................16 3.2.2 . Facebook Server ..........................................................................................19 3.2.3 . Google Map .................................................................................................19 3.2.4 . Server ...........................................................................................................21 3.2.5 . Database Server ...........................................................................................23 3.2.6 . Webservices .................................................................................................25 3.2.7 . Mobile-Application .....................................................................................26 Chương IV: Cài đặt ..........................................................................................................28 4.1 . Cài đặt hệ thống ................................................................................................28 4.2 . Đăng nhập và tham gia vào ứng dụng ..............................................................30 4.2.1 . Đăng nhập Facebook ...................................................................................30 4.2.2 . Tham gia vào ứng dụng ...............................................................................31 4.3 . Cách sử dụng ứng dụng ....................................................................................32 4.4 . Mở rộng ứng dụng ............................................................................................34 4.4.1 . Mở rộng ứng dụng cho hãng Taxi ...............................................................34 4.4.2 . Mở rộng ứng dụng cho nhà hàng ăn ............................................................38 Chương V: Kết luận .........................................................................................................39 5.1 . Khái quát nội dung đề tài ..................................................................................39 5.2 . Các bước thực hiện ...........................................................................................39 5.3 . Kết quả đạt được ...............................................................................................39 5.4 . Phương hướng phát triển ..................................................................................40 1 CHƯƠNG I : ĐẶT VẤN ĐỀ Mình đang ở đâu? Taxi ở đâu gần nhất? ATM rút đâu là tiện đường nhất? … Những câu hỏi mà chúng ta thường gặp trong cuộc sống. Nó thật sự không khó nhưng thỉnh thoảng làm cho ta bối rối, làm cho ta xoay quanh câu hỏi “ địa điểm”. Tìm ra đường ở những khu đô thị nhà mọc san sát, các con đường mới mở, góc phố, ngõ hẽm, không dễ khi ta không phải dân bản địa. Luôn cầm theo một tấm bản đồ thì thật bất tiện. Một câu nói “Đường ở cái miệng”, muốn biết mình đi đường nào cho đúng hãy hỏi người xung quanh. Muốn biết bạn mình đang ở đâu hãy hỏi chính người bạn đó. Khuyên bạn hãy hỏi những điều tốt hơn như là : “Bạn khỏe chứ !!!” thay vì hỏi về “địa điểm”. Bởi trong tay chúng ta có công nghệ. Ngày nay thiết bị định vị toàn cầu GPS đã phổ biến, cung cấp cho chúng ta về vị trí trên toàn cầu. GPS định vị chính xác từng điểm trên bản đồ, đang đứng yên hay di chuyển. Cần có liên kết để biết bạn mình ở đâu. Mạng xã hội Facebook giúp chúng ta kết nối với nhiều người bạn, cung cấp môi trường phát triển ứng dụng. Việc kết hợp giữa GPS và Facebook để tạo ra một ứng dụng mạng xã hội địa điểm là rất có tiềm năng. Qua ứng dụng này ta có thể trả lời những câu hỏi về “địa điểm” thường gặp trong cuộc sống. Ứng dụng mạng xã hội địa điểm cho phép những người dùng trong Facebook có thể cập nhật vị trí của mình ở thời điểm hiện tại, và theo dõi vị trí hiện tại của bạn bè. Thêm vào đó có thể biết được những điểm yêu thích của người khác. Từ ứng dụng cơ bản này, có thể mở rộng triển khai cho một loạt các dịch vụ hữu ích khác: truy tìm vị trí của các xe taxi, truy tìm vị trí các máy ATM, quán café, các khu vui chơi... quanh vị trí đang đứng. Ứng dụng phải đảm bảo các yêu cầu: tính tiện lợi, dễ sử dụng đối với mọi người dùng, đề xuất đảm bảo được sự riêng tư cho mỗi người dùng khi có yêu cầu. Trong khóa luận này chúng ta nghiên cứu về cách thức tạo ra một mạng xã hội địa điểm. Về mặt xã hội, khóa luận giới thiệu về một mạng xã hội đang thịnh hành là Facebook. Cơ sở hạ tầng tốt và cách thức tham gia đơn giản cộng với sự phong phú về chức năng giúp Facebook chiếm được cảm tình của nhiều người dùng. Hàng triệu thành viên đến với Facebook, các thành viên tự kết nối đến với nhau, chia sẻ thông tin cho nhau 2 tạo nên tính xã hội rất cao trên Facebook. Về mặt vị trí thì khóa luận giới thiệu về hai công nghệ chính là Google Map và GPS. Đây là hai công nghệ đang phát triển mạnh mẽ, được ứng dụng vào rất nhiều lĩnh vực. Google Map cho ta một bản đồ thế giới, qua đó ta có thể hiển thị vị trí mà GPS cung cấp. Khóa luận nói về lịch sử ra đời, cách thức hoạt động và yêu cầu hệ thống của hai công nghệ trên. Tính hợp lý khi kết hợp giữa GPS và Google Map cũng được phân tích trong khóa luận. Phần chính khóa luận viết về cách thức tạo ra một mạng xã hội địa điểm. Xây dựng một ứng dụng để kết nối mọi người lại với nhau đồng thời tạo ra những địa điểm cho từng người. Ứng dụng là sự kết hợp giữa Facebook, Google Map, GPS. Facebook cung cấp môi trường phát triển ứng dụng khá hoàn hảo. Thừa hưởng tính xã hội từ Facebook đưa vào ứng dụng, giúp ứng dụng mang tính xã hội cao. Chức năng chia sẻ ứng dụng của Facebook góp phần chính để đưa ứng dụng đến tay người dùng. Khóa luận nêu ra những ưu điểm mà Facebook mang lại sau đó đi sâu về phân tích hệ thống của ứng dụng. Phân tích từng thành phần của ứng dụng cũng như chức năng của các thành phần đó. Mỗi thành phần đều được trình bày rỏ ràng trong khóa luận. Các API của Facebook và Google Map cung cấp cũng được chỉ ra và cách áp dụng vào trong ứng dụng. Sau khi trình bày về thành phần cấu tạo của ứng dụng, khóa luận nói tiếp về cách cài đặt các thành phần để tạo nên ứng dụng. Một trong số đó cần kể đến cách thiết đặt cấu hình cho ứng dụng trên Facebook. Cấu hình ứng dụng trên Facebook chính là yếu tố quan trọng trong xây dựng hệ thống. Sau đó khóa luận hướng dẫn người dùng làm sao để có thể tham gia vào ứng dụng. Nội dung khóa luận gồm những phần như sau : + Chương một là đặt vấn đề. Đưa ra những vấn đề cần được giải quyết, nêu ra giải pháp để xử lý các vấn đề đó. Nói về sự thiết thực khi tạo ứng dụng mạng xã hội địa điểm cộng với việc áp dụng vào thực tế, hiệu quả trước mắt và lâu dài. Cuối chương một là phần giới thiệu khái quát nội dung của khóa luận. + Chương hai là các công nghệ liên quan. Chương này viết về các công nghệ liên quan trong ứng dụng mạng xã hội địa điểm. Đầu chương là định nghĩa cơ bản về mạng xã hội. Trong đó có các vấn đề như mạng xã hội là gì, lịch sử ra đời, cấu thành và mục tiêu của mạng xã hội. Sau đó giới thiệu về mạng xã hội Facebook. Trong đó có lịch sử ra đời, những con số đáng được nhắc đến của Facebook, nhân tố để Facebook trở nên thành công. Cũng ở chương này khóa luận nêu ra hai công nghệ quan trọng là Google Map và GPS. Phần cuối 3 chương khóa luận giới thiệu thêm hai ứng dụng có tính chất tương tự như mạng xã hội địa điểm. + Chương ba là kiến trúc hệ thống. Trong chương này khóa luận xây dựng một mô hình hệ thống. Sau đó đưa ra thành phần của hệ thống rồi phân tích từng thành phần một. Mỗi thành phần được khóa luận phân tích đầy đủ về cấu tạo và chức năng riêng. + Chương bốn là cài đặt ứng dụng. Cài đặt ứng dụng và cách thức tham gia vào ứng dụng được khóa luận viết ở chương này. Cốt lõi của chương này là cài đặt cấu hình cho ứng dụng. Sau đó khóa luận trình bày thêm cách sử dụng ứng dụng, một số mô hình kinh doanh được áp dụng vào trong ứng dụng. + Chương năm là kết luận. Trong chương này có tổng kết khóa luận, các bước tiến hành, kết quả đạt được và phương hướng phát triển ứng dụng. 4 CHƯƠNG II : CÁC CÔNG NGHỆ LIÊN QUAN 2.1 . Mạng xã hội 2.1.1 . Mạng xã hội là gì? Theo [3] mạng xã hội, hay gọi là mạng xã hội ảo(social network) là 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ác nhau 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ành mộ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ặc screen name), hoặc dựa trên sở thích cá nhân (như thể thao, phim ảnh, sách báo, hoặc ca nhạc), lĩnh vực quan tâm: kinh doanh, mua bán... 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 được thành công đáng kể theo vùng miền như Bebo tại Anh Quốc, CyWorld tại Hàn Quốc, Mixi tại Nhật Bản và Yahoo! 360 tại Việt Nam. - 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 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ên ghi danh. Tuy nhiên sự phát triển quá nhanh này cũng là con dao hai lưỡi: server của Friendster 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 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ủa Friendster cũng lũ lượt chuyển qua MySpace và trong vòng một năm, MySpace trở thành mạng xã hội đầu tiên có 5 nhiều lượt xem hơn cả Google và được tập đoàn News Corporation 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 ra những công cụ (apps) mới cho cá nhân mình cũng như các thành viên khác dùng. - Cấu thành: • Nút (node): Là một thực thể trong mạng. Thực thể này có thể là một cá nhân, một doanh nghiệp hoặc một tổ chức bất kỳ nào đó • Liên kết (tie): là mối quan hệ giữa các thực thể đó. Trong mạng có thể có nhiều kiểu liên kết. Ở dạng đơn giản nhất, mạng xã hội là một đơn đồ thị vô hướng các mối liên kết phù hợp giữa các nút. Ta có thể biểu diễn mạng liên kết này bằng một biểu đồ mà các nút được biểu diễn bởi các điểm còn các liên kết được biểu diễn bởi các đoạn thẳng. - Mục tiêu: • Tạo ra một hệ thống trên nền Internet cho phép người dùng giao lưu và chia sẻ thông tin một cách có hiệu quả, vượt ra ngoài những giới hạn về địa lý và thời gian. • Xây dựng lên một mẫu định danh trực tuyến nhằm phục vụ những yêu cầu công cộng chung và những giá trị của cộng đồng. • Nâng cao vai trò của mỗi công dân trong việc tạo lập quan hệ và tự tổ chức xoay quanh những mối quan tâm chung trong những cộng đồng thúc đẩy sự liên kết các tổ chức xã hội. 2.1.2 . Facebook Theo [4] Facebook là một tiện ích có tính xã hội để kết nối mọi người với bạn bè và những người đang sống, học tập và làm việc xung quanh. Người ta sử dụng Facebook để giữ liên lạc với bạn bè, tải không giới hạn hình ảnh, đưa các liên kết và video, và để hiểu thêm về những người họ đã gặp. 6 Hình 2.1 : facebook - Lịch sử Facebook: Mark Zuckerberg thành lập Facebook cùng với bạn bè là bạn cùng phòng Dustin Moskovitz và Chris Hughes khi ông còn là sinh viên tại Đại học Harvard. Facebook mở đầu là một phiên bản Hot or Not của Đại học Harvard với tên gọi Facemash. Mark Zuckerberg, khi đang học năm thứ hai tại Harvard, đã dựng nên Facemash vào ngày 28 tháng 10 năm 2003. Học kỳ tiếp theo, Zuckerman thành lập "The Facebook", ban đầu đặt tại thefacebook.com, vào ngày 4 tháng 2 năm 2004. "Mọi người đã nói nhiều về một cuốn sách đăng ảnh trong Harvard", Zuckerberg nói với The Harvard Crimson. "Tôi cho rằng hơi bị ngu xuẩn khi trường đã phải mất vài năm để bỏ nó. Tôi có thể làm tốt hơn những gì họ có thể, và tôi có thể làm nó trong vòng một tuần". Việc đăng ký thành viên ban đầu giới hạn trong những sinh viên của Đại học Harvard, và trong vòng một tháng đầu tiên, hơn một nửa số sinh viên đại học tại Harvard đã đăng ký dịch vụ này. Eduardo Saverin (lĩnh vực kinh doanh), Dustin Moskovitz (lập trình viên), Andrew McCollum (nghệ sĩ đồ họa), và Chris Hughes nhanh chóng tham gia cùng với Zuckerberg để giúp quảng bá website. Vào tháng 3 năm 2004, Facebook mở rộng sang Stanford, Columbia, và Yale. Việc mở rộng tiếp tục khi nó mở cửa cho tất cả các trường 7 thuộc Ivy League và khu vực Boston, rồi nhanh chóng đến hầu hết đại học ở Canada và Hoa Kỳ. Vào tháng 6 năm 2004, Facebook chuyển cơ sở điều hành đến Palo Alto, California. Công ty đã bỏ chữ The ra khỏi tên sau khi mua được tên miền facebook.com vào năm 2005 với giá 200.000 USD. Facebook ra mắt phiên bản trung học vào tháng 9 năm 2005, Zuckerberg gọi nó là một bước logic tiếp theo. Vào thời gian đó, các mạng của trường trung học bắt buộc phải được mời mới được gia nhập. Facebook sau đó mở rộng quyền đăng ký thành viên cho nhân viên của một vài công ty, trong đó có Apple Inc và Microsoft. Tiếp đó vào ngày 26 tháng 9 năm 2006, Facebook mở cửa cho mọi người trên 13 tuổi với một địa chỉ email hợp lệ. Vào tháng 10 năm 2008, Facebook tuyên bố nó đã thiết lập một trụ sở quốc tế tại Dublin, Ireland. - Ấn tượng với Facebook Website hiện có hơn 250 triệu thành viên đăng ký sử dụng trên khắp thế giới. Facebook qua mặt Myspace về số lượng người truy cập, khiến cho Facebook trở thành mạng xã hội phổ biến nhất, tiếp theo sau là MySpace và Twitter. Zuckerberg cho rằng "250 triệu người sử dụng không chỉ là một con số ấn tượng mà nó còn cho thấy bao nhiêu người trên thế giới đang kết nối với nhau". Facebook là 1 sự lựa chọn được yêu thích của người dùng Việt Nam. Trong những tuần đầu của tháng 7, Việt Nam chính là quốc gia có số lượng thành viên sử dụng Facebook tăng nhanh nhất thế giới. Facebook đã có thêm 1 cột mốc mới trong lịch sử của mình: trang web đã đạt hơn 1 tỷ lượt xem video trong tháng 6 vừa qua. 1 tỷ lượt xem video không phải là nhỏ nhưng nó vẫn không "thấm" vào đâu so với số lượt xem video của YouTube. Trang web chia sẻ video số 1 thế giới này có tới 1,2 tỷ lượt xem mỗi ngày. Nhưng chắc chắn Facebook Video sẽ còn tiếp tục phát triển bởi lẽ Facebook đã đi từ con số 0 để trở thành mạng xã hội lớn nhất hiện nay với tốc độ tăng trưởng kinh khủng chỉ trong 1 năm trở lại đây. Facebook đã gặp phải một số tranh cãi trong những năm qua. Nó đã bị cấm một thời gian tại một số quốc gia, trong đó có Syria và Iran. Nó cũng đã bị cấm tại nhiều công sở để hạn chế nhân viên tốn thời gian sử dụng dịch vụ. Quyền riêng tư cũng là một vấn đề, và nó bị lạm dụng vài lần. Trang này cũng đang đối mặt với một số vụ kiện từ một số bạn 8 cùng lớp của Zuckerberg, họ nói rằng Facebook đã ăn cắp mã nguồn và các tài sản trí tuệ khác của họ. - Những nhân tố đem lại thành công của Facebook: + Cung cấp dịch vụ tiện ích trực tuyến để phục vụ các hành vi xã hội trong một cộng đồng ngoại tuyến. Facebook tạo ra môi trường cho các hoạt động trí tuệ, xoay quanh mối quan hệ giữa con người; cho phép chia sẻ quan điểm, suy nghĩ, thông tin và tương tác với nhau. + Thời gian đầu, hạn chế đăng ký thành viên (và các hành vi khác) để tạo ra sự thèm muốn các dịch vụ trực tuyến (tạo làn sóng đăng ký thông qua hình thức marketing truyền khẩu) + Facebook là tổng hợp của một chuỗi các cộng đồng vi mô đã được thâm nhập sâu + Xây dựng nhận thức thương hiệu mạnh dựa trên người dùng và quảng cáo, các sáng lập viên được sự tín nhiệm của các học viên (trong thời gian khởi sự Facebook) + Facebook cung cấp một mạng xã hội được tiêu chuẩn hoá và tự điều khiển/linh hoạt - một cổng dừng chân được cá nhân hoá cao phục vụ kết nối trực tuyến - người sử dụng có thể lập trình ra trang của riêng họ với các ứng dụng kéo-và-thả liên tục được tạo mới, có giao diện người sử dụng đơn giản, sạch, bảo mật và ổn định. + Người sử dụng thích được giới thiệu bản thân của họ và kết nối với bạn bè trong một môi trường được bảo vệ, nơi những người được họ tin tưởng và biết nằm trong mạng lưới của họ và họ không cảm thấy bị xâm hại hoặc cưỡng chế xem quảng cáo. + Quảng cáo của Facebook được cá nhân hoá và dựa trên tính truyền miệng, đàm luận. 2.2 . GOOGLE MAP Google Maps (thời gian trước còn gọi là Google Local) là một dịch vụ ứng dụng và công nghệ bản đồ trực tuyến trên web miễn phí được cung cấp bởi Google và hỗ trợ nhiều dịch vụ dựa vào bản đồ như Google Ride Finder và một số có thể dùng để nhúng vào các trang web của bên thứ ba thông qua Google Maps API. Nó cho phép thấy bản đồ đường xá, đường đi cho xe đạp, cho người đi bộ (những đường đi ngắn hơn 6.2 dặm) và xe hơi, 9 và những địa điểm kinh doanh trong khu vực cũng như khắp nơi trên thế giới. Lúc đó chúng ta có thể nhấp và kéo bản đồ để xem ngay các khu vực lân cận. Xem hình ảnh vệ tinh của vị trí mong muốn mà bạn có thể thu nhỏ, phóng to và quay. 3.3 . GPS : Global Positioning System Theo [1] GPS (Global Positioning System) - Hệ thống định vị toàn cầu - là hệ thống xác định vị trí dựa trên vị trí của các vệ tinh nhân tạo. Trong cùng một thời điểm, ở một vị trí trên mặt đất nếu xác định được khoảng cách đến ba vệ tinh (tối thiểu) thì sẽ tính được toạ độ của vị trí đó. GPS được thiết kế và quản lý bởi Bộ Quốc phòng Hoa Kỳ, nhưng chính phủ Hoa Kỳ cho phép mọi người sử dụng nó miễn phí, bất kể quốc tịch từ năm 1980, GPS hoạt động trong mọi điều kiện thời tiết, mọi nơi trên Trái Đất, 24 giờ một ngày. Không mất phí thuê bao hoặc mất tiền trả cho việc thiết lập sử dụng GPS. GPS là hệ dẫn đường dựa trên một mạng lưới 24 quả vệ tinh được đặt trên quỹ đạo không gian, hoạt động dựa trên các trạm phát tín hiệu vô tuyến điện. Được biết nhiều nhất là các hệ thống có tên gọi LORAN - hoạt động ở giải tần 90-100 kHz chủ yếu dùng cho hàng hải, hay TACAN - dùng cho quân đội Mỹ và biến thể với độ chính xác thấp VOR/DME - VHF dùng cho hàng không dân dụng - Sự hoạt động của GPS Các vệ tinh GPS bay vòng quanh Trái Đất hai lần trong một ngày theo một quỹ đạo rất chính xác và phát tín hiệu có thông tin xuống Trái Đất. Các máy thu GPS nhận thông tin này và bằng phép tính lượng giác tính được chính xác vị trí của người dùng. Về bản chất máy thu GPS so sánh thời gian tín hiệu được phát đi từ vệ tinh với thời gian nhận được chúng. Sai lệch về thời gian cho biết máy thu GPS ở cách vệ tinh bao xa. Rồi với nhiều quãng cách đo được tới nhiều vệ tinh máy thu có thể tính được vị trí của người dùng và hiển thị lên bản đồ điện tử của máy. Máy thu GPS phải khoá được với tín hiệu của ít nhất ba quả vệ tinh để tính ra vị trí hai chiều (kinh độ và vĩ độ) và để theo dõi được chuyển động. Với bốn hay nhiều hơn số quả vệ tinh trong tầm nhìn thì máy thu có thể tính được vị trí ba chiều (kinh độ, vĩ độ và độ cao). Một khi vị trí người dùng đã tính được thì máy thu GPS có thể tính các thông tin 10 khác, như tốc độ, hướng chuyển động, bám sát di chuyển, khoảng hành trình, quãng cách tới điểm đến, thời gian Mặt Trời mọc, lặn và nhiều thứ khác nữa. - Độ chính xác của GPS Các máy thu GPS ngày nay cực kì chính xác, nhờ vào thiết kế nhiều kênh hoạt động song song của chúng. Các máy thu 12 kênh song song (của Garmin) nhanh chóng khoá vào các quả vệ tinh khi mới bật lên và chúng duy trì chắc chắn liên hệ này, thậm chí trong tán lá rậm rạp hoặc thành phố với các toà nhà cao tầng. Tình trạng nhất định của khí quyển và các nguồn gây sai số khác có thể ảnh hưởng tới độ chính xác của máy thu GPS. Các máy thu GPS có độ chính xác trung bình trong vòng 15 mét. Các máy thu mới hơn với khả năng WAAS có thể tăng độ chính xác trung bình tới dưới 3 mét. Không cần thêm thiết bị hay mất phí để có được lợi điểm của WAAS. Người dùng cũng có thể có độ chính xác tốt hơn với GPS Vi sai (Differential GPS, DGPS) sửa lỗi các tín hiệu GPS để có độ chính xác trong khoảng 3 đến 5 mét. Cục Phòng vệ Bờ biển Mỹ vận hành dịch vụ sửa lỗi này. Hệ thống bao gồm một mạng các đài thu tín hiệu GPS và phát tín hiệu đã sửa lỗi bằng các máy phát hiệu. Để thu được tín hiệu đã sửa lỗi, người dùng phải có máy thu tín hiệu vi sai bao gồm cả ăn-ten để dùng với máy thu GPS của họ. - Hệ thống vệ tinh GPS 24 quả vệ tinh làm nên vùng không gian GPS trên quỹ đạo 12 nghìn dặm cách mặt đất. Chúng chuyển động ổn định, hai vòng quỹ đạo trong khoảng thời gian gần 24 giờ. Các vệ tinh này chuyển động với vận tốc 7 nghìn dặm một giờ. Các vệ tinh được nuôi bằng năng lượng Mặt Trời. Chúng có các nguồn pin dự phòng để duy trì hoạt động khi chạy khuất vào vùng không có ánh sáng Mặt Trời. Các tên lửa nhỏ gắn ở mỗi quả vệ tinh giữ chúng bay đúng quỹ đạo đã định. Dưới đây là một số thông tin đáng chú ý về các vệ tinh GPS (còn gọi là NAVSTAR, tên gọi chính thức của Bộ Quốc phòng Mỹ cho GPS): • Vệ tinh GPS đầu tiên được phóng năm 1978. 11 • Hoàn chỉnh đầy đủ 24 vệ tinh vào năm 1994. • Mỗi vệ tinh được làm để hoạt động tối đa là 10 năm. • Vệ tinh GPS có trọng lượng khoảng 1500kg và dài khoảng 5m với các tấm năng lượng Mặt Trời mở (có độ rộng 7m²). • Công suất phát bằng hoặc dưới 50 watts. - Tín hiệu GPS Các vệ tinh GPS phát hai tín hiệu vô tuyến công suất thấp giải L1 và L2. (Giải L là phần sóng cực ngắn của phổ điện từ trải rộng từ 0,39 tới 1,55 GHz). GPS dân sự dùng tần số L1 1575,42 MHz trong giải UHF. Tín hiệu truyền trực thị, có nghĩa là chúng sẽ xuyên qua mây, thuỷ tinh và nhựa nhưng không qua phần lớn các đối tượng cứng như núi và nhà. Tín hiệu GPS chứa ba mẩu thông tin khác nhau - mã giả ngẫu nhiên, dữ liệu thiên văn và dữ liệu lịch. Mã giả ngẫu nhiên đơn giản chỉ là mã định danh để xác định được quả vệ tinh nào là phát thông tin nào. Có thể nhìn số hiệu của các quả vệ tinh trên trang vệ tinh của máy thu Garmin để biết nó nhận được tín hiệu của quả nào. Dữ liệu thiên văn cho máy thu GPS biết quả vệ tinh ở đâu trên quỹ đạo ở mỗi thời điểm trong ngày. Mỗi quả vệ tinh phát dữ liệu thiên văn chỉ ra thông tin quỹ đạo cho vệ tinh đó và mỗi vệ tinh khác trong hệ thống. Dữ liệu lịch được phát đều đặn bởi mỗi quả vệ tinh, chứa thông tin quan trọng về trạng thái của vệ tinh (lành mạnh hay không), ngày giờ hiện tại. Phần này của tín hiệu là cốt lõi để phát hiện ra vị trí. - Nguồn lỗi của tín hiệu GPS Những điều có thể làm giảm tín hiệu GPS và vì thế ảnh hưởng tới chính xác bao gồm: • Giữ chậm của tầng đối lưu và tầng ion - Tín hiệu vệ tinh bị chậm đi khi xuyên qua tầng khí quyển. • Tín hiệu đi nhiều đường - Điều này xảy ra khi tín hiệu phản xạ từ nhà hay các đối tượng khác trước khi tới máy thu. 12 • Lỗi đồng hồ máy thu - Đồng hồ có trong máy thu không chính xác như đồng hồ nguyên tử trên các vệ tinh GPS. • Lỗi quỹ đạo - Cũng được biết như lỗi thiên văn, do vệ tinh thông báo vị trí không chính xác. • Số lượng vệ tinh nhìn thấy - Càng nhiều quả vệ tinh được máy thu GPS nhìn thấy thì càng chính xác. Nhà cao tầng, địa hình, nhiễu loạn điện tử hoặc đôi khi thậm chí tán lá dầy có thể chặn thu nhận tín hiệu, gây lỗi định vị hoặc không định vị được. Nói chung máy thu GPS không làm việc trong nhà, dưới nước hoặc dưới đất. • Hình học che khuất - Điều này liên quan tới vị trí tương đối của các vệ tinh ở thời điểm bất kì. Phân bố vệ tinh lí tưởng là khi các quả vệ tinh ở vị trí góc rộng với nhau. Phân bố xấu xảy ra khi các quả vệ tinh ở trên một đường thẳng hoặc cụm thành nhóm. • Sự giảm có chủ tâm tín hiệu vệ tinh - Là sự làm giảm tín hiệu cố ý do sự áp đặt của Bộ Quốc phòng Mỹ, nhằm chống lại việc đối thủ quân sự dùng tín hiệu GPS chính xác cao. Chính phủ Mỹ đã ngừng việc này từ tháng 5 năm 2000, làm tăng đáng kể độ chính xác của máy thu GPS dân sự. (Tuy nhiên biện pháp này hoàn toàn có thể được sử dụng lại trong những điều kiện cụ thể để đảm bảo gậy ông không đập lưng ông. Chính điều này là tiềm ẩn hạn chế an toàn cho dẫn đường và định vị dân sự.) - Các thiết bị ứng dụng GPS: Điện thoại di động • ETEN Glofiish X500/X600/X650/X800-M700/M800/M810 • Asus P535/P735 • Mio A701 • Nokia N95 Trong quân sự: • Bom thông minh JDAM, Tên lửa không đối đất, Tên lửa hành trình,Tên lửa đất đối đất ... 13 2.4 . Các ứng dụng tương tự 2.4.1 . Map Your Buddies: Một ứng dụng tương tự, cũng sử dụng các API của Facebook, Amazon và Google Map. Là một phi dự án của Đại Học Thương Mại bởi André , Thomas và Joern sau khi họ tốt nghiệp khóa học Capstone IS696. Cách thức hoạt động của Map Your Buddies: Sau khi người dùng đăng nhập Facebook tất cả địa điểm của bạn bè được đưa lên Google Map. - Các chức năng chính của Map Your Buddies : + Cung cấp chức năng phân loại cho bạn bè trong danh sách. + Hiển thị đánh dấu theo Zoom của MAP. + Xử lý thông tin ngày sinh của bạn để hiển thị một danh sách ngày sinh nhật hoặc đánh dấu các bạn bè trong danh sách bạn bè. Hình 2.2 : Giao diện của Map Your Buddies 14 2.4.2 . Useamap Là một ứng dụng hiện nay đang hoạt động, thu hút được khá nhiều người dùng. Truy cập trang web useamap.com và đăng ký cho mình một tài khoản là bạn có thể làm rất nhiều thứ trên đấy. Giao tiếp ngay trên web, mỗi người dùng có thể đánh dấu nhiều vị trí mà mình thích. Ứng dụng không hỗ trợ kết nối bạn bè dẫn đến sự khó khăn trong chia sẻ. Mang tính là ứng dụng cho công việc nên Useamap không thể “hòa nhập” vào trong sinh hoạt đời sống của người dùng. 15 CHƯƠNG III : KIẾN TRÚC HỆ THỐNG 3.1 . Mô tả hệ thống Hình 3.1 : Kiến trúc hệ thống : User Login Facebook Server Google Map Server Facebook Application Map User’s data Friends info Mobile Application Server XHR XHR: XMLHttpRequest Database Server SQL Request Map Webservices XHR GET SQL Request 16 Mỗi người dùng khi tham gia vào hệ thống phải cung cấp vị trí của mình và những bạn bè trên Facebook có thể theo dõi vị trí này. Người dùng có thể sử dụng 2 cách để tham gia vào hệ thống. Có thể định vị trí bằng tay qua Web hoặc tự động xác định vị trí thông qua thiết bị có hỗ trợ GPS. Thiết bị này được cài đặt một ứng dụng cụ thể. Cách xác định một vị trí nào đó là căn cứ vào kinh độ và vĩ độ trên bản đồ thế giới được Google Map cung cấp. Ứng dụng phải chạy riêng biệt trên một máy chủ, làm nhiệm vụ nhận các yêu cầu về vị trí của mỗi người dùng, thao tác với cơ sở dữ liệu, và giao tiếp với các người dùng thông qua web hoặc XML (cho ứng dụng trên mobile). Ngoài ra ứng dụng cũng phải kết nối tới dịch vụ của Google Maps để nhận các dữ liệu bản đồ cho việc hiển thị. Các thông tin về mạng xã hội được nhận thông qua các APIs của Facebook. 3.2 . Thành phần hệ thống Hệ thống có: - Client - Facebook Server - Google Map - Server - Database Server - Webservices - Mobile Application 3.2.1 . Client Sau khi kết nối đến Facebook (www.facebook.com) người dùng đăng nhập với tài khoản của họ. Sau đó tham gia vào ứng dụng Mạng xã hội địa điểm bằng cách Allow khi được hỏi. Hoặc truy cập www.apps.facebook.com/xahoidiadiem và Allow ứng dụng. Mỗi người dùng khi tham gia thì phải cung cấp ID của mình cho ứng dụng. Từ ID đó ứng dụng sẽ lấy ra nhiều thông tin của mình trên Facebook Server. Client sẽ gửi yêu cầu tham gia lên server gồm có ID của người dùng. Ban đầu khi mới tham gia do chưa có trong cơ sở dữ liệu của ứng dụng nên Map hiển thị ở vị trí mặc định là thủ đô Hà Nội. Giao diện từ Client : 17 Hình 3.2 : Giao diện từ Client Client cho phép người dùng tự đặt địa điểm của riêng mình khi tích vào Set My Location. Client gửi lên server vị trí của người dùng kèm theo giá trị của Share. Tức là người người dùng muốn chia sẻ vị trí của họ cho tất cả các bạn bè hay không. Tiếp đến người dùng có thể đặt các địa điểm yêu thích riêng khi tích vào Favourite Places. 18 Hình 3.3 : Ví dụ địa điểm yêu thích Client nhận vị trí và chú thích địa điểm đó rồi gửi lên server. Mục Search Friend dùng để tìm kiếm một ai đó trong danh sách bạn bè của mình. Client gửi nội dung tìm kiếm lên server. Khi được server trả về Map sẽ tự động chuyển đến vị trí người bạn đấy nếu người đấy tồn tại và có trong cơ sở dữ liệu. Khi ngươi dùng tích chuột vào một trong số bạn của họ. Client yêu cầu server trả về thông tin của người bạn đó đồng thời hiển thị vị trí của người ấy vào giữa bản đồ cộng với địa điểm yêu thích nếu có. XHR: XMLHttpRequest Hình 3.4 : Giao tiếp Client Facebook Applicaton Server XHR 19 3.2.2 . Facebook Server Là máy chủ của mạng xã hội Facebook. Trong hệ thống này thì Facebook cung cấp cho ta môi trường phát triên ứng dụng dạng Iframe. Dữ liệu Facebook Server cung cấp cho chúng ta là ID người dùng, ID bạn bè, Info người dùng cũng như bạn bè của mình. Hình 3.5 : Giao tiếp Facebook Server và Server 3.2.3 . Google Map Cung cấp cho ứng dụng một bản đồ thế giới. Với các vị trí cụ thể APIs của Google Map cho phép chúng ta đánh dấu vị trí và trả về kinh độ, vĩ độ của vị trí đó. Theo [2] Bạn có thể điều hướng (di chuyển chế độ xem của mình) theo hai chiều trong bất kỳ Bản đồ của Google nào. Để quay (di chuyển bản đồ), hãy thực hiện theo một trong những cách sau: • Nhấp và kéo bản đồ • Bấm mũi tên lên trên bàn phím để di chuyển về hướng bắc • Bấm mũi tên xuống trên bàn phím để di chuyển về hướng nam Facebook Server Server User’s data Friends info 20 • Bấm mũi tên phải trên bàn phím để di chuyển về hướng đông • Bấm mũi tên trái trên bàn phím để di chuyển về hướng tây Ngoài ra, bạn có thể phóng to hoặc thu nhỏ bằng cách bấm các phím + hoặc -. Di chuyển con trỏ lên một vị trí và sử dụng nút cuộn của chuột để phóng to hoặc thu nhỏ vị trí đó. Để định tâm và phóng to một vị trí, nhấp đúp vào vị trí đó. Sử dụng Công cụ Điều hướng Bạn sẽ thấy công cụ điều hướng tại maps.google.com được hiển thị ở bên trái. Các công cụ điều hướng bao gồm: 1. Mũi tên - Nhấp vào các mũi tên thích hợp để di chuyển chế độ xem về phía bắc, nam, đông hoặc tây. 2. Chế độ xem Phố - Nhấp để xem hình ảnh mức đường phố 3. Thu phóng - Nhấp + để phóng to từ tâm của bản đồ. Nhấp - để thu nhỏ. 4. Thanh trượt thu phóng - Kéo thanh trượt thu phóng lên hoặc xuống để phóng to hoặc thu nhỏ dần. Các trang web khác với Google Maps được nhúng có thể không có đủ hoặc không có những công cụ điều hướng này. Ví dụ: bản đồ được nhúng có thể hiển thị các công cụ điều hướng trông giống như dưới đây: Hình 3.6 : Cộng cụ điều hướng 21 3.2.4 . Server Do cấu hình của ứng dụng là iframe nên Server đóng vai trò điều khiển toàn bộ hệ thống. Là nơi tập trung xử lý các yêu cầu bên phía người dùng. Do ứng dụng mang tính chất xã hội cao nên ban đầu đi vào hoạt động sẽ có ít người tham gia nhưng về sau số lượng người tham gia tăng lên là chuyện đương nhiên. Với một ứng dụng hay, có ích thì việc có đến hàng chục nghìn người tham gia là bình thường. Số yêu cầu được gửi lên Server ngày một tăng lên. Cho nên cần một hệ thống Server có cấu hình tốt để đảm bảo cho ứng dụng phát triển về sau. Đi kèm vào đó Server cần phải đặt trên một đường truyền nhanh, băng thông rộng. Mã nguồn được viết bằng php và java script, các truy vấn SQL đến cơ sở dữ liệu nên Server cần được hổ trợ PHP và My SQL. - Chứa các tệp cơ bản như: + Index.php là trang chủ của ứng dụng Web. + Function.php chứa hai lớp dữ liệu, lớp thứ nhất là fbserver dùng để giao tiếp với facebook server, lớp thứ hai là fbMyServer dùng để giao tiếp với cơ sở dữ liệu. + Updatedb.php sử dụng truy vấn SQL để cập nhật thông tin người dùng lên cở sở dữ liệu. + Updatefv.php cũng sử dụng truy vấn SQL cập nhật các điểm yêu thích của người dùng lên cơ sở dữ liệu. + getListFriends.php dùng để lấy ra một danh sách các bạn của người dùng. + getFriendInfo.php dùng để lấy thông tin bạn bè của người dùng. - Các chức năng của server được trình bày dưới đây. + Kết nối đến Facebook server: Kết nối đến facebook server để có thể sử dụng APIs của facebook. <?php require_once './client/facebook.php'; 22 //facebook api_key and secret key $api_key = '7abd58354a7dece310ee66c62792xxxx'; $secret = '39dfbc1296d082072d3c8b0ed0d6xxxx'; //connect to facebook, require app installation $facebook = new Facebook($api_key, $secret); Đoạn code nằm trên file function.php giúp cho chúng ta xây dựng được lớp fbserver. + Update: Khi một người dùng tham gia vào hệ thống. Server dùng đối tượng updatedb.php để cập nhật hoặc chèn mới người dùng đó vào trong cơ sở dữ liệu. Trong đó có ID, latitude, longtitude, last_update, share: ID: là định danh người dùng trên mạng facebook. latitude và longtitude là vị trí của họ trên bản đồ theo Google Map. Last_update là thời điểm người dùng update vị trí gần nhất. Share là giá trị có hay không sự chia sẻ về vị trí của họ. Trong updatedb.php sẽ kết nối đến Database Server rồi dùng hàm update nếu ID đó đã có trong cơ sở dữ liệu. Và insert vào cơ sở dữ liệu nếu người dùng đó tham gia lần đầu tiên. + Kết nối đến Google Map Server: Kết nối đến Google Map Server để tải bản đồ với vị trí mặc định: map.setCenter(new GLatLng(21.02, 105.51),3); + Hiển thị vị trí: Nếu người dùng mới tham gia thì server sẽ chỉ định hiển thị bản đồ ở vị trí mặc định. Nếu trong cơ sở dữ liệu đã có ID của người dùng này thì server sẽ lấy toàn bộ thông tin về ID đấy. Sau đó dịch chuyển bản đồ đến vị trí mà người đó đã xác nhận. + Hiển thị bạn bè: Một khi đã có ID của người dùng trong cơ sở dữ liệu. Server sữ dụng getListFriends.php để trả về client một danh sách các bạn của ID trên. Và 23 được Client hiển thị ở bảng ListFriends. Trong đó có First_name last_name và avatar. - Các chức năng xử lý khi được yêu cầu : + My Map : Khi người dùng tích chuột vào My Map thì Server trả về vị trí của người đó có trong cơ sở dữ liệu ứng với ID đang sữ dụng.Vị trí của họ sẽ là trung tâm bản đồ. + Set My Location Như đã nói ở trên, nhận được thông tin từ Client thì Server cập nhật vị trí mới của người dùng vào cơ sở dữ liệu users. + Favourite Places Lưu vào trường favouriste bằng đối tượng updatefv.php. Trong trường có dữ liệu về vị trí, ghi chú, tên và ảnh. + Search Friend Server tìm kiếm thông tin trong cơ sở dữ liệu và trả về cho client tất cả thông tin tìm được. + Khi người dùng kick vào một người bạn của mình, server sẽ gọi đến đối tượng getFriendInfo.php để lấy thông tin người bạn đó trên Facebook Server. Trả về kết qua cho Client và hiển thị bên trái ứng dụng. Nếu người dùng đó không có trong cơ sở dữ liệu thì sẽ hiện thông báo “không có trong cơ sở dữ liệu”. Nếu đã có thì tải bản đồ đến vị trí người vừa được chọn. + Bản đồ được google xử lý riêng. Server dùng API có sẳn để điều khiển nó. Như đã nói ở phần chức năng của Google Map. 3.2.5 . Database Server Cũng như Server, database Server cũng phải là một hệ thống lưu trữ lớn. Khi số người dùng tăng lên thì cơ sở dữ liệu cũng tăng dần. Ban đầu hệ thống cần lưu trữ những dữ liệu như sau : - Ai tham gia vào hệ thống - Vị trí hiện thời - Vị trí yêu thích 24 Nên cơ sở dữ liệu cần có hai bảng, một bảng chứa thông tin về địa điểm người dùng và một bảng chứa vị trí các điểm yêu thích. Bảng users : Hình 3.7. Bảng users - member_id : Định danh người dùng - member_name : Tên người dùng - latitude : Vĩ độ - longtitude : Kinh độ - last_update : Thời gian cập nhật sớm nhất - share_location: Chấp nhận chia sẻ hay không - icon: Hình ảnh đánh dấu vị trí Bảng favorites: Hình 3.8. Bảng favorites - member_id : Định danh người dùng - latitude : Vĩ độ - longtitude : Kinh độ 25 - location_name : Tên địa điểm - comment : Giới thiệu đôi nét về địa điểm - photo: Hình ảnh của địa điểm Hình 3.9.Giao tiếp giữa Database Server và Server 3.2.6 . Webservices Chỉ đơn giản là một dịch vụ web cung cấp dữ liệu cho Mobile Application. Dữ liệu được lấy trên Database Server bằng đối tượng webservices.php. Mobile dùng phương thức get trong vòng lặp để gửi yêu cầu đến Webservices. Khi nhận được yêu cầu webservices kết nối đến Database Server và lấy ra thông tin Mobile Application cần. Sau đó nó dùng dịch vụ .xml để trả về cho Mobile Application. Hình 3.10 : Giao tiếp của Webservices Database Server Server SQL Request GET Webservices Database Server Mobile Application SQL Request XHR XHR: XMLHttpRequest 26 3.2.7 . Mobile Application Hình 3.11: Bản đồ trên Mobile Application Là một ứng dụng chạy trên diện thoại di động dùng hệ điều hành Android. Android cung cấp nhiều API cần thiết để phát triển ứng dụng. Cách thức hoạt động cũng tương tự như ở ứng dụng trên web, chỉ khác ở chức năng cập nhật vị trí. Được viết bằng ngôn ngữ Java, chạy trên trình dịch Eclipse cài đặt thêm Android SDK. Các thành phần của Ứng dụng đã được hoàn thành : - fbConnect Android : Là một API có sẵn dùng để kết nối giữa Facebook và Android. Sữ dụng 2 phương thức chính là lấy ID và ID danh sách bạn bè của mình khi tham gia vào ứng dụng. - MainActiviti : Kết hợp với fbConnect Android để tạo lên from đăng nhập vào facebook. Trả về một đối tượng gồm tất cả thông tin cho ứng dụng. 27 Hình 3.12: Khung đăng nhập facebook trên Mobile - Mapper : Phần hiển thị Map và xử lý dữ liệu tập trung ở đây. o Mapper.java : Là đối tượng chính, kết nối đến webservices để nhận dữ liệu, hiển thị bản đồ ở vị trí mặc định : double latitude = 21.034619159955625; double longitude = 105.7737386226654; int latitudeE6 = (int)(latitude * 1E6); int longitudeE6 = (int)(longitude * 1E6); GeoPoint point1 = new GeoPoint(latitudeE6,longitudeE6); mapOverlays.add(itemizedOverlay); mapView.getController().animateTo(point1); o PeopleOverlayList.java : Là đối tượng tạo ra một danh sách các vị trí cần được hiển thị trong bản đồ. o User.java : Đối tượng User trong đó có id, latitude, longtitude, lastUpdate, shareLocation. o User List : Đối tượng là một danh sách các đối tượng user. o UsersXmlHandler.java : Xử lý thông tin được trả về từ Webserces và xét xem có nên đưa vào trong PeopleOverlayList hay không. o Layout : Thiết kế giao diện dựa trên kéo thả và phân bố thành phần. 28 CHƯƠNG IV: CÀI ĐẶT 4.1 . Cài đặt hệ thống - Đăng ký và cài đặt ứng dụng web : Sau khi có một tài khoản trên facebook là ta có thể bắt đầu tạo ứng dụng riêng cho mình. Điều đầu tiên cần phải làm là báo cho máy chủ facebook biết đến ứng dụng đó. Truy cập www.facebook.com/developers sau đó nhấn vào Add Developer để bắt đầu phát triển ứng dụng. Hình 4.1 . Hình ảnh khi thêm ứng dụng lần đầu tiên Ứng dụng mạng xã hội địa điểm được cấu hình như sau. 29 Hình 4.2 : Cấu hình ứng dụng - Cài đặt server: Các thông số của server được nêu như sau : Hình 4.3 : Thông số Server Server dùng hệ điều hành Linux, hổ trợ PHP phiên bản 5 chấm,My SQL phiên bản 5.1.45-log,… Các file hệ thống được tải lên thư mục puplic_html của Server. 30 - Mobile Application là một ứng dụng trên di động được gói gọn trọng một file có đuôi .apk. Chúng ta chỉ việc sao chép vào trong di động Android là có thể cài đặt ứng dụng. 4.2 . Đăng nhập Facebook và tham gia vào ứng dụng Facebook là mạng xã hội ảo đã được trình bày chi tiết trên chương I và II. 4.2.1 . Đăng nhập Facebook Truy cập vào trang web chính thức của Facebook: Hình 4.4 : Giao diện trang chủ của Facebook Chúng ta có thể chọn ngôn ngữ khác để tham gia vào mạng : Hình 4.5 : Khung chọn ngôn ngữ Muốn đăng nhập vào mạng xã hội Facebook ta cần phải đăng ký một tài khoản trên đó. Hình 4.6: Khung đăng ký 31 Như chúng ta đã biết ở chương 2, facebook là mạng xã hội nên khi đăng ký cần phải điền đầy đủ thông tin về mình như họ và tên, hòm thư,ngày tháng năm sinh và mật khẩu để đăng nhập. Sau khi hoàn thành thủ tục đăng ký mình có thể đăng nhập trực tiếp trên trang chủ của facebook. Hình 4.7 : Khung đăng nhập Ta có thể đăng ký tài khoản qua một lời mời từ người khác. Người đó gữi cho mình đường dẫn đến phần đăng ký của facebook. Đăng ký trực tiếp qua đường dẫn này hiển nhiên ta trở thành bạn bè người đó. Và người đó cũng có trong danh sách bạn bè của mình. Khi đã là thành viên trong hàng triệu thành viên tham gia Facebook, mình có thể viết bài hay kết bạn với những ai mình thích. 4.2.2 . Tham gia ứng dụng mạng xã hội địa điểm Facebook cung cấp cho ta môi trường phát triển ứng dụng rất hoàn hảo. Bằng cách sử dụng API của Facebook và một chút kiến thức về lập trình là ta có thể tạo riêng cho mình một hoặc nhiều ứng dụng. Cho nên trên Facebook có hàng nghìn ứng dụng được tạo ra. Do đặc thù là mạng xã hội nên mọi ứng dụng viết ra đều có tính cộng đồng. Một nhà lập trình ứng dụng luôn luôn muốn nhiều người tham gia và biết đến ứng dụng đó. Khi bạn muốn tham gia vào một ứng dụng nào đó thủ tục rất dễ dàng và luôn được chào đón. Quan trọng là phải tìm ra ứng dụng mình cần. - Có 2 cách để tham gia vào ứng dụng mạng xã hội địa điểm: + Cách 1: Đăng nhập facebook và truy cập vào đường dẫn : + Cách 2 : Đăng nhập vào facebook và tìm ứng dụng có tên xã hội địa điểm: Tìm kiếm với từ khóa Xã Hội Địa Điểm. Kết quả xuất hiện sau vài giây hãy nhấp chuột để chọn ứng dụng đó. 32 Ứng dụng sẽ hỏi lại bạn 1 lần nữa, bạn có chắc chắn tham gia vào ứng dụng không? Ứng dụng có thể lấy thông tin từ hồ sơ, hình ảnh, bạn bè của bạn để làm việc. Hình 4.8 : Đồng ý tham gia vào ứng dụng Allow để đồng ý còn Leave Application để bỏ qua ứng dụng đó. Trình duyệt chuyển đến ứng dụng khi mình chọn Allow. Ứng dụng hiển thị bên trái trên khung vải nền của Facebook. Hình 4.9 : Khung ứng dụng 4.3 . Cách sử dụng ứng dụng Sau đây ta tìm hiểu cách sử dụng ứng dụng : - Nhấp chuột vào My Map để xem bản đồ vị trí của mình. - Nhấp vào Set My Location để định vị trí cho mình. 33 Hình 4.10 : Đặt vị trí Nhấp chuột lên bản đồ để đặt vị trí, tích vào Share nếu muốn chia sẻ địa điểm này với bạn của mình. Sau đó nhấn OK để hoàn tất việc định vị trí. - Nhấp vào Favourite Places để đặt những vị trí yêu thích. Cũng như cách định vị trí nhưng ở đây ta phải thêm thông tin về vị trí này. Một điểm yêu thích cần có ba dữ liệu : tên vị trí, khái quát thông tin, địa chỉ chính xác của vị trí. - Danh sách bạn bè của mình được hiển thị ở phía dưới ứng dụng. Nhấp chuột để chọn một người bạn, ta có thể biết được vị trí, các điểm yêu thích của người đó. Hơn thế nữa Server sẽ lấy thông tin về tên, tuổi, giới tính… của người đấy trên Facebook Server và hiển thị ở khung bên phải ứng dụng. Hình 4.11 : Danh sách bạn bè Hình 4.12 : Thông tin các nhân của bạn bè được chọn 34 Ở Mobile Application chức năng và cách sử dụng cũng tương tự như trên web. Đặc điểm khác ở đây là mình không phải cập nhật vị trí bằng tay, thay vào đó ứng dụng sẽ cập nhật tự động. Còn nhiều chức năng khác của ứng dụng muốn bạn tìm hiểu thêm. 4.4 . Mở rộng ứng dụng 4.4.1 . Mở rộng ứng dụng cho một hãng taxi : Trên địa bàn Hà Nội ngày nay có rất nhiều hãng taxi như là : Mai Linh, Thanh Nga, Vạn Xuân, Dầu Khí,…. Mỗi hãng lại có rất nhiều xe. Nhân viên điều hành thường liên lạc với tài xế qua bộ đàm. Khi nhận được điện thoại từ khách hàng gọi xe, nhân viên tổng đài gọi điện cho tài xế đến đón khách. Ở đây có 2 vấn đề quan trọng cần giải quyết : + Tài xế taxi nào gần nhất chổ đấy + Tài xế đang làm việc hay đang rảnh rang Về phía khách hàng, thường có hai cách để bắt xe taxi. Một là gọi trực tiếp đến nhân viên trực tổng đài của một hãng taxi nào đó,hai là ra đứng ngoài đường để vẫy taxi. Hai cách trên cũng gặp phải rắc rối : + Cách một là gọi điện cho tổng đài taxi, có thể sẽ mất thời gian chờ đợi + Cách hai là vẫy taxi. Taxi hiện thời tràn lan, đâu cũng có. Có những hãng taxi làm ăn không đứng đắn cho lắm. Làm theo cách này để bắt được xe của hãng taxi mình tin tưởng thì không dễ chút nào. Bài toán đã được đặt ra, cần phải giải quyết các vấn đề trên sao cho hợp lý và đơn giản. Một khi ứng dụng Mạng Xã Hội Địa Điểm ra đời, tại sao chúng ta không áp dụng bài toán vào trong ứng dụng để tìm lời giải. Theo như tính chất ứng dụng, muốn biết được vị trí của người nào đó thì người đó phải có trong danh sách bạn bè của mình. Vậy muốn biết vị trí rất nhiều xe taxi thì ta phải kết nối đến tất cả các taxi đó. Với một hãng taxi trên địa bàn Hà Nội, số lượng xe họ có tầm 500 xe là chuyện bình thường. Ứng dụng của ta chạy trên mạng xã hội Facebook nên việc kết nối đến 500 thành viên khác là khá khó. Thành viên ở đây chính là các xe taxi. Cũng không hẳn là phải kết nối đến tất cả các thành viên đó nhưng nhất thiết phải kết nối 35 đến một số lượng khá lớn thành viên. Để có thể biết được những xe nào đang ở gần khu vực mình đang ở. Muốn giải quyết vấn đề trên thì hãng taxi cần phải mở rộng ứng dụng. Với ý tưởng dựa trên ứng dụng Mạng Xã Hội Địa Điểm và phải thêm vào một số chức năng khác. Lợi nhuận của một hãng taxi dựa vào số lượng người sử dụng xe của hãng đó cũng như cần có nhiều người biết đến hãng taxi mình. Đặt ứng dụng lên một mạng xã hội là hoàn toàn hợp lý. Hiện tại số người Việt Nam có mặt trên Facebook là rất nhiều và con số đó cũng không ngừng tăng lên. Đem ứng dụng lên Facebook, sử dụng cách thức chia sẻ, mời tham gia vào ứng dụng mà Facebook hỗ trợ sẽ giúp ứng dụng đến với nhiều người. Những người đang cần taxi họ sẽ sử dụng ứng dụng để tìm còn những ai chưa cần đến taxi họ sẽ biết đến hãng taxi của mình. Biết đâu khi cần đến taxi họ lại chọn hãng taxi mình. Ngày nay khoa học công nghệ phát triển việc áp dụng công nghệ cao vào một hãng taxi sẽ giúp hãng taxi đó nâng cao được vị thế trong lòng người dùng, đổi mới bộ mặt hiện đại. Ta lấy ví dụ hãng taxi THANH NGA sử dụng ứng dụng này. Nhà điều hành hãng phải lập một tài khoản trên Facebook. Ví dụ “ThanhNgaAdmin”. Để tham gia vào ứng dụng thì các tài xế taxi phải cung cấp vị trí của mình lên hệ thống. Nên cần phải lắp đặt trên xe một thiết bị định vị toàn cầu GPS. Nhờ thiết bị này nhà quản lý có thể biết được các xe của hãng mình đang ở đâu. Xe taxi được cài đặt Taxiservices. Luôn cập nhật vị trí lên Database Server nhờ Webservices. Ở ứng dụng Mạng Xã Hội Địa Điểm, ta có thể thấy được các điểm yêu thích của ai đó nếu người đó có trong danh sách bạn bè của mình. Ở ứng dụng này thì các xe taxi giống như điểm yêu thích của ThanhNgaAdmin vậy. 36 Khái quát mô hình ứng dụng như sau: Hình 4.13 : Mô hình ứng dụng hãng taxi Do vậy mỗi khách hàng khi đăng nhập vào Facebook sau đó thêm tài khoản ThanhNgaAdmin vào danh sách bạn bè thì có thể biết được những điểm yêu thích của ThanhNgaAdmin. Tức là biết được vị trí các xe của hãng Thanh Nga. User Login Facebook Server Google Map Server Facebook Application Map User’s data Taxiservices Server XHR XHR: XMLHttpRequest Database Server SQL Request Webservices GET SQL Request 37 Khác với ứng dụng Mạng Xã Hội Địa Điểm ở đây thông tin về khách hàng không được ghi vào cơ sở dữ liệu. Nếu có cũng chỉ lưu để biết những ai đã truy cập vào ứng dụng mà thôi. Cơ sở dữ liệu cũng được thiết kế lại. Ban đầu đơn giản chỉ có những dữ liệu sau : + Mã số hãng taxi, có thể lấy ID tài khoản ThanhNgaAdmin làm đại diện cho hãng taxi đó. + Mã số xe taxi, cái này do hãng taxi đánh số cho xe của mình. + Tên tài xế. + Số điện thoại tài xế. + Đang hoạt động hay là rảnh rang. + Kinh Độ + Vĩ độ Xe taxi căn cứ vào ID tài khoản ThanhNgaAdmin và mã số xe taxi để cập nhật vĩ độ, kinh độ vào cơ sở dữ liệu. Taxi cần có GPS và internet để kết nối với webservices. Taxi sử dụng taxiservices. Nhiệm vụ của taxiservices là thông qua GPS để biết được vị trí sau đó dùng phương thức GET để chuyển lên cho webservices. Cũng như ứng dụng mạng xã hội địa điểm thì webservices chỉ có nhiệm vụ cập nhật thông tin nhận được từ taxi vào trong cơ sở dữ liệu. Phương thức webservices dùng là XMLHttpRequest. Ứng dụng Mobile Application cho khách hàng cũng được thay đổi theo chức năng. Khách hàng chỉ cần biết mình ở đâu và có bao nhiêu xe taxi của hãng THANH NGA ở gần mình. Vị trí khách hàng đang đứng không cần phải cập nhật lên cơ sở dữ liệu. Chức năng của Mobile Application là hiển thị vị trí khách hàng và số xe đứng gần khách hàng trong một phạm vi nào đó. Khi khách hàng chọn một taxi nào đó thì có thể biết họ tên tài xế taxi, số điện thoại liên hệ, trạng thái làm việc. Hoàn thành và đưa ứng dụng vào một hãng taxi. Vốn ban đầu không nhiều nhưng hiệu quả công việc tăng lên rõ rệt. Một taxi sở hữu một ứng dụng như vậy sẽ rất tự hào về bộ mặt công nghệ của công ty mình. 38 4.4.2 . Mở rộng ứng dụng cho nhà hàng ăn nhanh Với những khu đông dân cư như ở Hà Nội thì nhu cầu ăn uống của người dân rất cao. Hiện nay những nhà hàng ăn uống mọc lên như nấm, phục vụ khách hàng với đầy đủ món ăn và đồ uống. Các nhà hàng luôn đổi mới thực đơn hay thay đổi phong cách phục vụ… để thu hút được càng nhiều khách hàng càng tốt. Hơn thế nữa nhà hàng còn mở rất nhiều đại lý phân phối món ăn của mình đi khắp nơi trên địa bàn. Việc để người dân biết đến nhà hàng của mình thì cần phải quảng cáo. Sử dụng ứng dụng mạng xã hội địa điểm vào cho nhà hàng ăn cũng khá hợp lý. Mục đích của nhà hàng là : + Quảng cáo thông tin nhà hàng + Giới thiệu địa điểm kinh doanh của nhà hàng + Giới thiệu thực đơn cho khách hàng lựa chon Khi áp dụng vào mạng xã hội địa điểm các đại lý được xem như một điểm yêu thích của chủ nhà hàng. Chủ nhà hàng ở đây là một tài khoản Facebook có tham gia vào ứng dụng. Mỗi người dùng muốn biết địa điểm các đại lý đó thì liên kết đến tài khoản đó. Chủ nhà hàng chỉ cần “kết bạn” với khách hàng là có thể chia sẻ thông tin về đại lý của mình. Thông tin khi người dùng nhấp chuột vào một đại lý là tên nhà hàng, địa chỉ chính xác, thông tin về đại lý( có thể kèm theo một số thực đơn đặc trưng cho nhà hàng). Đối với những nhà hàng phát triển cả dịch vụ bán hàng di động thì việc áp dụng Mobile Application là quá hợp lý. Khách hàng có thể nhanh chóng tìm ra được vị trí mà dịch vụ bán hàng di động đang đứng. Cũng như ở ứng dụng cho hãng taxi thì ở đây dịch vụ bán hàng tự động xem như là một xe taxi và là một điểm trong favorites của chủ nhà hàng. Ta có thể thay biểu tượng cho dịch vụ bán hàng di động để khách hàng có thể phân biệt với các đại lý không di động của nhà hàng. Không thể quên Facebook là gì? Tài khoản trên Facebook có thể làm được những gì? Tài khoản chủ nhà hàng có thể quảng bá nhà hàng của mình trên trang cá nhân, cập nhật thực đơn lên đó. Khi khách hàng đã kết nối đến tài khoản chủ khách hàng thì những thông tin đó sẽ nằm ở mục tin mới của khách hàng. 39 CHƯƠNG V : KẾT LUẬN : 5.1 . Tổng kết nội dung đề tài Đề tài mang tên : Mạng xã hội địa điểm trên Facebook. Nội dung chính của đề tài là xây dựng một ứng dụng chạy trên mạng xã hội Facebook và một ứng dụng chạy trên di động với hệ điều hành Android. Được cài đặt và chạy trên môi trường Facebook hổ trợ mong muốn mang lại tính xã hội cho ứng dụng. Hiện nay di động sử dụng hệ điều hành Android ở Việt Nam chưa nhiều nhưng đang phát triển, và chiếm được cảm tình từ người sử dụng. Việc phát triển một ứng dụng trên di động sử dụng hệ điều hành Android là rất có tiềm năng. Các chức năng của ứng dụng được xây dựng theo yêu cầu của đề tài. Ứng dụng giúp cho ta xác định vị trí đang đứng và vị trí những người bạn của mình. Vị trí được cập nhật bằng tay hoặc bằng di động có thiết bị GPS theo không gian và thời gian xác định. Nhờ vào Google Map ta có được một bản đồ địa lí chính xác để hiển thị các vị trí mà người dùng chọn. Đối với thiết bị di động vị trí đó còn thay đổi khi người dùng di chuyển. Có thể coi ứng dụng như một bản đồ cầm tay giúp chúng ta không bị lạc đường. 5.2 . Các bước thực hiện + Phân tích yêu cầu đề tài + Thiết kế hệ thống + Lập trình ứng dụng trên Web + Lập trình ứng dụng trên Mobile + Thử nghiệm, kết hợp giữa Web và Mobile 5.3 . Kết quả đạt được Hiện tại chúng tôi đã xây dựng được một ứng dụng web chạy trên Facebook. Có các chức năng cơ bản như : + Cập nhật vị trí người dùng khi tham gia vào ứng dụng. Vị trí này sẽ được người dùng cập nhật bằng tay rồi lưu vào cở sở dữ liệu. + Đánh dấu các điểm yêu thích của bản thân. Mỗi người dùng có thể lưu lại cho mình những điểm yêu thích trên cơ sở dữ liệu. Những điểm này sẽ được chia sẻ cho bạn bè xung quanh. 40 + Hiển thị danh sách và thông tin bạn bè. Danh sách và thông tin bạn bè của người dùng được hiển thị một cách rõ ràng và đầy đủ trong ứng dụng. + Hiển thị vị trí và các điểm yêu thích của bạn bè. Khi bạn bè của ta đã tham gia vào ứng dụng thì ta có thể biết vị trí và điểm yêu thích của người đó nếu được người đó đồng ý. + Tìm kiếm bạn bè. Tìm kiếm về thông tin về một ai đó và hiển thị luôn vị trí người đó nếu có. Tạo một Server và Database Server để lưu giữ và xử lý thông tin của người dùng. Xây dựng gần hoàn thiện ứng dụng trên Mobile. Cũng có các chức năng như cập nhật vị trí và theo dõi vị trí bạn bè,… 5.4 . Phương hướng phát triển Ứng dụng mang tính cộng đồng, dành cho tất cả mọi người trên Facebook. Tham gia ứng dụng dễ dàng và hiệu quả đem lại cao. Xác định vị trí bạn bè hay vị trí nào đó nhanh và tiện lợi. Cha mẹ có thể biết con cái mình đang ở đâu (với sự đồng ý của con cái). Rất nhiều thứ mở ra cho chúng ta. Đặc biệt có thể mở rộng ứng dụng cho một ngành nào đó ví dụ như taxi, nhà hàng ăn nhanh( đã nêu ở chương 4), quầy rút tiền ATM,… Mỗi ngân hàng đều có các máy rút tiền tự động ATM. Được đặt ở các vị trí khác nhau trên địa bàn. Nếu áp dụng ứng dụng mạng xã hội địa điểm cho máy ATM thì rất thuận tiện cho người dùng. Mỗi khách hàng sử dụng dịch vụ của ngân hàng đó khi tham gia vào ứng dụng, có thể biết được tất cả vị trí các máy rút tiền tự động ATM của ngân hàng đó. Khi cần rút tiền là có thể ra máy ATM gần nhất, có thể biết trên đường đi về có thuận tiện để rút tiền hay không. Các lĩnh vực khi áp dụng ứng dụng mạng xã hội địa điểm vào cũng có tiềm năng như các quầy đổ xăng, quán café, các khu vui chơi giải trí. Hiện nay các ứng dụng tương tự đang rất ít và chức năng còn hạn hẹp. Với hiệu quả trước mắt việc phát triển ứng dụng là điều cần làm và chắc chắn có tương lai. Tài liệu tham khảo [1] Hệ thống định vị toàn cầu. Wikipedia.org. ệ_thống_định_vị_toàn_cầu [2] Hướng dẫn sử dụng Google Map. Google.com. able=1 [3] Mạng xã hội. Wikipedia.org. ạng_xã_hội [4] Nguyển Trường. Facebook là gì?. Vnbrand.net. thuong-hieu/facebook-la-gi.html

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN- MẠNG XÃ HỘI ĐỊA ĐIỂM TRÊN FACEBOOK.pdf