2.1 Khâi niệm WAP
WAP lă giao thức ứng dụng không dđy (Wireless Application Protocol) gồm câc chuẩn cho phĩp truy cập Internet trực tiếp từ điện thoại di động. Đối với mây tính. để truy cập Web người ta sử dụng giao thức TCP/IP còn điện thoại di động lă WAP. Nhưng tại sao không phải lă TCP/IP mă lă WAP ? Đơn giản vì Website không thể hiển thị đầy đủ với đm thanh vă hình ảnh trín măn hình nhỏ bĩ của điện thoại di động. Cần phải có một phương thức khâc, do đó WAP đê trở thănh phương tiện để chuyển đổi hình ảnh, dữ liệu của Website dănh riíng cho điện thoại di động. Vì vậy WAP cũng được xem như lă một trình duyệt Internet thu nhỏ. Câc trang thông tin dăănh riíng năy được gọi lă Wapsite(không phải Website).
2.2 Kiến trúc của WAP
Những điều xảy ra khi thđm nhập văo một Website cho phĩp truy nhập giao thức WAP:
KHOA CÔNG NGHỆ THÔNG TIN
Bộ MIDlet1
MIDlet1, MIDlet2, MIDlet3
midlet1.class dimaco.class bilico.class midlet2.class midlet3.class nitiho.class Bộ MIDlet1 MIDlet4 Lưu trữ bền vững Lưu trữ bền vững Lưu trữ bền vững Lưu trữ bền vững
• Bật thiết bị vă mở MiniBrowser.
• Thiết bị gửi câc tín hiệu vô tuyến (Radio Signal) vă tìm kiếm dịch vụ.
• Một kết nối được tạo với nhă cung cấp dịch vụ.
• Lựa chọn Website muốn xem.
• Một yíu cầu được gửi tới Gateway Server sử dụng WAP.
• Gateway Server truy xuất thông tin qua HTTP từ Website.
• Gateway Server sẽ mê hoâ dữ liệu HTTP thănh WML.
• Câc dữ liệu mê hoâ được gửi tới thiết bị của bạn.
Chuẩn WAP định nghĩa hai thănh phần cốt yếu: một giao thức ứng dụng end-to- end vă một môi trường ứng dụng dựa trín trình duyệt. Giao thức ứng dụng lă một giao thức truyền thông được nhúng trong mỗi thiết bị vô truyến hỗ trợ WAP (còn được gọi lă user agent). Phía mây chủ đảm nhiệm đầu kia của giao thức, nó có khả năng giao tiếp với mọi WAP client. Phía mây chủ còn được gọi lă WAP gateway vă nó định tuyến câc yíu cầu từ client đến một mây chủ HTTP (hay Web). WAP gateway có thể được đặt trín một mạng viễn thông hay một mây tính (một ISP)
Hình sau mô tả cấu trúc một mạng WAP
Trong hình trín, client giao tiếp với WAP gateway trong mạng vô tuyến. WAP Gateway phiín dịch câc yíu cầu WAP thănh yíu cầu WWW, như vậy WAP client có thể đưa ra yíu cầu cho mây chủ Web, WAP gateway dịch đâp ứng Web thănh đâp ứng WAP hay thănh một định dạng mă WAP client hiểu
2.3 Mô hình lập trình WAP
Mô hình lập trình WAP tương tự như mô hình lập trình Web với câc mở rộng tương ứng nó được điều chỉnh để phù hợp với tính chất của môi trường vô tuyến
Hình sau mô tả minh hoạ mô hình năy
Như ta đê thấy, mô hình lập trình WAP dựa nhiều văo mô hình lập trình Web, nhưng lăm câch năo WAP gateway lăm việc được với HTML?. Trong một số trường hợp câc dịch vụ dữ liệu hay nội dung trín mây chủ Web lă ở dạng HTML. một số WAP gateway có thể dùng để chuyển đổi trang HTML thănh một định dạng để có thể hiển thị trín một thiết bị vô tuyến. Nhưng thực sự HTML không được thiết kế cho câc măn hình nhỏ, giao thức WAP định nghĩa ngôn ngữ đânh dấu (markup) của riíng nó Wireless Markup Language (WML), theo chuẩn XML vă được thiết kế trong điều kiện răng buộc của thiết bị di động. Trong hầu hết trường hợp, ứng dụng thực sự hay nội dung đặt trín mây chủ Web sẽ được tạo hoăn toăn bằng WAP hoặc sử dụng Java servlet hay JSP
Trong HTML không có câc hăm để kiểm tra tính hợp lệ của dữ liệu nhập văo hay để sinh ra câc thông điệp hay hội thoại. Để khắc phục vấn đề năy người ta phât triển Javascript. Tương tự, để khắc phục giới hạn năy trong WAP, một script được gọi lă WMLscript cũng được phât triển
2.4 Chồng giao thức WAP
KHOA CÔNG NGHỆ THÔNG TIN WAP Gateway WAP Server Mạng vô tuyến Mạng mây tính WAP user -agent WAP gateway
Bộ mê hoâ vă bộ giải mê Bộ điều hợp giao thức WAP server CGI Script vă câc script khâc Content stone WA P HTT P
Để giảm thiểu yíu cầu băng thông, vă đảm bảo câc mạng vô tuyến đa dạng có thể chạy câc ứng dụng WAP, một chồng giao thức mới vă nhẹ được phât triển. Hình sau minh hoạ chồng giao thức năy vă cũng đưa ra so sânh với chồng giao thức của WAP
Dữ liệu được gửi dưới dạng HTTP bởi WebServer tới WAP Gateway. Hệ thống năy bao gồm bộ mê hoâ WAP (WAP Encoder), bộ biín dịch Script, Adaptor để chuyển dạng HTTP thănh WML. Sau đó Gateway sẽ gửi câc dữ liệu đê được Convert tới câc WAP Client trín câc thiết bị không dđy. Điều xảy ra giữa Gateway vă câc Client phụ thuộc văo đặc điểm khâc nhau của ngăn xếp giao thức WAP (WAP Protocol Stack)
WAE (Wireless Application Environment): Môi trường ứng dụng không dđy cung cấp câc công cụ phât triển thănh phần Internet không dđy. Nó bao gồm WML vă WML Script lă ngôn ngữ Script sử dụng chung với WML có chức năng giống như Javascript.
WSP (Wireless Session Protocol): Giao thức phiín không dđy xâc định phiín năo giữa thiết bị vă mạng sẽ hướng kết nối (Connection-oriented) hoặc không kết nối (Connectionless). Trong phiín hướng kết nối dữ liệu thông qua cả hai hướng giữa thiết bị vă mạng. Khi đó WSP sẽ gửi câc gói dữ liệu tới lớp giao thức Wireless Transaction Protocol Layer. Nếu lă phiín không kết nối, thông tin sẽ được quảng bâ vă truyền từ mạng tới thiết bị, sau đó WSP định hướng câc gói tới lớp giao thức Wireless Datagram Protocol Layer
WTP (Wireless Transaction Protocol): Giao thức thực hiện không dđy hoạt động như lă một con thoi trín mạng giữ cho dữ liệu logic vă thông suốt. WSP vă WTP Layer đâp ứng với HTTP trong giao thức TCP/IP.
HTML Javascript HTML TLS-SSL TCP/IP UDP/IP Web
Application Layer (WAE)
Session Layer (WSP)
Transaction Layer (WTP)
Security Layer (WTLS)
Datagram (hay Transport) Layer (WDP)
Bearers GSM CDMA SMS v.v.
WAP
Câc dịch vụ khâc
WTLS (Wireless Transport Layer Security): cung cấp nhiều đặc điểm bảo mật như TLS (Transport Layer Security) của TCP/IP. Nó kiểm tra tình trạng dữ liệu, cung cấp câc phương phâp mê hoâ, xâc thực Client vă Server.
WDP (Wireless Datagram Protocol): lăm việc cùng với lớp sóng mang của mạng (Network Carrier Layer). WDP dễ dăng tương thích WAP vì tất cả những thông tin được duy trì tại mức năy.
Câc sóng mang của mạng (Network Carrier): Còn được gọi lă “bearer” lă bất kỳ một công nghệ năo đang tồn tại mă nhă cung cấp không dđy sử dụng.
2.5 Ưu điểm vă nhược điểm của WAPƯu điểm: Ưu điểm:
Dịch vụ gia tăng dựa trín WAP sẽ trở thănh chuẩn trong truyền thông di động lă có cơ sở vă WAP có nhiều ưu điểm. Trước tiín lă WAP không bị hạn chế 160 ký tự như SMS, nghĩa lă nó cho phĩp người dùng gửi/nhận E-mail mă không bị hạn chế số lượng chữ. Người sử dụng WAP còn xem được câc thông tin về thị trường chứng khoân, tin tức, giải trí v.v…trín măn hình của điện thoại di động, tải về câc ứng dụng đm thanh, hình ảnh,.. Đương nhiín những công việc năy chỉ có thể được thực hiện trín điện thoại di động có hỗ trợ WAP
Nhược điểm:
Trín thực tế, dù có nhiều ưu điểm như vậy nhưng sau thời gian triển khai WAP, sô người dùng ĐTDĐ truy cập Internet để gửi e-mail hoặc tìn kiếm thông tin lă rất hạn chế. Lý do lă nội dung câc Wapsite thiếu sức sống, thiếu câc ứng dụng thực tế. Hơn thế nữa thông tin hiển thị chậm hơn SMS do tốc độ đường truyền thấp, việc tải câc ứng dụng về cũng khó thực hiện được. Câc trang WAP hiện chỉ chứa thông ti, nhưng WAP còn lăm được nhiều việc hơn thế, ví dụ thông qua Wapsite, nhă cung cấp dịch vụ có thể triển khai câc rò chơi online, hỗ trợ khâch hăng tải game, đm thanh, hình ảnh. Để lăm được việc năy, người dùng chỉ có thể nhờ đến sự hỗ trợ của câc trung tđm bảo hănh - những việc tương đối bất tiện. Ngoăi ra có một số hạn chế khâc khiến câc ứng dụng WAP chưa phât triển như; căi đặt phức tạp, giâ cước chưa hợp lý, thủ tục đăng ký rườm ră, giao diẹn sử dụng không thđn thiện vă hiện có rất ít nhă cung cấp nội dung cho WAP
3 NGÔN NGỮ ĐỊNH DẠNG MẠNG KHÔNG DĐY(WML) 3.1 WML vă hiển thị
Một trong những ứng dụng XML được quan tđm nhất hiện nay lă ngôn ngữ định dạng mạng không dđy – WML (Wireless Markup Language). Nếu như trang HTML được câc trình chủ Web server sử dụng giao thức HTTP để gửi câc trang Web xuống trình duyệt thì WML sử dụng kết hợp với giao thức WAP (Wireless Application Protocol). Giao thức WAP dùng cho kết nối vă chuyển dữ liệu gọn nhẹ
KHOA CÔNG NGHỆ THÔNG TIN
đến câc thiết bị cầm tay như điện thoại di động hay câc thiết bị giới hạn về khả năng phần cứng
Tương tự cú phâp của HTML nhưng chặt chẽ hơn vì ngôn ngữ định dạng WML dựa trín XML, nó đưa ra câc tập thẻ đơn giản để định dạng câc trang thông tin hiển thị nhỏ gọn trín măn hình của điện thoại di động hay câc mây Palm cầm duyệt siíu nhỏ (minibrowser)
Tập định nghĩa câc thẻ tạo nín ngôn ngữ WML nhỏ gọn vă bỏ bớt những chức năng đồ hoạ không cần thiết của HTML. WML chỉ tập trung văo hiển thị thông tin vă tương tâc ngắn gọn với người dùng lă chính. Thiết kế câc trang . wml
tương tự trang .html vă đặt chúng trín mây chủ Web server. Câc mây điện thoại cầm tay sẽ kết nối với cổng WAP để lấy những trang . wml. Câc phiín bản trình duyệt hiện nay như Internet Explore 5.5 hoặc Netcape Navigator 6 chưa hỗ trợ hiển thị trang . wml Để hiển thị trang . wml ta dùng trình duyệt mô phỏng câch hiển thị câc trang WML trín điện thoại di động như Klondike, Deck-it, Galon,…
3.2 Tạo trang WML
Trang WML thực tế lă một tăi liệu XML, định nghĩa cho wml ở đầu trang tăi liệu như sau:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="Card1" title="Minh hoa card 1"> <p>
<!-Đđy lă chú thích cho tăi liệu WML -> Chao cac ban
</p> </card> </wml>
Tất cả nội dung của trang WML được đặt giữa phần tử thẻ gốc <wml>. Có thể chú thích trong trang WML bằng cặp thẻ <!-- --> tương tự như HTML
Bởi vì măn hình của câc thiết bị cầm tay như điện thoại di động rất nhỏ vă hạn chế không gian hiển thị nín WML xem vă biểu diễn măn hình như một tấm thẻ <card>
Nội dung của tăi liệu được lưu văo file . wml vă đặt văo trình chủ Web server(có thể thử trín thiết bị di động nếu Web server có khả năng kết nối với Internet vă có thuí bao dịch vụ WAP cho điện thoại di động )
3.3 Cú phâp trang WML3.3.1 Canh lề vă hiển thị 3.3.1 Canh lề vă hiển thị
Phần tử <p> cung cấp thuộc tính align cho phĩp canh lề văn bản với giâ trị như “left”, “right”, “center”. Ví dụ sau sẽ hiển thị một số vị trí canh lề cho văn bản trong tăi liệu WML
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="Card1" title="Text Alignment">
<p align= “center”><b>Text Alignment”</b></p> <p align= “left”>Left- Alignment”</p>
<p align= “right”>Right- Alignment”</p> </card>
</wml>
Kết quả hiển thị như sau:
KHOA CÔNG NGHỆ THÔNG TIN
3.3.2 Câc kiểu định dạng cơ bản
Không như trình duyệt trín mây PC với nhiều khả năng hiển thị mău sắc vă font chữ khâc nhau. Văn bản trín măn hình điện thoại di động chỉ cho phĩp định dạng một số kiểu văn bản đơn giản như in đậm, in nghiíng, gạch chđn với câc thẻ như <b> , <i> ,<u>. Dưới đđy cho thấy câch định dạng văn bản trong tăi liệu WML
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="Card1" title="Text Formating">
<p align= “center”><b>Text Formating”</b></p> <p>
WML suports these text styles <b>bold</b> <big>big</big> <em>empasis</em> <i>italic</i> <small>small</small> <strong>strong</strong> <u>underline</u> </p> </card> </wml>
3.3.3 Tạo nút nhấn tương tâc
Có thể dùng phần tử <do>với thuộc tính type=”accept” để tạo nút nhấn hiển thi trong trang tăi liệu. Phần tử <go> cho phĩp nhảy đến một trang khâc theo địa chỉ URL hoặc nhảy đến một <card> năo đó.
Như đê níu, mỗi măn hình tương đương với một thẻ <card>. Ta có thể xđy dựng nhiều phần tử card vă cho xem mỗi lúc một măn hình như sau
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="Card1" title="Buttons">
<p align= “center”><b>Bottons”</b></p> <do type=“accept” label=“Go to a new page”> <go
href= http://localhost/hello. wml/>
</do>
<do type= “accept” label= “Go to card 2”> <go
href= “#Card2”/> </do>
</card>
KHOA CÔNG NGHỆ THÔNG TIN
<card id= “Card2” title= “Card2”> <p> this is card 2 </p> </card> </wml>
Trong ví dụ trín, chúng ta tạo ra một nút nhấn với nhên mang tín “Go to a
new page” vă một nút nhấn mang tín “Go to card 2” . Khi người dùng kích hoạt
nút nhấn “Go to a new page”năy thì trang tăi liệu mới hello.wml sẽ hiển thị, còn nếu nhấn nút “Go to card 2” thì nội dung “This is card 2” sẽ được hiển thị. Điều năy cho thấy ta có thể sử dụng nhiều phần tử card cùng lúc trong tăi liệu những chỉ xem mỗi lần một phần tử card để tiết kiím không gian hiển thị
3.3.4 Tạo bảng
WML cung cấp cho bạn phần tử <table>, <td>, <tr> để tạo bảng vă câc dòng, cột tương tự HTML
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="Card1" title="Tables">
<p align= “center”> <table columns= “3”> <tr> <td>TIC</td> <td>TAC</td> <td>TOE</td> </tr> <tr> <td>x</td> <td>o</td> <td>x</td> </tr> </table> </p> </card> </wml> 3.3.5 Nhập dữ liệu
Ngoăi việc hiển thị thông tin, WML còn cho phĩp người dùng nhập dữ liệu chẵng hạn như số điện thoại, tín đăng nhập…Ta dùng phần tử <input> để thực hiện chức năng năy. Thuộc tính name của phần tử <input> được dùng như một tín biến.
KHOA CÔNG NGHỆ THÔNG TIN
Bạn truy xuất dữ liệu do người dùng nhập ở ô textbox của phần tử <input> thông qua tín của thuộc tính name như sau:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="Card1" title="Text input">
<p align= “center”><b>Textinput”</b></p> <p>
Navigate to:
<input type= “text” name= “uri”/> <do type= “accept” label= “Go”> <go href= “$(uri)”/>
</do> </p>
</card> </wml>
Khi kích chuột văo nút “Go” nội dung dữ liệu nhập văo được xem lă địa chỉ để đi đến một trang wml mới. Ta đê đặt tín cho <input> lă name= “uri” vă truy xuất nội dung của phần tử bằng câch thím ký tự $ văo phía trước lă $uri
3.3.6 Tạo danh sâch lựa chọn
WML cung cấp phần tử <select> tạo danh sâch lựa chọn tương tự phần tử <select> của HTML. Dưới đđy lă ví dụ cho thấy sử dụng phần tử <select> tạo một danh sâch sổ xuống trong trang WML:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="Card1" title="Select">
<p align="center"><b>Select</b></p> <select name="selection"> <option value="red">Red</option> <option value="green">Green</option> <option value="blue">Blue</option> </select>
<do type="accept" label="Read selection"> <go href="#Card2"/>
</do> </card>
<card id="Card2"title="Card2"> <p>
You selected $selection </p>
</card> </wml>
KHOA CÔNG NGHỆ THÔNG TIN
Nếu chọn một mục vă nhấn nút “Read selection” thì nội dung Card2 sẽ hiển thị phần tử được chọn thông qua tín biến $selection
3.7 Định thời(timer)
Trong trang tăi liệu WML ta có thể quy định thời gian bằng bộ định thời timer. Ví dụ khi bộ định thời hết hạn quy định, trình duyệt sẽ thực hiện một tâc vụ năo đó. Trong trang tăi liệu dưới đđy, ta quy định thời gian cho timer lă 10 giđy, nếu