Một số phần mền nổi tiếng và được sử dụng nhiều có thể kểđến như: a Dropbox Là dịch vụ sao lưu, lưu trữ dữ liệu trực tuyến với khả năng đồng bộ theothời gian thực và tự động thực hiện sa
Trang 1LỜI CAM ĐOAN
Em xin cam đoan về nội dung của đồ án tốt nghiệp với tên đề tài : “xây dụng chương trình chia sẻ tài liệu trên Android > ' > là không sao chép nội dung
cơ bản từ các đồ án khác, hay sản phẩm tương tự không phải do em làm ra Sảnphẩm đồ án là do chính bản thân em nghiên cứu và xây dựng
tháng 06 năm 2012 Sinh viên
thực hiện
Lưu Đình Long
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 7
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI VÀ cơ SỞ LÝ THUYẾT 8
1.1 Tổng quan đề tài 8
1.1.1 Yêu cầu và lý do thực hiện đề tài 8
1.1.2 Mục tiêu của đề tài 9
1.1.3 Hướng tiếp cận của đề tài 10
1.2 Tổng quan hệ điều hành Android 10
1.2.1 Lịch sử phát triển 10
1.2.2 Đặc điểm của hệ điều hành Android 11
1.2.3 Kiến trúc hệ điều hành Android 13
1.2.4 Các dịch vụ mạng 18
1.3 Tổng quan Web service 19
1.3.1 Giới thiệu web service 19
1.3.2 Giới thiệu ASP.NET 21
1.3.3 Cá c khái niệm cơ bản của web service 23
1.3.4 Kiến trúc web service 30
1.3.5 Xây dựng một service 32
CHƯƠNG 2: PHẦN TÍCH THIẾT KẾ CHƯƠNG TRÌNH CHIA SẺ TÀI LIỆU TRÊN ANDROID 35
2.1 Mô tả chương trình 35
2.2 Phân tích chương ữình 35
2.2.1 Tác nhân và hệ thống và ƯseCase(UC) 35
2.2.2 Đặc tả chi tiết các ƯC 36
CHƯƠNG 3: XÂY DỤNG CHƯƠNG TRÌNH CHIA SẺ TÀI LIỆU TRÊN ANDROID 54
Trang 33.1 Xây dựng các chức năng 54
3.1.1 Chức năng upload và download file từ Service 54
3.1.2 Chức năng quản lý người dùng 56
3.2 Chương trình ứng dụng phía Service 58
3.3 Chương trình ứng dụng phía Client 60
3.4 Biểu đồ các lớp quan trọng 61
3.5 D EMO ứng dụng 64
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 67
TÀI LIỆU THAM KHẢO 69
Trang 4DANH MỤC HÌNH ẢNH
Hình 1.1: Lịch sử phát triển Android 10
Hình 1.2: Kiến trúc ngăn xếp của hệ điều hành Android 14
Hình 1.3: Sơ đồ chuyển trạng thái của Activity 17
Hình 1.4: Mô hình sử dụng SOAP 19
Hình 1.5: Vị trí của ASP.NET trong NET Framework 21
Hình 1.6: cấu trúc LINQ 23
Hình 1.7 : Cây phân tích XML 25
Hình 1.8: cấu trúc message SOAP 29
Hình 1.9: Tầng giao thức của dịch vụ Web 31
Hình 1.10: Kiến trúc sâu hơn của web service 32
Hình 1.11: Các thành phần và mối quan hệ giữa các thành phần webservice 34
Hình 2.1: Biểu đồ trình tự uc đăng ký tài khoản 37
Hình 2.2: Biểu đồ cộng tác uc Đăng ký tài khoản 37
Hình 2.3: Biểu đồ trình tự uc đăng nhập 39
Hình 2.4: Biểu đồ cộng tác uc đăng nhập 39
Hình 2.5: Biểu đồ trình tự uc đổi mật khẩu 40
Hình 2.6: Biểu đồ cộng tác uc thay đổi mật khẩu 41
Hình 2.7 Biểu đồ trình tự uc khôi phục tài khoản 42
Hình 2.8: Biểu đồ trình tự uc khôi phục tài khoản 43
Hình 2.9: Biểu đồ trình tự uc upload 44
Hình 2.10: Biểu đồ cộng tác uc upload 44
Hình 2.11: Biểu đồ trình tự uc download 45
Hình 2.12: Biểu đồ cộng tác uc download tài liệu 46
Hình 2.13: Biểu đồ trình tự uc delete file 47
Hình 2.14: Biểu đồ cộng tác uc delete file 47
Hình 2.15: Biểu đồ trinh tự uc đồng bộ hiển thị 48
Hình 2.16: Biểu đồ cộng tác uc đồng bộ hiển thị 49
Hình 2.17:Biểu đồ trình tự uc chia sẻ tài liệu 50
Hình 2.18:Biểu đồ cộng tác uc chia sẻ tài liệu 51
Trang 5Hình 2.19: Biểu đồ trình tự uc receipt 52
Hình 2.20: Biểu đồ cộng tác uc receipt 52
Hình 2.21: Biểu đồ trình tự uc thoát chương trình 53
Hình 2.22: Biểu đồ cộng tác uc thoát chương trình 53
Hình 3.1: Minh họa chức năng upLoad tài liệu 55
Hình 3.2: Chức năng Download tài liệu 55
Hình 3.3: Chức năng Khôi phục tài khoản 58
Hình 3.4: Biểu đồ Class giữa các thành phần giao diện 60
Hình 3.5: Class Webservice 62
Hình 3.6: Danh sách liên kết các màn hình mức 1 và 2 64
Hình 3.7: Các màn hình mức 3 64
Hình 3.8: Đăng nhập 65
Hình 3.9: Browser for upload và list file đã upload 65
Hình 3.10: Chức năng share và các chức năng khác 66
Hình 3.11: Chức năng xóa và thay đổi mật khẩu 66
Trang 6Đặc biệt Google và HTC đã tung ra một hệ điều hành mới làm cả thế giớiphải chú ý đó là hệ điều hành Andorid Với ưu thế là hệ điều hành mã nguồn mở,việc phát triển ứng dụng trên nền Android trở nên dễ dàng hơn và được hỗ trợnhiều hơn bởi cộng đồng mã nguồn mở trên toàn thế giới.
ứng dụng của các thiết bị di động rất rộng rãi trong đời sống, trong nhiềulĩnh vực: giải trí, học tập, tiện ích Trong điện thoại của chúng ta chứa những bứcảnh đẹp, những video, những tài liệu học tập quan trọng Việc lưu trữ, backup vàchia sẻ nó là cần thiết Vì các lý do đó em quyết định chọn đồ án với tên đề tài:
Nội dung của đồ án bao gồm:
về đề tài, lý do chọn đề tài, mục tiêu đề tài, hướng tiếp cận giải quyết, xây dựngchương trình Tổng quan hệ điều hành android và web service Trình bày tổng quancác kiến thức về hệ điều hành Android, gồm lịch sử phát triển, đặc điểm và kiếntrúc hệ điều hành Android Trình bày tổng quát web service, khái niệm, đặc điểm,cấu trúc một webservice, khái niệm Web service sử dụng ASP.NET
chương 2: Phân tích thiết kế chương trình chia sẻ tài liệu trên android Trong chương trình bày phân tích và thiết kế chương trình chia sẻ tài liệu, chương 3: Xây dựng ứng dụng chia sẻ tài liệu trên android Phần này trình bày quá trình xây dựng ứng dụng Kiểm thử chương trình, kết luận và hướng phát triển
Tổng kết những kết quả đã được, những ưu, nhược điểm của chương trình.Hướng phát triển của chương trình
CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI VÀ cơ SỞ LÝ THUYẾT
Trang 71.1 Tổng quan đề tài
1.1.1 Yêu cầu và lý do thực hiện đề tài
Tài liệu, thông tin là tài sản quý Những file tài liệu kinh doanh với những
số liệu quan trọng, những giáo trình học tập Những cuốn sách hay Những hìnhảnh, video kỷ niệm Sẽ rất phiền toái nếu vì một lý do nào đó chúng ta đánh mấtnhững tài liệu này Một dịch vụ sao lưu và chia sẻ tài liệu là rất cần thiết Nhữngdịch vụ này cho phép mỗi người sử dụng máy tính, điện thoại có thể sao lưu cấtgiữ hoặc chia sẻ tài liệu của minh cho người khác Có rất nhiều phần mềm, dịch vụsao lưu chia sẻ tài liệu trực tuyến Đây là những dịch vụ giúp người dùng có thể saolưu và chia sẻ tài liệu Một số phần mền nổi tiếng và được sử dụng nhiều có thể kểđến như:
a) Dropbox
Là dịch vụ sao lưu, lưu trữ dữ liệu trực tuyến với khả năng đồng bộ theothời gian thực và tự động thực hiện sao lưu, hỗ trợ miễn phí 2GB dung lượng lưutrữ trực tuyến trên máy chủ Dropbox cho phép người dùng sao lưu nhanh chóng dữliệu của mình Dữ liệu của người dùng sẽ được lưu trên server, người dùng có thểđồng bộ dữ liệu, hoàn tác những thao tác chỉnh sửa dữ liệu với lịch sử được lưu là
30 ngày
b) Google picasa, google document
Google là công ty cung cấp nhiều dịch vụ internet trong đó có hai dịch vụsao lưu và chia sẻ dữ liệu nổi tiếng đó là google-picasa và google-document Mỗingười dùng đăng ký tài khoản của google sẽ có 1GB dung lượng dành cho sao lưu,chia sẻ hình ảnh trên dịch vụ picasa và sẽ có 1GB cho lưu trữ tài liệu trên dịch vụgoogle-document Google có hệ thống server mạnh, được bố trí khắp thế giới, dịch
vụ lưu trữ nhanh và người dùng cũng rất dễ dàng quản lý và chia sẻ tài liệu củamình
c) Skydriver
Skydriver là dịch vụ sao lưu, chia sẻ dữ liệu của tập đoàn Microsoft Người
sử dụng sau khi đăng ký tài khoản sẽ có 7GB dung lượng bộ nhớ để sao lưu và chia
sẻ tài liệu Giao diện Skydriver dễ sử dụng, băng thông upload và download có thể
Trang 8điều chỉnh Một phần mềm chạy trên máy client giúp người dùng dễ dàng upload,download, đồng bộ và chỉnh sửa tài liệu của họ c) Các dịch vụ sao lưu, chia sẻ dữliệu khác
Bên cạnh những công ty, những dịch vụ chia sẻ dữ liệu trực quan trên thịtrường internet còn nhiều dịch vụ sao lưu, chia sẻ dữ liệu nổi tiếng khác như:
Đô án được xây dựng với các chức năng giúp người sử dụng backup tài liệu, chia
sẻ tài liệu tránh khỏi những phiền toái khi bạn bị mất máy hoặc máy gặp trục trặc.Chương trình chia sẻ tài liệu là một phần mềm dịch vụ, giúp người sử dụng điệnthoại có thêm tiện ích khi sử dụng Người sử dụng có thể backup những dữ liệuquan trọng, tránh những trường hợp làm mất thông tin Người sử dụng còn có thểchia sẻ những tài liệu trên máy của họ cho mọi người, chia sẻ những bức ảnh đẹp,những video, hay những tài liệu học tập, văn bản Đây là những lý do em chọn đề
1.1.2 Mục tiêu của đề tài
Mục tiêu của đề tài là nhằm đưa ra một giải pháp bổ sung, khả thi cùng vớicác dịch vụ sao lưu khác trên điện thoại như Dropbox cung cấp tiện ích cho người
sử dụng Hơn thế nữa, mục tiêu của chương trình còn giúp người sử dụng dễ dànghơn trong việc chia sẻ tài liệu trên điện thoại, cụ thể là Android
1.1.3 Hướng tiếp cận của đề tàỉ
Phương pháp đưa ra là sử dụng web Service Một dịch vụ web chạy trênserver thực hiện các công việc quản lý người dùng và quản lý tài liệu của mỗi
Trang 9người dùng Một mô hình Client - server Phía Client giao tiếp với server thực hiệncác chức năng của chương trình.
Công viêc chính thực hiện để tài bao gồm:
- Tìm hiểu và cài đặt Server trên nền ASP.NET
- Tìm hiểu và xây dựng web Service kết nối với Client và cơ sở dữ liệu
- Tìm hiểu và cài đặt Client trên nền hệ điều hành Android
- Tìm hiểu các phương thức truyền dữ liệu giữa môi trường Android(javaSE) và ASP.NET
1.2 Tổng quan hệ điều hành Android
Trang 10work, hỗ trợ đa phương tiện, Một đặc điểm mạnh mẽ khác của Android nó là mộtnền tảng mã nguồn mở, điều này rất có lợi trong việc cung cấp các yếu tố còn thiếu(các thư viện, các công cụ hỗ trợ phát triển ứng dụng) bởi cộng đồng phát triển mãnguồn mở toàn cầu Không chỉ hỗ trợ các thiết bị có cấu hình phần cứng mạnhđược biết tới là các “Smart Phone” Android hỗ trợ được các nền tảng phần cứngkhác tất nhiên phải đảm bảo được tốc độ xử lý.
Giống với lập trình ứng dụng trong WINDOWS được cung cấp các tínhnăng thỏa mãn sự hỗ trợ của hệ điều hành như cung cấp các cửa sổ, các nút bấm,các textbox, các hệ quản trị cơ sở dữ liệu cho phép truy xuất, thay đổi, lưu trữnhư MySQL, SQL server,
Trong hệ điều hành Android cũng cung cấp các khái niệm này, tuy nhiên cóphương thức đóng gói khác và có cấu trúc phù họp cho điện thoại Các phươngthức đó là
Content providers
Content Providers cung cấp một mức độ trừu tượng (Level Of Anstractio) đối với bất kỳ dạng dữ liệu nào được lưu trên thiết bị mà có thể bị truy cập từ nhiều ứng dụng khác nhau Các mô hình phát triển ứng dụng trên Android
khuyến khích việc xây dựng dữ liệu có thể được truy cập từ nhiều ứng dụng khácnhau tuy nhiên phải kiểm soát được truy cập
- Intents
Intents được hiểu là thông điệp của hệ thống Thông điệp này chạy vòng quanhbên trong thiết bị thông báo tới các ứng dụng các sự kiện khác nhau xảy ra bêntrong hệ thống như: trạng thái phần cứng bị thay đổi, dữ liệu mới được thêm vào,các sự kiện của ứng dụng(ví dụ người sử dụng Click vào phần nào đó của thiết bị)
Trang 11Không chỉ người lập trinh mới có thể hồi đáp lại Intents tuy nhiên người lập trình
có thể tạo ra các Intents theo mục đích của mình như dùng để khởi tạo cácActivities khác hoặc dùng để báo cho ta biết khi có các tình huống cụ thể phátsinh,
- Services
Trong Android các phương thức Activities, Content Providers, Intents có thờigian sống rất ngắn và có thể tắt tại bất cứ thời điểm nào Tuy nhiên Services đượcthiết lập để có thể chạy liên tục nếu cần thiết và độc lập với các hoạt động Servicesđược sử dụng trong việc kiểm tra quá trinh cập nhật cho dữ liệu trong RSS hoặcchơi lại một bản nhạc mặc dù phương thức Activities đã tắt
Các đặc điểm mà hệ điều hành Android cung cấp phát triển các ứng dụng:
Lưu trữ: Lập trinh viên có thể đóng gói các dữ liệu cần thiết cho ứng dụng,những dữ liệu này không có sự thay đổi chẳng hạn như dữ liệu cho các biểu tượnghoặc dữ liệu cần cho trợ giúp người sử dụng Lập trình viên có thể sử dụng mộtphần nhỏ không gian lưu trữ trên bộ nhớ của thiết bị dùng để lưu trữ cơ sở dữ liệuhoặc sử dụng thẻ nhớ (SD Card) để lưu trữ dữ liệu cần thiết nếu người dùng sửdụng thẻ nhớ Android cung cấp các phương thức giúp đọc, ghi dữ liệu
Mạng: các thiết bị sử dụng Hệ điều hành Android cung cấp sẵn khả năngtruy cập Internet thông qua các kết nối vừa hoặc lớn hơn Lập trình viên có thể tậndụng lợi thế truy cập Internet từ bất kỳ cấp độ nào mà họ muốn, có thể sử dụngSockets trong java hoặc tất cả các phương thức được xây dựng và đưa vào bộWebkit trong Android Bộ webkit trong Android được xây dựng dựa trên trìnhduyệt Web và cung cấp tất cả các ứng dụng cần thiết cho một trình duyệt
Đa phương tiện: Các thiết bị sử dụng Android cung cấp khả năng ghi vàphát video, quá trình ghi và phát cụ thể hoàn toàn có thể thay đổi Người lập trìnhviên có thể truy vấn tới thiết bị, tìm hiểu khả năng của thiết bị(có phát nhạc haykhông, có camera hay không) và lấy ra những khả năng đa phương tiện phù hợpnhư là nghe nhạc, lấy ảnh từ camera, sử dụng Micro để ghi dữ liệu âm thanh v.v
GPS: Các thiết bị sử dụng Android nếu có khả năng định vị vị trí thì lậptrình viên hoàn toàn có thể lấy ra được các thông tin cần thiết để xây dựng ứng
Trang 12dụng riêng của mình như định vị (GPS), xem bản đồ hoặc cho phép người sử dụngtheo dõi thiết bị trong trường hợp bị mất cắp.
Các dịch vụ thoại: Dĩ nhiên thiết bị chạy Android cho phép các ứng dụng cơbản của điện thoại Lập trình viên có thể xây dựng chương trình cho phép gọi vànhận cuộc gọi, gửi và nhận tin nhắn, và tất cả dịch vụ khác của một chiếc điện thoạithông thường
1.2.3 Kiến trúc hệ điều hành Android
Việc phát triển dựa trên nhân Linux 2.6 đem lại nhiều thuận lợi lớn choAndroid bởi lịch sử phát triển lâu đời và là nền tảng mở Nhân này chịu tráchnhiệm điều khiển phần cứng, quản lý điện năng, quản lý truy cập và các chức năngcần thiết khác cho một hệ điều hành Các điều khiển thiết bị được cung cấp baogồm: Hiển thị, máy ảnh, bàn phím, Wifi, bộ nhớ Flash, Âm thanh, và IPC(Xử lýtruyền thông) Dựa trên nhân của Linux hệ điều hành Android có kiến trúc kiểungăn xếp như sau Các thành phần chính sẽ được mô tả rõ ở bên dưới
❖ Linux Kennel
Như đã trình bày ở trên, hệ điều hành Android được xây dựng dựa trên nềntảng là nhân của hệ điều hành mã nguồn mở Linux Nhân Linux cung cấp một lớptrừu tượng giúp điều khiển nền tảng phần cứng cũng như các dịch vụ cốt lõi như bộnhớ, xử lý và quản lý hệ thống tập tin Cung cấp các khả năng như điều khiển thiết
bị, truy xuất vào thiết bị, điều khiển nguồn điện, truy xuất tới máy ảnh, màn hìnhcảm ứng, GPS, Các ứng dụng của người dùng được viết bởi ngôn ngữ Java,Android SDK, sau đó được biên dịch thành mã Byte và chạy thông qua máy ảoDavik
Trang 13ảo Davik do vậy mỗi ứng dụng sẽ khởi tạo một máy ảo tương ứng, Davik đượcthiết kế đảm bảo hiệu xuất cho việc xử lý các tiến trình Các ứng dụng thực thithông qua Davik được định dạng dưới dạng Dex
Các máy ảo Dalvik có các lớp Java tạo các tập tin và kết hợp chúng vàomột hoặc nhiều các tập tin thực thi Dalvik ( dex) Nó ghép sự trùng lặp thông tin từcác tập tin hoặc từ các lớp, có hiệu quả việc giảm không gian cần thiết Ví dụ, tệpdex của các ứng dụng web, trình duyệt Android là khoảng 200Kb, trong khi tươngđương với phiên bản jar là khoảng 500Kb Các Tệp dex của các ứng dụng đồng hồbáo thức, khoảng 50Kb và ở phiên bản Jar là khoẳng 120Kb Thứ hai, Google đãđiều chỉnh rác trong máy ảo Dalvik Các công ty có thể biện minh cho
Trang 14điều này sự lựa chọn vì nhiều các thư viện lõi của Android, trong đó có các thư viện
đồ họa, được thực hiện trong c và c + +
Một số thư viện tiêu biểu
• Các hệ thống thư viện của c được dựa trên Berkeley Software Distribution
và được tinh chỉnh để nhúng vào các thiết bị dựa trên Linux
• SLG công cụ đồ họa 2D cơ bản
• Các thư viện đa phương tiện PacketVideo’s OpenCORE, các thư viện nàycung cấp khả năng ghi và phát hầu hết các định dạng âm thanh và Video
• Một thư viện có tên là Surface Manager điều khiển truy cập tới hệ thống hiểnthị và hỗ trợ hiển thị 2D và 3D
• Thư viện Webkit cung cấp các hỗ trợ cho trình duyệt giống với hỗ trợ trongtrình duyệt GoogleChrome
• Thư viện FreeType hỗ trợ phông trữ
• Thư viện SQLite cung cấp các phương thức liên quan tới cơ sở dữ liệu.SQLite là thư viện mã nguồn mở tuy nhiên không có các công cụ trênAndroid lập trình viên có thể mua các công cụ cần thiết cho việc khai thác cơ
sở dữ liệu
♦♦♦ Application Framework
Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho cácnhả 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 Lậptrình viên có thể tự do tận dụng phần cứng, truy cập thông tin địa điểm, chạy cácdịch vụ nền, thiết lập hệ thống cảnh báo, thêm các thông báo và trạng thái, Kiếntrúc ứng dụng được thiết kế đơn giản hóa trong việc sử dụng các thành phần, cácứng dụng đều có khả năng Public các thành phần của mình với mục đích cho cácứng dụng khác sử dụng (dĩ nhiên tồn tại khả năng bảo mật và mã hóa cần thiết) Tất
cả ứng dụng là tập hợp các dịch vụ và hệ thống cơ bản
• Tập họp các đối tượng View được hiểu là các thành phần xây dựng lên giaodiên người dùng (UI) của ứng dụng như các Button, TextView, ListView,Layout, Grids, Edit Box,
Trang 15• Content Provider cho phép ứng dụng có thể truy cập dữ liệu từ các ứng dụngkhác, bao hàm cả các ứng dụng của hệ thống như danh bạ điện thoại, hệthống tin nhắn, Ngoài ra cho phép ứng dụng chia sẻ dữ liệu của chính mìnhcho các ứng dụng khác
• Resource Manager quản lý việc truy cập của ứng dụng tới các tài nguyên củachính ứng dụng ví dụ: truy cập tới các Layout, các xâu được định nghĩa, cácIcon
• Notification Manager quản lý việc đưa ra các thông báo, cảnh báo của ứngdụng
• Activity Manager quản lý vòng đời của ứng dụng, khởi tạo, chạy, kết thúc,đồng thời có khả năng gọi lại các Activity trong ngăn xếp chứa chúng
• Application
Được gọi là tầng ứng dụng noi chứa các ứng dụng giao tiếp với người sửdụng Các ứng dụng này được phát triển trên nền tảng ngôn ngữ Java Các hệ thốngAndroid cung cấp một số ứng dụng có sẵn như quản lý danh bạ, trình duyệt, các ứngdụng gọi và nhận cuộc gọi, Home,
cấp các tính năng cơ bản của một ứng dụng quản lý danh bạ điện thoại như thêmliên hệ, chinh sửa liên hệ, xóa liên hệ, Ngoài ra nó cũng cho phép các nhả pháttriển có khả năng tương tác lên cơ sở dữ liệu một số tương tác thường thấy như việctham chiếu lên cơ sở dữ liệu, đọc cơ sở dữ liệu, chỉnh sửa hoặc xóa một bản ghi bấtkỳ, Để thực hiện lập trình viên cần cấp quyền truy cập cho ứng dụng, dùng con trỏtham chiếu tới dữ liệu
điện thoại di động như thực hiện cuộc gọi, nhận cuộc gọi, gửi nhận tin nhắn,
Android cung cấp các tính năng cơ bản như khả năng duyệt web động cũng như webtĩnh, đọc các định dạng xml các dạng tệp ảnh, tệp video, tệp audio, sử dụng các giaothức khác nhau để kết nối internet Sử dụng các công nghệ khác nhau để truy cậpnhư công nghệ GPRS, 3G, 4G,
Trang 16E& CliU
Activity
&f‘Crea tef)i
Kptcn dung
quay ki
a’iD -1
Tieu tfii ¿1
Cik ijt-ici dyng kiwc
can b6 rid
Adtivity ifeag chpy
— Mot Activity IcbAc
then ogimg _r _
Activity ¿ecu kicb hoar f a man hinh
Hinh 1.3: So do chuyen trang thai cua Activity
Trang 171.2.4 Các dịch vụ mạng
Nền tảng Android kết hợp nền tảng khả năng phần cứng, kiến trúc phần mềm,
và truy cập vào mạng dữ liệu đem lại sức mạnh lớn trong việc thiết kế các ứng dụngmạng
Android cung cấp truy cập bằng nhiều cách: mạng di động IP, WiFi, vàBluetooth Ở đây chúng ta sẽ tập trung vào việc ứng dụng Android trong việc sửdụng mạng dữ liệu IP, sử dụng phương pháp tiếp cận khác nhau
Phần này giới thiệu lại các kiến thức cơ bản về mạng từ đó chuyển qua xem xétcác yếu tố hỗ trợ mạng trên nền tảng Android Như ta đã biết kiến trúc mạngTCP/IP là một kiến trúc mạnh bao gồm các lớp và các giao thức sử dụng tương ứngvới các lớp như
- Tầng Application sử dụng các giao thức SMTP,HTTP,FTP
- Tầng Transport sử dụng giao thức: TCP,UDP
- Tầng Internet sử dụng giao thức: IP, ICMP, IGMP
- Tầng Link sử dụng giao thức : ARP,RARP
HTTP và Soap
Web Services là một mô hình chung cho xây dựng ứng dụng và có thể đượcthực hiện trên bất kỳ hệ thống nào có hỗ trợ giao tiếp qua Internet Trước đây việckết nối tới Webservice sử dụng các công nghệ như Component Object Model(DCOM), Remote Method Invocation (RMI), và Internet Protocol Inter- Orb(HOP) Thật không may tất cả các mô hình này phụ thuộc vào một giao thức, đốitượng cụ thể Sau này Web Service mở rộng các mô hình này một đưa ra giao thứctruy cập đối tượng đơn giản (SOAP) và Extensible Markup Language (XML)
Như chúng ta đã biết giao thức HTTP cho phép người dùng gửi yêu cầu
“Request” tới máy chủ HTTP, và máy chủ sẽ hồi đáp “Response” yêu cầu củangười sử dụng Với SOAP tất cả các Request và Response được triết xuất thànhXML và gửi đi thông qua giao thức HTTP Điều này khiến việc trao đổi giữa Client
và Server trở nên đơn giản và bảo mật hơn
Trang 18Hình 1.4: Mô hình sử dụng SOAP Truyền dữ liệu sử dụng SOAP
Cộng đồng mã nguồn mở đã phát triển một gói mới cho phép truyền dữ liệu
sử dụng Soap Gói này cho phép chuyển dữ liệu gửi đi thành XML, gửi dữ liệu tớiWebService, nhận về phản hồi từ WebService (cũng dạng XML) lấy ra thành phầncủa dữ liệu
XSTREAM
Như vậy công nghệ Soap giúp trao đổi dữ liệu giữa Client và WebServicedưới dạng XML thông qua giao thức HTTP Đe thuận tiện cho việc gửi dữ liệu, lậptrình viên có thể sử dụng XSTREAM
XSTREAM là một công cụ giúp chuyển các đối tượng hay những thể hiệncủa những lớp Java qua dạng XML hay ngược lại Nó là một mã nguồn mở, đượcphát triển từ đầu năm 2004
Để sử dụng XSTREAM cần khởi tạo các đối tượng cần chuyển đổi thànhXML, đối tượng có thể bao hàm nhiều đối tượng con Sau đó dùng XSTREAM đểtiến hành chuyển đổi qua lại giữa đối tượng và tệp XML
1.3 Tổng quan Web service
1.3.1 Giới thiệu web service
Dịch vụ Web (Web Service) được coi là một công nghệ mang đến cuộccách mạng trong cách thức hoạt động của các dịch vụ B2B (Business to Business)
và B2C (Business to Customer) Giá trị cơ bản của dịch vụ Web dựa trên việc cung
Trang 19cấp các phương thức theo chuẩn trong việc truy nhập đối với hệ thống đóng gói và
hệ thống kế thừa Các phần mềm được viết bởi những ngôn ngữ lập trình khác nhau
và chạy trên những nền tảng khác nhau có thể sử dụng dịch vụ Web để chuyển đổi
dữ liệu thông qua mạng Internet theo cách giao tiếp tương tự bên trong một máytính Tuy nhiên những công nghệ sử dụng ở đây không nhất thiết phải là nhữngcông nghệ mới Đây là điểm khác biệt của web services so với các công nghệ khác,
đó chính là khả năng kết hợp các công nghệ đã có như là XML, SOAP, WSDL,UDDI để tạo ra các service, đặc điểm này làm nổi bật vai trò của web services
Ưu và nhược điểm
- Nâng cao khả năng tái sử dụng
- Thúc đhỳ đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép cáctiến trình/chức năng nghiệp vụ đóng gói ừong giao diện dịch vụ Web
- Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong
hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán
- Thúc đhịr hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành ,phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của các doanh nghiệp.b) Nhược điểm
+ Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của dịch vụ Web,giao diện không thay đổi, có thể xảy ra lỗi nếu một máy khách không được nângcấp, thiếu các giao thức cho việc vận hành
+ Có quá nhiều chuNi cho dịch vụ Web khiến người dùng khó nắm bắt
+ Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật
Trang 20WB ỉl+i Cff
WindowsForms
1.3.2 Giới thiệu ASP.NET
ASP.NET có tên đầy đủ là Active Server Page NET ASP.NET là mô hìnhphát triển ứng dụng Web hợp nhất bao gồm nhiều dịch vu cho phép xây dựng cácứng dụng Web tiên tiến với số code nhỏ nhất ASP.NET là một phần của NETFramework, khi lập trình với ASP.NET người lập trình có thể sử dụng các thự việncủa NET Framework ASP.NET hỗ trợ lập trình với nhiều ngôn ngữ như là MSVisual Basic, c#, Jscript NET và J#, các ngôn ngữ này đều phải tương thích với
“Common Language Runtime” (CLR) Các ngôn ngữ đều được dịch ra mã IL.ASP.NET là ngôn ngữ lập trình hướng đối tượng sử dụng các ngôn ngữ NET Nócung cấp bộ các đối tượng nhỏ và thực sự là một tầng làm việc trên nguyên lý củaHTTP và HTML Mã nguồn không được truy cập toàn bộ các đối tượng trong NETFramework nhưng có thể khai thác tất cả các quy ước của một môi trường OOP(Object Oriented Programming) Thiết kế hướng đối tượng giúp tạo các lóp, giao
diện, kế thừa các lớp
Common Language Specification
ASP.MET
Wöb Forms Web Services
Mobile I internet Toolkit
Trang 21Một ứng dụng ASP.NET luôn luôn được biên dịch, nó không chạy bằng mã của c#
hoặc Visual Basic mà không được biên dịch trước Một ứng dụng ASP.NET thực sụđược biên dịch thông qua 2 giai đoạn:
Trang 22- Giai đoạn đầu tiên những các mã (C#, Visual Basic hoặc ngôn ngữ NETkhác) được dịch bởi Microsoft Intermediate Language (MSIL) Giai đoạndịch này được dịch tự động khi trang web đầu tiên yêu cầu Các file đượcdịch thành mã IL (Intermediate Language Code).
- Giai đoạn tiếp theo được dịch trước khi trang Web được thực thi Tại giaiđoạn này mã IL được dịch thành bản mã máy (Native Machine Code) Giaiđoạn này được gọi là Just-In-Time (JIT)
Điều trọng nhất của công cụ ASP.NET là nó chạy trong môi thời gian thực(Runtime) của CLR (Common Language Runtime) CLR là máy ảo (virtualmachine) trong Microsoft NET, do có ngôn ngữ trung gian IL nên việc phát triểnứng dụng trên NET sẽ không bị phụ thuộc vào thiết bị, có nghĩa là ứng dụng NET
có thể chạy trên bất kỳ thiết bị nào có NET Framework Tất cả các namespace, cácứng dụng, các lớp trong bộ NET Framework được gọi tắt là bộ quản lý mã CLRcũng cung cấp các dịch vụ quan trọng khác như:
• LINQ
LINQ (Language Integrated Query) đưa ra khả năng lập trình mới ừong NET.Giải pháp lập trình hợp nhất, đem đến khả năng truy vấn dữ liệu theo cú pháp SQL
Trang 23trực tiếp trong c# hay VB.NET, áp dụng cho tất cả các dạng dữ liệu từ đối tượngđến Cơ sở dữ liệu quan hệ và XML.
1.3.3 Các khái niệm cơ bản của web Service
XML là một chuẩn mở do W3C đưa ra và được phát triển từ SGML XML
là một ngôn ngữ mô tả văn bản với cấu trúc do người sử dụng định nghĩa, nó được
sử dụng để định nghĩa các thành phần dữ liệu ừên trang web và cho những tài liệuB2B về hình thức, XML hoàn toàn có cấu trúc thẻ giống như ngôn ngữ HTML,nhưng không tuân theo một đặc tả quy ước như HTML, người sử dụng hay cácchương trình có thề quy ước định dạng các tag XML đề gỉao tiếp với nhau Trongkhi HTML định nghĩa thành phần được hiển thị như thế nào thì
XML lại định nghĩa những thành phần đó chứa cái gì Với XML, các thẻ có thểđược lập trinh viên tự tạo ra trên mỗi trang web và được chọn là định dạng thôngđiệp chuẩn bởi tính phổ biến và hiệu quả mã nguồn mở
Er.'1-nl.lon Ira««
Trang 24Do dịch vụ Web là sự kết họp của nhiều thành phần khác nhau nên nó sửdụng các tính năng và đặc trưng của các thành phần đó để giao tiếp Vì vậy XML làcông cụ chính để giải quyết vấn đề này và là kiến trúc nền tảng cho việc xây dựngmột dịch vụ Web, tất cả dữ liệu sẽ được chuyển sang định dạng thẻ XML Khi đó,các thông tin mã hóa sẽ hoàn toàn phù họp với các thông tin theo chuẩn của SOAPhoặc XML-RPC và có thể tương tác với nhau trong một thể thống nhất.
Document Object Model (DOM) có thể nói là “ một cách chuẩn để đọc ghiXML ” Hầu hết các hệ điều hành phổ biến đều có một phiên bản DOM, có thể sửdụng trong hầu hết các ngôn ngữ lập trình, bao gồm c# a ó là một ApplicationProgramming Interface (API) để truy vấn các file XML
Ý tưởng của DOM là bất kỳ file XML nào có thể được mô tả dưới dạng một câychứa các node
Trang 25Ví dụ:
Mặc dù DOM là một cách thuận lợi để đọc và ghi XML, nhưng nó cũng có một
số giới hạn Điều đáng nói khi load một tài liệu XML vào DOM, toàn bộ tài liệu phảiđược load vào bộ nhớ Vào lúc này, DOM xây dựng toàn bộ cây mô tả tài liệu, vớitất cả các node, ẩ ghĩa là khi file XML có kích thước lớn thì sẽ tốn bộ nhớ Quá trìnhnày cũng chiếm nhiều thời gian, đặc biệt khi cần một hoặc hai node trong tài liệu
Với XmlTextReader và XmlTextWriter đã cải thiện được hai điều củaDOM:
- Toàn bộ file không cần thiết đưa vào bộ nhớ trước khi xử lý document
Trang 26- XmlTextReader và XmlTextWriter làm việc rất nhanh do không cần phải xâydựng cấu trúc cây.
Trang 27Tuy nhiên, XmlTextReader và XmlTextWriter có một số nhược điểm Bởi YÌ chúngkhông lưu toàn bộ file vào bộ nhớ nên đôi khi khi trong việc liên hệ giữa một phần
và các phần khác trong document
b) WSDL (Web Service Description Language)
WSDL là một ngôn ngữ dựa trên XML để định vị và mô tả các dịch vụ Web WSDL
là viết tắt của Web Service Description Language
WSDL được dựa trên XML
WSDL được dùng để mô tả các dịch vụ Web
- Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của dịch vụ Web
- Loại thông tin: thao tác, tham số, những kiểu dữ liệu (có thể là giao diện của dịch
vụ Web cộng với tên cho giao diện này)
Một WSDL họp lệ gồm hai phần:
- Phần giao diện: mô tả giao diện và giao thức kết nối
- Phần thi hành: mô tả thông tin để truy xuất service
Cả hai phần này sẽ được lưu trong 2 tập tin XML
c) UDDI
UDDI là một dịch vụ thư mục nơi mà các công ty có thể đăng ký và tìm kiếm các dịch vụ web
- UDDI là viết tắt của Universal Description Discovery and Integration
- UDDI là một thư mục để lưu trữ các thông tin về các dịch vụ web
- UDDI là một thư mục của các dịch vụ web giao diện mô tả bởi WSDL
- UDDI truyền qua SOAP
- UDDI được xây dựng trên Microsoft NET
Để có thể sử dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhận thông tin về cách sử dụng và biết được đối tượng nào cung cấp dịch vụ UDDI
Trang 28định nghĩa một số thành phần cho biết các thông tin này, cho phép các client truy tìm
và nhận những thông tin được yêu cầu khi sử dụng dịch vụ Web
Cấu trúc UDDI:
+ Trang trắng - White pages: chứa thông tin liên hệ và các định dạng chính của dịch
vụ Web, chẳng hạn tên giao dịch, địa chỉ, thông tin nhận dạng Những thông tin nàycho phép các đối tượng khác xác định được dịch vụ
+ Trang vàng - Yellow pages: chứa thông tin mô tả dịch vụ Web theo những loạikhác nhau Những thông tin này cho phép các đối tượng thấy được dịch vụ Web theotừng loại với nó
+ Trang xanh - Green pages: chứa thông tin kỹ thuật mô tả các hành vi và các chứcnăng của dịch vụ Web
+ Loại dịch vụ - tModel: chứa các thông tin về loại dịch vụ được sử dụng
Những thông tin về dịch vụ Web được sử dụng và công bố lên mạng sử dụng giaothức này Nó sẽ kích hoạt các ứng dụng để tìm kiếm thông tin của dịch vụ Web khácnhằm xác định xem dịch vụ nào sẽ cần đến nó
Những UDDI registry hiện có:
- UDDI Business Registry: bộ đăng ký được bảo trì bởi Microsoft, IBM đặc điểmcủa bộ đăng ký này là nó phân tán về mặt vật lý
- IBM Test Registry: bộ đăng ký cho những người phát triển để thử nghiệm côngnghệ và kiểm tra những service của họ
- Private registries IBM ships: bộ đăng ký UDDI cá nhân,
d) SOAP (Simple Object Access Protocol)
SOAP là một XML dựa trên giao thức để cho phép các ứng dụng trao đổithông tin qua HTTP Hoặc đon giản hom: SOAP là một giao thức để truy cập vàomột dịch vụ web
SOAP là viết tắt của Simple Object Access Protocol
SOAP là một giao thức truyền thông
SOAP là một định dạng để gửi thông điệp
SOAP được thiết kế để giao tiếp qua Internet
SOAP là nền tảng độc lập
Trang 29SOAP là ngôn ngữ độc lập.
SOAP dựa trên XML
SOAP là đơn giản và mở rộng
SOAP cho phép bạn có được khoảng tường lửa
SOAP là một chuẩn của W3C
Một vấn đề khá quan trọng là làm thế nào để truy xuất dịch vụ khi đã tìmthấy? Câu trả lời là các dịch vụ Web có thể truy xuất bằng một giao thức là SimpleObject Access Protocol - SOAP Nói cách khác chúng ta có thể truy xuất đến UDDIregistry bằng các lệnh gọi hoàn toàn theo định dạng của SOAP
SOAP là một giao thức giao tiếp có cấu trúc nhu XML Nó được xem là cấutrúc xương sống của các ứng dụng phân tán được xây dựng từ nhiều ngôn ngữ và các
hệ điều hành khác nhau SOAP là giao thức thay đổi các thông điệp dựa trên XMLqua mạng máy tính, thông thường sử dụng giao thức HTTP
Một client sẽ gửi thông điệp yêu cầu tới server và ngay lập tức server sẽ gửinhững thông điệp trả lời tới client Cả SMTP và HTTP đều là những giao thức ở lớpứng dụng của SOAP nhưng HTTP được sử dụng và chấp nhận rộng rãi hơn bởi ngàynay nó có thể làm việc rất tốt với cơ sở hạ tầng Internet
Đặc trưng SOAP
SOAP có những đặc trưng sau :
SOAP được thiết kế đơn giản và dễ mở rộng
Tất cả các message SOAP đều được mã hóa sử dụng XML
- SOAP sử dụng giao thức truyền dữ liệu riêng
Không có garbage collection (tập hợp rác) phân tán , và cũng không có cơchế tham chiếu Vì thế SOAP client không giữ bất kỳ một tham chiếu đầy đủ nào vềcác đối tượng ở xa SOAP không bị ràng buộc bởi bất kỳ ngôn ngữ lập trình nàohoặc công nghệ nào
Vì những đặc trưng này, nó không quan tâm đến công nghệ gì được sử dụng đểthực hiện miễn là người dùng sử dụng các message theo định dạng XML Tương tự,service có thể được thực hiện trong bất kỳ ngôn ngữ nào, miễn là nó có thể xử lýđược những message theo định dạng XML
cấu trúc một thông điệp theo dạng SOAP:
Trang 301 'r
1 ■
4í
Hình 1.8: cấu trúc message SOAP
SOAP hỗ trợ hai kiểu truyền thông khác nhau:
- Remote procedure call (RPC): cho phép gọi hầm hoặc thủ tục qua mạng.Kiểu này được khai thác bởi nhiều dịch vụ Web
- Document: được biết đến như kiểu hướng thông điệp, nó cung cấp giaotiếp ở mức trừu tượng thấp, khó hiểu và yêu cầu lập trình viên mất công sức hơn
Hai kiểu truyền thông này cung cấp các định dạng thông điệp, tham số,lời gọi đến các API khác nhau nên việc sử dụng chúng tùy thuộc vào thời gian và sựphù hợp veri dịch vụ Web cần xây dựng
Mục đích của mô hình dữ liệu SOAP là cung cấp những một sự trừutượng hóa độc lập ngôn ngữ cho kiều ngôn ngữ lập trình chung Nó gồm có:
- Những kiểu XSD đơn giản như những kiểu dữ liệu cơ bản trong đa số cácngôn ngữ lập trình như ỉnt, string, date,
e«n elikpe
I ierriMi(
Foil I ft!
learn 4
Trang 31- Những kiểu phức tạp, có hai loại là struct và array.
Tất cả các phần tử và những định danh có trong mô hình dữ liệu SOAP thìđược định nghĩa bằng namespace SOAP-£NC
Trong những môi trường tính toán phân tán, mã hóa định nghĩa làm sao giátrị của dữ liệu trong ứng dụng có thề được dịch từ khuôn dạng nghi thức Khuôndạng nghi thức cho những web service là XML, giả sử ở đây chúng ta giả thiết rằngservice requestor và service provider phát triển trong Java Vì vậy, mã hóa SOAP làtrong môi trường thực thi để làm thế nào chuyển đổi từ cấu trúc dữ liệu Java sangSOAP XML và ngược lại Một ánh xạ định nghĩa là mối quan hệ giữa một phần tửXML, một lớp Java, và một trong những loại mã trên
Một ánh xạ chỉ rõ làm cách nào, để khi đã mã hóa mà một phần tử XML đầuvào vẫn chuyển đổi được tới một lớp Java và ngược lại Chúng ta quan tâm tới haiphương hướng ánh xạ là XML tới Java và Java tới XML Bất kỳ môi trường thực thiSOAP nào cũng phải có một bảng chứa những mục ánh xạ, gọi là SOAPMappingRegistry
Nếu một kiểu dữ liệu giả thiết sẽ được sử dụng dưới một loại mã hóa nhấtđịnh, thì một ánh xạ tương ứng phải tồn tại trong bộ đăng ký (registry) của môitrường thực thi SOAP đó Đa số các kiểu Java chuNi cũng như JavaBeans đều Mặcđinh là được hỗ trợ
Những kiểu dữ liệu không chuNi (do tự định nghĩa) thì cần ánh xạ trên cảserver và client
1.3.4 Kiến trúc web service
Dịch vụ Web gồm có 3 chuNi chính: SOAP (Simple Object AccessProtocol), WSDL (Web Service Description Language) và UDDI (UniversalDescription, Discovery, and Integration)
Hình dưới đây mô tả chồng giao thức của dịch vụ Web, trong đó UDDI được
sử dụng để đăng ký và khám phá dịch vụ Web đã được miêu tả cụ thể trong WSDL.Giao tác UDDI sử dụng SOAP để giao tiếp với UDDI server, sau đó các ứng dụngSOAP yêu cầu một dịch vụ Web Các thông điệp SOAP được gửi đi chính xác bởiHTTP và TCP/IP
Trang 32Hình 1.9: Tầng giao thức của dịch vụ Web.
Tầng giao thức dịch vụ Web là tập hợp các giao thức mạng máy tính được sửdụng để định nghĩa, xác định vị trí, thi hành và tạo nên dịch vụ Web tương tác vớinhững ứng dụng hay dịch vụ khác Lớp giao thức này có 4 thành phần chính:
- Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyền thông điệp giữa cácứng dụng mạng, bao gồm những giao thức như HTTP, SMTP, FTP, JSM và gần đâynhất là giao thức thay đổi khối mở rộng (Blocks Extensible Exchange Protocol-BEEP)
- Thông điệp XML: có nhiệm vụ giải mã các thông điệp theo định dạng XML để cóthể hiểu được ở mức ứng dụng tương tác với người dùng Hiện tại, những giao thứcthực hiện nhiệm vụ này là XML-RPC, SOAP và REST
- Mô tả dịch vụ: được sử dựng để miêu tả các giao diện chung cho một dịch vụ Web
cụ thề WSDL thường được sử dụng cho mục đích này, nó là một ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML Dịch vụ Web sẽ sử dụng ngôn ngữ này đề truyềntham số và các loại dữ liệu cho các thao tác và chúc năng mà dịch vụ Web cung cấp
- Khám phá dịch vụ: tập trung dịch vụ vào trong một nơi được đăng ký, từ đó giúpmột dịch vụ Web có thể dễ dàng khám phá ra những dịch vụ nào đã có trên mạng, tếthơn trong việc tìm kiếm những dịch vụ khác đề tương tác Một dịch vụ Web cũngphải tiến hành đãng kỷ để các dịch vụ khác có thể truy cập và giao tiếp Hiện tại,UDDI API thường được sử dụng để thực hiện công việc này
Trang 33Hình 1.10: Kiến trúc sâu hơn của web service
Trong đó, tầng giao thức tương tác dịch vụ (Service Communication Protocol)vói công nghệ chuNi là SOAP SOAP là giao thức nằm giữa tầng vận chuyển và tầng
mô tả thông tin về dịch vụ, cho phép người dùng triệu gọi một dịch vụ từ xa thôngqua một thông điệp XML Ngoài ra, để các dịch vụ có tính an toàn, toàn vẹn và bảomật thông tin, trong kiến trúc dịch vụ Web, chúng ta có thêm các tầng Policy,Security, Transaction, Management
vụ đã có sẵn Từ đó, xây dựng định nghĩa service (WSDL) với các đối tượng, hàmchức năng mà chúng ta mong muốn Nếu theo cách Blue-
Trang 34path-dashed, dịch vụ Web sẽ được xây dựng từ đầu hoặc từ một định nghĩa dịch vụWSDL Sử dụng WSDL này, xây dựng hoặc sửa đổi lại mã để thực hiện các yêu cầumong muốn trong dịch vụ Web.
Giai đoạn triển khai: công bố định nghĩa dịch vụ, xây dựng WSDL và triển khai
mã thực thi của dịch vụ Web Triển khai dịch vụ Web tới một ứng dụng phía server,sau đó sẽ công bố dịch vụ Web trên mạng Internet để các client có thể nhìn thấy Sửdụng UDDI registry để công bố lên mạng
Giai đoạn tiến hành: tìm kiếm và gọi thực thi dịch vụ Web bởi những người dùngmuốn sử dụng dịch vụ
Quản lý: Quản lý và quản trị dịch vụ, duy trì sự ổn định của dịch vụ, cập nhậtthông tin mới, sửa lỗi khi nó xảy ra
Đe xây dựng một dịch vụ Web, chúng ta cần hiểu được những việc phải làm vànên bắt đầu từ đâu Có 3 cách tiếp cận chủ yếu để xây dựng nên một dịch vụ Web, cóthể từ một ứng dụng đã có (bottom-up); từ một định nghĩa dịch vụ, WSDL để phátsinh một ứng dụng mới (top-down) hoặc có thể từ một nhỏm các dịch vụ Web hiện
có, kết họp lại với nhau để tạo nên các chức năng mới hoặc mở rộng thêm chức năng.Những hướng tiếp cận này dựa trên những gì mà chúng ta đã có, tùy thuộc vào yêucầu của hệ thống, trong đó tối đa việc sử dụng lại các chức năng, các thành phần,modul đã được xây dựng
Qui trình xây dựng một dịch vụ Web bao gồm các bước sau:
1 Định nghĩa và xây dựng các chức năng, các dịch vụ mà dịch vụ sẽ cungcấp
2 Tạo WSDL cho dịch vụ
3 Xây dựng SOAP server
4 Đăng ký WSDL với UDDI registry để cho phép các client có thể tìm thấy
Trang 35Lựa chọn một ngôn ngữ, xây dựng các tiến trình nghiệp vụ và chúng tabắt đầu tạo nên một dịch vụ Web như ý muốn Sau đó là cung cấp dịch vụWeb này trên Internet.
Trang 36£50
Sơ đề dưới đây cho chúng ta thấy rõ hơn mối quan hệ giữa các thảnh phần
Hình 1.11: Các thành phần và mối quan hệ giữa các thành phần webservỉce
Trang 37CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH CHIA SẺ TÀI
LIỆU TRÊN ANDROID2.1 Mô tả chương trình
Chương trình quản lý người dùng và tài liệu của mỗi người dùng Với ngườidùng có các chức năng đăng kỷ tài khoản và các chức năng thay đồi thông tin ngườidùng như password hoặc email
Với chức năng quản lý tàỉ liệu
Tài liệu gồm có nhiều loại với những định dạng khác nhau Các tệp tin văn bản:pdf, doc, docx, prc Các tệp tin đa phương tiện: hlnh ảnh, file nhạc, video và các tệptin khác Mỗi người dùng quản lý được dữ liệu của mình ưên server với chức năngupload, download, xóa file, chia sẻ tài liệu Chức năng chia sẻ được chia làm nhiềuphương thức, chia sẻ qua phần mền, chia sẻ qua email, chia sẻ qua tin nhắn SMS
2.2 Phân tích chương trình
2.2.1 Tác nhân và hệ thống và UseCase(UC)
Qua mồ tả chương trình ta thấy hệ thống chỉ có một tác nhân: Người dùng
2.2.2 Đặc tả chỉ tiết các uc
Trang 38- Luồng sự kiện:
Trang 39Hình 2.2: Biểu đồ cộng tác uc Đăng kỷ tài khoản
3 9
Hình 2.1: Biểu đồ trình tự uc đăng kỷ tài khoản