Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 41 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
41
Dung lượng
2,91 MB
Nội dung
1 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 XÂY DỰNG RESTFUL API WEB SERVICE VỚI SPRING BOOT FRAMEWORK Công ty thực tập : TMA Solutions Người phụ trách : Nguyễn Đức Quang Thực tập sinh : Lê Thanh Quang Nguyễn Đức Quang Lê Thanh Quang TP Hồ Chí Minh, tháng 12 năm 2021 Nguyễn Đức Quang Lê Thanh Quang LỜI MỞ ĐẦU Công nghệ thông tin Internet ngày phát triển đổ vào hầu hết khu vực giới ngóc ngách đời sống xã hội Với phát triển mạnh mẽ internet, cách người làm việc giải trí giới đại gắn liền với vô số hệ thống hoạt động qua mạng Và để hệ thống hoạt động, cần web service Web service phần quan trọng hệ thống phần mềm Từ website, desktop application, game,… tất cần web application backend để hoạt động hiệu Những công việc xây dựng web service công việc phổ biến ngành công nghiệp phần mềm Sau năm học tập trường, mong muốn có thêm kinh nghiệm thực tế, muốn tham gia làm việc môi trường làm việc chuyên nghiệp, em đến thực tập TMA Solutions – môi trường tốt học tập trao dồi kỹ năng, giúp thân có thêm nhiều kinh nghiệm thực tế nơi để theo đuổi sứ mệnh “Phát triển Internet để thay đổi sống người Việt Nam” Nguyễn Đức Quang Lê Thanh Quang LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Công ty TMA Solutions tạo điều kiện cho em có hội thực tập công ty Chỉ thời gian ngắn, nhờ dẫn nhiệt tình anh chị nhóm, nhờ thân có kiến thức bổ ích mặt kỹ thuật chun mơn lẫn kỹ mềm Chân thành cảm ơn anh chị nhóm dành nhiều thời gian, cơng sức hướng dẫn hoàn thành tập Đặc biệt cảm ơn anh Nguyễn Đức Quang anh Hồ Văn Minh Nhật, có góp ý, đưa ý kiến, lời hướng dẫn tận tình cơng việc tạo điều kiện để dẹp bỏ bỡ ngỡ với môi trường mới; cảm ơn anh training kiến thức tảng quan trọng, tận tình hướng dẫn, giảng dạy em suốt trình học tập, nghiên cứu làm việc TMA Solutions 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 Quang TpHCM, 20/12/2021 Nguyễn Đức Quang Lê Thanh Quang NHẬN XÉT CỦA KHOA Nguyễn Đức Quang Lê Thanh Quang MỤC LỤC MỤC LỤC Chương 1: Giới thiệu công ty thực tập Giới thiệu công ty Gameloft .2 Sản phẩm công ty Chương 2: Nội dung thực tập .3 Tìm hiểu cơng ty kỹ công ty Nghiên cứu kỹ thuật Thực project Lịch làm việc Chương 3: Chi tiết project .9 Giới thiệu Game .9 Thực 11 Kế hoạch 11 TÀI LIỆU THAM KHẢO 13 TỔNG KẾT 14 Nguyễn Đức Quang Lê Thanh Quang Chương 1: Giới thiêu công ty thực tập Giới thiệu công ty TMA Solutions TMA Solutions thành lập năm 1997, công ty phần mềm hàng đầu Việt Nam Với phát triển bền vững nhân lực, nay, TMA xây dựng đội ngũ 3000 kỹ sư trẻ, nhiệt huyết nhận tin cậy, đánh giá cao từ phía khách hàng TMA Solutions đối tác tin cậy có nhiều năm kinh nghiệm thực dự án lớn phức tạp với công nghệ với 100 khách hàng đến từ 30 quốc gia giới Sản phẩm công ty TMA chuyên cung cấp dịch vụ: Visual Design Software Testing Porting & Migration Production Support IT Managed Services Software Development TMA cung cấp giải pháp cho nhiều lĩnh vực: Telecom Finance & Insurance E-Commerce, Retail & Distribution ISV (Independent Software Vendor) Media & Publishing Nguyễn Đức Quang Lê Thanh Quang Healthcare Education Hospitality & Travel Logistics & Transportation Nguyễn Đức Quang Lê Thanh Quang Chương 2: Nội dung thực tập IT ngành phát triển liên tục, công nghệ kiến thức thay đổi theo ngày Sinh viên vừa trường chưa có nhiều kinh nghiệm chuyên môn lẫn kỹ mềm kiến thức trường mức chưa tiếp xúc nhiều vào dự án thực tế Khóa thực tập giúp sinh viên bổ sung thêm kỹ chuyên môn kỹ mềm, giúp sinh viên có tư đắn nghề đồng thời tạo điều kiện cho sinh viên hịa nhập tốt với mơi trường làm việc công ty Sẽ giúp sinh viên trang bị số kiến thức việc thiết kế phát triển hệ thống thông tin Nắm sử dụng công cụ phát triển phần mềm, Spring Boot Framework Hiểu số Design Pattern thông dụng Nắm kiến thức sở liệu quan hệ Từ thực project áp dụng kiến thức tìm hiểm được, nhằm mục đích hiểu cách xây dựng triển khai hệ thống, biết ứng dụng cơng nghệ để có kiến trúc phù hợp cho kết mong đợi Tìm hiểu cơng ty kỹ công ty Thời gian : ngày Nội dung : Giới thiệu công ty, cách tổ chức công ty - Được anh chị giới thiệu công ty, thông qua quy định quyền lợi cho nhân viên thực tập công ty Được giới thiệu tổng quan cách công ty vận hành, quy trình làm việc nhóm thực tập - Được phổ biến cách làm việc công ty quy định số buổi diện, thời gian làm việc, quy định chung quy định riêng nhóm nhỏ - Được phổ biến điều khoản bảo mật, bảo vệ thông tin khách hàng, cách sử dụng mail, sử dụng công cụ liên lạc quản lý, cách sử dụng Microsoft Teams cho công việc hàng ngày Kết : Hiểu quy trình làm việc cơng ty, rèn luyện tinh thần trách nhiệm tính kỷ luật thời gian hồn thành deadline, làm việc có kế hoạch Ngồi cịn có hội gặp gỡ người tài công ty Nghiên cứu kỹ thuật 2.1 Các công cụ làm việc Thời gian : ngày Nội dung : Tìm hiểu cơng cụ sử dụng q trình làm việc - Cách sử dụng IDE thông dụng IntelliJ, Visual Studio Code - Cách sử dụng database database client - Tìm hiểu cách sử dụng công cụ dùng để kiểm tra API Postman Nguyễn Đức Quang Lê Thanh Quang 10 - 2.2 Cách thức làm việc nhóm với Git, cấp tài khoản truy cập vào repo chung công ty Cũng làm quen với cách sử dụng source control để tạo quản lý dự án - Tìm hiểu cách sử dụng công cụ quản lý, theo dõi tiến độ dự án Jira - Tìm hiểu cách sử dụng cơng cụ Docker, Jenkins để deploy sản phẩm sau phát triển Thực : Tìm hiểu, sử dụng công cụ viết lại tài liệu trình sử dụng Kết : - Tận dụng cơng cụ để hồn thành cơng việc tối ưu thời gian cơng sức - Có thể kết hợp công cụ cho kết công việc hiệu - Xử lý tình làm việc nhóm Tìm hiểu Spring Framework Thời gian : ngày Nội dung : Được training Spring Framework - Spring framework có mặt thập kỷ , Spring framework cung cấp mơ hình lập trình cấu hình tồn diện cho ứng dụng Java Enterprise - Với Spring Framework nhà phát triển tạo mã có hiệu suất cao, dễ kiểm thử sử dụng lại Các tính core Spring Framework sử dụng việc phát triển ứng dụng Java xây dựng ứng dụng web tảng Java EE Mục tiêu Spring Framework làm cho việc phát triển ứng dụng J2EE dễ dàng thúc đẩy việc lập trình tốt mơ hình POJO-based - Spring Framework phát triển dựa quan điểm sau: o Đơn giản hóa công việc phát triển thông qua việc sử dụng đối tượng Java đơn giản hay gọi POJO (Plain Old Java Object) o Nới lỏng ràng buộc thành phần thông qua việc sử dụng Dependency Injection viết interface o Tiếp cận lập trình khai báo cách sử dụng quy tắc (convention) khía cạnh chung o Giảm thiểu mã nghi thức soạn sẵn (boilerplate) thông qua việc sử dụng khn mẫu (template) khía cạnh Spring Framework thường sử dụng phát triển hệ thống quy mô lớn Thực : - Tham gia đầy đủ buổi training cơng ty - Tìm hiểu kiến thức liên quan Kết : Nguyễn Đức Quang Lê Thanh Quang 27 - Tạo package model jpa com.tma.tlab.api - Tạo file Subject.class package model Nguyễn Đức Quang Lê Thanh Quang 28 - Tạo interface đặt tên CommonJpaRepository package com.tma.tlab.api.jpa - Tạo interface đặt tên SubjectJpaRepository package com.tma.tlab.api.jpa - Sửa lại file Hellocontroller.class để kiểm thử SubjectJpaRepository Kha i báo SubjectJpaRepository - Tắt server chạy file Application.class Nguyễn Đức Quang Lê Thanh Quang 29 - Chạy đường dẫn trình duyệt: http://localhost:9090/api/Sau kiểm tra console IDE Bước 3: Tương tự, tạo tất jpaRepository model CSDL Nguyễn Đức Quang Lê Thanh Quang 30 3.3 Katharsis JSON API Bước 1: Thêm phụ thuộc katharsis vào pom.xml ```java 1.8 3.0.2 Nguyễn Đức Quang Lê Thanh Quang 31 ``` ```java io.katharsis katharsis-core ${katharsis.version} io.katharsis katharsis-spring ${katharsis.version} ``` Bước 2: Sửa Subject.class để mô tả tài nguyên “subjects” CSDL - Thêm thích @JsonApiResource, @JsonApiId - Thiết lập mối quan hệ thích @JsonApoRelation Nguyễn Đức Quang Lê Thanh Quang 32 - Tài nguyên Subject có quan hệ nhiều với Area - Tương tự, thiết lập quan hệ cho tất model CSDL Bước 3: Tạo package repository com.tma.tlab.api Nguyễn Đức Quang Lê Thanh Quang 33 Nguyễn Đức Quang Lê Thanh Quang 34 Bước 4: tạo interface SubjectRepository package com.tma.tlab.api.repository Bước 5: Tạo class SubjectRepositoryImpl com.tma.tt.api.repository Bước 6: Thêm KatharsisConfigV3 vào Application class Nguyễn Đức Quang Lê Thanh Quang 35 Bước 7: Sửa application.properties để xác định đường dẫn cho Json API service Bước 8: Khởi động lại Server Bước 9: Dùng trình duyệt để kiểm tra JSON service Nguyễn Đức Quang Lê Thanh Quang 36 Phần 4: Cài đặt Postman Tải cài đặt Postman theo đường dẫn: https://www.getpostman.com Yêu cầu GET: [http://localhost:9090/api/subjects] Nguyễn Đức Quang Lê Thanh Quang 37 Yêu cầu GET: Lấy subject có id [http://localhost:9090/api/subjects/1] Yêu cầu POST : Tạo subject mới, dòng insert vào CSDL [http://localhost:9090/api/subjects] ```java { "data": { "type": "subjects", "attributes": { "description": "Test 3" } } } ``` Nguyễn Đức Quang Lê Thanh Quang 38 Yêu cầu PATCH request: Cập nhật subject có id = http://localhost:9090/api/subjects/3 ```java { Nguyễn Đức Quang Lê Thanh Quang 39 "data": { "type": "subjects", "attributes": { "description": "Test UPDATE HERE" } } } ``` Nguyễn Đức Quang Lê Thanh Quang 40 TÀI LIỆU THAM KHẢO [1] Keith, Mike, Schincariol, Merrick, [2013], Pro JPA - 2nd Edition [2] CRAIG WALLS , Spring Boot in Action [3] CRAIG WALLS , Spring in Action - 4th Edition Nguyễn Đức Quang Lê Thanh Quang 41 TỔNG KẾT Kết quả, web service hoạt động kết nối thơng qua Postman, sẵn sàng kết nối với frontend Hệ thống đọc liệu từ database thông qua Spring Data JPA chuyển sang định dạng JSON để trả thông qua API Cuối cùng, chân thành cảm ơn anh chị team dành thời gian theo dõi, đưa ý kiến đóng góp, partten xử lý gặp lỗi phát sinh cung cấp kiến thức vơ q giá nhờ em hoàn thành project Chân thành cảm ơn Nguyễn Đức Quang Lê Thanh Quang ... hiểu Spring Framework - Tìm hiểu Spring Boot Framework xây dựng Resful web service Spring Boot - Xây dựng Resful web service Spring Boot - Tìm hiểu Spring Data JPA - Kết nối Spring Data JPA với. .. Runtime Tìm hiểu Spring Boot Framework Thời gian : ngày Nội dung: Các kiến thức Spring Boot Framework, khác Spring MVC Spring Boot, ý tưởng Spring Boot - Khái niệm Spring Boot Spring framework tồn... Thực project Sau gần tháng training thực hành, thực tập sinh nắm kiến thực web service, Spring Boot, Spring Data JPA Trong tháng thứ hai, thực tập sinh áp dụng kiến thức học để thực project Restful