ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
LẬP TRÌNH BACKEND VỚI JAVA
Cơng ty thực tập:
TMA Solutions
Người phụ trách:
Đào Duy Khanh
Thực tập sinh: Nguyễn Hoàng Trọng Nghĩa
TP. HỒ CHÍ MINH, Tháng 7 năm 2020
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
LẬP TRÌNH BACKEND VỚI
SPRING FRAMEWORK
Cơng ty thực tập:
TMA Solutions
Người phụ trách:
Đào Duy Khanh
Thực tập sinh: Nguyễn Hoàng Trọng Nghĩa
TP. HỒ CHÍ MINH, Tháng 7 năm 2020
LỜI CẢM ƠN
Lời đầu tiên, tôi xin trân trọng gửi lời cảm ơn đến công ty TMA Solutions đã
tạo điều kiện, cơ hội để tơi có cơ hội được thực tập tại công ty.
Chỉ trong một thời gian ngắn nhờ sự trợ giúp của nhóm trainer, tơi đã có thể
nắm bắt được những kiến thức quan trọng để có thể cơ bản nắm bắt được quy trình làm
việc của và các công nghệ được sử dụng trong công việc của nhóm. Từ đó có thể ứng
dụng các cơng nghệ đó để áp dựng vào công việc thực tế. Xin chân thành cảm ơn các
anh chị trong nhóm trainer đã giúp tơi hồn thành kỳ thực tập này.
Đặc biệt, tơi xin chân thành gửi lời cảm ơn đén anh Đào Duy Khanh đã giúp đỡ
cho tơi tận tình cả những khó khăn trong cơng việc, đến những khó khăn việc làm quen
với mơi trường mới; cảm ơn anh Nguyễn Hồng Qn, đã training Java, hỗ trợ chúng
em rất nhiều về các vấn đề kỹ thuật về Spring framework, coding convention trong quá
trình thực tập; cảm ơn anh Nguyễn Đỗ Thạnh, đã chỉ dẫn chúng em về cách làm báo
cáo, lên kế hoạch, những kỹ năng khơng thể thiếu; để có thể làm ra một sản phẩm trong
thời gian qua.
Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ,
tạo điều kiện em làm bài báo cáo này.
Nguyễn Hoàng Trọng Nghĩa
Tp.HCM, 29 Tháng 7 năm 2020
Nhận xét của khoa
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
MỤC LỤC
Mục lục ...................................................................................................................... 1
Chương 1. Giới thiệu công ty thực tập ........................................................................ 2
1.1. Giới thiệu công ty TMA Solutions .................................................................... 2
1.2. Sản phẩm, dịch vụ của công ty ......................................................................... 2
Chương 2. Nội dung thực tập ...................................................................................... 3
2.1. Tìm hiểu công ty và các kỹ năng trong công ty. ................................................ 3
2.2. Nghiên cứu kĩ thuật. ......................................................................................... 3
2.2.1. Các công cụ làm việc.................................................................................. 3
2.2.2. Java nâng cao ............................................................................................. 3
2.2.3. Spring Framework Core ............................................................................. 3
2.2.4. Spring MVC, Spring Data và Spring Security............................................. 3
2.2.5. NoSQL và MongoDB ................................................................................. 4
2.2.6. RESTful API .............................................................................................. 4
2.3. Lịch làm việc. ................................................................................................... 4
Tài liệu tham khảo ...................................................................................................... 6
Trang | 1
Thực tập sinh: Nguyễn Hoàng Trọng Nghĩa
Người phụ trách: Đào Duy Khanh
CHƯƠNG 1. GIỚI THIỆU CÔNG TY THỰC TẬP
1.1. Giới thiệu công ty TMA Solutions
TMA Solutions được thành lập vào tháng 3 năm 1997, bà Bùi Ngọc Anh thành
lập công ty TMA với 6 kỹ sư tại phòng khách nhà bà. TMA Solutions tự hào là công ty
phần mềm hàng đầu Việt Nam với 22 năm phát triển vững mạnh và đội ngũ hơn 2600
kỹ sư tài năng với khách hàng là các công ty công nghệ cao hàng đầu thế giới từ 27
nước. Nhiều năm liền TMA vinh dự đạt huy chương vàng đơn vị xuất khẩu phần mềm
và Top 5 ICT Companies. TMA đang trên con đường phát triển mạnh mẽ, tạo dựng
hình ảnh một cơng ty phần mềm Việt năng động và chuyên nghiệp trên bản đồ phần
mềm thế giới.
1.2. Sản phẩm, dịch vụ của công ty
-
Các dịch vụ chính của cơng ty:
o Dịch vụ giải pháp phần mềm.
▪ Tư vấn lựa chọn giải pháp
▪ Tích hợp phần mềm
▪ Phần mềm mạng viễn thông
▪ Ứng dụng di động
▪ Ứng dụng quản lý kinh doanh
o Dịch vụ triển khai mạng viễn thông. Lắp đặt, nâng cấp mạng và thiết bị
viễn thơng và kiểm tra tồn diện trước khi hệ thống vận hành.
o Dịch vụ đánh giá an toàn thơng tin. Kiểm tra tồn diện sự an tồn thơng
tin và năng lực, bảo mật của doanh nghiệp, tìm ra những rủi ro, đề ra
những giải pháp khắc phục.
o Dịch vụ cơ sở hạ tầng thông tin. Tư vấn, lựa chọn giải pháp cho hệ
thống thông tin và mạng máy tính. Thiết kế và cài đặt hệ thống mạng
máy tính, mạng WiFI, WAN, VPN và điện thoại nội bộ. Tư vấn, triển
khai và đào tạo về sử dụng phần mềm nguồn mở.
Trang | 2
Thực tập sinh: Nguyễn Hoàng Trọng Nghĩa
Người phụ trách: Đào Duy Khanh
CHƯƠNG 2. NỘI DUNG THỰC TẬP
2.1. Tìm hiểu cơng ty và các kỹ năng trong công ty.
Nội dung: HR giới thiệu về công ty, cơ cấu tổ chức, cách sử dụng thẻ từ và email được
công ty cấp. Giới thiệu về các quy trình bảo mật thơng tin của công ty cũng như các
phúc lợi dành cho nhân viên.
Kết quả: Hiểu thêm về công ty TMA Solutions cũng như các quy trình làm việc tại cơng
ty.
2.2. Nghiên cứu kĩ thuật.
2.2.1. Các cơng cụ làm việc
Nội dung: Tìm hiểu về các công cụ đề làm việc trong dự án như: Eclipse IDE,
SourceTree, RingCentral.
Kết quả: Có thể sử dụng dễ dàng các công cụ làm việc trong dự án.
2.2.2. Java nâng cao
Nội dung: Tìm hiểu về các kỹ thuật nâng cao trong Java đang được sử dụng trong dự
án như: Collection, Design Pattern, SOLID, CRUD, MVC design pattern và Java code
convention.
Kết quả: Hiểu biết cơ bản về các kiến thức nâng cao. Từ đó khi áp dụng thực tế trong
dự án dễ dàng hơn hoặc có thể tự tìm hiểu thêm.
2.2.3. Spring Framework Core
Nội dung: Tự tìm hiểu về các kỹ thuật cơ bản của Spring core bao gồm:
•
•
•
•
•
Bean trong Spring và XML config.
Dependency injection và IoC containner trong Spring.
Spring AOP.
Maven.
Bean Scope.
Kết quả: Hiểu biết cơ bản về framework Spring cũng như các thành phần cốt lõi được
Spring cung cấp cho lập trình viên.
2.2.4. Spring MVC, Spring Data và Spring Security.
Nội dung: Tìm hiểu cấu trúc một dự án spring MVC, và các thành phần cấu thành như
. Xây dựng một ứng dụng demo về Spring MVC, sử dụng Spring Data kết nối cơ sở dữ
liệu vè Spring security để bảo mật.
Kết quả: Tìm hiểu cách sử dụng và áp dụng Spring MVC vào xây dựng một ứng dụng
demo có tích hợp với Spring Data và Spring Security.
Trang | 3
Thực tập sinh: Nguyễn Hoàng Trọng Nghĩa
Người phụ trách: Đào Duy Khanh
2.2.5. NoSQL và MongoDB
Nội dung: Tìm hiểu về noSQL, biểu diễn noSQL dạng tài liệu JSON và cách sử dụng
MongoDB để sử dụng và quản trị noSQL.
Kết quả: Nắm được các tính chất của một noSQL được lưu trữ dưới dạng Json. Có thể
áp dụng vào project sắp tới.
2.2.6. RESTful API
Nội dung:
-
Tìm hiểu RESTful API trong dịch vụ web.
HTTP status code với REST.
Các nguyên tắc thiết kế API: Đặt tên URL, middleware, …
XML và JSPN binding bằng thư viện Jackson.
Kết quả: Hiểu được cơ bản cách phát triển một RESTful API, cơ chết hoạt động, send
và get dữ liệu từ client – server. Có thể tạo được các RESTful api đơn giản với Spring
framework.
2.3. Lịch làm việc.
• Lịch làm việc: 3 buổi / tuần
Tuần Cơng việc
Người hướng dẫn
1
- Tìm hiểu về công ty và các quy
định của công ty.
- Tìm hiểu về dự án, sản phẩm của
dự án và dối tác.
- Tìm hiểu về cơng nghệ và cơng
HR
cụ được sử dụng trong dự án.
Đào Duy Khanh
- Làm quen với cách làm việc trong
team, giao tiếp bằng phần mềm,
viết mail báo cáo cho người phụ
trách mỗi buổi, giờ giấc làm việc
của team.
2
- Tìm hiểu Java nâng cao
+ Collection.
+ CRUD
Nguyễn Hồng Quân
+ Java Convention.
+ Logger
3
- Tìm hiểu Spring core
+ Dependency Injection / IoC
Nguyễn Hoàng Quân
containner.
+ Bean Factory
Nhận xét
Đạt
Đạt
Đạt
Trang | 4
Thực tập sinh: Nguyễn Hoàng Trọng Nghĩa
4
5
6
7
8
Người phụ trách: Đào Duy Khanh
+ Spring XML configuration /
Java-based Container
Configuration.
+ Spring application work flow
- Tìm hiểu Spring MVC:
+ MVC trong Spring.
+ Viết một số controller đơn giản
+ Cấu hình các file xml,
Dispatcher-servlet.
+ JSP / JSTL để làm fornt-end.
- Spring Data:
+ Kết nối cơ sở dữ liệu với
Spring.
Nguyễn Hoàng Quân
+ ORM
+ Object mapping.
+ Các thư viện con như Spring
data JPA, Spring Data JDBC.
- Spring Security
+ integration vào Spring MVC.
+ Oauth bằng Spring Security.
- xây dựng một ứng dụng web
demo.
Tìm hiểu về noSQL và MongoBD.
Thực hiện project lớn bằng các
Nguyễn Hồng Qn
cơng nghệ đã tìm hiểu trong thời
gian thực tập.
Tìm hiểu về RESTful API,
Postman để test API.
Nguyễn Hồng Qn,
Chuyển đồi project thành Restful
Nguyễn Đỗ Thạnh.
API.
Tìm hiểu về SOLID. Hoàn thiện lại
đồ án theo nguyên tắc thiết kế
Nguyễn Hồng Qn.
SOLID
Tìm hiểu JMS API, Spring JMS và
ActiveMQ.
Áp dụng các kiến thức đã tìm hiểu
và hồn thiện:
Nguyễn Hồng Quân.
+ Tách project thành nhiều
project nhỏ hơn. Gửi tin nhắn với
nhau bằng Spring JMS.
Đạt
Đạt
Đạt
Đạt
Đạt
Trang | 5
Thực tập sinh: Nguyễn Hoàng Trọng Nghĩa
Người phụ trách: Đào Duy Khanh
TÀI LIỆU THAM KHẢO
Tài liệu Tiếng Việt
[1] Slides môn Công Nghệ Phần mềm chuyên sâu, Ths Trần Anh Dũng
[2] Slides mơn Phân tích Thiết kế Hệ thống thơng tin, Trường Đại học Công nghệ
thông tin.
[3] Slides môn Nhập môn Công Nghệ phần mềm, TS Nguyễn Tấn Trần Minh Khang
Tài liệu Tiếng Anh
[4] Eric J. Braude, Michael E. Bernstein (2011). Software Engineering Modern
Approaches 2nd.
Trang | 6