Tải bản đầy đủ (.doc) (62 trang)

xây dựng ứng dụng ios kết hợp webservice

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.67 MB, 62 trang )

LỜI MỞ ĐẦU
 Nhu cầu thực tế và lý do chọn đề tài
Với sự ra đời của máy tính bảng (tablet) cùng những dòng điện thoại thông minh
(smart phone) có cấu hình ngày càng “khủng” song hành cùng nhiều nền tảng hệ điều hành
di động thân thiện với người dùng và cũng không kém phần mạnh mẽ, giờ đây khi nhắc tới
thiết bị di động, người dùng không còn nghĩ tới những chiếc điện thoại đơn thuần chỉ để
nghe, gọi, nhắn tin như trước. Thiết bị di động đã có thể đáp ứng mọi nhu cầu của con
người từ làm việc, liên lạc, giao tiếp, giải trí, .v.v… Bên cạnh đó, nhờ vào sự tiện lợi cũng
như tính thẩm mĩ, thiết bị di động ngày càng thể hiện ưu thế của mình so với chiếc máy
tính PC truyền thống.
Song hành cùng với sự bùng nổ của của thiết bị di động là sự phát triển không ngừng
của công nghệ truyền thông tốc độ cao. Công nghệ 3G, 4G ra đời đã đem đến cho thiết bị
di động tốc độ kết nối truyền tải dữ liệu ngày nhanh, không thua kém gì mạng băng thông
rộng truyền thống trên PC.
Nhờ vào sự phát triển rông rãi của thiết bị di động kéo theo sự tăng trưởng không
ngừng của ngành công nghiệp phần mềm di động. Phát triền phần mềm di động tại Việt
Nam hiện nay vẫn đang trong giai đoạn phát triển và hứa hẹn nhiều tiềm năng trong tương
lai. Từ những lý dó đó, chúng em quyết định chọn đề tài cứu về môi trường phát triển ứng
dụng cho thiết bị di động và xây dựng một ứng dụng đọc tin tức trực tuyến trên hệ điều
hành iOS có kết hợp xây dựng hệ thống webservice.
 Mục tiêu đề tài
Như tên gọi, thiết bị di động là thiết bị nhỏ gọn, được thiết kế phục vụ chủ yếu cho
nhu cầu liên lạc và giải trí của người dùng khi di chuyển. Cấu hình của thiết bị di động mặc
dù càng ngày càng được nâng cao tuy nhiên vẫn không thể so với máy tính để bàn. Lập
trình di động là một mảng còn khá mới mẻ và nhiều khác biệt so với môi trường lập trình
ứng dụng truyền thống. Ngoài ra việc xây dựng hệ thống webservice phục vụ cho thiết bị
di động cũng có sự khác biệt nhất định so với hệ thống cho website hay các máy tính trạm.
Do vậy, nội dung đề tài cần giải quyết các công việc sau:
• Tìm hiểu về nền tảng lập trình cho thiết bị di động, ngôn ngữ lập trình, công cụ
hỗ trợ lập trình di động.
• Tìm hiểu các công nghệ phát triển ứng dụng di động hiện có, tìm ra ưu, nhược


1
điểm của mỗi loại công nghệ.
• Nghiên cứu về hệ thống webservice, các công nghệ xây dựng webservice phổ
biến.
• Lựa chọn công nghệ xây dựng webservice cho ứng dụng di động
• Xây dựng một ứng dụng đọc tin tức online trên nền hệ điều hành iOS có sử dụng
hệ thống webservice
 Nội dung đề tài:
• Chương 1: Sơ lược về thiết bị di động và ứng dụng di động
• Chương 2: Tổng quan hệ điều hành iOS
• Chương 3: Môi trường lập trình ứng dụng iOS
• Chương 4: Công nghệ Webservice
• Chương 5: Xây dựng đọc tin tức trực tuyến cho iPhone
• Kết luận: Kết quả đạt được và hướng phát triển
TP.Hồ Chí Minh, ngày 1 tháng 10 năm 2012
Sinh viên thực hiện:
Nguyễn Văn Đường
Đỗ Tuấn Anh
MỤC LỤC
MỤC LỤC HÌNH ẢNH
Chương 1: Sơ lược về thiết bị di động và ứng dụng di động
2
1.1 Sơ lược về thiết bị di động
Thiết bị di động (hay còn gọi là thiết bị cầm tay) là một thiết bị nhỏ gọn, thường có
một màn hình hiển thị với đầu vào là bàn phím cảm ứng hoặc một bàn phím vật lý thu nhỏ.
Trước đâu khi nhắc tới thiết bị di động người ta sẽ nghĩ tới những chiếc điện thoại di động
nhưng hiện tại thiết bị di động không chỉ có vậy. Sự phát triển mạnh mẽ của các hệ điều
hành di động đã đem đến cho người dùng những thiết bị nhỏ gọn và cơ động hơn máy tính
PC truyền thống như máy tính bảng (tablet), máy đọc sách, hay thậm trí cả những chiếc
máy nghe nhạc được tích hợp hệ điều hành đều được được coi là thiết bị di động.

Những thiết bị di động hiện tại đã có hàng loạt tính năng hiện đại như kết nối Wifi,
GPS, NFC, 3G , nhờ vậy chúng hoàn toàn đủ khả năng phục vụ mọi nhu cầu trong đời
sống sinh hoạt của con người, từ làm việc, liên lạc, tới giải trí. Hơn thế nữa, nhờ vào tính
tiện dụng và thiết kế đa dạng hợp thời trang, thiết bị di động đã làm thay đổi hoàn toàn thói
quen sử dụng máy tính của chúng ta.
Hoàn toàn có thể nói thời điểm hiện tại đang là giai đoạn bùng nổ thực sự của thiết bị
di động trên toàn cầu. Ngành công nghiệp di động thật sự đang trở thành một mảng thị
trường hấp dẫn mà bất cứ công ty nào cũng muốn nhắm tới. Thị trường di động ngày càng
đa dạng với sự góp mặt của hoàng loạt tên tuổi lớn như Nokia, Apple, Samsung, LG,…
thậm trí gần đây với sự kiện Amazon (nhà bán lẻ trực tuyến lớn nhất Hoa Kì) cho ra đời
chiếc máy tính bảng Kindle đã cho thấy xu hướng thâm nhập thị trường di động là mong
muốn của mọi công ty trên thế giới.
1.2 Hệ điều hành di động
Phần quan trọng nhất làm nên sức mạnh của một thiết bị di động đó là hệ điều hành.
Cũng tương tự như hệ điều hành máy tính PC, hệ điều hành trên thiết bị di động cũng là
một phần mềm chạy trên thiết bị di động dùng để điều hành, quản lý các phần cứng và các
tài nguyên phần mềm của thiết bị. Hệ điều hành đóng vai trò trung gian trong giao tiếp
giữa người dùng và thiết bị di động, cung cấp một môi trường cho phép phát triển và thực
hiện các ứng dụng một cách dễ dàng.
Ở thời điểm hiện tại có khá nhiều hệ điều hành cho thiết bị di động trong đó nổi bật
và phát triển rộng rãi hơn cả phải kể đến iOS (của Apple), Android (của Google), Window
Phone (của Microsoft), BlackBerry OS (của RIM) ngoài ra còn có một số tên tuổi khác
như Symbian (của Nokia), Banda OS (của Samsung),Firefox OS, Tizen, Window
3
Mobile… tuy nhiên thị phần của những hệ điều hành này hiện không nhiều.
1.3 Ứng dụng di động
Ứng dụng di động được hiểu là một ứng dụng phần mềm được thiết kế để chạy trên
điện thoại thông minh, máy tính bảng hay những thiết bị di động khác. Ứng dụng di động
ban đầu được cung cấp để phục vụ cho những công việc căn bản như eMail, sổ địa chỉ
(contact), lịch, chứng khoán, thông tin thời tiết.Tuy nhiên do nhu cầu ngày càng mở rộng

cùng với sự hỗ trợ mạnh mẽ từ các công cụ phát triển, giờ đâu ứng dụng di động đã trở nên
hết sức đa dạng, từ game online, GPS, ngân hàng điện tử, đặt vé, …
Ứng dụng di động đa phần được phân phối trên các chợ ứng dụng của các hãng sản
suất phần mềm hay phần cứng nổi tiếng. Một số chợ ứng dụng nổi tiếng nhất hiện nay gồm
có:
 Apple App Store: Ra đời cùng với chiếc điện thoại nổi tiếng iPhone vào tháng 8/2008, tới
nay App Store của Apple đã có tới 625.000 ứng dụng cung cấp cho các thiết bị sử dụng hệ
điều hành iOS bao gồm cả iPhone, iPad và iPod Touch
 Google Play: là một của hàng phần mềm trực tuyến được phát triển bởi Google cho các
thiết bị chạy hệ điều hành Android. Google Play được khai trương vào tháng 10/2008 và
tới cuối tháng 4/2012 ước tính đã có hơn 430.000 ứng dụng.
 Nokia Store: Nokia Store trước đây có tên là Ovi Store là chợ cung cấp ứng dụng của hãng
điện thoại Phần Lan Nokia cho các thiết bị họ đặc biệt là thiết bị điện thoại thông minh
(Smart Phone).
 BlackBerry App World: là kênh phân phối ứng dụng cho các sản phẩm chạy hệ điều hành
BlackBerry OS của hãng Research In Motion (RIM). Ra mắt chính thức vào ngày 1/4/2009
và tới tháng 9/2012 ước tính đã có 105.000 ứng dụng được phân phối tại đây.
 Windows Phone Marketplace: là một dịch vụ của Microsoft cung cấp các ứng dụng di
động cho nền tảng Windows Phone 7 đã được ra mắt vào tháng 10/2010. Tới tháng 6/2012
Windows Phone Marketplace đã có 100.000 ứng dụng.
 Amazon Appstore: Được ra mắt vào 22/3/2011, Amazon Appstore cung cấp ứng dụng cho
thiết bị cho sử dụng hệ điều hành Android. Hiện nay Amazon Appstore mới có khoảng
3.800 ứng dụng nhưng với sự ra đời của chiếc máy tính bảng Kindle Fire của Amazon với
hệ điều hành Android tùy biến hứa hẹn sẽ thúc đẩy sự phát triển trong thời gian tới cho
Amazon Appstore.
4
1.4 Phân loại ứng dụng di động
Ngày nay, trong lĩnh vực phát triển ứng dụng di động tồn tại 3 khái niệm là : Native
Application, Web Application và Hybird Application.
 Native Application: là những ứng dụng được xây dựng theo cách chính thống với các ngôn

ngữ lập trình/nền tảng do các nhà sản xuất di động quy định (ví dụ: Objective-C cho iOS,
Java cho Android, .NET cho Windows Phone,…).
Ưu điểm của Native App lập trình viên có thể thoải mái truy cập vào hệ thống, phần
cứng của thiết bị (như hệ thống file, camera, microphonr, accelerometer,…)
Nhược điểm là bị bó buộc với công nghệ và nền tảng của nhà sản xuất đưa ra.
 Web Application: là các ứng dụng được xây dựng trên nền tảng web (mà điển hình là
HTML5), chỉ hoạt động trên trình duyệt của điện thoại. Tiền thân của ý tưởng này là
những trang web có giao diện tùy biến cao, chạy được trên nhiều độ phân giải màn hình, về
sau phát triển mạnh và hình thành nên một hướng đi mới cho việc phát triển ứng dụng di
động.
Ưu điểm của web app là có thể thoải mái phatr triển ứng dụng mà không cần quan
tâm tới nền tảng vì nó là ứng dụng đa nền, viết một lần có thể chạy trên nhiều nền tảng di
động khác nhau, chỉ cần nền tảng đó hỗ trợ web.
Nhược điểm: là không có được sức mạnh truy cập sâu vào hệ thống và thiết bị phần
cứng như native app.
 Hybird Application: là loại ứng dụng lai giữa 2 khái niệm Native app và Web App. Có thể
hiểu nôm ba các ứng dụng này là một native app chỉ có một đối tượng webview trên màn
hình, dùng để hiển thị nội dung trang web app, và web app giao tiếp với native app thông
qua một cầu nối (bridge) để mang lại sức mạnh của native app cho web app.
Chương 2: Tổng quan về hệ điều hành iOS
2.1 Tổng quan về hệ điều hành iOS
Hệ điều hành iOS là hệ điều hành được công ty Apple phát hành cho các thiết bị di
động của hãng. iOS được công bố lần đầu tiên tại hội nghị Macworld Conference & Expo
ngày 9 tháng 1 năm 2007 và được phát hành chính thức vào tháng 6 năm đó cho chiếc điện
thoại thông minh iPhone thế hệ đầu tiên của Apple.
Ban đầu các ứng dụng của hãng thứ 3 không được hỗ trợ trên iOS. Ngày 17 tháng 10
5
năm 2007, Apple thông báo rằng một bản SDK cho lập trình iOS được hãng phát triển và
dự định sẽ được phát hành nó cho các nhà phát triển vào tháng 2. Phiên bản beta đầu tiên
được phát hành vào ngày 6 tháng 3 năm 2008.

Lần lượt các phiên bản hệ điều hành tiếp theo của hệ điều hành iOS được apple cập
nhật cho iPhone, iPad và iPod Touch thông qua iTunes. Phiên bản mới nhất của iOS là
phiên bản 6.0 ra mắt ngày 12 tháng 9 năm 2012 cùng với chiếc điện thoại iPhone 6 của
Apple.
2.2 Các phiên bản của hệ điều hành iOS
 Phiên bản 1.x: Đây là phiên bản đầu tiên và xuất hiện cùng chiếc iPhone đầu tiên (hay còn
gọi là iPhone 2G) vào ngày 29/6/2007. Hệ điều hành mới mang đến một giao diện và cách
thức sử dụng hoàn toàn mới trên thiết bị điện thoại thông minh với việc loại bỏ bàn phím
vật lý thay bằng cảm ứng đa điểm.
 Phiên bản 2.x:Phiên bản thứ 2 được giới thiệu sau phiên bản đầu tiên 1 năm và phát hành
chính thức cùng với chiếc iPhone thế hệ thứ 2 (iPhone 3G) cùng sự xuất hiện của App
Store mang đến những ứng dụng từ các nhà phát triển thứ 3 cho thiết bị di động của Apple.
Các ứng dụng gốc như mail, danh bạ, lịch, trình duyệt Safari,… cũng lần lượt được cải tiến
thông qua các bản cập nhật nhỏ sau đó. iPhone 2G và iPod Touch Gen 1 vẫn có thể cập
nhật phiên bản 2.x này.
 Phiên bản 3.x: một năm sau khi phát hành phiên bản hệ điều hành thứ 2, phiên bả thứ 3
được giới thiệu và chình thức ra mắt ngày 17/6/2009 cùng chiếc iPhone 3GS. Ở phiên bản
này, nhiều tính năng thiếu sót mà người dùng than phiền đã được Apple bổ sung gần như
đầy đủ như: sao chép văn bản, nhắn tin đa phương tiện (MMS),… Các thiết bị đang chạy
phiên bản 2.x vẫn có thể năng cấp lên phiên bản 3.x này nhưng đối với iPhone 2G thì một
số tính năng sẽ không được cập nhật. Đây cũng là phiên bản cuối cùng mà iPhone 2G và
iPod Touch Gen 1 có thể sử dụng.
 Trong thời điểu phiên bản 3.x đang được sử dụng thì Apple cho ra mắt chiếc máy tính bảng
iPad đầu tiên của hãng và đã làm hẳn một phiên bản sử dụng riêng cho chiếc máy này là
phiên bản 3.2. Nhìn chung, phiên bản dành riêng cho iPad này không có nhiều khác biệt vì
vốn dĩ Apple chỉ tùy chình kích thước cũng như bổ sung them một số tính năng để phù hợp
với màn hình của iPad.
 Phiên bản 4.x: thời điểm ra mắt phiên bản 4.x cũng là lúc Apple chính thức đặt tên hệ điều
hành của mình là “iOS” và đây cũng là phiên bản đầu tiên của hệ điều ành này hỗ trợ đồng
6

thời nhiều thiết bị. iPhone 2G,3G sẽ lược bỏ bớt chức năng trên iOS 4 này vì một số hạn
chế về phần cứng. Đây là phiên bản cuối cùng mà iPhone 3G và iPod Gen 2 có thể năng
cấp.Bên cạnh nâng cấp về ứng dụng bên trong hệ điều hành, phiên bản này còn có những
tính năng đáng chú ý như: thư mục chứa ứng dụng (App Folder), khả năng chạy đa nhiệm
(multitasking), thoại video qua wifi (Facetime), AirPlay, Wifi Hostpot (duy nhất trên
iPhone từ iOS 4.3).
 Phiên bản 5.x: được phát hành ngày 6/6/2011. Phiên bản này được phát hành cho iPhone
3GS, iPhone 4(GSM và CDMA), iPhone 4S, iPod Touch (thế hệ 3 và 4), iPad, iPad 2.
Phiên bản này được nâng cấp nhiều chức năng mới trong đó có tiện ích Siri (chỉ hỗ trợ cho
iPhone 4S) là một ứng dụng giúp giao tiếp với thiết bị bằng giọng nói, được Apple đặc biệt
giữ bí mật cho tới tận ngày ra mắt.
 Phiên bản 6.x: được giới thiệu ngày 11/6/2012 và phát hành chính thức ngày 19/9/2012.
Phiên bản này không hỗ trợ cho nhiều thiết bị phần cứng lỗi thời đặc biệt là iPod Touch thế
hệ thứ 3 và iPad thế hệ đầu. Phiên bản này được Apple giới thiệu với nhiều cải tiến mà
người dùng mong đợi:
o Facebook: Cuối cùng Apple cũng tích hợp sâu hơn với mạng xã hội Facebook
trên iOS 6. Trước đây, với nền tảng iOS 5, Apple kết thân với mạng Twitter và
thời điểm đó đã khiến rất nhiều người dùng than thở bởi hãng này vẫn chưa hỗ
trợ Facebook vốn là mạng xã hội lớn nhất thế giới.
o Siri: Siri trở nên mạnh mẽ hơn, có thể dùng giọng nói để ra lệnh mở các ứng
dụng. Nhờ đó, nếu người dùng ngồi cạnh bàn làm việc, cầm lấy iPhone và yêu
cầu Siri bật nhạc hay ra lệnh cho nàng trợ lý mở các ứng dụng và các hành động
khác nhau. Siri đặc biệt xuất sắc khi thực hiện mệnh lệnh tìm kiếm số liệu/bàn
thắng trong thể thao, tìm thời gian phát sóng phim, thời gian bán vé, và đặt lịch
ăn tối…
o Eyes Free: Một tính năng cực kỳ thú vị được Apple trang bị cho iOS đó chính là
Eyes Free (rảnh mắt). Hãng này đang hợp tác với hàng loạt hãng xe hơi nổi
tiếng, như Audi, BMW, Mercedes… để tích hợp chức năng Siri trên vô lăng.
o Passbook: Tính năng này sẽ quản lý tất cả các loại vé, từ vé xem phim, vé tàu,
vé máy bay, cả vé đi xem thể thao… trên một ứng dụng riêng. Với Passbook,

người dùng có thể mua vé trên Fandango, và vé điện tử sẽ được gửi tới điện
thoại của mình. Sau đó, khi đi đến rạp chiếu phim hay lên tàu điện thì chỉ cần
quẹt điện thoại iPhone tại các quầy soát vé.
o Apple Maps: Apple đã chính thức nói lời chia tay với Google Maps. Ứng dụng
7
bản đồ của Apple giúp người dùng xác định vị trí rẽ, các địa điểm giải trí…, và
đặc biệt ngƣời dùng có thể tìm kiếm trên Apple Maps bằng cách ra lệnh cho Siri.
Mặc dù Apple đã có màn trình diễn ấn tượng về ứng dụng của mình nhưng
nhiều người hoài nghi về việc liệu đây có phải là quyết định sáng suốt khi tìm
cách loại bỏ Google Maps. Thực tế sau khi phát hành được gần một tháng ứng
dụng bản đồ của Apple đã bộc lộ nhiều lối khiến người dùng thất vọng, thậm chí
là bực tức. CEO Tim Cook của Apple đã phải công nhận thất bại của Apple
Maps xin lỗi người dùng và cho biết Apple đang gấp rút làm việc để hoàn thiện
bản đồ này.
o Email: Apple nâng cấp hai tính năng đặc biệt quan trọng cho Email, đó là cho
phép ngƣời dùng gán email VIP để đánh dấu e-mail được gửi từ những người
quan trọng. Ngoài ra, iOS 6 cho phép người dùng chèn ảnh và video vào e-mail
trực tiếp từ ứng dụng Email.
2.3 Các thiết bị di động sử dụng nền tảng iOS
 iPhone: Với việc sự mắt iPhone 5 vào 29/9/2012 hiện nay có tất cả 6 phiên bản iPhone
được bán trên thị trường lần lượt là iPhone 2, iPhone 3G, iPhone 3Gs, iPhone 4, iPhone 4S,
iPhone 5. Ở mỗi thế hệ iPhone Apple giới thiệu đến người dùng đều có những nâng cấp
đáng kể, đặc biệt là iPhone 4 với sự thay đổi lớn về thiết kế cũng như cấu hình. Phiên bản
mới nhất iPhone 5 với màn hình kích thước 5 inch (những phiên bản trước đều là 4,5 inch)
đang nhận được nhiều đánh giá trái chiều từ người dùng cũng như giới công nghệ.
 iPod Touch: được xem là chiếc iPhone lược bỏ tính năng thoại, nhắn tin. Với tính năng gần
như 1 chiếc iPhone thực thụ gồm màn hình cảm ướng, cài đặt ứng dụng của iPhone,…
iPod đã thực sự tạo ra một cơn sốt trên thị trường máy nghe nhạc ngay từ khi ra mắt phiên
bản đầu tiên. Hiện nay đã có tất cả 5 thế hệ iPod được ra mắt.
 iPad: đây là chiếc máy tính bảng đình đám và nổi tiếng nhất thời điểm hiện tại. Có tất cả 3

thế hệ iPad đã ra mắt là iPad, iPad 2 và New iPad. Mặc dù các hãng khách cho ra mắt hàng
loạt thiết bị máy tính bảng nhưng tới thời điểm hiện tại iPad vẫn là biếu tượng của thiết bị
máy tính bảng, chiếm phần lớn thị phần thiết bị này.
Chương 3: Môi trường lập trình ứng dụng iOS
Hệ điều hành iOS hỗ trợ tốt cho cả 3 loại ứng dụng là Native App, Web App và
8
Hibrid App. Nội dung đề tài sẽ đi sâu vào giới thiệu môi trường lập trình ứng dụng Native
cho iOS.
3.1 Bộ công cụ lập trình Xcode
3.1.1 Giới thiệu
Xcode là một môi trường phát triển tích hợp (Integrated Development Environment)
chứa một bộ công cụ phát triển phần mềm được phát triển và phân phối bởi Apple để phát
triển phần mềm cho OS X và iOS. Xcode được phát hành lần đầu tiên năm 2003, phiên bản
mới nhất là Xcode 4.5.1. Xcode được cung cấp miễn phí nhưng nó chỉ chạy được trên hệ
điều hành Mac OS X, không hỗ trợ Windows hay bất kì hệ điều hành nào khác. Các nhà
phát triển phần mềm có thể download Xcode về từ trang chủ của Apple:
/>Việc download này đòi hỏi có tài khoản lập trình viên của Apple, người dùng có thể
đăng kí tài khoàn này miễn phí ngay tại website của Apple.
Bộ iOS SDK này sẽ bao gồm luôn Môi trường phát triển (IDE) là XCode, một
phần rất quan trọng trong công việc của chúng ta sau này. XCode gồm có những công cụ
để chúng ta tạo, sữa lỗi (debug), biên dịch, kiểm tra khả năng hoạt động và chạy thử ứng
dụng (apps) trên trình một trình giả lập (simulator).
Tuy nhiên, hạn chế của bộ SDK miễn phí này là gì ? Ta sẽ không thể chép apps lên
thiết bị thật (iPhone, iPod Touch & iPad) được. Và tất nhiên cũng không thể đưa ứng dụng
lên Apple AppStore để bán hay cho người dùng tải miễn phí được.
Chính vì thế, tài khoản miễn phí chỉ phù hợp cho người mới bắt đầu. Khi bắt đầu
làm những apps thương mại, chúng ta phải cần đến 1 trong 2 lựa chọn sau:
Tài khoản Nhà phát triển Chuẩn (Standard program)
- Chi phí $99/năm.
- Với tài kho ản này, chúng ta có thể tiếp cận được nhiều tài liệu hơn việc phát triển

phần mềm cho iOS, được hỗ trợ về kỹ thuật từ Apple. Và quan trọng nhất là có thể chạy
thử apps trên thiết bị thật thay vì chỉ kiểm tra trên simulator. Quan trọng hơn nữa là apps
của chúng ta có cơ hội được đưa lên Apple AppStore. Có 2 lựa chọn trong tài khoản này:
- Cá nhân (Individual): đăng ký với tên của cá nhân và những apps được đưa lên
Apple AppStore sẽ xuất hi ện dưới tên này.
- Công ty (Company): đăng ký với tên công ty (yêu cầu những giấy tờ liên quan).
Apps được đưa lên sẽ xuất hi ện dưới tên công ty đã đăng ký.
9
Tài khoản cho Công ty/Tổ chức chuyên nghiệp (Enterprise program)
- Chi phí $299/năm.
- Gói tài khoản này dành cho các công ty phát triển phần mềm cho iPhone OS, có
khả năng xuất bản các apps lên những thiết bị nội bộ trong công ty. Dành cho những công
ty, tổ chức lớn có nhu cầu viết phần mềm cho iPhone OS phục vụ nhu cầu riêng của công
ty, không cần phải tải và cài đặt từ Apple AppStore.
3.1.2 Giao diện làm việc của Xcode
a. Giao diện tạo project mới:
Hình : Tạo mới một project trong XCode
Từ phiên bản Xcode 4 trở đi ngoài lựa chọn tạo project cho ứng dụng chạy trên Mac
OS X, XCode còn phép tạo project phát triển ứng dụng cho iPhone hoặc iPad. Xcode cung
cấp sẵn các template để tạo mới project ứng với nhu cầu phát triển ứng dụng khác nhau.
Khi tạo xong project mới thì giao diện sẽ như sau:
10
Hình :Giao diện làm việc chính của XCode
- Toolbar : hiển thị trạng thái của project và giúp sử dụng các chức năng chung của
project một cách dễ dàng
- Navigator : Quản lý các file và group
- Editor : chỉnh sửa nội dung của project
- Utility : giúp hợp nhất giữa xcode và các thư viện , giúp đỡ của Interface Builder
11
Hình :Giới thiệu giao diện chính của XCode

b. Building Interface:
12
Hình :Giao diện Interface Builder
Một sự thay đổi lớn trong XCode 4 so với các phiên bản trước là Interface Builder,
chức năng này giúp hỗ trợ người lập trình thiết kế giao diện bằng phương thức kéo thả trực
tiếp các item từ library ra giao diện đang thiết kế.
3.2 Ngôn ngữ lập trình Objective-C
3.2.1 Lịch sử ra đời và phát triển
Objective-C là một ngôn ngữ lập trình hướng đối tượng sử dụng để phát triển ứng
dụng cho hệ điều hành Mac OS X (hệ điều hành của máy tính Mac) và các thiết bị iOS.
Objective-C được tạo ra từ những năm 1980 bởi hai lập trình viên Brad Cox và Tom
Love. Tuy nhiên tại thời điểm đó ngôn ngữ này không được nhiều người biết tới cho đến
khi nó được mua lại bởi NeXT cho hệ điều hành NeXTSTEP của họ. Sau khi NeXT được
mua lại nởi Apple năm 1996, Objective-C trở thành ngôn ngữ lập trình chính cho Mac OS
13
x và sau này là cả iOS.
3.2.2 Đặc điểm cơ bản
Objective-C được phát minh dựa trên ngôn ngữ C nên những mã được viết bằng C
hoàn toàn có thể sử dụng trong một trương trình sử dụng Objective-C. Tuy nhiên
Objective-C có thêm những tính năng riêng của mình nên không thể sử dụng trong một
trương trình C truyền thống.
a. Sử dụng phương thức trong Objective-C:
• Cách khai báo phương thức trong Objective-C:
Không tham số:<(kiểu trả về)>
Có tham số: <(kiểu trả về)>:<(kiểu)>:<(kiểu)>;
• Gọi phương thức:
Với phương thứckhông có giá trị trả về: [<đối tượng >];
[<đối tượng >:<kiểu>]
Với phương thức có giá trị trả về:
(kiểu dữ liệu tương ứng) =[<đối tượng>]

(kiểu dữ liệu tương ứng)=[<đối tượng>:<kiểu>:<kiểu>]
b. Lớp và đối tượng:
Không giống những ngôn ngữ khác như C hay Java, Class (lớp) trong Objective-C
được chia thành 2 phần riêng biệt:
- Phần bề mặt (Interface) trong đó khai báo các biến và chức năng hay phương thức.
- Phần thực thi (Implementation) trong đó chứa các mã thực thi của chức năng hay
phương thức được khai báo trong phần Interface.
Thông thường hai phần này sẽ được chứa trong hai file (tập tin) khác nhau. File có
phần mở rộng là “.h” chứa phần interface, phần Implementation nằng trong file “.m”.
- Sử dụng #import để thay thế cho #include.
- Objective-C chỉ cho phép đơn kế thừa. Mặc định tất cả các lớp sẽ kế thừa từ
NSObject.
- Các thuộc tính được khai báo trong cặp {…} và phương thức được khai báo bên
ngoài.
- Nếu phương thức bắt đầu bằng dấu “+” có nghĩa nó thuộc phạm vi lớp (static), còn
nếu bắt đầu bằng “-“ thì nó thuộc phạm vi lớp object.
- Các phạm vi truy xuất public, private, protected đều giống C++, mặc định biến khai
báo mà ko chỉ rõ phạm vi truy xuất thì sẽ là biến protected
- Cách truy nhập phần tử cũng sử dụng toán tử “.” đối với object và ”->” nếu là con trỏ.
c. Exception và handler:
14
Objective-C hỗ trợ các cấu trúc try – catch – throw – finally giống như ngôn ngữ C+
+.
d. Categories:
Là một đặc điểm cho phép thêm mới vào lớp một phương thức. Khi đã làm quen với
lập trình hướng đối tượng bạn sẽ thấy đây là một trong những thuộc tính vô cùng hữu ích
của Objective-C, nhờ nó mà ngay cả khi bạn không có mã nguồn của lớp nhưng bạn vẫn
hoàn toàn có thể thêm phương thức cho lớp như thường. Đặc điểm này giúp giảm đi đáng
kể sự kế thừa phức tạp trong C++, khi việc kế thừa chỉ để phục vụ cho việc them mới một
phương thức. Mặt khác việc chia mã nguồn trên nhiều tập tin cũng giúp ích đáng kể cho

việc phát triển.
Lưu ý:
- Tên của category phải là duy nhất
- Có thể them bao nhiêu lần mở rộng lớp từ category là không giới hạn nhưng với
tên là duy nhất.
- Không thể bổ sung biến thành phần bằng category.
- Có thể sử dụng category để tạo ra các phương thức private.
e. Properties:
Thuộc tính (Properties) gần như bất cứ một ngôn ngữ lập trình hiện đại nào cũng hỗ
trợ, đây là một khái niệm bảo toàn tính đóng gói của lập trình hướng đối tượng.
Đối với ngôn ngữ Objective-C có một số những hỗ trợ đặc biệt hơn một chút, khai
báo sử dụng bằng @properties.
Objective-C có 2 lựa chọn là @synthesize và @dynamic, với lựa chon là
@synthesize thì mặc nhiên trình biên dịch sẽ giúp bạn sinh ra các phương thức set và get
trên thuộc tính, xen kẽ vào đó @dynamic có thể được sử dụng để chia các phương thức.
f. Kiểu ID:
ID trong Objective-C gần tương tự như void* trong C. Ta không cần phải biết rõ kiểu
của đối tượng khi gọi phương thức trong Objective-C điều này hoàn toàn khác vớ C++ bởi
đơn giản khi gọi phương thức cũng giống như ta truyền thông điệp trong Objective-C. Nếu
đối tượng đó có phương thức thì sẽ đáp lại thông điệp mà bạn truyền (gọi phương thức) và
phương thức được gọi.
g. Dynamic types (ép kiểu động):
15
Những phương thức dưới đây dùng để kiểm tra kiểu:
-(BOOL) isKindOfClass: classObj - đối tượng là hậu duệ hoặc thể hiện của classObj
- (BOOL) isMemberOfClass: classObj – là một phần của objClass
- (BOOL) respondsToSelector: selector – đối tượng có phương thức bởi selector
+ (BOOL) instancesRespondToSelector: selector – đối tượng được tạo bởi lớp có đáp
ứng selector
-(id) performSelector: selector – triệu gọi chính sách selector trên đối tượng

h. Constructor – hàm khởi tạo
Với một lớp thì hàm khởi tạo dùng để sinh đối tượng và cũng là chỗ để tư duy về
hàm huỷ và cách thức lưu trong bộ nhớ của đối tượng. Tất nhiên không có gì là không thể
viết khi bạn đã hiểu rõ và thông thạo ngôn ngữ. Và hẳn nhiên bạn có thể quên hết những
luật về khởi tạo đối tượng hàm tạo và hàm huỷ của C++, với Objective-C bạn hoàn toàn có
thể tự mình chế biến những hàm đó theo ý thích và cũng không có quy luật gì về tên tuổi
hàm, tuy nhiên theo thói quen truyền thống để giúp style – code trở nên sáng sủa nên dung
bằng các từ như init hoặc tương tự để định nghĩa hàm khởi tạo.
i. Memory Management
Objective-C có 2 lựa chọn cho việc quản lý bộ nhớ. Thông thường bộ nhớ được quản
lý bởi lập trình viên, Objective-C có trình biên dịch chỉ thị như “release”, “retain”,
“autorelease” là những chỉ thị hỗ trợ lập trình viên mạnh mẽ trong việc quản lý bộ nhớ.
Objective-C sử dụng một tham chiếu đếm để dò tìm ra những thay đổi trên một đối
tượng. Biến đếm này sẽ tăng lên một khi đối tượng được cấp phát bộ nhớ bằng phương
thức alloc, biến đếm này sẽ giảm đi một khi đối tượng được giải phóng bằng phương thức
dealloc. Như vậy nguyên lý cấp phát và duy trì bộ nhớ của đối tượng trong Objective-C
được sử dụng thông qua phương thức alloc và dealloc.
Mặt khác, Objective-C cũng cung cấp một cơ chế thông minh giúp bạn không phải
quan tâm đến việc cấp phát và giải phóng bộ nhớ là cơ chế NSAutoreleasePool. Để dùng
được cơ chế này ta chỉ việc nhớ kẹp đoạn code mà bạn muốn kiểm soát vào giữa đoạn
code:
NSAutoreleasePool *pool = [[ NSAutorelease alloc] init] ;
…………………….
[pool release];
16
Nguyên lý này cũng giống như lời gọi hàm vì thế ta hoàn toàn có thể sử dụng lồng
nhau và sự đóng mở hợp lý (giống như thẻ đóng và mở của XML) tự nhiên Objective-C sẽ
đẩy các lời gọi pool sau xuống stack và đặt pool mới trên cùng sau đó nhét các object được
tạo ra trong long nó vào cái pool mới tạo để nếu xong thì giải phóng rồi lại đẩy tiếp thẳng
pool ở dưới lên.

Có thể lồng các khối NSAutoreleasePool vào nhau. Khi ta gọi autorelease thì
Objective-C tự biết nhét biến vào NSAutoreleasePool mới nhất. Mỗi khi biến
NSAutoreleasePool mới nhất được giải phóng, biến cũ hơn được tự động độn lên thành
biến mới nhất.
Khi chương trình sử dụng bộ nhớ nhiều, để tránh giữ bộ nhớ lâu mà không được tự
động giải phóng, gây tình trạng thiếu bộ nhớ (cần hết sức lưu ý khi lập trình cho thiết bị ít
bộ nhớ như iPhone) nên tạo NSAutoreleasePool mới mỗi khi cần xử lý lâu, mất thời gian.
3.3 Tổng quan về lập trình iOS
Nền tảng chủ yếu để phát triển phần mềm cho iOS là sử dụng Cocoa Touch. Cocoa
Touch là một UI framework để xây dựng ứng dụng cho thiết bị chạy iOS. Mới làm quen
với Cocoa Touch ta sẽ thấy nó rất khác so với Java, C#.Net hay những ngôn ngữ lập trình
khác. Cocoa Touch bao gồm UIKit (Bộ xây dựng giao diện) và Foundation frameworks,
chúng cung cấp nền móng cơ bản cũng như các tiện ích giúp ta xây dựng ứng dụng hướng
sự kiện và hướng đồ hoạ trong iOS. Nó còn có một số frameworks khác cung cấp các dịch
vụ chính (key services) truy cập tới các đặc tính thiết bị như phần danh bạ (contact) của
người dùng.
Để dễ dàng hơn trong việc tiếp cận Cocoa Touch cần phải chú ý những đặc điểm
khác biệt của iOS so với những hệ điều hành khác:
3.3.1 Hỗ trợ đa nhiệm (multi – threading)
Những phiên bản cũ của hệ điều hành iOS không hỗ trợ đa nhiệm. Từ phiên bản 4.0
được ra mắt với tên iOS 4 hệ điều hành iOS bắt đầu hỗ trợ chạy đa nhiệm.
3.3.2 Một ứng dụng chỉ có một cửa sổ
Không giống như hệ điều hành cho máy tính, một ứng dụng (application) trên iOS
chỉ có 1 cửa sổ (window) duy nhất với kích thước được định sẵn trên màn hình thiết bị. Tất
cả những tương tác của người dùng sẽ chỉ diễn ra trên cùng 1 cửa sổ này và cửa sổ này sẽ
17
chứa nhiều thành phần con.
3.3.3 Hạn chế trong việc truy cập
Một điểm khác biệt nữa giữa iOS và các hệ điều hành máy tínhlà những ứng dụng
trên iOS sẽ bị giới hạn quyền truy cập. iOS rất nghiêm khắc hạn chế những gì chúng ta có

thể làm, đặc biệt là những truy cập tới tập tin hệ thống. Chúng ta chỉ có thể làm việc với
những thư mục, tập tin trong phạm vi ứng dụng của chúng ta (được gọi là application’s
sandbox). Đó là nơi chúng ta lưu trữ tài liện, cài đặt cấu hình và một số loại dữ liệu khác.
Chúng ta không có quyền truy cập sâu vào hệ thống để thực hiện các chức năng như khởi
động lại máy hay truy cập vào những thông số cài đặt của thiết bị từ ứng dụng của mình.
3.3.4 Hạn chế về thời gian phản hồi của hệ thống
Về khía cạnh này trước hết ta phải nhìn theo góc nhìn của người dung. Với một thiết
bị di động, người dung muốn sử dụng ứng dụng thật nhanh, trong những lúc không được
tiện nghi cho lắm (đang đi trên đường, cần tra cứu một thông tin,…). Người dung thiết bị
di động chắc chắn không muốn và không thể đợi một thời gian dài để thực hiện một tác vụ
nào đó. Khác với người dung máy tính, ngồi ở bàn làm việc, có thể ngả lưng ra sau và đợi
một phần mềm khởi động trong vòng 30 giây hay có thể là một phút, đối với thiết bị di
động, khi khởi động chương trình thì tất cả mọi thứ phải được tải và mở ra trong vòng vài
giây. Khi đóng trương trình, nếu những tác vụ lưu trữ thông tin cài đặt hay thong số chạy
chậm hơn 5 giây đồng nghĩa với thất bại vì hệ thống sẽ không thực hiện các tác vụ đó nữa.
3.3.5 Hạn chế về kích thước màn hình
Rõ ràng màn hình của những thiết bị di động luôn có kích thước nhỏ hơn những máy
tính để bàn hoặc laptop. Chính vì thế mà chúng ta cần phải lưu ý khi thiết kế giao diện
người dùng sao cho hợp lý và dễ dàng nhất cho người sử dụng.
3.3.6 Hạn chế về tài nguyên hệ thống
Mặc dù cấu hình của những chiếc smart phone này càng mạnh nhưng vẫn là khập
khiễng nếu so sánh với máy tính truyền thống. Không có được những CPU tốc độ
nhanh như trên máy tính, các hệ điều hành di động cũng được thiết kế nhỏ gọn và linh
hoạt để có thể chạy mượt mà trên CPU đó, vì thế khi phát triển ứng dụng iOS chúng ta
cần quan tâm kĩ đến việc sử dụng tài nguyên hệ thống.
18
3.3.7 Những lợi thế của các thiết bị chạy iOS
Khi iOS không được hỗ trợ một số chức năng thì nó phải được cung cấp một số chức
năng khác mà bản thân Cocoa không có. Hay nói cách khác là Cocoa Touch được hỗ trợ
một số chức năng không có trên hệ điều hành của máy Mac.

iOS hỗ trợ chúng ta định vị tọa độ địa lý qua Core Location.
Thiết bị iOS có camera chụp hình và thư viện hình ảnh và iOS SDK cho phép truy cập
cả 2 thứ này.
iPhone, iPod và iPad được trang bị một cảm biến trọng lực (accelerometer) để biết
được thiết bị đang được cầm và di chuyển như thế nào.
3.3.8 Cách tiếp cận khác so với lập trình thiết bị máy tính truyền thống
Điều khác biệt quan trọng nhất trong các biết bị di động như iPhone, iPod, iPad là
chúng không có bàn phím và chuột. Bởi vậy chúng ta cần có những phương pháp tiếp cận
khác để xử lý bàn phím ảo cũng như những thao tác cảm ứng của người dùng lên màn
hình. Ví dụ: khi người dùng bấm vào một text-field thì hệ điều hành tự hiểu phải làm gì,
bàn phím ảo xuất hiện. Và chúng ta không cần phải viết bất kỳ dòng lệnh nào để kiểm soát
việc này.
3.4 Kiến trúc một ứng dụng iOS
3.4.1 Mô hình kiến trúc của một ứng dụng iOS chuẩn
Để hiểu kiến trúc của một ứng dụng iOS, cần tìm hiểu về Design Patterns. Có 3
pattern chính mà chúng ta sử dụng khi phát triển ứng dụng:
Delegation:
Delegation là một pattern nơi mà một đối tượng gửi định kỳ các thông điệp
(message) tới một đối tượng xác định khác để lấy dữ liệu đầu vào hay để thông báo cho
delegate (đối tượng ủy quyền) các sự kiện đang xảy ra. Các phương thức của Delegate
được nhóm lại thành một giao thức, và được trình bày dưới dạng một lớp.
Đối tượng ứng dụng (application object) bảo Delegate của nó là chương trình khởi
động chính (main start-up routine) đã hoàn thành và việc cấu hình có thể bắt đầu. Bạn
muốn Delegate tạo một thể hiện (instance) của một controller để thiết lập và quản lý view.
Model-View-Controller (MVC):
19
MVC hay Model-View-Controller (tiếng Anh) là một mẫu kiến trúc phần mềm cho
kỹ thuật kỹ sư phần mềm. Khi sử đúng cách, mẫu MVC giúp cho người phát triển phần
mềm cô lập các nguyên tắc nghiệp vụ và giao diện người dùng một cách rõ ràng hơn. Phần
mềm phát triển theo mẫu MVC tạo nhiều thuận lợi cho việc bảo trì vì các nguyên tắc nghề

nghiệp và giao diện ít liên quan với nhau. Mô hình MVC bao gồm các thành phần:
- Đối tượng Model: bao gồm tất cả các đối tượng, biểu diễn và quản lý dữ liệu của
đối tượng
- Đối tượng View: Để hiển thị dữ liệu và cho phép người dùng có thể chỉnh sửa nó.
Bạn cần có một view chính chứa các view nhỏ
- Đối tượng Controller: Một đối tượng trung gian giữa đối tượng Model và đối
tượng View. Lấy dữ liệu từ Model để hiển thị lên ở View
Hình : Mô hình MVC
Target-Action:
Là kỹ thuật cho phép đối tượng điều khiển (Nút - button, Thanh trượt – slider…) đáp
lại một sự kiện người dùng (như kích chuột hay nhấn phím) để gửi một thông điệp (The
20
action) tới một đối tượng khác (The target), đối tượng đích này sẽ dịch sự kiện và điều
khiển nó một cách thích hợp. Khi chúng ta nhấn vào nút, nút bảo đối tượng Controller cập
nhật lại đối tượng Model và đối tƣợng View dựa trên dữ liệu người dùng nhập vào.
3.4.1 Vòng đời một ứng dụng iOS (application life cycle)
Một vòng đời ứng dụng tạo thành một chuỗi sự kiện xảy ra giữa quá trình khởi động và
chấm dứt ứng dụng. Trong iOS, người dùng khởi chạy ứng dụng bằng cách nhấp vào icon
của ứng dụng trên màn hình. Một thời gian ngắn sau đó:
- Hệ thống hiển thị một số hiệu ứng đồ họa chuyển tiếp có thể là màn hình chào
mừng (Wellcome screen), popup thông báo (notification),…
- Xử lý khởi chạy ứng dụng bằng cách gọi một số hàm chức năng chính.
Từ thời điểm này, phần lớn các công việc khởi tạo được giao cho UIKit để tải giao diện
người dùng của ứng dụng và bắt đầu vòng lặp sự kiện của ứng dụng.
Trong iOS 4 và những phiên bản về sau có hỗ trợ đa nhiệm, ứng dụng của bên thứ 3 có
thể được chạy ngầm và lưu trạng thái trong bộ nhớ nên lần chạy tiếp theo của ứng dụng
không phải lúc nào cũng liên quan tới việc bắt đầu áp dụng từ đầu.
21
Dưới đây là mô tả các sự kiện của ứng dụng trong vòng đời của nó:
Hình : Vòng đời ứng dụng iOS (1)

22
Hình : Vòng đời ứng dụng iOS (2)
Đối với iOS 3 chỉ có 2 trạng thái của ứng dụng là Active và Not running
iOS 4 trở lên hỗ trợ đa nhiệm nên ứng dụng của bên thứ 3 có thể được chạy ở chế độ
nền (background) do đó vòng đời của ứng dụng có thể có những trạng thái:
- Not running: Ứng dụng không được khởi chạy
- Inactive: Ứng dụng đang chạy nền nhưng không nhận được sự kiện
- Active: Ứng dụng đang chạy và có thể nhận được sự kiện
- Background: Hầu hết ứng dụng vào trạng thái này sau một thời gian ngắn sẽ đình
chỉ hoạt động. Tuy nhiên một ứng dụng có thể yêu cầu thêm thời gian thực hiện
để vẫn còn trong trạng thái này trong một khoảng thời gian. Ngoài ra một ứng
dụng có thể được đưa trực tiếp vào trạng thái này thay vì trạng thái inactive.
- Susppended: Ứng dụng vào trạng thái chạy nền nhưng không tiếp tục thực thi
code sử lý thì sau một khoảng thời gian hệ thống sẽ tự động đưa ứng dụng vào
trạng thái này. Trong trạng thái này ứng dụng đóng băng và không sử lý bất kì mã
23
nào. Và khi bộ nhớ của thiết bị gần đầy, hệ thống sẽ đình chỉ ứng dụng ở trạng
thái này mà không cần thông báo, để lấy tài nguyên phục vụ cho các ứng dụng
đang chạy.
Làm sao để một ứng dụng chạy nền (background) trở lại trạng thái chạy foreground?
Khi người dùng chạy một ứng dụng đang sống trong trạng thái background hệ thống sẽ
di chuyển nó vào trạng thái inactive và sau đó vào trạng thái active. Điều này được thực
hiện bằng cách gọi các phương thức trong delegate của ứng dụng là
applicationWillEnterForeground và applicationDidBecomeActive
Hình : vòng đời ứng dụng iOS (3)
Làm sao một ứng dụng iOS sử lý khi có một tác nhân gây gián đoạn như có tin nhắn,
cuộc gọi tới,…?
Khi ứng dụng đang chạy bị gián đoạn bởi các tác nhân như tin nhắn, cuộc gọi đến,
thông báo lịch, thông báo của hệ thống như báo hết pin,… ứng dụng tạm thời sẽ được
chuyển đến trạng thái inactive. Nó vẫn sẽ ở trong trạng thái này cho tới khi người dùng xử

lý xong những tác nhân gây gián đoạn bằng cách lựa chọn chấp nhận hoặc bỏ qua tác vụ
gây gián đoạn đó.
- Nếu người dùng bỏ qua tác nhân gây gián đoạn, ứng dụng sẽ tiếp tục được kích
hoạt.
- Nếu người dùng chấp nhận gián đoạn, ứng dụng sẽ chuyển vào trạng thái
suspended.
24
Hình : Vòng đời ứng dụng iOS (4)
Chương 4: Công nghệ Webservice
Ngày nay cùng với sự phát triển mạnh mẽ của môi trường internet, các ứng dụng triển
khai trên nền Web ngày càng được phát triển rộng rãi và phong phú. Trong nền kinh tế thị
trường hiện nay, chuyển đổi dữ liệu, thông tin đang là một nhu cầu thiết yếu cho sự phát
triển và tồn tại của các doanh nghiệp. Dịch vụ Web (Web Service) được coi là một công
nghệ mang đến cuộc cá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 cấ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
25

×