ĐẠ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 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 Hồng Trọng Nghĩa TP HỒ CHÍ MINH, Tháng năm 2020 LỜI CẢM ƠN Lời đầu tiên, xin trân trọng gửi lời cảm ơn đến công ty TMA Solutions tạo điều kiện, hội để tơi có hội thực tập cơng ty Chỉ thời gian ngắn nhờ trợ giúp nhóm trainer, tơi nắm bắt kiến thức quan trọng để nắm bắt quy trình làm việc công nghệ sử dụng công việc nhóm Từ ứng dụng cơng nghệ để áp dựng vào cơng việc thực tế Xin chân thành cảm ơn anh chị nhóm trainer giúp tơi hồn thành tập Đặc biệt, xin chân thành gửi lời cảm ơn đén anh Đào Duy Khanh giúp đỡ cho tận tình khó khăn cơng việc, đến khó khăn việc làm quen với mơi trường mới; cảm ơn anh Nguyễn Hoàng Quân, training Java, hỗ trợ chúng em nhiều vấn đề kỹ thuật Spring framework, coding convention trình thực tập; cảm ơn anh Nguyễn Đỗ Thạnh, dẫn chúng em cách làm báo cáo, lên kế hoạch, kỹ khơng thể thiếu; để làm sản phẩm thời gian qua Cũng xin cảm ơn thầy cô khoa Công nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo Nguyễn Hoàng Trọng Nghĩa Tp.HCM, 29 Tháng năm 2020 Nhận xét khoa MỤC LỤC Mục lục Chương Giới thiệu công ty thực tập 1.1 Giới thiệu công ty TMA Solutions 1.2 Sản phẩm, dịch vụ công ty Chương Nội dung thực tập 2.1 Tìm hiểu cơng ty kỹ công ty 2.2 Nghiên cứu kĩ thuật 2.2.1 Các công cụ làm việc 2.2.2 Java nâng cao 2.2.3 Spring Framework Core 2.2.4 Spring MVC, Spring Data Spring Security 2.2.5 NoSQL MongoDB 2.2.6 RESTful API 2.3 Lịch làm việc Tài liệu tham khảo Trang | Thực tập sinh: Nguyễn Hoàng Trọng Nghĩa Người phụ trách: Đào Duy Khanh CHƯƠNG GIỚI THIỆU CƠNG TY THỰC TẬP 1.1 Giới thiệu cơng ty TMA Solutions TMA Solutions thành lập vào tháng năm 1997, bà Bùi Ngọc Anh thành lập công ty TMA với kỹ sư phòng khách nhà bà TMA Solutions tự hào 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 đội ngũ 2600 kỹ sư tài với khách hàng công ty công nghệ cao hàng đầu 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 phần mềm Top ICT Companies TMA đường phát triển mạnh mẽ, tạo dựng hình ảnh công ty phần mềm Việt động chuyên nghiệp đồ phần mềm giới 1.2 Sản phẩm, dịch vụ công ty - Các dịch vụ 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 thiết bị viễn thông kiểm tra toàn diện trước hệ thống vận hành o Dịch vụ đánh giá an tồn thơng tin Kiểm tra tồn diện an tồn thơng tin lực, bảo mật doanh nghiệp, tìm rủi ro, đề giải pháp khắc phục o Dịch vụ 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 mạng máy tính Thiết kế cài đặt hệ thống mạng máy tính, mạng WiFI, WAN, VPN điện thoại nội Tư vấn, triển khai đào tạo sử dụng phần mềm nguồn mở Trang | Thực tập sinh: Nguyễn Hoàng Trọng Nghĩa Người phụ trách: Đào Duy Khanh CHƯƠNG NỘI DUNG THỰC TẬP 2.1 Tìm hiểu công ty kỹ công ty Nội dung: HR giới thiệu công ty, cấu tổ chức, cách sử dụng thẻ từ email cơng ty cấp Giới thiệu quy trình bảo mật thông tin công ty phúc lợi dành cho nhân viên Kết quả: Hiểu thêm cơng ty TMA Solutions quy trình làm việc 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 công cụ đề làm việc dự án như: Eclipse IDE, SourceTree, RingCentral Kết quả: Có thể sử dụng dễ dàng công cụ làm việc dự án 2.2.2 Java nâng cao Nội dung: Tìm hiểu kỹ thuật nâng cao Java sử dụng dự án như: Collection, Design Pattern, SOLID, CRUD, MVC design pattern Java code convention Kết quả: Hiểu biết kiến thức nâng cao Từ áp dụng thực tế dự án dễ dàng tự tìm hiểu thêm 2.2.3 Spring Framework Core Nội dung: Tự tìm hiểu kỹ thuật Spring core bao gồm: • • • • • Bean Spring XML config Dependency injection IoC containner Spring Spring AOP Maven Bean Scope Kết quả: Hiểu biết framework Spring thành phần cốt lõi Spring cung cấp cho lập trình viên 2.2.4 Spring MVC, Spring Data Spring Security Nội dung: Tìm hiểu cấu trúc dự án spring MVC, thành phần cấu thành Xây dựng ứng dụng demo Spring MVC, sử dụng Spring Data kết nối sở liệu vè Spring security để bảo mật Kết quả: Tìm hiểu cách sử dụng áp dụng Spring MVC vào xây dựng ứng dụng demo có tích hợp với Spring Data Spring Security Trang | 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 MongoDB Nội dung: Tìm hiểu noSQL, biểu diễn noSQL dạng tài liệu JSON cách sử dụng MongoDB để sử dụng quản trị noSQL Kết quả: Nắm tính chất noSQL lưu trữ dạng Json Có thể áp dụng vào project tới 2.2.6 RESTful API Nội dung: - Tìm hiểu RESTful API 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 JSPN binding thư viện Jackson Kết quả: Hiểu cách phát triển RESTful API, chết hoạt động, send get liệu từ client – server Có thể tạo RESTful api đơn giản với Spring framework 2.3 Lịch làm việc • Lịch làm việc: buổi / tuần Tuần Cơng việc Người hướng dẫn - Tìm hiểu công ty quy định công ty - Tìm hiểu dự án, sản phẩm dự án dối tác - Tìm hiểu cơng nghệ công HR cụ sử dụng dự án Đào Duy Khanh - Làm quen với cách làm việc team, giao tiếp phần mềm, viết mail báo cáo cho người phụ trách buổi, giấc làm việc team - Tìm hiểu Java nâng cao + Collection + CRUD Nguyễn Hoàng Quân + Java Convention + Logger - 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 | Thực tập sinh: Nguyễn Hoàng Trọng Nghĩa 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 Spring + Viết số controller đơn giản + Cấu hình file xml, Dispatcher-servlet + JSP / JSTL để làm fornt-end - Spring Data: + Kết nối sở liệu với Spring Nguyễn Hoàng Quân + ORM + Object mapping + Các thư viện Spring data JPA, Spring Data JDBC - Spring Security + integration vào Spring MVC + Oauth Spring Security - xây dựng ứng dụng web demo Tìm hiểu noSQL MongoBD Thực project lớn Nguyễn Hồng Qn cơng nghệ tìm hiểu thời gian thực tập Tìm hiểu RESTful API, Postman để test API Nguyễn Hoàng Quân, Chuyển đồi project thành Restful Nguyễn Đỗ Thạnh API Tìm hiểu 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 ActiveMQ Áp dụng kiến thức tìm hiểu hồn thiện: Nguyễn Hồng Qn + Tách project thành nhiều project nhỏ Gửi tin nhắn với Spring JMS Đạt Đạt Đạt Đạt Đạt Trang | 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 | ... 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... khó khăn việc làm quen với mơi trường mới; cảm ơn anh Nguyễn Hoàng Quân, training Java, hỗ trợ chúng em nhiều vấn đề kỹ thuật Spring framework, coding convention trình thực tập; cảm ơn anh Nguyễn... Trang | Thực tập sinh: Nguyễn Hoàng Trọng Nghĩa Người phụ trách: Đào Duy Khanh CHƯƠNG GIỚI THIỆU CÔNG TY THỰC TẬP 1.1 Giới thiệu công ty TMA Solutions TMA Solutions thành lập vào tháng