MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU 1
1.1 Đặt vấn đề 1
1.2 Mục tiêu nghiên cứu 2
CHƯƠNG 2 HƯỚNG GIẢI QUYẾT VÀ MÔ HÌNH 3
2.1 Hướng giải quyết 3
2.1.1 Hệ thống cần cung cấp dịch vụ khi nào ? 3
2.1.2 Hệ thống cần cung cấp những nội dung gì? 4
2.1.3 Hệ thống truyền tải nội dung đến người dùng như thế nào? 4
2.2 Mô hình đề xuất 5
2.2.1 Người dùng 6
2.2.2 Nhận biết ngữ cảnh 8
2.2.3 Xây dựng nội dung 11
2.2.4 Cơ sở dữ liệu 14
2.2.5 Nhà cung cấp nội dung 14
CHƯƠNG 3 CÁC KHÁI NIỆM VÀ CÔNG NGHỆ LIÊN QUAN 15
3.1 Dịch vụ hướng vị trí (Location Base Services ) 15
3.2 Ngữ cảnh và Học theo ngữ cảnh trên di động 17
3.2.1 Ngữ cảnh (Context) 17
3.2.2 Nhận biết ngữ cảnh (Context-Aware) 18
3.2.3 Học trên di động (Mobile Learning ) 18
3.2.4 Học theo ngữ cảnh trên di động (Mobile Learning in Context) 19
3.3 Java 2 Micro Edition – J2ME 20
3.3.1 Đôi nét về J2ME 20
3.3.2 Cấu trúc J2ME 20
3.3.3 Vòng đời của một ứng dụng J2ME 22
3.4 Webservice 24
3.4.1 Khái niệm 24
3.4.2 Web Service Descripttion Language (WSDL) 25
3.4.3 Simple Object Access Protocol (SOAP) 27
3.5 Kỹ thuật định vị A-GPS (Assisted GPS) 30
CHƯƠNG 4 Mô hình thử nghiệm 32
4.1 Phân tích thiết kế hệ thống 32
4.1.1 Biểu đồ ngữ cảnh hệ thống 32
4.1.2 Biểu đồ phân rã chức năng 33
4.1.3 Chức năng chi tiết hệ thống 33
4.1.4 Cơ sở dữ liệu 35
4.1.5 Luồng xử lý phía client 39
4.2 Cài đặt 40
4.2.1 Yêu cầu phần cứng và phần mềm 40
4.2.2 Client 40
4.2.3 Server 41
4.3 Thử nghiệm 46
4.3.1 Dữ liệu thử nghiệm 46
4.3.2 Kết quả thử nghiệm 47
4.3.3 Nhận xét 49
CHƯƠNG 5 TỔNG KẾT 50
5.1 Kết quả đạt được 50
5.2 Hạn chế 50
5.3 Hướng phát triển 51
59 trang |
Chia sẻ: netpro | Lượt xem: 1951 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Khóa luận Nghiên cứu xây dựng ứng dụng học tiếng anh theo ngữ cảnh trên thiết bị di động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
bia trên TV:
Tên cướp xông vào một quán bia, rút súng ra chĩa vào mọi người và quát:
- Give me your jewelry! Don’t move!
Một thanh niên từ từ tiến lại từ phía sau, gí một chai bia Laser lạnh vào gáy hắn:
- Drop your weapon!
Tên cướp tưởng sau gáy hắn là một họng súng liền buông vũ khí đầu hàng.
Giả sử cấu trúc một câu hỏi trong bài test
Q1 - She played _____.
beautiful
beautifuly
beautifully
Hình 2.210 Hình hiển thị câu hỏi trên thiết bị
Nội dung trả về một link file media. Có thể là thông điệp dưới dạng
Thông điệp và các thông tin điều khiển client : Ngoài các ngữ liệu học tập ra thông điệp trả về cũng cần có những thông tin điều khiển giúp client hoạt động một cách đúng đắn. Ngoài các phương cách hiển thị nội dung, thì còn có thể có thêm các thông báo cho người sử dụng, hoặc các dạng form tương tác để lấy ý kiến người sử dụng…
Xây dựng nội dung thích nghi theo ngữ cảnh
Vấn đề cơ bản nhất trong việc xác định nội dung bài học thích nghi theo ngữ cảnh hiện tại của người học đó là việc xác định được ngữ cảnh học tập và việc xác định nội dung. Trong khuôn khổ khóa luận này ta sẽ xây dựng một tập luật đơn giản để qua đó với mỗi ngữ cảnh độc lập ta lại xác định được một tập các nội dung phù hợp với ngữ cảnh đó.
Để xây dựng tập luật này đầu tiên ta cần xác định được các thành phần cấu thành lên tập luật đó.
Đầu tiên đó là “Location” của người dùng, “Location” tương ứng với khái niệm vị trí, không gian mà người dùng đang hiện hữu. Đó có thể là một siêu thị nào đó, một cửa hàng thể thao nào đó hoặc cũng có thể là trong một rạp chiếu phim… Sở dĩ ta chọn “Location” làm điểm đầu tiên để đánh giá về ngữ cảnh đó là do vị trí của người dùng rất quan trọng và nó ảnh hưởng đến hầu hết các thuộc tính khác của môi trường. Ở trong khuôn khổ khóa luận này ta coi “Location” như là một trường hợp đặc biệt của ngữ cảnh. Và đi coi như đó là một ngữ cảnh đã được phân loại.
Thứ hai đó là “Thông tin người dùng”, các thông tin về người dùng sẽ cung cấp những thông tin về độ tuổi, giới tính, tình hình sức khỏe, trình độ hiện tại, … Nó sẽ giúp ta nhiều trong việc chọn lựa nội dung ngữ liệu và cách hiển thị.
Thứ ba là “Lịch sử học tập “, những thông tin về quá trình học tập của người sử dụng, những kiến thức mà người học đã từng học qua…
Với việc xây dựng một tập luật đơn giản ta chỉ cần 3 thành phần trên để minh họa cho phương cách hoạt động của module “xây dựng nội dung” cung cấp ngữ liệu cho người dùng.
Nội dung = ND(“Location”, “User Info”, “Learning History”);
Ở đây, để đơn giản ta sử dụng một dãy các luật if then để hình thành luật.
Ví dụ :
if( location== A ) then
If( userInfo == U) then
If( LearningHistory == E ) then {}
If(userInfo == V ) then
….
Cơ sở dữ liệu
Module ‘cơ sở dữ liệu’ đóng vai trò là nơi lưu trữ tất cả các thông tin về người dùng cũng như là nội dung tư liệu của bài học. Hệ sử dụng một hệ quản trị cơ sở dữ liệu : mysql hoặc mssql để quản lý dữ liệu người dùng. Hệ thống có thể lưu lại các lược sử sử dụng của người dùng như : thời gian, mô hình ngữ cảnh hiện tại, những nội dung đã cung cấp, trình độ hiện tại… Đối với ngữ liệu học tập thì được chia làm 2 loại : nội dung dạng text hoặc nội dung dạng media. Đối với mỗi loại dạng nội dung khác nhau ta có cách lưu trữ khác nhau để tối ưu bộ nhớ cũng như tối ưu cho việc truy suất cơ sở dữ liệu.
Nhà cung cấp nội dung
Nhà cung cấp nội dung chuyên cung cấp các tư liệu học tập như : bài tập, giáo trình, bài kiểm tra, bài test, các bài luyện nghe, luyện phát âm…vv. Bên cung cấp dịch vụ khi có yêu cầu nội dung sẽ gửi yêu cầu tới nhà cung cấp nội dung. Từ đó nhà cung cấp nội dung sẽ trả lại nội dung mà nhà cung cấp dịch vụ yêu cầu.
CÁC KHÁI NIỆM VÀ CÔNG NGHỆ LIÊN QUAN
Dịch vụ hướng vị trí (Location Base Services )
LBS là các dịch vụ có thể cung cấp cho các thiết bị di động thông qua mạng di động và chức năng của các thiết bị đó.
LBS phát triển dựa trên công nghệ : GIS, internet và Mobile devices. Dựa vào công nghệ GIS và các kỹ thuật định vị đã chuyển dần các ứng dụng truyền thống sang các ứng dụng dựa trên vị trí. Thông qua việc tích hợp các công nghệ này vào các thiết bị di động. Các nhà cung cấp dịch vụ có thể cung cấp rất nhiều các ứng dụng khác nhau dựa cho các khách hàng khác nhau và ở những vị trí khác nhau. Các dịch vụ này được gọi là các dịch vụ dựa trên vị trí người sử dụng hay là dịch vụ hướng vị trí.
Người sử dụng cung cấp thông tin cho nhà cung cấp dịch vụ : vị trí của họ, hoàn cảnh xung quanh họ, nhu cầu cần đáp ứng… . Dựa vào những thông tin do người dùng cung cấp, nhà cung cấp dịch vụ di động sẽ đưa ra những thông tin mà họ mong muốn.
Dịch vụ hướng vị trí là gì ?
Dịch vụ hướng vị trí (Location-Based Services) hay LBS là khái niệm xuất hiện từ những năm 2000 tuy nhiên có chưa một định nghĩa, một khái niệm rõ ràng về nó. Ví dụ như :
LBS là những dịch vụ cung cấp thông tin thông qua mạng lưới di động và sử dụng khả năng xác định vị trí của các mạng di động [Virrantaus et al. 2001].
Hoặc LBS là dịch vụ mạng không dây sử dụng thông tin địa lý để phục vụ người sử dụng di động. Bất kỳ dịch vụ nào mà ứng dụng của nó có sử dụng vị trí của thiết bị đầu cuối đều là LBS.
Một dịch vụ dựa trên vị trí (LBS) yêu cầu có 5 thành phần cơ bản :
Phần mềm ứng dụng của nhà cung cấp dịch vụ
Mạng di động dùng để trao đổi dữ liệu và yêu cầu cho dịch vụ
Nhà cung cấp nội dung cho người dùng cuối dựa trên thông tin về vị trí của người dùng cuối.
Thiết bị định vị vị trí ( GPS được tích hợp trong điện thoại chẳng hạn)
Thiết bị di động của người dùng cuối
Hình 3.11 Những thành phần cơ bản của một LBS
Trong nghiên cứu, LBS được coi như là một tập con đặc biệt của các dịch vụ nhận biết ngữ cảnh (Context-aware Services). Nói chung, các dịch vụ nhận biết ngữ cảnh được định nghĩa là các dịch vụ thích nghi tự động với các hành vi của chúng, ví dụ lọc hoặc biểu diễn thông tin đối với 1 hoặc nhiều tham số phản ánh ngữ cảnh hiện tại và mục tiêu. Các tham số này chính là thông tin ngữ cảnh.
LBS luôn được xem là các dịch vụ nhận biết ngữ cảnh vì vị trí chính là một trường hợp đặc biệt của thông tin ngữ cảnh. Thông tin ngữ cảnh thường thì có những thông tin quan trọng và có những thông tin ít quan trọng hơn
Hình 3.12 Phân loại thông tin ngữ cảnh
LBS có 2 dạng đó là LBS phản ứng (reactive) và LBS thực hiện trước (proactive). Một LBS reactive luôn được kích hoạt bởi người dùng (kích hoạt phiên làm việc ), và có sự tương tác yêu cầu dịch vụ và trả về nội dung yêu cầu của người dùng. Chu trình yêu cầu và hồi đáp có thể thực hiện nhiều lần trước khi phiên làm việc kết thúc. Do có chu trình lặp đi lặp lại như vậy nên LBS phản ứng thường được đặc trưng bởi một mẫu tương tác đồng bộ giữa người dùng và dịch vụ. Ví dụ, người dùng muốn tìm quán café vào buổi sáng ở gần nơi anh ta ở. Khi đó anh ta sẽ yêu cầu thiết lập phiên làm việc với dịch vụ. Lần đầu anh ta yêu cầu danh sách các quán café quanh anh ta. Dịch vụ sẽ tìm và lọc danh sách các quán café xung quanh nơi anh ta ở và trả về cho anh ta. Sau đó anh ta yêu cầu tiếp xem những quán nào đang trong giờ mở cửa hoặc quán nào có loại café Capuchino… Quá trình này sẽ tiếp tục cho tới khi nào dịch vụ tìm thấy quán đúng anh ta yêu cầu. Khác với LBS phản ứng thì LBS thực hiện trước được khởi tạo tự động ngay khi một sự kiện vị trí xác định trước xuất hiện. Giả sử một du khách sử dụng dịch vụ LBS trong một bảo tàng lịch sử rộng lớn. Khi du khách đi vào một vùng nào đó mới, thông tin giới thiệu về nơi đó hoặc những hiện vật xung quanh đó sẽ được tự động gửi về máy của du khách. Ở LBS proactive, dịch vụ tự thực hiện trước khi có yêu cầu của người dùng nên sự tương tác giữa người sử dụng và dịch vụ xảy ra không đồng bộ.
Ngữ cảnh và Học theo ngữ cảnh trên di động
Ngữ cảnh (Context)
Context ta tạm dịch sang Tiếng Việt nghĩa là “Ngữ cảnh”. Nó là bất cứ thông tin nào có thể dùng để phân biệt, xác định tình trạng hiện thời của thực thể hoặc các hành động của thực thể. Ngữ cảnh bao hàm các thông tin về hiện trạng, trạng thái, vị trí, không gian liên quan đến một cá nhân hoặc sự kiện cụ thể. Một ngữ cảnh là một môi trường mà thực thể đó tồn tại hoặc sự kiện nào đó xảy ra. Ngữ cảnh là cực kỳ quan trọng vì nó kiểm soát, ảnh hưởng và tác động đến mọi thứ trong nó. Theo Dey e tal . (2001).
Mọi thứ đều diễn ra trong một ngữ cảnh nhất định. Và ngữ cảnh đó là duy nhất, nó chi phối nội dung trong nó. Ta có thể xác định ngữ cảnh của một thực thể hoặc một sự kiện thông qua đặc điểm riêng của thực thể hoặc sự kiện đó và môi trường chứa nó. Như vậy với mỗi ngữ cảnh ta cần mã hóa và biểu diễn theo một dạng nào đó trên máy tính, thông tin dạng số này cho phép máy tính có thể phân biệt và nhận biết các ngữ cảnh và các thay đổi theo ngữ cảnh mà từ đó đưa ra các hành động thích hợp.
Khái niệm “context” có thể chia ra làm 2 dạng chính đó là : Ngữ cảnh về cá nhân (Personal context), Ngữ cảnh môi trường (Environmental context ).
Ngữ cảnh cá nhân ( Personal context) : Nó tồn tại với mỗi người chúng ta, bao gồm tất cả các thông tin riêng liên quan đến cá nhân đó. Nó được xác định bới các thành phần tĩnh ( không thay đổi ) như tên, sở thích, quê quán và các thành phần động như tốc độ di chuyển, vị trí hiện tại… Ngữ cảnh cá nhân.
Ngữ cảnh về môi trường : bao gồm tất cả các thông tin về hoàn cảnh, trạng thái, môi trường mà thực thể đó đang tồn tại. Ví dụ như vị trí hiện thời của thực thể, thời tiết ở xung quanh thực thể, …
Nhận biết ngữ cảnh (Context-Aware)
Context-aware : Nhận biết ngữ cảnh. Một ứng dụng có khả năng nhận biết được ngữ cảnh nếu nó sử dụng các thông tin về ngữ cảnh để cung cấp thông tin hoặc dịch vụ tới người sử dụng sao cho thông tin đó liên quan chặt chẽ đến các hành động, ứng xử.. của họ. Khái niệm này gân tương tự như khái niệm Adaption-context, tuy nhiên Context-aware chính là một bước khởi đầu của toàn bộ quá trình Adaption-context. Context-aware sử dụng các luật tự xây dựng và thông tin đầu vào để xác định và phân loại các ngữ cảnh theo từng lớp sao cho từ đó có thể định nghĩa, cá thể hóa các hành động(action) hoặc phản ứng của người dùng cũng như môi trường xung quanh người dùng. Một hệ thống nhận biết ngữ cảnh thường có các tính năng :
Trình diễn thông tin và các dịch vụ đối với người sử dụng.
Tự động thực hiện một dịch vụ nào đó ( theo ngữ cảnh)
Gán nhãn cho ngữ cảnh để sử dụng cho lần sau.
Học trên di động (Mobile Learning )
Học trên di động, một khái niệm không còn xa lạ với các nước tiên tiến tuy nhiên lại là một khái niệm mới mẻ ở Việt Nam. Từ những năm 90, các trường đại học ở châu Âu đã phát triển các chương trình học trên di động dành cho sinh viên. Năm 2007, sinh viên trường Đại Học Cyber (Nhật Bản) được học thử nghiệm chương trình học qua điện thoại di động, với nội dung về bí ẩn các Kim Tự Tháp Ai Cập. Đối với các bài học trên PC, người học download bài giảng về máy tính. Bài học được cung cấp dưới dạng hình và chữ, và một màn hình video nhỏ ở góc trên sẽ phát hình giáo viên đang giảng bài. Còn đối với bài học trên di động thì đơn giản hơn nhiều – bài học chỉ là các đoạn bài giảng bằng Power Point cho phù hợp với màn hình nhỏ xíu của điện thoại di động.
Theo Georgiev, Georgieva, Smrikarov (2004) thì học trên di động (m-Learning) chính là một nhánh của Học từ xa (d-Learning) hay (e-Learning). M-Learning có thể được định nghĩa như là một cách sử dụng các thiết bị di động hoặc không dây để học tập khi người học di chuyển hay không cố định. Người học có thể học ở bất cứ đâu, vào bất cứ thời gian nào bao gồm cả những nơi như trường học, lớp học, ở nhà hay ở trên ô tô, tàu điện ngầm, xe bus…
M-Learning cung cấp một giải pháp mạnh mẽ và thiết thực dành cho học tập và đào tạo, chẳng hạn như :
Trong các dự án hợp tác và nghiên cứu thực địa
Như là một lớp học thay thế cho sách vở và máy tính
Các học viên không cần tập trung một nơi mà có thể ở nhiều nơi, địa điểm khác nhau.
Đào tạo ‘just in time’
Học theo ngữ cảnh trên di động (Mobile Learning in Context)
Các phương pháp giáo dục hiện đại đều đòi hỏi học sinh có thể học tập khi ở trong lớp hoặc bên ngoài lớp học. Đặc biệt với việc học trong thực tế, học viên có thể nắm bắt được nội dung, kiến thức bài học nhanh hơn nhiều so với các phương pháp học lý thuyết nhàm chán. Tuy nhiên, cơ sở hạ tầng dành cho việc học tập hiện nay không thể đáp ứng được nhu cầu đó. Do vậy, Phương pháp học theo ngữ cảnh trên di động được áp dụng nhằm giải quyết vấn đề “học mọi lúc mọi nơi” và “nội dung học tùy theo thế giới thực xung quanh” nhằm giúp học sinh học tập với chiếc di động của mình. Đây là một phương pháp kết hợp phương pháp học trên di động (Mobile Learning) và phương pháp nhận diện ngữ cảnh (Context-aware) nhằm đưa ra những nội dung phù hợp nhất so với ngữ cảnh hiện thời của người học thông qua việc mô hình hóa ngữ cảnh và phân loại các ngữ cảnh.
Java 2 Micro Edition – J2ME
Đôi nét về J2ME
Công nghệ di động ngày càng phát triển. Chiếc điện thoại di động hiện nay không còn đơn giản thực hiện nhiệm vụ thoại mà ngày càng trở thành một vật không thể thiếu trong cuộc sống hằng ngày. Cùng với sự gia tăng về số lượng thì tính năng dành cho điện thoại di động cũng tăng lên đáng kể. Hàng loạt các tính năng cao cấp được giới thiệu như chụp hình số, nghe nhạc và đặc biệt nhất là có thể sử dụng các chương trình không phải do nhà sản xuất điện thoại cung cấp.
Đây có thể được coi là một cuộc cách mạng trong lĩnh vực di động, nó biến chiếc điện thoại nhỏ bé của bạn thành một chiếc máy tính thu nhỏ, với những chủng loại điện thoại này bạn có thể đọc báo, tiểu thuyết, tra từ điển, bản đồ, truy cập internet và nhất là mang thế giới giải trí đến bên cạnh, những bản nhạc hay, những games hay sẽ luôn sẵn sàng mỗi khi bạn cần đến
Tuy nhiên, số lượng các loại máy di động ngày càng đa dạng cho nên việc phát triển một ứng dụng cho nhiều dòng điện thoại là rất khó khăn. Chính vì vậy Sun đã đi đầu trong việc phát triển một nền tảng sao cho có thể dung hòa các khác biệt về phần cứng của các dòng điện thoại di động sao cho các thiết bị phần cứng khác nhau có thể sử dụng chung một nền tảng phần mềm. Đó chính là Java 2 Platform Micro Edition ( J2ME).
Cấu trúc J2ME
Máy ảo Java - KMV
Cơ chế thực thi đằng sau bất kỳ ứng dụng Java nào là JVM (Java Virtual Machine). Khi bạn biên dịch mã nguồn Java thành một lớp (.class) và đặt chúng vào trong file lưu trữ .JAD của Java, máy ảo JVM sẽ biên dịch file .class này thành mã thực thi điều khiển bởi JVM. Các mã trong file .class gọi là mã bytecode.Đối với thiết bị cấu hình dạng CDC, máy ảo JVM có toàn bộ chức năng tương đương với máy ảo phục vụ môi trường J2SE. Đối với thiết bị cấu hình dạng CLDC, Sun cài đặt một phiên bản thu nhỏ hơn dành cho JVM gọi là K Virtual Machine (KVM). Chính nhờ tầng này mà J2ME có thể dung hòa sự khác biệt giữa các phần cứng khác nhau.
Cấu hình (Configuration )
Là đặc tả định nghĩa một môi trường phần mềm cho một dòng các thiết bị được phân loại bởi tập hợp các đặc tính, ví dụ như:
Kiểu và số lượng bộ nhớ
Kiểu và tốc độ bộ vi xử lý
Kiểu mạng kết nối.
…
Hiện nay Sun đã đưa ra 2 dạng Configuration.
CLDC (Connected Limited Device Configuration)
Cấu hình thiết bị kết nối giới hạn): được thiết kế để nhắm vào thị trường các thiết bị cấp thấp (low-end), các thiết bị này thông thường là máy điện thọai di động và PDA với khoảng 512 KB bộ nhớ.
Vì tài nguyên bộ nhớ hạn chế nên CLDC được gắn với Java không dây (Java Wireless ), dạng như cho phép người sử dụng mua và tải về các ứng dụng Java, ví dụ như là Midlet.
CDC (Connected Device Configuration)
Cấu hình thiết bị kết nối: CDC được đưa ra nhắm đến các thiết bị có tính năng mạnh hơn dòng thiết bị thuộc CLDC nhưng vẫn yếu hơn các hệ thống máy để bàn sử dụng J2SE. Những thiết bị này có nhiều bộ nhớ hơn ( thông thường là trên 2Mb) và có bộ xử lý mạnh hơn. Các sản phẩm này có thể kể đến như các máy PDA cấp cao, điện thoại web, các thiết bị gia dụng trong gia đình …
Mô tả (Profile)
Profile mở rộng Configuration bằng cách thêm vào các lớp để bổ trợ các tính năng cho từng thiết bị chuyên biệt. Cả 2 Configuration đều có những profile liên quan và từ những profile này có thể dùng các lớp lẫn nhau.
Ta có thể nhận thấy do mỗi profile định nghĩa một tập hợp các class khác nhau, nên thường ta không thể chuyển một ứng dụng Java viết cho một profile này và chạy trên một máy hỗ trợ một profile khác. Cũng với lý do đó, bạn không thể lấy một ứng dụng viết trên J2SE hay J2EE và chạy trên các máy hỗ trợ J2ME. Một số các profile tiêu biểu:
Mobile Information Device Profile (MIDP): Profile này sẽ bổ sung các tính năng như hỗ trợ kết nối, các thành phần hỗ trợ giao diện người dùng … vào CLDC. Profile này được thiết kế chủ yếu để nhắm vào điện thọai di động với đặc tính là màn hình hiển thị hạn chế, dung lượng chứa có hạn. Do đó MIDP sẽ cung cấp một giao diện người dùng đơn giản và các tính năng mạng đơn giản dựa trên HTTP. Có thể nói MIDP là profile nổi tiếng nhất bởi vì nó là kiến thức cơ bản cho lập trình Java trên các máy di động (Wireless Java).
PDA Profile: Tương tự MIDP, nhưng với thị trường là các máy PDA với màn hình và bộ nhớ lớn hơn.
Foundation Profile: Cho phép mở rộng các tính năng của CDC với phần lớn các thư viện của bộ Core Java2 1.3 và không hỗ trợ các ứng dụng GUI.
Personal profile: Mở rộng từ Foundation profile và cung cấp các API cho lập trình GUI nhằm cung cấp giao diện đồ hoạ người dùng cho các trang Web có dùng Applet.
RMI profile: Mở rộng từ Foundation prrofile cung cấp RMI cho thiết bị. RMI profile sẽ được dùng để tạo sự tương thích giữa các thiết bị cầm tay với J2SE RMI API.
Ngoài ra còn có Personal Basis Profile, Game Profile.
Hình 3.31 Vị trí các profile trong j2me
Vòng đời của một ứng dụng J2ME
Hiện nay các dòng điện thoại có profile là MIDP phổ biến hơn và vòng đời của các ứng dụng j2me trên các cấu hình khác nhau, profile khác nhau là gần như nhau nên ở đây tôi sẽ chỉ trình bày về vòng đời của một ứng dụng MIDP.
Một MIDlet phải chứa ba phương thức trừu tượng chúng được gọi bởi trình quản lý ứng dụng để quản lý vòng đời của một MIDlet. Các phương thức gồm có: startApp(), pauseApp(), và destroyApp(boolean b) tương ứng với các trạng thái Active, Paused, và Destroyed.
Phương thức startApp() được trình quản lý ứng dụng gọi khi một MIDlet được khởi tạo và mỗi khi MIDlet trở về trạng thái dùng. Các biến toàn cục sẽ được khởi tạo lại trừ hàm tạo vì các biến này đều được giải phóng bởi phương thức pauseApp().
Phương thức pauseApp() được gọi bởi trình quản lý ứng dụng mỗi khi ứng dụng cần tạm thời dừng hoạt động MIDlet. Trình quản lý ứng dụng khởi động lại MIDlet bằng việc gọi lại phương thức startApp(). Khi phương thức này được gọi sẽ thực hiện giải phóng các tài nguyên để dành cho các chức năng khác.
Phương thức destroyApp() được trình quản lý ứng dụng gọi mỗi khi kết thúc hoạt động của một MIDlet. Phương thức này chỉ nhận một tham số kiểu Boolean. Nếu tham số này là true, MIDlet sẽ được thoát vô điều kiện; ngược lại MIDlet có thêm tuỳ chọn từ chối thoát bằng cách phát sinh ngoại lệ MIDletStateChangeException báo với trình quản lý ứng dụng biết MIDlet chưa muốn kết thúc.
Chu kỳ của một MIDlet
Hình 3.32 Vòng đời của một MIDlet
Webservice
Khái niệm
Thuật ngữ “Dịch vụ web” (Web service ) nói đến truyền thông ứng dụng đến ứng dụng. Nó cho phép server có thể cung cấp các dịch vụ khác nhau thông qua trao đổi thông điệp dưới dạng web. Một dịch vụ web đơn giản là một dịch vụ trên internet có khả năng truy xuất thông qua giao diện theo khuôn dạng sử dụng các giao thức Internet chuẩn (HTTP). Các điểm đầu cuối sử dụng dịch vụ web service không cần phải quan tâm xem server viết bằng ngôn ngữ lập trình nào.
Hình 3.41 Mô tả webservice
Hai đặc tả quan trọng về Dịch vụ Web là Ngôn ngữ mô tả dịch vụ web ( Web Service Descripttion Language – WSDL ) và Giao thức truy xuất đối tượng đơn giản ( Simple Object Access Protocol – SOAP). WSDL được dùng để mô tả một dịch vụ web đã được triển khai. SOAP được dùng để định nghĩa dạng của thông điệp được trao đổi giữa các điểm đầu cuối ( client, server) của dịch vụ Web trong suốt quá trình hoạt động của dịch vụ web đó. Một dịch vụ web có thể tự đăng ký ở một nơi đăng ký thích hợp ( cung cấp mô tả WSDL ) để client có thể nhận ra nó. Các tiến trình này gọi là quá trình đăng ký và nhận biết dịch vụ.
Web Service Descripttion Language (WSDL)
WSDL là một định dạng XML để mô tả các dịch vụ Web Service và cách thức client truy cập và sử dụng các dịch vụ đó.
Hình 3.42 Cấu trúc chung của một văn bản WSDL
Cấu trúc chung của một văn bản WSDL bao gồm 5 element chính :
Type : optional, cung cấp định nghĩa các kiểu dữ liệu được sử dụng ở các thông điệp. Các định nghĩa kiểu dữ liệu thường được viết trong hệ thống XSD(extensible schema definition).
Ví dụ : Sử dụng 1 XSD bên ngoài Method : String SayHello ( String name )
Message : Định nghĩa các thông điệp sử dụng trong web service. Thứ tự của các message phản ánh cách hoạt động của web service: request/response hay solicit/response. Tên của các message có dạng ---In/---Out; ---Request/---Response với ‘---‘ phản ảnh operation liên kết với message.
Port type : biểu diễn dịch vụ như là một tập named operation, mỗi operation được mô tả bởi các input/output message . Nó giống như là một interface trong ngôn ngữ Java: cho biết các operation và message nhưng không cho biết cài đặt bên trong.
Binding : Mô tả các chi tiết rõ ràng của web service. Nó giống như là lớp cài đặt một interface trong Java.
Service : Định nghĩa một hoặc nhiều endpoint mà service hoạt động. Một endpoint được mô tả là một URL mà các message có thể gửi tới để mà sử dụng dịch vụ. Service sẽ liệt kê một hoặc nhiều port, mỗi port gồm một portType (interface) và một binding(implementation). Thuật ngữ ‘port’ là lấy từ giao thức TCP, trong đó, một kết nối được mô tả bởi một cặp , mỗi port tại một IPAdress sẽ phục vụ một dịch vụ nhất định.
Simple Object Access Protocol (SOAP)
SOAP là một giao thức dựa trên XML xác định cách thức các ứng dụng có thể trao đổi thông tin với nhau thông qua HTTP.
Hình 3.43 Mô tả cách thức SOAP làm việc
Thông điệp theo định dạng SOAP là một văn bản XML bình thường bao gồm các phần tử sau:
- Phần tử gốc - envelop: phần tử bao trùm nội dung thông điệp, khai báo văn bản XML như là một thông điệp SOAP.
- Phần tử đầu trang - header: chứa các thông tin tiêu đề cho trang, phần tử này không bắt buộc khai báo trong văn bản. Header còn có thể mang những dữ liệu chứng thực, những chứ ký số, thông tin mã hóa hay cài đặt cho các giao dịch khác.
- Phần tử khai báo nội dung chính trong thông điệp - body, chứa các thông tin yêu cầu và thông tin được phản hồi.
- Phần tử đưa ra các thông tin về lỗi -fault, cung cấp thông tin lỗi xảy ra trong qúa trình xử lý thông điệp.
Hình 3.44 Cấu trúc một thông điệp SOAP
Một SOAP đơn giản trong body sẽ lưu các thông tin về tên thông điệp, tham chiếu tới một thể hiện của dịch vụ, một hoặc nhiều tham số. Có 3 kiểu thông báo sẽ được đưa ra khi truyền thông tin: request message(tham số gọi thực thi một thông điệp), respond message (các tham số trả về, được sử dụng khi yêu cầu được đáp ứng) và cuối cùng là fault message (thông báo tình trạng lỗi).
<am:customer xmlns:route=""
env:actor=""
env:mustUnderstand="true">
4557799
12asd-34ccd-23cuden
C GE DJI
Kiểu truyền thông : Có 2 kiểu truyền thông
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 giao tiế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 với dịch vụ Web cần xây dựng.
Cấu trúc dữ liệu: Cung cấp những định dạng và khái niệm cơ bản giống như trong các ngôn ngữ lập trình khác như kiểu dữ liệu (int, string, date…) hay những kiều phức tạp hơn như struct, array, vector… Định nghĩa cấu trúc dữ liệu SOAP được đặt trong namespace SOAP-ENC.
Mã hóa: Giả sử service rquester và service provider được phát triển trong Java, khi đó mã hóa SOAP là việc làm thế nào để chuyển đổi từ cấu trúc dữ liệu Java sang SOAP XML và ngược lại, bởi vì định dạng cho Web Service chính là XML. Bất kỳ một môi trường thực thi SOAP nào cũng phải có một bảng chứa thông tin ánh xạ nhằm chuyển đổi từ ngôn ngữ Java sang XML và từ XML sang Java - bảng đó được gọi là SOAPMappingRegistry. Nếu một kiểu dữ liệu được sử dụng dưới một dạng mã hóa thì sẽ có một ánh xạ tồn tại trong bộ đăng ký của môi trường thực thi SOAP đó.
Kỹ thuật định vị A-GPS (Assisted GPS)
Có nhiều kỹ thuật định vị vị trí hiện thời của một thuê bao di động. Tuy nhiên ta có thể chia ra làm hai loại chính : phương pháp dựa trên cơ sở mạng như Cell-ID, TOA( Time Of Arrival), AOA ( Angle Of Arrival ), TDOA (Time Difference Of Arrival) và dựa trên máy di động như E-OTD và A-GPS. Ngoài ra, ta cũng có thể chia nó theo việc nó có phụ thuộc vào hệ thống định vị GPS hay không. Ở đây, ta chỉ đề cập đến phương pháp phổ biến, đư
Các file đính kèm theo tài liệu này:
- Nghiên cứu xây dựng ứng dụng học tiếng anh theo ngữ cảnh trên thiết bị di động.doc