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

Báo cáo thực tập ỨNG DỤNG FRAMEWORK STRUTS2 XÂY DỰNG WEBSITE SERVICE DIRECTORY

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 (218.06 KB, 19 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

BÁO CÁO THỰC TẬP
NGÀNH: CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI:
ỨNG DỤNG FRAMEWORK STRUTS2 XÂY DỰNG
WEBSITE SERVICE DIRECTORY.
Cán bộ hướng dẫn: Đàm Anh Tuấn.
Giảng viên đánh giá:
Sinh viên: Nguyễn Văn Nội
Mã sinh viên: 10020249
Lớp: K55C-CLC
Ứng dụng Service Directory
___________________________________________________________________________
___
Hà Nội, 08/2013.
MỤC LỤC
LỜI CẢM ƠN 3
II.1.Giới thiệu chi tiết 11
Page | 2
Ứng dụng Service Directory
___________________________________________________________________________
___
LỜI CẢM ƠN
Trong đợt thực tập vừa qua, em đã nhận được sự hướng dẫn và giúp đỡ và động viên
tận tình từ nhiều phía. Tất cả những điều đó đã trở thành nguồn động lực to lớn giúp em
có thể hoàn thành tốt mọi công việc được giao. Với tất cả sự cảm kích và trân trọng, em
xin được gửi lời cảm ơn đến tất cả mọi người.
Trước tiên em xin gửi lời cảm ơn đến Ban lãnh đạo Công ty FPT Software đã tạo
điều kiện cho em được tham gia thực tập tại quý công ty cũng như cung cấp tất cả các cơ


sở vật chất và trang thiết bị có thể cho em trong thời gian vừa qua. Xin cảm ơn anh
Hoàng Việt Thắng, chị Trần Thị Thanh Huyền, anh Đàm Anh Tuấn cùng toàn thể các anh
chị khác trong công ty đã tận tình hướng dẫn và giúp đỡ em trong suốt thời gian em tham
gia thực tập.
Em cũng xin được gửi lời cảm ơn đến Ban lãnh đạo trường Đại học Công nghệ - Đại
học Quốc gia Hà Nội, lãnh đạo khoa Công nghệ thông tin đã tổ chức chương trình liên
kết giữa nhà trường và công ty FPT Software thật sự bổ ích, giúp em có cơ hội tham gia
một đơn vị thực tập tốt.
Em xin chân thành cảm ơn các thầy cô giáo của trường Đại học Công nghệ - Đại học
Quốc gia Hà Nội, xin cảm ơn quý thầy cô đã tận tình dạy bảo, giúp đỡ em trong suốt thời
gian em học tại trường cũng như trong thời gian thực tập vừa qua.
Xin được cảm ơn tất cả các sinh viên tham gia thực tập tại FPT Software trong đợt
thực tập vừa qua, những người đã luôn sát cánh bên mình, chia sẻ, ủng hộ và giúp đỡ
mình trong thời gian thực tập vừa qua.
Xin trân trọng cảm ơn!
Page | 3
Ứng dụng Service Directory
___________________________________________________________________________
___
I. Giới thiệu chung
I.1.Giới thiệu công ty
 Tên đơn vị thực tập:
Công ty FPT Software.
 Địa chỉ:
Tầng 4, Tòa nhà Toyota Mỹ Đình (đối diện Bến xe Mỹ Đình), số 15 đường Phạm
Hùng, Quận Cầu Giấy, TP Hà Nội, Việt Nam.
 Lịch sử phát triển:
Được thành lập năm 1988 bởi một nhóm các nhà khoa học trẻ trong các lĩnh vực
Vật lý, Toán, Cơ, Tin học, chỉ sau một năm, FPT đã thành lập một bộ phận tin học
mang tên ISC (Informatic Service Center).

Đến tháng 12 năm 1994, khi đã đủ lớn, ISC được tách thành các bộ phận chuyên
sâu về dự án, phân phối, phần mềm… Bộ phận phần mềm lúc đó có tên là FSS (FPT
Software Solutions - tên tiếng Việt là Xí nghiệp Giải pháp Phần mềm FPT).
Từ 1994 đến 1998, FSS tiếp tục phát triển và cung cấp các giải pháp phần mềm
cho các lĩnh vực Ngân hàng, Kế toán, Thuế, Hải quan, Công an.
Cuối năm 1998 đầu 1999, sau khi chiến lược xuất khẩu phần mềm được định
hình, một nhóm chuyên gia được tách ra từ FSS để thành lập FSU1 (FPT Strategic
Unit #1) như bộ phận chịu trách nhiệm mũi nhọn trong sứ mệnh Toàn Cầu Hoá.
FSU1 chính là tiền thân của FSOFT ngày nay.
Năm 2001 được đánh dấu bằng các hợp đồng OSDC với Mỹ và đặc biệt là
OSDC với NTT-IT - khách hàng Nhật bản đầu tiên của FSOFT. Năm 2001 cũng là
năm FSOFT bắt đầu dự án CMM-4, với mục tiêu đạt chứng chỉ CMM mức 4 trong
vòng một năm. FSOFT đạt CMM mức 4 vào tháng 3/2002, trở thành công ty đầu tiên
ở khu vực Đông Nam Á đạt chứng chỉ này. Năm 2002 cũng là năm FSOFT củng cố
lại sơ đồ tổ chức, bằng việc thành lập các Trung tâm sản xuất và các Phòng chức
năng. Cuối 2002, lần đầu tiên doanh số FSOFT vượt ngưỡng 1 triệu USD.
Năm 2003 đem về cho FSOFT nhiều khách hàng mới, đặc biệt là các khách hàng
lớn của Nhật như Hitachi, Sanyo, Nissen, IBM Japan. FSOFT thành lập Văn phòng
tại thành phố Hồ Chí Minh.
Đầu năm 2004, FSOFT trở thành Công ty cổ phần phần mềm FPT. Trụ sở tại Tp.
Hồ Chí Minh được chuyển về toà nhà e-town. FSOFT đạt CMM mức 5 (mức cao
nhất) vào tháng 3. Để phục vụ tốt hơn các khách hàng Nhật, Văn phòng đại diện của
Page | 4
Ứng dụng Service Directory
___________________________________________________________________________
___
FSOFT được mở tại Tokyo. Năm 2004 cũng là năm gặt hái nhiều thành công của
Công ty Phần mềm FPT, với doanh số xuất khẩu năm 2004 tăng trưởng hơn 200% so
với năm 2003.
Năm 2005 là năm đánh dấu bước phát triển của công ty về mọi mặt, giúp FSOFT

khẳng định vị trí công ty phần mềm hàng đầu Việt Nam. Tháng 8/2005 thành lập Chi
nhánh Đà Nẵng, tháng 11 thành lập Công ty FSOFT JAPAN tại Tokyo, tháng 12 khai
trương Trung tâm Tuyển dụng và Đào tạo tại toà nhà Simco, Hà nội. Hết năm 2005,
FSOFT tăng trưởng 114% doanh số, trở thành công ty phần mềm đầu tiên của Việt
Nam có 1000 nhân viên.
Tháng 10, năm 2007, các Trung tâm sản xuất phần mềm được chuyển đến làm
việc tập trung tại Tòa nhà FPT tại Phạm Hùng (Hà Nội). Cuối năm 2007, doanh số
của Fsoft đạt 29,6 triệu USD, tăng 79% so với doanh thu năm 2006; số nhân viên
chính thức là 2,287 người.
Năm 2008 diễn ra với việc thành lập 4 Công ty chi nhánh tại Pháp, Malaysia,
Mỹ, Australia; doanh số đạt 42 triệu USD với 2600 nhân viên.
FSOFT có hệ thống khách hàng rộng lớn trên toàn thế giới ở Mỹ, Châu Âu, Nhật
Bản, và các nước Châu Á Thái Bình Dương (Malaysia, Singapore, Thailand,
Australia). Trong chiến lược gia nhập hàng ngũ những nhà cung cấp dịch vụ phần
mềm hàng đầu thế giới, Công ty tập trung phát triển nguồn nhân lực chất lượng cao –
giá trị cốt lõi đóng góp vào tăng trưởng của công ty. Với 80% nhân viên FSOFT
thuần thục về tiếng Anh và hơn 200 người sử dụng tiếng Nhật, FPT Sofware không
ngừng tìm kiếm và tạo cơ hội cho những tài năng trẻ. Mục tiêu trong năm 2008, Fsoft
sẽ đạt doanh thu 48,5 triệu USD, lợi nhuận ước tính sẽ đạt 14,7 triệu USD với số nhân
viên sẽ là 3400 người.
 Các lĩnh vực hoạt động chính:
FPT Software là công ty xuất khẩu phần mềm hàng đầu Việt Nam, cung cấp các
dịch vụ về gia công phần mềm, triển khai ERP và hệ thống phần mềm nhúng.
Thịtrường xuất khẩu chủ yếu của công ty là Nhật Bản, Anh, Pháp, Mỹ, Thái Lan,
Malaysia và Singapore.
Công ty Cổ phần Phần mềm FPT là công ty chuyên về lĩnh vực gia công phần
mềm, chính vì thế nên công ty cung cấp tất cả dịch vụ liên quan như:
+ Xuất khẩu phần mềm
+ Giải pháp phần mềm
+ Phânphối các sản phẩm công nghệ thông tin

+ Tích hợp hệ thống
+ Cung cấp các giải pháp, dịch vụ viễn thông và internet
Page | 5
Ứng dụng Service Directory
___________________________________________________________________________
___
+ Triển khai và Tư vấn dịch vụ ERP
+ Phát triển hệ thống nhúng
+ Các dịch vụ khác
I.2.Giới thiệu công việc
I.2.1. Các ngôn ngữ và công nghệ đã nghiên cứu.
I.2.1.1. Java core.
Java core là các kiến thức cơ bản về lập trình Java như cú pháp lệnh, các câu lệnh
lặp, câu lệnh rẽ nhánh, các biến và phạm vi của từng biến, các Interface, cấu trúc đơn kế
thừa…
I.2.1.2. HTML&CSS.
HTML là viết tắt của Hyper Text Markup Language, là ngôn ngữ đánh dấu siêu
văn bản. Siêu văn bản là một văn bản thuần text sử dụng các thẻ điều khiển hiển thị.
CSS là từ viết tắt của Cascading Style Sheets : Công dụng dùng để trang trí trang
web của bạn, và thông thường được gắn với các ngôn ngữ như là HTML, PHP, dùng làm
nổi bậc trang web và hình ảnh trang web của bạn.
I.2.1.3. JavaScript.
Script có thể xem như một công cụ nhỏ nhằm hỗ trợ ngời lập trình tạo ra các ứng
dụng nhanh chóng, đơn giản chứ không mang tính chuyên nghiệp như một ngôn ngữ lập
trình thật sự.
JavaScript là một loại Script cho phép phát triển các ứng dụng trên Internet ở cả
phía Client và Server bằng cách viết các chơng trình với cú pháp hoàn toàn giống Java.
Theo phiên bản hiện hành, là một ngôn ngữ lập trình kịch bản dựa trên đối tượng được
phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được dùng rộng rãi cho các trang
web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm sẵn

trong các ứng dụng. Nó vốn được phát triển bởi Brendan Eich tại Hãng truyền thông
Netscape với cái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và cuối cùng
thành JavaScript. Giống Java, JavaScript có cú pháp tương tự C, nhưng nó gần với Self
hơn Java. .js là phần mở rộng thường được dùng cho tập tin mã nguồn JavaScript
[1]
.
Page | 6
Ứng dụng Service Directory
___________________________________________________________________________
___
+ JavaScript là một ngôn ngữ script, dùng để phát triển các ứng dụng Internet ở Client
và Server.
+ JavaScript có thể viết kèm trong file HTML để xây dựng một trang Web chặt chẽ,
phong phú về nội dung và hình thức, như kiểm tra tính tơng thích và thông báo lỗi trong
quá trình nhập liệu
I.2.1.4. JSP.
JSP là kịch bản trình chủ (Server Script) được chạy trên nền JDK 1.3 trở về sau,
cùng với ứng dụng Web Server để quản lý chúng. Web Server thường sử dụng là
Tomcate, Java Web Server, JRUN, WebLogic và Apache,
Tiền thân của JSP là xuất phát từ Java Servlet, khi làm việc với Java Servlet thì hầu
hết các lập trình viwên gặp khó khăn khi xuất nhập dữ liệu, cụ thể là giao diện với người
sử dụng. Chính vì vậy SUN Microsystem cung cấp kịch bản JSP là phần mở rộng của
Java Servlet để cho phép quá trình lập trình ứng dụng Web trở nên đơn giản hơn. Tuy
nhiên, những trang JSP này khi biên dịch đề thông qua trang trung gian là Java Sevrlet.
I.2.1.5. Servlet.
Java Servlet API cho phép nhà phát triển phần mềm thêm những nội dung động
vào Web server sử dụng Java platform. Nó phát sinh nội dung thông thường là HTML,
đôi khi cũng có thể là các ngôn ngữ khác như XML. Servlets là bản sao Java của các kỹ
thuật trình bày nội dung Web động khác như là PHP, CGI và ASP.NET. Servlets có thể
duy trì tình trạng thông qua các giao dịch của máy chủ bằng việc sử dụng HTTP cookies,

các giá trị session hoặc URL rewriting
[2]
.
I.2.1.6. Unit Testing.
Unit Test (UT) là một kỹ thuật quan trọng góp phần nâng cao chất lượng phần
mềm (PM), nhưng có nhiều quan điểm trái ngược nhau về việc đưa UT vào quy trình
phát triển PM. Bài viết này giới thiệu một cái nhìn tổng quan về UT và mô hình phát
triển phần mềm hiện đại TDD (Test-Driven Development).
UT là kỹ thuật kiểm nghiệm các hoạt động của mọi chi tiết mã (code) với một quy
trình tách biệt với quy trình phát triển PM, giúp phát hiện sai sót kịp thời. UT còn có thể
giúp phát hiện các vấn đề tiềm ẩn và các lỗi thời gian thực ngay cả trước khi chuyên viên
kiểm định chất lượng (QA - Quality Assurance) tìm ra, thậm chí có thể sửa lỗi ngay từ ý
tưởng thiết kế.
Page | 7
Ứng dụng Service Directory
___________________________________________________________________________
___
UT là các đoạn mã có cấu trúc giống như các đối tượng được xây dựng để kiểm
tra từng bộ phận trong hệ thống. Mỗi UT sẽ gửi đi một thông điệp và kiểm tra câu trả lời
nhận được đúng hay không, bao gồm:
+ Các kết quả trả về mong muốn
+ Các lỗi ngoại lệ mong muốn
Các đoạn mã UT hoạt động liên tục hoặc định kỳ để thăm dò và phát hiện các lỗi
kỹ thuật trong suốt quá trình phát triển, do đó UT còn được gọi là kỹ thuật kiểm nghiệm
tự động.
UT có các đặc điểm sau:
+ Đóng vai trò như những người sử dụng đầu tiên của hệ thống.
+ Chỉ có giá trị khi chúng có thể phát hiện các vấn đề tiềm ẩn hoặc lỗi kỹ thuật.
[3]
I.2.1.7. Struts Framework.

Struts là một framework phục vụ việc phát triển các ứng dụng Web trên Java. Sử
dụng mẫu thiết kế Model-View-Controller (MVC), Struts giải quyết rất nhiều các vấn đề
liên quan đến các ứng dụng Web hướng business đòi hỏi hiệu năng cao sử dụng Java
servlet và JSP. Struts cơ bản định hình lại cách các Web programmer nghĩ về và cấu trúc
một ứng dụng Web.
Để hiểu Struts, việc hiểu rõ kiến trúc MVC là một điều quan trọng (có thể mang
tính bắt buộc). Phần này sẽ đi sâu hơn một chút vào từng phần của kiến trúc MVC.
Model component
Trong kiến trúc MVC, các model component cung cấp một giao diện với dữ liệu
và/hoặc các dịch vụ được sử dụng bởi ứng dụng. Theo cách này, các controller
component không cần phải chứa code để thao tác với dữ liệu của ứng dụng. Thay vào đó,
chúng giao tiếp với các model component để thực hiện truy cập và thao tác dữ liệu. Như
vậy, các model component cung cấp business logic. Các model component có thể ở nhiều
dạng từ các Java bean đến các EJB hay các Web service.
View component
Page | 8
Ứng dụng Service Directory
___________________________________________________________________________
___
Các view component được sử dụng trong kiến trúc MVC để generate response về
browser. Như vậy một view component cung cấp những gì mà user nhìn thấy. Thường thì
các view component là các trang JSP hay HTMLđơn giản. Tuy nhiên, các view
component cũng có thể sử dụng WML hay các công nghệ khác. Đây là một ưu điểm thiết
kế chính của MVC. Bạn có thể sử dụng bất kỳ công nghệ hiển thị nào mà không sợ tác
động đến lớp Model của ứng dụng.
Controller component
Ở trung tâm của kiến trúc MVC là các controller component. Controller thường là
một serlvet tiếp nhận các request cho ứng dụng và quản lý luồng dữ liệu giữa lớp Model
và lớp View. Như vậy, nó điều khiển cách mà các lớp Model và View tương tác.
Controller thường sử dụng các helper class để chuyển điều khiển qua các request hay tiến

trình xác định.
Các thành phần component tương ứng trong Struts
Struts Controller Components: đóng vai trò nhận các giá trị input từ client, gọi
những phương thức để thực thi nghiệp vụ bussiness, trả dữ liệu về và chọn phần view phù
hợp để hiển thị.
Struts Model Components: bao gồm các lớp cần thiết để xử lý những phương thức
bussiness, ngoài ra còn có các lớp DTOs (Data Transfer Objects), các lớp truy xuất cơ sở
dữ liệu…
Struts View Components: đây là phần hiển thị của ứng dụng web bao gồm các file
HTML, các phần data transfer object, JSP, custom tabs, quản lý các tài nguyên….
I.2.1.8. SQL Server.
SQL Server là một hệ thống quản lý cơ sở dữ liệu (Relational Database
Management System (RDBMS)) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client
computer và SQL Server computer. Một RDBMS bao gồm databases, database engine và
các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS.
SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn
(Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho
hàng ngàn user. SQL Server 2000 có thể kết hợp được với các server khác như Microsoft
Internet Information Server (IIS), E-Commerce Server, Proxy Server
Page | 9
Ứng dụng Service Directory
___________________________________________________________________________
___
I.2.1.9. Ajax.
- “Công nghệ Ajax” chỉ mới xuất hiện vào khoảng tháng 2 năm 2005.
- Ajax – Asynchronous JavaScript and XML (JavaScript và XML không đồng bộ)
là bộ công cụ cho phép tăng tốc độ ứng dụng Web bằng cách cắt nhỏ dữ liệu và
chỉ hiển thị những gì cần thiết thay vì phải tải đi tải lại toàn bộ trang Web.
- Ajax không phải là một công nghệ đơn lẻ mà nó là tập hợp của nhiều công nghệ.
AsynchronousJavaScript + CSS + DOM + XMLHttpRequest.

- Ajax bao gồm:
+ Thể hiện Web theo tiêu chuẩn XHTML và CSS.
+ Nâng cao tinh năng động và phản hồi bằng DOM (Document Object Model).
+ Trao đổi và truy cập/tác động lên thông tin, dữ liệu bằng XSL và XSLT.
+ Nhận thông tin không đồng bộ (Synchronous) dùng XMLHttpRequest.
+ Và tất cả các kỹ thuật trên được liên kết lại với nhau bằng JavaScript.
I.2.1.10. Hibernate.
Hibernate là một framework cho persistence layer, là một dịch vụ lưu trữ và truy
vấn dữ liệu quan hệ mạnh mẽ và nhanh chóng. Hibernate giúp người phát triển các class
dùng để lưu trữ dữ liệu theo cách thức hướng đối tượng: association, inheritance,
polymorphism, composition và collections. Hibernate cho phép thực hiện các câu truy
vấn dữ liệu bằng cách sử dụng ngôn ngữ SQL mở rộng của Hibernate (HQL) hoặc là
ngôn ngữ SQL nguyên thuỷ cũng như là sử dụng các API.
Không giống như các persistence layer khác, Hibernate không ẩn đi sức mạnh của
ngôn ngữ SQL thuần túy mà Hibernate còn đảm bảo cho người phát triển đầu tư vào công
nghệ và tri thức cơ sở dữ liệu quan hệ là luôn luôn chính xác. Và điều quan trọng hơn nữa
là Hibernate được license theo LGPL (Lesser GNU Public License). Theo đó, bạn có thể
thoải mái sử dụng Hibernate trong các dự án open source hoặc các dự án thương mại
(commercial).
I.2.1.11. Spring.
Spring là một application framework mã nguồn mở, được giới thiệu vào năm
2002. Rod Johnson đã đưa ra ý tưởng này từ kinh nghiệm làm việc với kiến trúc J2EE.
Như Hibernate chống lại CMP về nguyên lý cơ bản của kỹ thuật ORM, Spring
chống lại EJB vì sự phức tạp và không phù hợp cho các unit test. Thay vì EJB, Spring sử
dụng Java bean, với một vài sự thay đổi để thu được tất cả các thuận lợi mà môi trường
EJB đưa ra. Do đó Spring là một sự lựa chọn khác so với EJB.
Page | 10
Ứng dụng Service Directory
___________________________________________________________________________
___

Spring không cố gắng làm lại mọi thứ nhưng hỗ trợ những kỹ thuật tốt nhất cho
mỗi yêu cầu.Thay vì CMP & BMP, Spring hỗ trợ một vài kỹ thuật persistence khác như
JDO, Hiberbate và OJB. Các ORM tool này thì có nhiều khả năng cài đặt hơn CMP.
Spring sử dụng Acegi, một security framework mã nguồn mở và cung cấp để khai
báo security thông qua cấu hình Spring hoặc class metadata, trong khi EJB khai báo
security được cấu hình thông qua mô tả demployment. Spring cung cấp proxying cho
RMI (kỹ thuật remoting đặc biệt như Burlap) JAX-RPC & web-service, trong khi EJB
cung cấp lời gọi phương thức ở xa được quản lý bởi container.
Spring có thể cung cấp khai báo transaction như EJB. Hơn nữa, Spring còn cung cấp
khai báo thủ tục rollback cho các phương thức và exception.
Do đó, trong khi EJB thì cứng và cố gắng làm mọi thứ, một vài công việc tốt nhưng
một số thì không. Spring chỉ sử dụng Java Bean và thông qua một số kỹ thuật đặc biệt để
cung cấp nhiều chức năng như EJB, bằng cách tích hợp với một số kỹ thuật open source
khác.
Do đó, nó cung cấp một vài thuận lợi hơn EJB như:
+ Testing dễ dàng hơn – không cần khởi động EJB container để test.
+ Spring dựa vào quy ước của chuẩn Java Bean, nên các lập trình viên dễ dàng hơn
khi làm việc với nó.
+ Spring sử dụng AOP (Aspect-Oriented Programming), mô hình hữu ích để bổ sung
vào OOP truyền thống và bảo toàn tính nguyên vẹn của OOP.
+ Nó thì uyển chuyển trong việc gắn kết khi tích hợp với nhiều framework khác.
I.3.Giới thiệu qua bài toán.
Do dự án AB hiện chưa có một kho lưu trữ trung tâm cho các dịch vụ mà họ cung
cấp cho các tổ chức. Chính vì vậy, Service Directory được ra đời, nó là một phần của dự
án, dùng để cung cấp một cho dự án một kho lưu trữ trung tâm.
II. Yêu cầu bài toán.
II.1.Giới thiệu chi tiết.
- Tạo ra kho lưu trữ các dịch vụ được cung cấp cho các tổ chức cùng tất cả những thông
tin liên quan về tổ chức đó mà dự án AB cần đến.
- Đề tài gồm 6 Use-case:

+ Logon – Logout: Quản lý đăng nhập – đăng xuất của các User.
Page | 11
Ứng dụng Service Directory
___________________________________________________________________________
___
+ Organisation: Quản lý thông tin của các tổ chức.
+ Service: Quản lý dịch vụ có thể cung cấp.
+ Geography: Quản lý các thông tin theo vùng (huyện/tỉnh).
+ Premises: Quản lý các thông tin theo khu vực.
+ Contact: Quản lý liên lạc giữa tổ chức và dịch vụ cung cấp,
II.2. Yêu cầu.
- Yêu cầu bài toán đặt ra.
+ Ứng dụng cho phép xem, sửa và tạo mới thông tin lưu trữ các dịch vụ và các tổ
chức được cung cấp dịch vụ.
+ Hiển thị các thông báo cần thiết tương ứng với từng hành động được đặc tả trong tài
liệu phân tích yêu cầu người sử dụng.
+ Tổ chức lưu trữ trên thông tin theo dạng các bảng trong một hệ quản trị cơ sở dữ
liệu bất kỳ.
+ Ứng dụng công nghệ Struts2 vào trong quá trình xây dựng web động của ứng dụng.
+ Áp dụng một số công nghệ mới khác vào trong quá trình xây dựng như Hibernate,
Spring …
II.3. Công việc.
- Đọc hiểu tài liệu đặc tả yêu cầu và đặt câu hỏi cho phần modul Premises.
- Hoàn thành Prototype của Use – case Premises.
- Tiến hành ghép Prototype các Use-case lại với nhau.
- Chuyển Prototype sang JSP.
- Xây dựng Class Diagram và Sequence Diagram của Use – case Premises.
- Tiến hành ghép và chỉnh sửa trong tài liệu thiết kế (Software Design Document).
Page | 12
Ứng dụng Service Directory

___________________________________________________________________________
___
- Tạo và hiệu chỉnh một số phần của trong cơ sở dữ liệu của hệ thống.
- Thiết kế, code và test phần Government của use-case Geography.
- Thiết kế, code và test phần action, controller của use-case Organisation.
- Ghép và test các modul đã hoàn thành.
III. Tóm tắt lý thuyết, giải pháp, thuật toán
III.1. Các lý thuyết, giải pháp, thuật toán liên quan
- Quản lý kết nối giữa hệ quản trị CSDL với ứng dụng.
+ Giải pháp: Dùng các công nghệ kết nối để quản lý.
- Bảo vệ mật khẩu người dùng trong cơ sở dữ liệu.
+ Giải pháp: Lưu mật khẩu dưới dạng mã hóa.
+ Thuật toán: Sử dụng thuật toán mã hóa md5.
- Khôi phục mật khẩu
+ Giải pháp: Gửi email cho admin.
- Phân trang.
+ Giải pháp: Lấy một số dữ liệu nhất định trong một lần truy xuất.
- Gửi dữ liệu lên server.
+ Giải pháp: Sử dụng submit form.
+ Thuật toán: Đẩy dữ liệu lên theo từng form thông qua phương thức submit.
III.2. Cách giải quyết của sinh viên.
- Quản lý kết nối:
+ Sử dụng phương thức kết nối JDBC là đơn giản nhất.
+ Ngoài ra, có thể sử dụng các công nghệ khác như Hibernate, Spring ,
- Bảo vệ mật khẩu:
+ Lưu mật khẩu dưới dạng mã md5.
Page | 13
Ứng dụng Service Directory
___________________________________________________________________________
___

+ Khi kiểm tra đăng nhập thì tiến hành băm mật khẩu người dùng nhập vào rồi so
sánh với mật khẩu đã lưu trong cơ sở dữ liệu.
- Khôi phục mật khẩu:
+ Cho người dùng nhập vào email của mình rồi gửi lên server.
+ Hệ thống sẽ kiểm tra và gửi lại link cho phép đặt lại mật khẩu.
- Phân trang:
+ Tiến hành lấy dữ liệu trên SQL Server với điều kiện LIMIT.
- Gửi dữ liệu lên server:
+ Gửi theo từng form bằng lệnh submit.
+ Gửi lên các biến đã được thiết lập giá trị và tiến hành xử lý.
III.3. Liên hệ & so sánh với các cách đã có.
- Quản lý kết nối:
+ Nếu dùng JDBC thì việc quản lý kết nối sẽ phức tạp hơn do người lập trình phải
quản lý việc đóng-mở hợp lý.
+ Nếu dùng công nghệ khác thì việc quản lý kết nối sẽ không cần chú tâm vì các công
nghệ này sẽ tự động quản lý kết nối.
- Bảo vệ mật khẩu:
+ Là cách bảo vệ đơn giản nhất, độ an toàn chưa cao.
- Khôi phục mật khẩu:
+ Là cách đơn giản, dễ dùng.
- Phân trang:
+ Cách này còn phụ vào lệnh truy vấn theo từng cơ sở dữ liệu.
Page | 14
Ứng dụng Service Directory
___________________________________________________________________________
___
+ Cần kết hợp thêm một số công nghệ khác như Ajax
- Gửi dữ liệu lên server:
+ Submit form xử lý theo luồng, không có tính linh hoạt cao, ít dùng.
IV. Kết quả đạt được, hướng phát triển.

IV.1. Kết quả đạt được.
- Hoàn thành được 2 modul Geography, Organisation và một phần modul Contact.
- Ứng dụng được công nghệ Struts 2 Framework vào trong website.
- Tìm hiểu được thêm Framework Hibernate và Spring.
- Ứng dụng Ajax vào trong xử lý Prototype để thông báo tới người dùng và lấy dữ liệu
về client.
IV.2. Kỹ năng & kiến thức thu thập được.
IV.2.1. Về kỹ năng.
- Học được kỹ năng làm việc nhóm, kết hợp giữa các thành viên trong nhóm để đạt
được kết quả tốt nhất.
- Điều hành nhóm vẫn chưa có kỹ năng thành thục.
- Có kỹ năng vận dụng các công nghệ mới vào ứng dụng.
- Làm quen với môi trường làm việc thực tế về tác phong, thời gian
IV.2.2. Về kiến thức.
- Biết cách phân chia các thư mục trong một project, cách đặt tên file, tên biến … theo
đúng chuẩn.
- Học code theo đúng theo chuẩn và comment là rất cần thiết trong một project vì nó
giúp cho công việc phát triển và bảo trì được tiến hành thuận lợi hơn.
- Học được các kỹ năng cơ bản trong lập trình web như phân trang, submit form
Page | 15
Ứng dụng Service Directory
___________________________________________________________________________
___
- Học và vận dụng được các công nghệ mới như Struts2, Hibernate, Spring, Ajax
IV.3. Hướng phát triển tiếp theo để hoàn thiện giải pháp
- Tiến hành hoàn thành các use-case còn chưa hoàn thiện như Organisation, Premises,
Contact.
- Tối ưu hóa cơ sở dữ liệu hiện tại đang sử dụng.
- Áp dụng công nghệ Hibernate và Spring vào quản lý kết nối giữa hệ quản trị cơ sở dữ
liệu với tầng DAO của ứng dụng.

- Áp dụng Ajax vào trong qua trình phân trang.
Page | 16
Ứng dụng Service Directory
___________________________________________________________________________
___
TÀI LIỆU THAM KHẢO
[1] Trang web: />[2] Trang web: />[3] Trang web: />nghe/2005/12/1188434/unit-test-voi-phat-trien-phan-mem-hien-dai/
Page | 17
Ứng dụng Service Directory
___________________________________________________________________________
___
Page | 18
Ý kiến đánh giá:
……………………………………….…………………………
……………………………………….…………………………
……………………………………….…………………………
……………………………………….…………………………
……………………………………….…………………………
……………………………………….…………………………
……………………………………….…………………………
……………………………………….…………………………
Hà Nội, ngày tháng năm 20 .
Người hướng dẫn
(Ký, ghi rõ họ tên & dấu công ty)
Ứng dụng Service Directory
___________________________________________________________________________
___
Page | 19
Ý kiến đánh giá:
……………………………………….…………………………

……………………………………….…………………………
……………………………………….…………………………
……………………………………….…………………………
……………………………………….…………………………
……………………………………….…………………………
……………………………………….…………………………
Điểm số: ……. Điểm chữ: …………
Hà Nội, ngày tháng năm 20 .
Giảng viên đánh giá
(Ký, ghi rõ họ tên)

×