ứng dụng điện toán đám mây xây dựng kho ứng dụng bkstore cho các thiết bị sử dụng hệ điều hành android - Pdf 13

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
ĐỀ TÀI : ỨNG DỤNG ĐIỆN TOÁN ĐÁM
MÂY XÂY DỰNG KHO ỨNG DỤNG
BKStore CHO CÁC THIẾT BỊ SỬ DỤNG HỆ
ĐIỀU HÀNH ANDROID
Sinh viên thực hiện : Lê Đình An
Lớp CNPMA – K51
Giáo viên hướng dẫn: ThS Hoàng Anh Việt
HÀ NỘI 5-2011
class="bi x0 yf w2 h8"
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ê Đình An
Điện thoại liên lạc 0988416079 Email:
Lớp: CNPMA Hệ đào tạo: Chính qui
Đồ án tốt nghiệp được thực hiện tại:
Thời gian làm ĐATN: Từ ngày 20 /02/2011 đến 20 /05/2011
2. Mục đích nội dung của ĐATN
• Tìm hiểu và xây dựng thành công kho ứng dụng cho các thiết bị di động sử dụng hệ
điều hành Android với đầy đủ chức năng của kho ứng dụng như có thể truy cập
trên điện thoại, cho phép nhà phát triển tải ứng dụng được dễ dàng và người sử
dụng có thể mua, tải ứng dụng về thông qua các hình thức thanh toán quốc tế …
• Ứng dụng điện toán đám mây trong quá trình xây dựng kho ứng dụng nhằm tận
dụng những điểm mạnh của công nghệ.
• Tìm hiểu và tích hợp thanh toán quốc tế cho kho ứng dụng
3. Các nhiệm vụ cụ thể của ĐATN

Trong mục phương pháp tiếp cận, sẽ trình bày cả hướng giải quyết vấn đề, vận
dụng các công nghệ để xây dựng bài toán. Phần tiếp theo của chương, NV sẽ trình
bày cơ sở lý thuyết của các công nghệ đã đưa ra ở phần trước.
• Chương 3 : NV sẽ trình bày về mô hình kho ứng dụng đề xuất. Trong chương này,
sẽ trình bày chi tiết từ kiến trúc hệ thống đến các phân tích, thiết kế để tiến đến cài
đặt hệ thống. Đây là phần chính của báo cáo này.
• Chương 4 : Chương này sẽ đề cập đến cài đặt và một số kết quả đạt được của hệ
thống kho ứng dụng BKStore. Phần cài đặt sẽ đưa ra những module chính cần cài
đặt, và những vấn đề quan trọng cần giải quyết. Phần các kết quả đạt được có đưa
ra một số kiểm thử và một số kết quả thu được sau khi cài đặt thành công hệ thống
Ngoài các chương được trình bày ở trên, thì báo cáo còn có các phần mở đầu giởi thiệu về
báo cáo cũng như đề tài, phần kết luận để tổng kết vấn đề.
ABSTRACT OF THESIS
In this report, the thesis author will be presented through the entire apply cloud computing
to build BK Store for devices using the Android operating system. The report is divided
into four chapter with the following contents :
• Chapter 1: Getting topics include an overview describing the problem and put the
issue to the problem. In Chapter 1, the thesis author will discuss the problem, raised
the issue, together with information as a reason for these problems.
• Chapter 2: The thesis author will be presented the theoretical basic, the approach to
the problem. In the approach, will present the user solve the problem, apply the
technology to build the problem. The next section of the chapter, the thesis author
presents the theoretical basic of the technology offered in the previous section.
• Chapter 3: The thesis author will be presented the model proposed application store.
In this chapter, will present detail from architecture to system analysis and design to
proceed to install the system. This is the main part of this report.
• Chapter 4: This chapter will cover installation and some of the results archieved
BKStore. Installation section will make the module to be installed, and the
important issues to be addressed. Part of the results achieved have made some test
and some results obtained after successful installation system.

Bảng 3-16 : Bảng Country 44
Bảng 3-17: Bảng Role 44
Bảng 3-18 : Bảng User 44
Bảng 3-19 : Bảng Customer 45
Bảng 3-20 : Bảng Developer 45
Bảng 3-21 : Bảng Customer_App 46
Bảng 3-22 : Bảng AppComment 46
Danh mục các hình
Hình 1-1 : Số lượng ứng dụng của các kho ứng dụng tháng 3/2011 13
Hình 1- 2: Lợi nhuận thu được của các kho ứng dụng trong 2 năm 2009/2010 14
Hình 1- 3:Lợi nhuận dự kiến thu được của các kho ứng dụng đến 2014 15
Hình 4-4:Cấu trúc cài đặt hệ thống 56
Hình 4-5: Cấu trúc dữ liệu của DataStore 57
Hình 4-6: Cấu trúc của XML-RPC 58
Hình 4-7:Định dạng của XML- RPC 59
Hình 4-8: Cài đặt phân tích chuỗi XML nhận được 60
Hình 4-9:Sơ đồ Parallel Payment 61
Hình 4 - 10:Màn hình hiển thị quá trình thanh toán bằng Paypal 62
Hình 4-11: Trang chủ của Web Portal 63
Hình 4 - 12:Giao diện kho ứng dụng trên SamSung Galaxy Mini 64
Hình 4 -113: Danh sách ứng dụng theo loại Game trên SamSung Galaxy Mini 65
Hình 4 - 14:Chi tiết ứng dụng trên SamSung Galaxy Mini 66
Danh mục các từ viết tắt và thuật ngữ
GAE Google App Engine
PaaS Platform as a Service
SaaS Software as a Service
IaaS Infrastructure as a Service
DB Database
App Application
GUI Graphical user interface

đỡ, hướng dẫn, truyền đạt kiến thức cũng như kinh nghiệm, tạo điều kiện học tập
và nghiên cứu để em có thể hoàn thành tốt kỳ đồ án tốt nghiệp này.
Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc tới ThS Hoàng Anh Việt –
người đã tận tình giúp đỡ, trực tiếp hướng dẫn em trong suốt quá trình thực hiện
đồ án tốt nghiệp.
2. Nhiệm vụ được giao trong đồ án tốt nghiệp :
- Tìm hiểu về hệ điều hành Android, xây dựng các ứng dụng dựa trên nền tảng
Android.
- Tìm hiểu về các kho ứng dụng cho di động (Application Store)
- Tìm hiểu về cloud computing, Google App Engine. Xây dựng ứng dụng dựa
trên GAE.
- Tìm hiểu môi trường thanh toán quốc tế qua Paypal, thẻ tín dụng và Paypal
API dành cho Andorid.
- Tìm hiểu Web service trao đổi dữ liệu giữa GAE và Android.
- Phân tích, thiết kế và xây dựng thành công kho ứng dụng cho di động cho các
thiết bị di động sử dụng hệ điều hành Android sử dụng dịch vụ điện toán đám
mây của Google (GAE).
3. Bố cục của đồ án tốt nghiệp :
Đồ án tốt nghiệp gồm có 4 chương với các nội dung như sau :
• Chương 1: Tổng quan đề tài
Trong chương này đề cập đến mô tả bài toán, đặt vấn đề để đưa ra lý do xây
dựng bài toán cũng như những lý thuyết kèm theo.
• Chương 2: Cơ sở lý thuyết và phương pháp tiếp cận
Trong chương này đề cập đến phương pháp tiếp cận bài toán, các công nghệ
và lý thuyết sẽ sử dụng để tiếp cận xây dựng cho bài toán.
• Chương 3: Mô hình kho ứng dụng đề xuất
Trong chương này đề cập đến kiến trúc bài toán, các phân tích thiết kế cũng
sẽ được đưa ra ở phần này.
• Chương 4: Cài đặt và kết quả thử nghiệm
Trong chương này sẽ đề cập đến việc cài đặt dựa trên những phân tích thiết

hay là chợ ứng dụng. Kho ứng dung là nhân tố thúc đẩy
Trong thời gian qua, sự thành công của AppStore cũng như Android Market đã
tạo nên một xu hướng mới, xu hướng xây dựng các kho ứng dụng cho di động.
Không chỉ các hãng sở hữu nền tảng,các nhà sản xuất điện thoại di động, các
hãng viễn thông mà kể cả các tổ chức, cá nhân bên thứ ba cũng xây dựng các
Trong chương này, NV sẽ mô tả bài toán, đặt vấn đề để tiến đến lý do ra đời bài toán
cũng như các lý thuyết kèm theo . Chương gồm có 2 đề mục lớn :
1.1 Mô tả bài toán
1.2 Đặt vấn đề
kho ứng dụng cho riêng mình nhằm chia sẻ miếng bánh lợi nhuận khổng lồ từ thị
trường ứng dụng có giá trị lên tới 29 tỷ USD vào năm 2013.
Hình 1-1 : Số lượng ứng dụng của các kho ứng dụng tháng 3/2011
Hiện tại với việc bùng nổ các ứng dụng cho di động thì cũng bùng nổ cả chợ
cho di động, nói đến chợ cho di động phải nói đến App Store, tuy nhiên ta có thể
phân ra thành các loại hình chợ như sau :
- Operator Portals : (như Vodafone Live) : Đây là loại hình chợ được sở
hữu bởi các nhà khai thác di động, với lợi thế là có thể thanh toán trực
tiếp với khách hàng thông qua tài khoản trên điện thoại của họ. Các nhà
lập trình phải thuê các nhà khai thác trong việc marketting phân phối
cũng như thanh toán. Tuy nhiên trong hầu hết các trường hợp thì lợi
nhuận thu được lại phần lớn nghiêng về các nhà khai thác.
- 3
rd
Party Store Fronts : Người sử dụng sử dụng internet để truy cập
application stores với sự hỗ trợ số lượng lớn các nền tảng và thiết bị. Nhà
phát triển thu được lợi nhuận chia sẻ cao nhưng quảng bá và hiển thị rõ
ràng là điều lo ngại với loại hình này. Và không giống như loại hình
operator portal, chợ ứng dụng không được hiển thị trực tiếp tới người sử
dụng mà người sử dụng phải search chúng .
- Platform Application Stores : Ex Ovi Store, Android Market :Đây là loại

và cho phép bạn mua các ứng dụng dễ dàng thông qua ứng dụng App Store hoặc
giao diện iTunes.
b) Android Market:
Android Market là một kho phần mềm online được phát triển bởi Google cho các
thiết bị Android. Một chương trình ứng dụng gọi là chợ được cài trước cho hầu
hết các thiết bị chạy Android và cho phép người sử dụng lựa chọn, tìm kiếm và
tải về các ứng dụng được đưa ra bởi bên thứ 3.
Hiện tại Android Market cùng với App Store là hai kho ứng dụng thành công
nhất hiện nay. Android Market là kho ứng dụng có số lượng ứng dụng và số
lượng download đứng thứ 2 thế giới sau App Store, hiện tại kho ứng dụng của
Google đang phát triển nhanh nhất và có thể vượt mặt App Store trong tương lai.
Android Market là kho ứng dụng có tỷ lệ ứng dụng miễn phí nhiều nhất và số
lượng ứng dụng miễn phí đã vượt qua App Store.
Các nhà phát triển phần mềm nhận 70% số tiền ứng dụng bán được , với khoảng
30% được phân phối qua các nhà mạng và còn lại thì qua payment. Lợi nhuận
thu được từ Android Market được trả cho người lập trình qua tài khoản Google
checkout merchant
Những người sử dụng ở một số quốc gia có thể truy cập được các ứng dụng có
phí trên Android Market, số còn lại thì duy nhất truy cập các ứng dụng miễn phí.
Tương tự với những người lập trình có thể bán các ứng dụng của mình chỉ ở một
số nước.
c) Kho ứng dụng trong nước :
Hiện các doanh nghiệp trong nước đang xây dựng kho ứng dụng cho riêng
mình. Tiên phong là FPT, với F-Store kho ứng dụng cho điện thoại di động được
xây dựng khá sớm. Nguồn ứng dụng trong kho một phần do FPT phát triển, một
phần từ các cuộc thi viết ứng dụng do FPT tổ chức. FPT cũng kêu gọi Nokia
tham gia, tuy nhiên chương trình này không mang lại kết quả đáng kể nào.
Viettel là nhà mạng đầu tiên nhảy vào lĩnh vực xây dựng ứng dụng, phát triển
ứng dụng cho di động bằng cuộc thi viết ứng dụng, game cho điện thoại di động.
Viettel còn chia tỉ lệ người đoạt giải là 60%-40% cho doanh thu được từ sản

trên điện
thoại
Có Có Không Có, chỉ hỗ
trợ với F-
mobile
Development iPhone
SDK ,API,
testing tool,
debugging
tool, emulator

Android SDK,
API, testing
tool,
debugging
tool, emulator

Không có Không có
Developer
Fees
99$/1 năm 25$ 0 0
Size Trên 400,000 Trên 200,000 <1000 1000
Tìm kiếm
ứng dụng
Rất khó khăn
vì có quá
nhiều ứng
dụng, rất
nhiều loại
ứng dung

Việt Nam,
nhưng nhà lập
trình vẫn
không thể bán
được tại Việt
Nam.
Thanh toán
thông qua
tài khoản
điện thoại
của nhà
mạng, cụ
thể là
Viettel. Vì
vậy chỉ hỗ
trợ điện
thoại sử
dụng mạng
Viettel.
Chưa
thương
mại hóa,
các ứng
dụng hiện
tại là miễn
phí.
Hệ thống
đóng/ mở
Là hệ thống
đóng hoàn

thước màn
hình, phần
cứng khác
nhau. Bị phân
mảnh nhiều.
Iphone chỉ có
5 phiên bản và
phần cứng ,
kích thước
màn hình
không thay đổi
nhiều. Không
bị phân mảnh.
Hỗ trợ
nhiều nền
tảng, nhiều
thiết bị
khác nhau
chứ không
tập trung
vào một
nền tảng.
Hỗ trợ chủ
yếu cho
dòng điện
thoại của
FPT
Bảng 1-1 : So sánh giữa các kho ứng dụng
Sau khi tìm hiểu, phân tích các kho ứng dụng trên thế giới và của Việt Nam thì
có thể nhận thấy dù kho ứng dụng của có quy mô rất lớn và đang rất thành công

xây dựng thành công kho ứng dụng BKStore.
Chương 2: Cơ sở lý thuyết và phương pháp tiếp cận
2.1 Phương pháp tiếp cận và hướng giải quyết vấn đề
2.1.1 Xây dựng kho ứng dụng cho nền tảng Android.
Hiện nay có rất nhiều nền tảng cho di động như IOS của Apple, Android của
Google, Windows Phone7 của Microsoft, Bada của SamSung, Symbian của
Nokia… và vì thế ứng dụng cũng rất phong phú. Việc lựa chọn để xây dựng kho
ứng dụng cho thiết bị nào, cho nền tảng nào cũng rất khó khăn và phải có hướng đi
đúng đắn. Hiện tại Android đang phát triển với tốc độ rất nhanh, nó đã vượt qua lần
lượt IOS và Symbian để trở thành nền tảng chiếm thị phần lớn nhất thế giới.
Android cũng có tốc độ cập nhật nhanh nhất trong số các nền tảng, và cũng là nền
tảng bị phân mảnh nhiều nhất, có nhiều nhà sản xuất tham gia nhất và cũng là nền
tảng có nhiều cải tiến về công nghệ nhất. Android là nền tảng mở, và rất thuận tiện
để phát triển ứng dụng cho nền tảng này. Vì vậy việc xây dựng kho ứng dụng cho
Android có thể tận dụng từ sự phong phú về thiết bị, sự phân mảnh của hệ điều
hành này để có cơ hội để thành công.
2.1.2 Ứng dụng điện toán đám mây xây dưng kho ứng dụng
Kho ứng dụng là nơi mà lập trình viên, nhà phát triển đưa ứng dụng của mình lên
bán, đồng thời người sử dụng điện thoại, hay còn gọi là khách hàng truy cập được
kho ứng dụng thông qua một ứng dụng được cài đặt trên điện thoại. Như vậy cần
xây dựng một web portal, nơi nhà lập trình, người dùng điện thoại có thể lập tài
khoản, upload ứng dụng và theo dõi các ứng dụng của mình. Ngoài ra phải xây
dựng ứng dụng chạy trên điện thoại, cho phép khi truy cập ứng dụng, tức là truy cập
store ngay trên điện thoại của khách hàng để khách hàng dễ dàng tìm kiếm, mua và
tải về ứng dụng.
Vấn đề lưu trữ ứng dụng đảm bảo tính an toàn, nhưng cũng cần phải giảm tối đa
chi phí.Việc khó đánh giá qui mô ứng dụng để thuê host cho phù hợp, tránh lãng phí
cũng như công tác bảo trì server … cũng hết sức khó khăn với qui mô lớn. Vì vậy
chúng ta đưa ra giải pháp sử dụng điện toán đám mây để xây dựng kho ứng dụng,
tận dụng tối đa tính ưu việt của điện toán đám mây, đồng thời giảm chi phí, đem lại

toán và vận hành ứng dụng.
2.2 Cơ sở lý thuyết
Trong phần này NV sẽ trình bày toàn bộ lý thuyết về hệ điều hành Android từ đặc
điểm đến kiến trúc, và phát triển ứng dụng. NV cũng sẽ trình bày về điện toán đám
mây, Google App Engine và cuối cùng là thanh toán quốc tế trên Paypal.
2.2.1 Tổng quan về hệ điều hành Android
2.2.1.1 Android là gì?
Android là nền tảng mở cho các thiết bị di động bao gồm hệ điều hành dựa trên
linux kernel,middleware và một số ứng dụng cơ bản.
2.2.1.1 Đặc điểm Android
 Hệ điều hành nguồn mở : di động chạy Android cho phép người dùng và các
lập trình viên dễ dàng can thiệp, phát triển và tùy biến ứng dụng của mình.
Ngoài ra được cộng đồng phần mềm rất quan tâm và đón nhận.
 Nhiều ứng dụng miễn phí : So với App Store thì trên Android Market số
lượng các ứng dụng miễn phí nhiều hơn. Goolge cũng cho phép người dùng
tự do giới thiệu các ứng dụng của mình.
 Được bảo trợ bởi một liên minh OHA tới nay đã có 80 thành viên bao gồm
những công ty phần cứng, phần mềm viễn thông lớn nhất thế giới đứng đầu
là Google .
 Tốc độ phát triển của Android là rất nhanh chóng :
2.2.1.3 Kiến trúc Android
Hình 2-1: Kiến trúc hệ điều hành Android
- Application :
Android được đưa ra với phần lõi là các ứng dụng bao gồm email client, SMS
program, calendar, máp, browser, contacts,… và các ứng dụng của bên thứ ba
phát triển. Toàn bộ ứng dụng đều viết bằng Java.
- Application Framework:
Bởi cung cấp một nền tảng mở, Android cung cấp cho các nhà phát triển khả
năng để xây dựng những ứng dụng cực kì phong phú và sáng tạo. Những nhà
phát triển không cần mất chi phí để tận dụng phần cứng, truy nhập thông tin,

một gói .apk được coi là một ứng dụng. Tuy nhiên điểm cần chú ý rằng thực chất
Android chỉ sử dụng lại cú pháp của ngôn ngữ Java là chủ yếu chứ không hỗ trợ
đầy đủ ngôn ngữ này. Các thư viện Java cũng như các hàm API của Android chỉ là
một phần của bộ chuẩn Java Platform Standard Edition (Java SE) hay bộ thu nhỏ
dành cho di động Java Platform Micro Edition (Java ME hay còn gọi là J2ME).
Máy ảo Java của Android cũng là một dạng khác dựa trên cấu trúc của máy ảo
Java
Các thành phần cơ bản của ứng dụng Android :
• Activity : Một activity thực hiện một giao diện trực quan để người dùng có
thể thao tác.Một ứng dụng của Android có thể chứa một hoặc nhiều activity.
• Service : Service không có giao diện trực quan mà nó chạy ở nền trong một
thời gian không xác định.
• Broadcast Receiver : là một thành phần không làm gì ngoài việc nhận và
hưởng ứng lại những thông báo (broadcast) được ban ra như là thông báo pin
yếu, có cuộc gọi đến …
• ContentProvider : là thành phần làm cho tập dữ liệu của ứng dụng có thể sử
dụng bởi một ứng dụng khác.

2.2.2 Điện toán đám mây và Google App Engine
2.2.2.1 Khái niệm điện toán đám mây
Điện toán đám mây (cloud computing) không phải là một công nghệ mà là một mô
hình cung cấp và tiếp thị dịch vụ CNTT đáp ứng các đặc trưng nào đó.
Mây là toàn bộ dịch vụ máy tính, không phải sản phẩm, trong đó :
 Cơ sở hạ tầng được chia sẻ : Nhiều khách hàng chia sẻ một nền tảng công
nghệ chung và thậm chí là một ứng dụng đơn lẻ
 Các dịch vụ này được truy xuất theo yêu cầu tại các đơn vị khác nhau tùy
theo dịch vụ. Các đơn vị có thể là người sử dụng, dung lượng, giao dịch hoặc
bất kỳ sự kết hợp nào từ chúng
 Các dịch vụ được mở rộng. Từ quan điểm người dùng, các dịch vụ thì linh
hoạt, không có giới hạn cho sự phát triển

ứng dụng của bạn mà chạy trên cơ sở hạ tầng được cung cấp và được nhận
thông qua Intenet từ cung cấp Server.
Một số nền tảng như : Google App Engine,Windows Azure,EC2 …
 Infrastructure as a Service (IaaS)
IaaS là việc phân phối hạ tầng máy tính như một dịch vụ. Người dùng mua
server, phần mềm, trung tâm dữ liệu, mạng… thay vì mua tất cả những tài
nguyên đó như những dịch vụ linh kiện.
Một số dịch vụ nổi tiếng : Google Gears, Amazon S3


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status