Tải bản đầy đủ (.pdf) (91 trang)

Khóa luận tốt nghiệp Chương trình quản lý việc mua bán sách trên thiết bị di động

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 (4.07 MB, 91 trang )

Lời Cảm Ơn


Trước hết chúng em xin chân thành cảm ơn Quý thầy cô trong khoa Công
Ngh
ệ Thông Tin trường Cao Đẳng Nguyễn Tất Thành đã tận tình giúp đỡ, dạy dỗ
cho chúng em nhi
ều kiến thức bổ ích trong suốt thời gian học ở trường cũng như
đã t
ạo điều kiện cho chúng em được làm khóa luận này.
Đ
ặc biệt chúng em xin gởi lời cảm ơn đến thầy Nguyễn Duy Thái đã tận tình
giúp đ
ỡ chúng em trong suốt thời gian làm khóa luận. Thầy đã trang bị cho chúng
em k
ỹ năng làm việc và những kinh nghiệm quý báu sau những lần gặp khó khăn.
Lu
ận văn của chúng em sẽ khó hoàn thành nếu không có sự giúp đỡ của thầy.
Chúng con c
ũng cảm ơn cha mẹ và gia đình luôn ủng hộ, tạo điều kiện tốt nhất
cho chúng con trong vi
ệc làm luận văn này.
Xin c
ảm ơn các bạn sinh viên CNTT khóa 2005 đã giúp đỡ, đóng góp cho
chúng tôi nhi
ều ý kiến quý báu.
Lu
ận văn được hoàn thành với một kết quả nhất định. Dù đã rất nổ lực, cố gắng
nh
ưng chắc chắn sẽ không tránh khỏi sai sót. Chúng em rất mong được sự cảm
thông và s


ự góp ý của Quý thầy cô và các bạn

TP H
ồ Chí Minh, tháng 8 năm 2008
Nhóm sinh viên th
ực hiện

Võ Anh Văn – Võ Thanh Tùng

Trang 1

Lời Nói Đầu

Ngày nay, đối với nhiều người sống ở thành thị thì những thiết bị di động như:
đi
ện thoại đi động, máy tính xách tay, máy nhắn tin… không còn gì xa lạ. Các thiết
b
ị di động này không chỉ đơn thuần phục những chức năng thuần túy mà nó còn là
m
ột phương tiện giải trí, tra cứu thông tin, mua bán thông qua mạng rất tiện lợi. Do
đó vi
ệc xây dựng các ứng dụng trên các thiết bị này là một yêu cầu tất yếu trong xu
th
ế hiện nay.
Hai h
ướng phát triển trên thiết bị di động phổ biến hiện nay là ngôn ngữ C++
trên n
ền hệ điều hành Symbian và J2ME. Các ứng dụng được viết trên nền Symbian
có các
ưu thế truy cập các tài nguyên của điện thoại cũng như hỗ trợ hệ thống tập

tin, th
ư mục… rất tiện lợi. Tuy nhiên hệ điều hành Symbian lại có kích thước khá
l
ớn nên chỉ có thể chạy trên những thiết bị di động tương đối cao cấp. Hơn nữa việc
xây d
ựng ứng dụng dùng Symbian API cũng khá phức tạp.
Đ
ối lập với Symbian API là công nghệ J2ME với kích thước nhỏ gọn, tiện
d
ụng, được hỗ trợ bởi hầu hết các thiết bị di động. Chúng ta có thể nói đối tượng
c
ủa ngôn ngữ J2ME là rộng hơn rất nhiều so với C++ trên nền Symbian.
J2ME là m
ột ngôn ngữ nhỏ, gọn nhưng rất chặt chẽ và dể nắm bắt. Nó là ngôn
ng
ữ được các tổ chức mã nguồn mở ủng hộ mạnh mẽ và phát triển nhanh chóng.
Th
ật khó so sánh giữa các dòng ngôn ngữ lập trình với nhau vì mỗi loại đều có
ưu và khuyết điểm riêng. Trong luận văn của mình, chúng em chọn nghiên cứu và
vi
ết chương trình ứng dụng trên các thiết bị di động có hỗ trợ J2ME sử dụng hệ
qu
ản trị cơ sở dữ liệu Firebird, mặt khác chúng em cũng muốn thử sức ở một lĩnh
v
ực khá mới mẽ là tiếp cận với phần mềm mã nguồn mở.
Ứng dụng mà chúng em chọn thực hiện trong khóa luận này là:“Chương
trình qu
ản lý việc mua bán sách trên thiết bị di động”. Đối với những người dân
trí th
ức đặc biệt là những bạn sinh viên thì việc mua sách là chuyện rất bình thường

Trang 2

và dễ dàng. Hiện nay hệ thống nhà sách được phân bố rộng khắp. Tuy nhiên khi đã
b
ước vào cuộc sống công nghệ thì một câu hỏi đặt ra tại sao chúng ta không tận
d
ụng tối đa sức mạnh của công nghệ. Chẳng hạn việc mua sách thay vì phải mất
công ra nhà sách ch
ọn sách chúng ta có thể ở nhà mà vẫn chọn được sách và mua
đ
ược cuốn sách đúng như mong muốn. Chỉ cần ở nhà chúng ta có một thiết bị di
đ
ộng hỗ trợ Internet. Việc chuyển các ứng dụng thương mại từ môi trường web
sang môi tr
ường các thiết bị di động nhỏ gọn sẽ khiến sự tiện dụng tăng cao, số
ng
ười sử dụng dịch vụ trực tuyến chắc chắn sẽ tăng nhanh vì đối với nhiều người
các thi
ết bị di động rất tiện lợi và dễ sử dụng hơn rất nhiều so với chiếc máy tính
“ph
ức tạp và khó hiểu”.
Khi nói đ
ến lập trình cho các thiết bị di động, chúng ta đều hình dung được hai
tr
ở ngại lớn. Thứ nhất, đó là năng lực của bộ vi xử lý trên điện thoại rất yếu và thứ
hai, đó là dung l
ượng của bộ nhớ rất nhỏ. Điều này gây trở ngại không nhỏ đến việc
t
ổ chức dữ liệu cho phần mềm, bởi lẽ một cửa hiệu bán sách thì có rất nhiều loại
sách và các đ

ầu sách. Chúng ta không thể nào tải hết lên thiết bị di động được.
Ngoài ra, các h
ạn chế của các thiết bị di động cũng buộc người lập trình phải chọn
gi
ải thuật thật hiệu quả và phải luôn tính toán nhằm tối ưu hóa chương trình. Mặt
khác, đ
ối với người lập trình, sự hạn chế của thư viện hàm trong ngôn ngữ Java
đ
ược hỗ trợ cho các thiết bị di động là một vấn đề không dễ giải quyết. Những hạn
ch
ế đã nêu thật sự là một thách thức lớn mà đề tài bắt buộc phải vượt qua.
Vì m
ột số điều kiện đặc biệt của các thiết bị di động, nên hiện nay ứng dụng
này ch
ỉ chạy trên chương trình giả lập. Tuy nhiên, chúng em hy vọng trong tương
lai g
ần ứng dụng này sẽ được ứng dụng trên thiết bị di động cụ thể và có thể ứng
d
ụng vào thực tiễn.
V
ới việc xây dựng thành công ứng dụng này chúng tôi hy vọng trong một
t
ương lai không xa nó sẽ được phát triển thành các ứng dụng cho việc mua bán
trong các h
ệ thống siêu thị, đặt vé máy tàu hỏa, đặt vé máy bay… qua các thiết bị di
Trang 3

động nhỏ gọn. những thiết bị này sẽ trở thành một công cụ giao dịch không thể
thi
ếu trong thời đại mới, thời đại của thương mại điện tử toàn cầu.



























MỤC LỤC
Lời nói đầu 1
Chương 1: Tổng quan về lập trình trên thiết bị di động 4
1.1 Đôi nét về thị trường thiết bị di động ở Việt Nam 4

1.2 Lập trình trên thiết bị động sử dụng j2me 4
1.3 Một số công cụ hổ trợ j2me 6
Chương 2: Khái quát về j2me, j2ee, MVC, JSP, Servlet và hệ quản trị
CSDL FireBird 9
2.1 Giới thiệu j2me 9
2.1.1 Khái niệm j2me 9
2.1.2 Kiến trúc j2me 9
2.2 Giới thiệu j2ee 12
2.2.1 Khái niệm j2ee 12
2.2.2 Kiến trúc j2ee 13
2.3 Cơ chế giao tiếp j2me và j2ee 14
2.4 Giới thiệu mô hình MVC 14
2.5 Giới thiệu về JSP 15
2.5.1 Khái niệm 15
2.5.2 Mô hình hoạt động của JSP 15
2.6 Giới thiệu về Servlet 16
2.6.1 Khái niệm 16
2.6.2 Đặc điểm của Servlet 16
2.7 Giới thiệu hệ quản trị CSDL FireBird 16
2.7.1. Khái niệm 16
2.7.2. Lý do dùng hệ quản trị CSDL Firebird 16
Chương 3: Phân tích thiết kế ứng dụng 18
3.1 Khảo sát hiện trạng 18
3.2 Quy trình nghiệp vụ mua bán sách 18
3.2.1 Trên server 18
3.2.2 Trên Client di động 19
3.3 Phân tích và xác định yêu cầu 19
3.3.1 Danh sách các yêu cầu nghiệp vụ 19
3.3.2 Các yêu cầu phi chức năng 21
3.4 Thiết kế ứng dụng 22

3.4.1 Sơ đồ Use Case tổng thể 22
3.4.2 Sơ đồ Use Case cho từng actor 23
3.4.3 Đặc tả một số Use Case tiêu biểu 25
3.4.4 Thiết kế cơ sở dữ liệu 35
Chương 4: Thử nghiệm, cài đặt và hướng dẫn sử dụng 50
4.1 Cài đặt chương trình (webserver) 50
4.2 Hướng dẫn sử dụng webserver 52
4.3 Hướng dẫn sử dụng J2ME 61


Chương 5: Tổng kết, đánh giá, hướng phát triển 71

5.1 Một số kết quả đạt được 71
5.2 Một số hạn chế 71
5.3 Đánh giá kết quả 72
5.3.1 Chương trình chạy trên Server 72
5.3.1 Chương trình chạy trên Client 72

5.4 Hướng phát triển 73
Danh mục tài liệu tham khảo 75
Phụ lục 76
Hướng dẫn cài đặt J2ME Wireless Toolkit 2.5 76

Nhận xét của giáo viên hướng dẫn



































TpHCM, ngày……tháng……năm……
Giáo viên hướng dẫn

[Ký và ghi rõ họ tên]



Các chữ cái, thuật ngữ được sử dụng

API Application Program Interface
CDC Connected Device Configuation
CLDC Connected Limited Device Configuation
GCF General Connection Framework
J2EE Java 2 Enterpise Edition
J2ME Java 2 Micro Edition
J2SE Java 2 Standard Edition
JDK Java Development Process
JSR Java Specification Requests
KVM Máy ảo Java cho môi trường CLDC
PDA Personal Digital Assistant
MIDlet Tên gọi chung cho các ứng dụng J2ME
MIDP Mobile Information Device Profile
Profile Các tập thư viện cấp cao định nghĩa nền Configuation
RMS RecordStore Management System
Symbian Hệ điều hành cho điện thoại di động của hãng Symbian
XML Extensible Markup Language






TÓM TẮT KHÓA LUẬN


Nội dung khóa luận chia làm 5 chương:
- Ch
ương 1: Tổng quan về lập trình trên thiết bị di động. Chương này nêu
nh
ững tình hình sử dụng các thiết bị di động ở Việt Nam, hoạt động phát
tri
ển phần mềm cho các thiết bị này. Giới thiệu một số các phần mềm công
c
ụ hỗ trợ ứng dụng phát triển phần mềm trên thiết bị di động bằng ngôn
ng
ữ Java.
- Ch
ương 2: Khái quát về J2ME, J2EE, MVC và hệ quản trị CSDL
Firebird. Ch
ương này trình bày các khái niệm, kiến trúc, chức năng của
J2ME, J2EE và h
ệ quản trị CSDL Firebird.
- Ch
ương 3: Phân tích thiết kế ứng dụng. Phân tích các yêu cầu nghiệp vụ.
Đ
ặc tả chi tiết ứng dụng ở mức phân tích, thiết kế.
- Ch
ương 4: Thử nghiệm, cài đặt và hướng dẫn sử dụng. Chương này giới
thi
ệu về trình giả lập được khóa luận chọn thử nghiệm. Hướng dẫn cài đặt
và cách s
ử dụng các chức năng của chương trình.
- Ch
ương 5: Tổng kết, đánh giá, hướng phát triển. Nhận xét đánh giá về

nh
ững mặt đã làm được, những mặt chưa làm được. Đề ra những giải pháp
và ph
ương hướng để tiếp tục phát triển chương trình ngày càng hoàn thiện
h
ơn và phát triển thành nhiều chương trình ứng dụng khác nữa.
- Danh m
ục các tài liệu tham khảo: Đây là các tài liệu đã được tham khảo
khi làm lu
ận văn này.
- Ph
ụ lục: Mục này hướng dẫn cài đặt các phần mềm liên quan để chạy
demo ch
ương trình.


Ch
ChCh
Chương 1: T
ng 1: Tng 1: T
ng 1: Tổng Quan V
ng Quan Vng Quan V
ng Quan Về L
L L
Lập Trì
p Trìp Trì
p Trình Trên Thi
nh Trên Thinh Trên Thi
nh Trên Thiết B
t Bt B

t Bị Di ð
Di ð Di ð
Di ðộng
ngng
ng


Trang 4

Chương 1:
Tổng Quan Về Lập Trình Trên Thiết Bị Di Động

1.1 Tổng quan về thị trường thiết bị di động ở Việt Nam
S
ố lượng thiết bị di động ngày càng tăng ở Việt Nam, nhiều người đã coi
nh
ững thiết bị này 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 số lượng người dùng thì các ứng dụng dành cho thiết bị di động
c
ũng tăng theo tương ứng. Hàng loạt các ứng dụng cho thiết bị di động đã trình làng
và r
ất được chào đón. Đây có thể được coi là một cuộc cách mạng trong lĩnh vực di
đ
ộng, nó biến những thiết bị di động nhỏ bé của bạn thành một chiếc máy tính thu
nh
ỏ, với những thiết bị này bạn có thể đọc báo, tiểu thuyết, tra cứu thông tin…
Có th
ể nói thị trường di động Việt Nam là một thị trường rất hấp dẫn đối với
các nhà s

ản xuất phần mềm.
1.2 Lập trình trên thiết bị di động sử dụng J2ME
1.2.1 Quá trình phát tri
ển ứng dụng J2ME
Thông th
ường việc phát triển ứng dụng J2ME được tiến hành qua các
giai đo
ạn sau:
- Vi
ết mã nguồn Java
- Biên d
ịch
- Tùy ch
ọn (Obfuscate)
Obfuscate s
ẽ loại bỏ các thông tin không cần thiết trong class,
ch
ẳng hạn như tên của các biến cục bộ. Các lớp, phương thức,
interface,… c
ũng được đổi tên để làm cho chúng ngắn gọn hơn. Một
gói đã đ
ược obfuscate sẽ bảo vệ các tập tin class khỏi việc dịch ngược
và reverse engineering. Ngoài vi
ệc bảo vệ mã nguồn, obfuscate còn
gi
ảm kích thước của các tập tin class, làm cho kích thước của tập tin
Ch
ChCh
Chương 1: T
ng 1: Tng 1: T

ng 1: Tổng Quan V
ng Quan Vng Quan V
ng Quan Về L
L L
Lập Trì
p Trìp Trì
p Trình Trên Thi
nh Trên Thinh Trên Thi
nh Trên Thiết B
t Bt B
t Bị Di ð
Di ð Di ð
Di ðộng
ngng
ng


Trang 5

JAR cũng giảm đi. Việc giảm kích thước rất có ý nghĩa bởi vì các
thi
ết bị MIDP thường có bộ nhớ giới hạn.
- Ti
ền kiểm tra (Pre-verify):
B
ộ kiểm tra trong J2SE tốn ít nhất là 50KB, không kể việc tiêu tốn
vùng nh
ớ heap và thời gian xử lý. Để giảm việc tiêu tốn này cho
J2ME, vi
ệc kiểm tra tập tin class sẽ được chia thành hai giai đoạn.

Quá trình ti
ền kiểm tra trước khi triển khai sẽ thêm các tập tin class
các tham s
ố phụ để tăng tốc quá trình kiểm tra lúc thực thi. Thiết bị sẽ
th
ực hiện quá trình kiểm tra sơ lược bằng cách sử dụng các tham số
ph
ụ được phát sinh trong quá trình kiểm tra.
- T
ạo tập tin JAR
- T
ạo tập tin JAD
- Th
ực thi trên trình giả lập thích hợp
- Tri
ển khai trên thiết bị di động
1.2.2 Các J2ME IDE
Môi tr
ường phát triển tích hợp (IDE) cải thiện năng suất của lập trình
viên b
ằng cách cung cấp một tập hợp các công cụ lập trình tích hợp thông
qua giao di
ện đồ họa (GUI), hỗ trợ công cụ soạn thảo, quản lý project, biên
d
ịch và gở rối (debugger).
Thành viên m
ới nhất trong gia đình Java là J2ME. Khi nhiều chuyên gia
d
ự đoán vế sự phát triển lớn mạnh của thị trường phát triển các ứng dụng
J2ME, các nhà phát tri

ển IDE đã đưa ra các bản mở rộng cho các sản phẩm
IDE c
ủa họ để hỗ trợ thêm J2ME. Ngoài ra, các nhà cung cấp chuyên nghiệp
khác c
ũng đã phát triển các IDE dành riêng cho J2ME.
1.2.2.1 M
ột IDE cho J2ME cần phái cung cấp các tiện ích sau
- Qu
ản lý project: Quản lý tập tin nguồn và các thông số MIDlet
- Trình so
ạn thảo: Soạn thảo mã nguồn và các tài nguyên
Ch
ChCh
Chương 1: T
ng 1: Tng 1: T
ng 1: Tổng Quan V
ng Quan Vng Quan V
ng Quan Về L
L L
Lập Trì
p Trìp Trì
p Trình Trên Thi
nh Trên Thinh Trên Thi
nh Trên Thiết B
t Bt B
t Bị Di ð
Di ð Di ð
Di ðộng
ngng
ng



Trang 6

- Build: Biên dịch, obfcuscate và pre-verify mã nguồn
- Đóng gói (package): Đóng gói các MIDlet thành ph
ần JAR và JAD
- Gi
ả lập (emulation): Thực thi các MIDlet với một trình giả lập
- G
ỡ rối (debugger)
1.3 Một số công cụ hỗ trợ J2ME
1.3.1 J2ME Wireless Toolkit (WTK)
J2ME Wireless Toolkit (WTK) là m
ột bộ công cụ phát triển J2ME cho
các l
ập trình viên trên môi trường giả lập, là công cụ cần thiết để phát triển
ứng dụng MIDP. WTK không phải là một IDE hoàn chỉnh, bởi vì nó đã bỏ
các tính năng so
ạn thảo và gỡ rối vốn được xem là bắt buộc phải có trong
m
ột IDE. Tuy nhiên, Ktoolbar, được cung cấp trong bộ WTK là một môi
tr
ường phát triển tối thiểu cung cấp một GUI dành cho việc biên dịch, đóng
gói và th
ực thi các ứng dụng MIDP.
M
ỗi project có một thư mục dành riêng trong thư mục apps. Thư mục
apps n
ằm bên trong thư mục chính của WTK. Các thư viện cần thiết cho

project có th
ể được chép thủ công vào thư mục bên trong thư mục project.
N
ếu một thư viện cần cho tất cả project, nó có thể được chép vào thư mục
apps/lib.
Khi Ktoolbar project được tạo ra, cấu trúc thư mục project sẽ được thiết
l
ập. Ngoài ra các tập tin JAD và manifest cũng được phát sinh dựa vào các
thông s
ố của MIDlet suite đã được xác định. Tuy nhiên, không có tập tin
ngu
ồn nào được phát sinh cho MIDlet. Lập trình viên phải viết các tập tin
ngu
ồn này từ đầu Ktoobar không hỗ trợ nạp nhiều project trong một GUI.
Trình so
ạn thảo WTK không cung cấp một trình soạn thảo tích hợp nào.
Thay vào đó, l
ập trình viên phải sử dụng một trình soạn thảo của hãng thứ
ba.
Ch
ChCh
Chương 1: T
ng 1: Tng 1: T
ng 1: Tổng Quan V
ng Quan Vng Quan V
ng Quan Về L
L L
Lập Trì
p Trìp Trì
p Trình Trên Thi

nh Trên Thinh Trên Thi
nh Trên Thiết B
t Bt B
t Bị Di ð
Di ð Di ð
Di ðộng
ngng
ng


Trang 7

Ktoolbar cũng cung cấp hỗ trợ cho việc biên dịch và đóng gói dự án. Gói
đ
ược tạo ra sẽ chứa tập tin JAR và JAD của MIDlet suite. WTK được tích
h
ợp công cụ obfuscator là RetroGuard. Công cụ này không được cung cấp
kèm v
ới WTK mà có thể download miễn phí từ website
www.retrologic.com. Để cài đặt, chúng ta chỉ cần chép tập tin retroguard.jar
vào th
ư mục bin của thư mục cài đặt WTK.
Tóm l
ại: WTK là một môi trường cơ bản cho việc phát triển các ứng
d
ụng trên thiết bị di động. Tuy nhiên, do thiếu một trình soạn thảo và chức
năng g
ỡ rối, rõ ràng công cụ này không thể nào cạnh tranh được với các
công c
ụ thương mại khác. Tuy nhiên với những ai mới bắt đầu tìm hiểu

J2ME thì đây v
ẫn là một công cụ có ích. Bằng việc tạo lập sẵn một cấu trúc
th
ư mục, nó cho phép lập trình viên có thể xây dựng ngay ứng dụng mà
không c
ần quan tâm về việc tổ chức các tập tin, tài nguyên trong dự án. Khi
m
ột lập trình viên đã trở nên thành thạo với việc phát triển ứng dụng J2ME
thì có th
ể chuyển sang sử dụng một công cụ khác.
1.3.2 Borland Jbuilder 2006:
Môi tr
ường làm việc của Jbuilder cho J2ME hoàn toàn giống như môi
tr
ường phát triển các ứng dụng Java bình thường nhưng có thêm các tabs và
options trong các h
ộp thoại để hỗ trợ J2ME và hai winzard mới: MIDP
MIDlet wizard và MIDP Displayable wizard. Trong phiên b
ản Jbuilder
Professionnal và Enterprise, trình duy
ệt Archive Builder có thể tạo ra một
MIDlet suite v
ới các tập tin manifest và JAD tương ứng. Jbuilder 2006 cũng
c
ần cài đặt WTK 2.1 được sử dụng như một môi trường giả lập. Ngoài ra
Jbuilder còn cung c
ấp các hướng dẫn cho việc tích hợp thêm các J2ME JDK
khác, ch
ẳng hạn như Nokia Developer Suite for J2ME và Siemens Mobility
Toolkit (SMTK).

Ch
ChCh
Chương 1: T
ng 1: Tng 1: T
ng 1: Tổng Quan V
ng Quan Vng Quan V
ng Quan Về L
L L
Lập Trì
p Trìp Trì
p Trình Trên Thi
nh Trên Thinh Trên Thi
nh Trên Thiết B
t Bt B
t Bị Di ð
Di ð Di ð
Di ðộng
ngng
ng


Trang 8

Ngoài các tính năng chính của Jbuilder, khi lập trình cho J2ME chúng ta
đ
ược thêm các tính năng sau:
- Code completion cho các l
ớp CLDC/MIDP
- Duy
ệt class/package cho các lớp CLDC/MIDP

- Chuy
ển đổi JDK
- Các MIDP wizards
- Bộ thiết kế trực quan (visual designer) cho các thành phần giao diện
MIDP
- Công c
ụ gỡ rối MIDlet
- Đóng gói file JAD và JAR
- N
ạp dữ liệu thông qua OTA (Over The Air Provisioning)
Tóm l
ại: Chức năng thiết kế giao diện của Jbuilder là một công cụ hữu ích
trong vi
ệc tạo lập giao diện MIDP. Tuy nhiên, chức năng này lại không hỗ
tr
ợ đầy đủ các thành phần giao diện hiện có và trong nhiều trường hợp mã
ngu
ồn phát sinh cần được chỉnh sửa thêm mới hoạt động đúng theo ý muốn.




Ch
ChCh
Chương
ng ng
ng 2: Khái Quát J2ME, j2
2: Khái Quát J2ME, j22: Khái Quát J2ME, j2
2: Khái Quát J2ME, j2EE, MVC
EE, MVCEE, MVC

EE, MVC, JSP, S
, JSP, S, JSP, S
, JSP, Servlet và H
và H và H
và Hệ Quản Trị
CSDL Firebird

Trang 9

Chương 2:

Khái Quát J2ME, J2EE, MVC, JSP, Servlet Và Hệ Quản
Trị CSDL Firebird

2.1. Giới thiệu J2ME
2.1.1. Khái ni
ệm
J2ME là m
ột nhánh của ngôn ngữ lập trình JAVA được phát triển nhằm hướng
t
ới việc lập trình trên các thiết bị có bộ nhớ, hiển thị và xử lý hạn chế.
2.1.2. Kiến trúc J2ME


H 2.01 Kiến trúc tổng quát của J2ME
2.1.2.1. CLDC – Connected Limited Device Configuation
M
ục đích của tầng này là cung cấp một tập tối thiểu các thư viện cho phép
m
ột ứng dụng Java chạy trên thiết bị di động. Nó cung cấp cơ sở cho tầng hiện

tr
ạng, tầng này sẽ chứa nhiều API chuyên biệt hơn.
Ch
ChCh
Chương
ng ng
ng 2: Khái Quát J2ME, j2
2: Khái Quát J2ME, j22: Khái Quát J2ME, j2
2: Khái Quát J2ME, j2EE, MVC
EE, MVCEE, MVC
EE, MVC, JSP, S
, JSP, S, JSP, S
, JSP, Servlet và H
và H và H
và Hệ Quản Trị
CSDL Firebird

Trang 10

Được thiết kế để nhắm vào thị trường các thiết bị cấp thấp, các thiết bị này
thông th
ường là máy nhắn tin, điện thoại di động và PDA. Các thiết bị này có
giao di
ện đơn giản, bộ nhớ khoảng 32K đến 512KB, băng thông nhỏ, trong các
thi
ết bị này, việc truyền thông trên mạng không dựa vào nghi thức TCP/IP. 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ề những ứng dụng

Java, ví d
ụ như là Midlet.
2.1.2.2. CDC – Connected Device Configuation
Đ
ượ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 còn yếu hơn các hệ thống máy để bàn sử dụng J2SE.
Các thi
ết bị thuộc loại này bao gồm các hộp điều khiển TV, điện thoại Internet,
các thi
ết bị giải trí, định hướng… Các thiết bị này có giao diện phong phú, bộ
nh
ớ nhiều hơn (thông thường là trên 2Mb) và có bộ xử lý mạnh hơn, băng
thông l
ớn và sử dụng giao thức TCP/IP.
2.1.2.3. Máy ảo Java (KVM)
Vai trò c
ủa máy ảo Java hay KVM là dịch mã bytecode được sinh ra từ
ch
ương trình Java đã biên dịch sang ngôn ngữ máy. Chính KVM sẽ chuẩn hóa
output c
ủa các chương trình Java cho các thiết bị di động khác nhau có thể có
b
ộ vi xử lý và tập lệnh khác nhau. Không có KVM, các chương trình Java phải
đ
ược biên dịch thành tập lệnh cho mỗi thiết bị di động. Như vậy lập trình viên
ph
ải xây dựng nhiều đích cho mỗi loại thiết bị di động.Do các thiết bị di động
dùng CLDC th
ường có tài nguyên hạn chế nên Sun đã đề ra máy ảo Java KVM

ph
ục vụ riêng cho các thiết bị này. Máy ảo KVM thực chất là một bộ phận con
c
ủa các máy ảo trên môi trường J2SE và J2EE nên cũng có nhiều hạn chế.



Ch
ChCh
Chương
ng ng
ng 2: Khái Quát J2ME, j2
2: Khái Quát J2ME, j22: Khái Quát J2ME, j2
2: Khái Quát J2ME, j2EE, MVC
EE, MVCEE, MVC
EE, MVC, JSP, S
, JSP, S, JSP, S
, JSP, Servlet và H
và H và H
và Hệ Quản Trị
CSDL Firebird

Trang 11

2.1.2.3.1. Một số hạn chế
- Không hỗ trợ kiểu dữ liệu float: Việc xử lý số float đòi hỏi nhiều tài
nguyên x
ử lý, ngoài ra các thiết bị di động không có những cấu hình
ph
ần cứng dành riêng cho việc xử lý số float trong J2ME.

- Ph
ương thức finalize:
Trong J2SE, chúng ta có th
ể khai báo phương thức finalize (tương tự
ph
ương thức destructor). Garbage Collector sẽ gọi phương thức này trước
khi h
ủy bỏ một đối tượng, phương thức này thường được dùng để thu hồi
các tài nguyên h
ệ thống như sockets, file handles… trước khi đối tượng bị
“phá h
ủy”. Tuy nhiên trong J2ME chúng ta không có phương thức finalize.
- Erro Handling: Trong J2ME chúng ta v
ẫn được hỗ trợ các công cụ về
b
ẫy lỗi (chủ yếu thông qua try và catch). Tuy nhiên khả năng vễ xử lý
l
ỗi của J2ME cũng hạn chế hơn J2SE và J2EE.
- Không h
ổ trợ việc sử dụng code của các ngôn ngữ khác
- Không h
ỗ trợ Reflection: Trong J2SE và J2EE, chúng ta có thể dùng các
l
ớp Reflection để tìm hiểu thông số môi trường máy ảo Java đang thực
thi.
- Không hỗ trợ ThreadGroup: Mỗi thread được quản lý riêng biệt, không
còn l
ớp ThreadGroup. Nếu muốn điều khiển một lúc nhiều threads
chúng ta có th
ể dùng mảng hoặc Vector.

2.1.2.4. MIDP – Mobile Information Device Profile
Đây là Profile được định nghĩa dành riêng cho các thiết bị di động và là
thành ph
ần chính trong J2ME. MIDP cung cấp các chức năng cơ bản cho hầu
h
ết các thiết bị di động phổ biến nhất là các máy điện thoại di động và các máy
PDA. Tuy nhiên MIDP c
ũng có nhiều hạn chế lớn cũng chỉ vì được thiết kế
cho các máy di đ
ộng có cấu hình rất thấp.

Ch
ChCh
Chương
ng ng
ng 2: Khái Quát J2ME, j2
2: Khái Quát J2ME, j22: Khái Quát J2ME, j2
2: Khái Quát J2ME, j2EE, MVC
EE, MVCEE, MVC
EE, MVC, JSP, S
, JSP, S, JSP, S
, JSP, Servlet và H
và H và H
và Hệ Quản Trị
CSDL Firebird

Trang 12

2.2. Giới thiệu J2EE
2.2.1. Khái ni

ệm:
J2EE d
ựa trên công nghệ J2SE – Java TM 2 Platform Standard Edition được
xây d
ựng bằng ngôn ngữ Java
.
Là một thành phần rất quan trọng và rộng lớn trong
l
ĩnh vực Java. J2EE được dùng dể phát triển các ứng dụng lớn, mang tính chất
r
ộng khắp. Đây là lĩnh vực được chú trọng và ứng dụng nhiều nhất của Java trong
th
ực tế.
J2EE cung c
ấp cách tiếp cận dựa trên linh kiện (component: là một thành phần
hay m
ột đơn vị phần mềm độc lập) để thiết kế, phát triển, tích hợp và triển khai
ứng dụng. J2EE đưa ra mô hình ứng dụng phân tán đa tầng với các linh kiện có
kh
ả năng tái sử dụng, mô hình bảo mật thống nhất, điều khiển giao dịch
(transaction) linh đ
ộng, hỗ trợ dịch vụ web (web service) thông qua việc sử dụng
chu
ẩn XML để tích hợp và trao đổi dữ liệu. Nói chung một phần mềm dựa trên
J2EE là m
ột ứng dụng phân tán đa tầng bao gồm những linh kiện tích hợp với
nhau theo đ
ặc tả của J2EE, linh kiện là: Web service, EJB hay gói java classes…
N
ếu là nhà sản xuất phần mềm, với J2EE, bạn có thể nhanh chóng phát triển

m
ột phần mềm thương mại bằng cách xây dựng & tích hợp những linh kiện độc
l
ập và đa hệ, bạn có thể phân rã trách nhiệm xây dựng các linh kiện cho các nhóm
l
ập trình viên độc lập. Nếu là người tiêu thụ với vai trò lập trình viên, với J2EE,
b
ạn không cần phải mua trọn gói một thư viện phần mềm lớn cho vài nhu cầu nhỏ,
thay vào đó, b
ạn sẽ mua từng linh kiện J2EE vừa đủ nhu cầu, điều này tiết kiệm
chi phí và t
ạo tính chủ động cho người tiêu thụ. J2EE phù hợp cho những ứng
d
ụng quy mô lớn với giá thành thấp.




Ch
ChCh
Chương
ng ng
ng 2: Khái Quát J2ME, j2
2: Khái Quát J2ME, j22: Khái Quát J2ME, j2
2: Khái Quát J2ME, j2EE, MVC
EE, MVCEE, MVC
EE, MVC, JSP, S
, JSP, S, JSP, S
, JSP, Servlet và H
và H và H

và Hệ Quản Trị
CSDL Firebird

Trang 13

2.2.2. Kiến trúc J2EE

H 2.02 Kiến trúc tổng quát J2EE
2.2.2.1. Client Machine
Ch
ỉ đảm nhận phần biểu diễn thông tin đến server và thu thập dữ liệu của
ng
ười dùng. Nó không biết hoặc không quan tâm đến cách mà thông tin được
phát sinh, m
ặc dù nó biết một số điều về “hình dạng (shape)” của thông tin.
2.2.2.2. J2EE Machine
T
ầng này đảm nhận chức năng biên dịch hay thay đổi dữ liệu, các luật phải
đ
ược áp dụng cho dữ liệu khi nó thay đổi. Tầng này cung cấp cho tầng Client
Machine tr
ước nó, và cũng là phương tiện cho việc lưu trữ và nhận dữ liệu của
t
ầng sau nó.
2.2.2.3. Database Server Machine
T
ầng này đảm nhiệm quản lý lưu trữ và lấy dữ liệu ứng dụng. Tầng này có
th
ể bao gồm mã chương trình cộng với hệ quản trị cơ sở dữ liệu quan hệ.
Ch

ChCh
Chương
ng ng
ng 2: Khái Quát J2ME, j2
2: Khái Quát J2ME, j22: Khái Quát J2ME, j2
2: Khái Quát J2ME, j2EE, MVC
EE, MVCEE, MVC
EE, MVC, JSP, S
, JSP, S, JSP, S
, JSP, Servlet và H
và H và H
và Hệ Quản Trị
CSDL Firebird

Trang 14

2.3. Cơ chế giao tiếp giữa J2ME và J2EE
HTTP là m
ột giao thức liên lạc giữa Clien/Server lý tưởng cho các ứng dụng java
di đ
ộng. Đối với mỗi đặc tả, thiết bị tương thích MIDP phải hỗ trợ HTTP. Các giao
th
ức khác như TCP hay UDP là tùy chọn. Bởi vì không phải tất cả các thiết bị MIDP
đ
ều hỗ trợ tuyền thông socket hay datagram, do đó triển khai HTTP trên thiết bị di
đ
ộng cho phép tối ưu hóa khả năng chuyển đổi giữa các thiết bị từ các nhà sản xuất
khác nhau.
Một lợi điểm khác của giao thức HTTP được hưởng truy xuất không lỗi thông qua
t

ường lửa. Bởi vì server và client di động hầu như được tách biệt bằng firewall, HTTP
không c
ần phải cấu hình thêm. Mặc dù vậy ta cũng nên quan tâm đến các rủi ro bảo
m
ật có thể có khi mở kết nối HTTP ra thế giới bên ngoài. Java cung cấp API lập trình
m
ạng, hỗ trợ giao thức HTTP. Ta dễ dàng tạo ra các request GET, POST và HEAD
trong
ứng dụng Java.
2.4. Giới thiệu Mô hình MVC


H 2.03 Mô hình MVC tổng quát
Ch
ChCh
Chương
ng ng
ng 2: Khái Quát J2ME, j2
2: Khái Quát J2ME, j22: Khái Quát J2ME, j2
2: Khái Quát J2ME, j2EE, MVC
EE, MVCEE, MVC
EE, MVC, JSP, S
, JSP, S, JSP, S
, JSP, Servlet và H
và H và H
và Hệ Quản Trị
CSDL Firebird

Trang 15


Mô hình MVC chia các component ứng dụng thành 3 loại khác nhau đó là Model-
View-Controller m
ỗi components đảm nhận một trách nhiệm nhất định, các
components đ
ều độc lập với các components khác. Nhiệm vụ của các components là:
• View: Người dùng tương tác với ứng dụng thông qua components View.
View có trách nhi
ệm lấy request và gửi yêu cầu đến controller, nhận kết quả
t
ừ controller hiển thị cho người dùng.HTML, JSPs, các thư viện Tag và các
File ngu
ồn là các thành phần của components View.
• Controller: Là trung gian giữa Model và View, Controller có trách nhiệm
nh
ận yêu cầu từ View sau khi nhận yêu cầu controller sẽ thực thi Business
logic thích h
ợp từ Model, sau đó điều khiển components View xuất dữ liệu
cho User.ActionSevlet, Action, ActionForm và Struts-config.XML là các
thành phần của Controller.
• Model: Đảm nhận nhiệm vụ cung cấp dữ liệu từ cơ sở dữ liệu và lưu thông
tin vào CSDL, t
ất cả các Business đều được thực thi ở Model.Truy xuất dữ
li
ệu,sự hợp lệ của dữ liệu và data saving logic là các thành phần của Model.
2.5. Giới thiệu về JSP (Java Server Pages)
2.5.1. Khái ni
ệm
Là công ngh
ệ xây dựng trên ngôn ngữ Java. Nó thừa kế tất cả những ưu điểm
c

ũng như các đặc tính của Java. Nó có thể chạy được trên tất cả Platform.
C
ấu trúc của một trang JSP:
- Directives
- Scripting Elements
- Actions




Ch
ChCh
Chương
ng ng
ng 2: Khái Quát J2ME, j2
2: Khái Quát J2ME, j22: Khái Quát J2ME, j2
2: Khái Quát J2ME, j2EE, MVC
EE, MVCEE, MVC
EE, MVC, JSP, S
, JSP, S, JSP, S
, JSP, Servlet và H
và H và H
và Hệ Quản Trị
CSDL Firebird

Trang 16

2.5.2. Sơ đồ hoạt động của JSP

H 2.04 Mô hình hoạt động của JSP

2.6. Giới thiệu về Servlet
2.6.1. Khái ni
ệm
Servlet dùng đ
ể mở rộng các chức năng của Java-enable server. Dùng để thay
th
ế cho CGI Script. Servlet chạy trong Java Virtural Machine. Không bắt
bu
ộc Web browser phải hỗ trợ Java.

H 2.05 Sơ đồ hoạt động của Servlet
2.6.2. Đặc điểm Servlet
- Không ph
ụ thuộc nền
- Có th
ể làm việc trên nhiều web servers.
- Là công ngh
ệ đầu tiên của Java để tạo ra web Application
Ch
ChCh
Chương
ng ng
ng 2: Khái Quát J2ME, j2
2: Khái Quát J2ME, j22: Khái Quát J2ME, j2
2: Khái Quát J2ME, j2EE, MVC
EE, MVCEE, MVC
EE, MVC, JSP, S
, JSP, S, JSP, S
, JSP, Servlet và H
và H và H

và Hệ Quản Trị
CSDL Firebird

Trang 17

- Không nằm trong core Java API mà nằm trong hai package javax.servlet và
java.servlet.http c
ủa Java Servlet Development Kit (JSDK)

2.7. Gi
ới thiệu về hệ quản trị CSDL Firebird
2.7.1. Khái ni
ệm
Là m
ột hệ quản trị CSDL do cộng đồng mã nguồn mở phát triển.
Cung
cấp môi
tr
ường và công cụ để lưu trữ và truy xuất dữ liệu từ cơ sở dữ liệu một cách hiệu
qu
ả.
L
ưu giữ thông tin về người dùng của hệ quản trị cơ sở dữ liệu và những tác vụ
mà ng
ười dùng này có thể tương tác với dữ liệu được lưu trữ.
2.7.2. Lý do dùng hệ quản trị CSDL Firebird
- Do cộng mã nguồn mỡ phát triển nên dễ tích hợp với các phần mềm mã nguồn
m
ở.
- Gi

ảm thiểu sự dư thừa dữ liệu, tránh được sự không đồng nhất về dữ liệu. Tính
nh
ất quán của dữ liệu sẽ được đảm bảo.











Ch
ChCh
Chương 3: Phân Tích Thi
ng 3: Phân Tích Thing 3: Phân Tích Thi
ng 3: Phân Tích Thiết K
t Kt K
t Kế

Ứng D
ng Dng D
ng Dụng
ngng
ng


Trang 18


Chương 3:
Phân Tích Thiết Kế Ứng Dụng

3.1 Khảo sát hiện trạng
Hiện nay, trên thế giới cũng như ở Việt Nam các thiết bị di động ngày càng được sử
dụng rộng rãi phục vụ những nhu cầu của con người. Hiện nay các loại hình dịch vụ
trên các thiết bị này cũng rất đa dạng: Tra cứu điểm thi, xem kết quả xổ số, tìm xe
buýt… Qua một thời gian khảo sát và tìm hiểu chúng em nhận thấy rằng loại ứng
dụng mua bán sách qua thiết bị di động hầu như chưa có trên thị trường.
Với việc xây dựng thành công ứng dụng này chúng em hy vọng trên thị
trường sẽ xuất hiện một loại hình dịch vụ mới cho thiết bị di động. Nó sẽ làm cho
cuộc sống của chúng ta ngày càng phong phú hơn.
3.2 Qui trình nghiệp vụ của việc mua bán sách
3.2.1 Trên Server
• Cập nhật sách: Khi cần cập nhật sách thì nhân viên có thể đăng nhập vào hệ
thống với vai trò là nhân viên cập nhật và cập nhật sách trong database
• Chuyển giao sách đã được đặt mua:
- Nhân viên sẽ đăng nhập vào hệ thống với vai trò là nhân viên lập hóa đơn
và xem các hóa đơn đã được tạo ra, in các hóa đơn cần thiết và chuyển
giao cho bộ phận soạn hóa đơn.
- Bộ phận soạn hóa đơn sẽ soạn đầy đủ các đầu sách có trong hóa đơn và
chuyển ñến cho bộ phận chuyển giao sách.
- Bộ phận chuyển giao sách sẽ tiến hành chuyển giao sách cho khách hàng
và thu tiền.
- Nếu khách hàng không nhận hoặc chỉ nhận một phần thì sách sẽ được
mang về và cập nhật trở lại vào database.


Ch

ChCh
Chương 3: Phân Tích Thi
ng 3: Phân Tích Thing 3: Phân Tích Thi
ng 3: Phân Tích Thiết K
t Kt K
t Kế

Ứng D
ng Dng D
ng Dụng
ngng
ng


Trang 19

• Thống kê: Khi cần thiết nhân viên thống kê sẽ thống kê sách tồn kho, sách đã
bán, sách cần bổ sung theo yêu cầu
• Phân quyền: Admin sẽ phân quyền, tạo nhóm người dùng khi cần thiết.
3.2.2 Trên Client di động
- Vào trang web xem các đầu sách mà trang web đang có.
- Chọn sách cần mua và sách đó sẽ được cho vào giỏ hàng.
- Nếu người dùng tiếp tục chọn những sách khác thì những sách đó cũng lần
lượt được đưa vào giỏ hàng.
- Nếu người dùng đổi ý, muốn thay đổi sách đã chọn thì có thể cập nhật lại
giỏ hàng của mình.
- Người dùng chọn lệnh Thanh Toán và màn hình tiếp nhận thông tin khách
hàng xuất hiện, khách hàng tiến hành nhập các thông tin cần thiết.
- Khi không hiểu về cách thức thanh toán và chuyển giao sách khách hàng có
thể xem hướng dẫn trên trang web.

- Khi cần tìm loại sách hoặc sách khách hàng có thể tra cứu trên trang web.
3.3 Phân tích và xác định yêu cầu
Dựa trên các yêu cầu về mua bán sách qua thiết bị di động chúng tôi đưa ra các
yêu cầu sau:
3.3.1 Danh sách các yêu cầu nghiệp vụ
TT

Các trường hợp Mô tả
Server
Nhân viên cập nhật
1.

Quản lý sách Tạo mới/ cập nhật / xem và lưu trên server
2.

Quản lý thông tin loại sách Tạo mới/ cập nhật / xem và lưu trên server
3.

Quản lý thông tin tác giả Tạo mới/ cập nhật / xem và lưu trên server
4.

Quản lý thông tin nhà xuất bản Tạo mới/ cập nhật / xem và lưu trên server
Nhân viên lập hóa đơn
1.

Quản lý hóa đơn bán hàng
Tạo mới/ cập nhật / xem và lưu thông tin của hóa
đơn bán hàng trên server

×