Trang 5 DANH MỤC CÁC TỪ VIẾT TẮT VÀ KÝ HIỆU TOÁN HỌC Từ viết tắt JRE Java Runtime Environment Môi trường Java XML Extensible Markup Language Ngôn ngữ đánh dấu mở rộng Spring Spring Fr
Trang 1Trang 1
MỤC LỤC
LỜI CAM ĐOAN 3
LỜI CẢM ƠN 4
DANH MỤC CÁC TỪ VIẾT TẮT VÀ KÝ HIỆU TOÁN HỌC 5
Từ viết tắt 5
DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU 7
Hình vẽ 7
LỜI MỞ ĐẦU 9
Tính cấp thiết 9
Mục tiêu của đề tài 9
Nội dung nghiên cứu 10
Đối tượng phạm vi nghiên cứu 10
Kết quả của đề tài 11
Chương 1 – TỔNG QUAN 12
1.1 Tổng quan về thông dịch mã nguồn 12
1.1.1 Ngôn ngữ biên dịch 12
1.1.2 Ngôn ngữ thông dịch 13
1.2 Phát biểu bài toán 13
1.3 Chọn hướng giải quyết 14
Chương 2 - XÂY DỰNG BỘ ĐỌC DỮ LIỆU CHO FRAMEWORK 16
2.1 Xây dựng hàm đọc file từ webservices 16
2.2 Xây dựng thư viện cho việc đọc file class tiêu chuẩn 19
2.2.1 Mô hình class tiêu chuẩn 19
2.2.2 Xây dựng thư viện core java để đọc các class tiêu chuẩn 20
Chương 3 – CHUYỂN ĐỔI SANG JSON TỪ CLASS TIÊU CHUẨN 22
3.1 Giới thiều về Json 22
3.2 Cấu trúc một Json 22
3.3 So sánh Json và XML: 27
Trang 2Trang 2
3.4 Chuyển mã nguồn từ Class tiêu chuẩn thành file Json: 28
Chương 4 - XÂY DỰNG WEBSERVICES NHẬN, TRẢ JSON 32
4.1 Giới thiệu mô hình Spring MVC 32
4.2 Xây dựng Web services 33
Chương V - XÂY DỰNG THƯ VIỆN CHO WINDOWS PHONE 39
5.1 Lập trình Windows Phone 8: 39
5.1.1 Khái niệm Windows phone 39
5.1.2 Kiến trúc Windows phone 39
5.2 Xây dựng chương trình trên windows phone nhận trả file json 44
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA LUẬN VĂN 54
Kết luận 54
Hướng phát triển của đề tài 54
TÀI LIỆU THAM KHẢO 55
Trang 3Trang 3
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là công trình nghiên cứu của chính bản thân Các kết quả nghiên cứu trong luận văn là trung thực và chưa được công bố trong các công trình nào khác
Tác giả luận văn
Nguyễn Hùng Anh
Trang 4Trang 4
LỜI CẢM ƠN
Luận văn được hoàn thành tại trường Đại học bách khoa Hà Nội, là kết quả của
khoá cao học CH2013B
Đầu tiên cho phép tôi chân thành cám ơn tới Thầy giáo TS.Lã Thế Vinh đã trực
tiếp hướng dẫn và sửa chữa trong suốt thời gian nghiên cứu hoàn thành luận văn
này
Tôi cũng xin bày tỏ lòng biết ơn sâu sắc tới các thầy cô giáo Viện đào tạo sau
đại học đã tham gia giảng dạy lớp Cao học ngành công nghệ thông tin Tôi xin cảm
ơn gia đình, các đồng nghiệp, các phòng ban chức năng và bạn bè đã giúp đỡ động
viên tôi trong suốt thời gian học tập và hoàn thiện luận văn
Xin chân thành cảm ơn!
Người thực hiện
Trang 5Trang 5
DANH MỤC CÁC TỪ VIẾT TẮT VÀ KÝ HIỆU TOÁN HỌC
Từ viết tắt
JRE Java Runtime Environment Môi trường Java
XML Extensible Markup Language Ngôn ngữ đánh dấu mở rộng Spring Spring Framework Framework theo mô hình Spring
AOP Aspect Oriented Programming Kỹ thuật lập trình cho phép đóng
gói những hành vi có liên quan đến nhiều lớp
MVC Model View Control Mô hình Dữ liệu- Hiển thị- Điều
khiển
JSON Java Script Object Notation Cú pháp để lưu trữ và trao đổi
thông tin văn bản
SOAP Simple Object Access protocol Giao thức sử dụng XML để định
nghĩa dữ liệu dạng thuần văn bản
DAO Data Access Object Đối tượng truy cập dữ liệu
Trang 6Trang 6
DOM Document Object Model Mô hình các đối tượng trong tài
liệu HTML
JDBC Java Database Connectivity Phương thức kết nối cơ sở dữ
liệu của Java
Trang 7Trang 7
DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU
Hình vẽ
Hình 1.1: Quá trình biên dịch 12
Hình 1.2: Quá trình thông dịch 13
Hình 1.3: Mô hình tổng thể giải quyết bài toán 15
Hình 2.1: Luồng làm việc của java 17
Hình 2.2: Mô hình UML cho việc đọc File 18
Hình 2.3 Thư viện core java 20
Hình 3.1: Mô hình JSON dạng đối tượng 22
Hình 3.2: Mô hình JSON kiểu mảng 24
Hình 3.3: Tổng quan các dịch vụ với sự hỗ trợ của JSON 25
Hình 3.4: Các mô hình lưu trữ json 26
Hình 3.5: Lưu dữ liệu Json vào ổ đĩa 29
Hình 3.6: Hướng dẫn mở file Json bằng NotePad 30
Hình 3.7: Kết quả file Json 30
Hình 4.1: Mô hình nhận file json từ client 32
Hình 4.2: Tạo web services 34
Hình 4.3: Kết quả trả về của web services trên trình duyệt 37
Hình 4.4: Kết quả sau khi sửa đường dẫn URL 37
Hình 4.5: Kết quả của web services khi sử dụng đường dẫn server 38
Hình 5.1: kiến trúc Windows phone 39
Hình 5.2: Mô hình điều hướng trong Windows phone 40
Hình 5.3: Điều hướng của 3 trang 41
Hình 5.4: Thiết kế màn hình đăng nhập 41
Hình 5.5: Cơ chế đăng nhập và chứng thực 42
Hình 5.6: Cập nhật CSDL với Web services 42
Hình 5.7: Mối liên kết giữa Code behide với giao diện 43
Trang 8Trang 8
Hình 5.8: Mô hình các lớp MVVM 44
Hình 5.9: Giao diện để nhận trả Json 45
Hình 5.10: Kết quả Web services trả về 48
Hình 5.10: Cách lấy địa chỉ máy 48
Hình 5.11: Kết quả thực hiện chương trình 52
Trang 9Hiện nay có thể nói là thời kỳ phát triển các thiết bị di động với tốc độ vũ bão nhất từ trước đến nay Nếu bàn hệ điều hành cho thiết bị di động thì hiện nay có 2
hệ điều hành chiếm thị phần lớn nhất đó là IOS và Android Sự ra đời của điện thoại dùng hệ điều hành Windows Phone 7 là kết quả của việc xây dựng lại hoàn toàn hệ điều hành di động của Microsoft và mở đầu cho những nổ lực của hãng để dành lại thị phần di động vốn rất có tính cạnh tranh này Sau Windows Phone 7 Microsoft cho ra đời Windows Phone 8 ngày càng khẳng định vị thế của Windows Phone Vì vậy tác giả muốn vận dụng kiến thức để tìm hiểu, phân tích việc thực thi một mã nguồn của ngôn ngữ lập trình trên Windows Phone
Mặc dù, tác giả cố gắng hoàn thành bài luận văn trong khoảng thời gian và khả năng cho phép Tuy nhiên không thể tránh khỏi những sai sót, tác giả mong muốn nhận được những đánh giá khách quan và công tâm nhất từ phía hội động để bài luận văn trở nên hoàn chỉnh hơn
Mục tiêu của đề tài
Trong luận văn này tác giả sẽ nghiên cứu sự chuyển đổi ngôn ngữ lập trình trên Windows phone thông qua webservices
Trang 10Trang 10
Luận văn đưa ra giải pháp dùng ngôn ngữ lập trình java chuyển đổi một chương trình nguồn viết bằng ngôn ngữ bất kỳ (ngôn ngữ được đưa ra để minh họa là một class tiêu chuẩn) sang dạng file json đặt ở server, Windows Phone sẽ nhận file json này thông qua webservice restful và sẽ sử dụng engine( cơ chế) được cài đặt để thực thi nội dung của chương trình nguồn ban đầu
Nội dung nghiên cứu
Luận văn gồm phần mở đầu, 05 chương và kết luận
Chương 1: Nghiên cứu về tổng quan, đưa ra mô hình hệ thống và hướng giải quyết
Chương 2: Xây dựng bộ đọc dữ liệu cho framework
Chương 3: Chuyển đổi sang json từ class tiêu chuẩn
Chương 4: Xây dựng webservices nhận, trả json
Chương 5: Xây dựng chương trình cho Windows Phone thực thi nội dung file json
Cuối cùng là kết luận, hướng nghiên cứu tiếp theo của luận văn
Đối tượng phạm vi nghiên cứu
Trong luận văn này chúng ta sẽ tập trung nghiên cứu sự chuyển đổi giữa các class tiêu chuẩn từ các thiết bị vào windows phone thông qua webservices restful Luận văn tập trung nghiên cứu sự tương thích của việc chuyển đổi này vào Windows phone, một hệ điều hành Microsoft hổ trợ cho thiết bị điện thoại di động
Trang 11Trang 11
Luận văn tập trung nghiên cứu cơ bản những class tiêu chuẩn tiêu biểu nhất, phân tích kết cấu class, sự chuyển đổi khi chuyển từ hệ thống này sang Windows phone
Kết quả của đề tài
Nghiên cứu tổng quan sự chuyển đổi class tiêu chuẩn thông qua webservice restful, từ đó sẽ được chuyển đổi về Windows phone
Giới thiệu cơ bản về Windows phone, sự hổ trợ mạnh mẽ của webservices từ Windows phone
Xây dựng được mô hình khả thi để các chương trình viết bằng ngôn ngữ bất kỳ có thể được chuyển đến và thực thi trên Windows Phone
Trang 12Trang 12
Chương 1 – TỔNG QUAN
1.1 Tổng quan về thông dịch mã nguồn
Có rất nhiều ngôn ngữ lập trình trên thế giới Một số được gọi là ngôn ngữ biên dịch, và phần mềm sử dụng để hiện thực ngôn ngữ đó được gọi là trình biên dịch Một số ngôn ngữ khác được gọi là ngôn ngữ thông dịch và phần mềm hiện thực ngôn ngữ đó được gọi là trình thông dịch Khái niệm này cũng không hoàn toàn chính xác bởi biên dịch và thông dịch chỉ là những cách hiện thực của một ngôn ngữ Cho nên về mặt lý thuyết, ngôn ngữ nào cũng có thể là ngôn ngữ biên dịch hay
là ngôn ngữ thông dịch và nó phụ thuộc vào cách mà chúng ta hiện thực hóa ngôn ngữ đó thành ngôn ngữ máy
1.1.1 Ngôn ngữ biên dịch
Ngôn ngữ biên dịch là ngôn ngữ lập trình mà những trình biên dịch có thể biên dịch mã nguồn thành ngôn ngữ máy Ngôn ngữ biên dịch cũng có thể là ngôn ngữ thông dịch Chẳng hạn như C++ là một ngôn ngữ biên dịch nhưng nó cũng có nhiều trình thông dịch cho ngôn ngữ này, chẳng hạn như là UnderC, Cint, hay Ch Tại sao ngôn ngữ biên dịch lại có trình thông dịch nhưng không có điều ngược lại xảy ra? Bởi vì các ràng buộc trong ngôn ngữ máy và ngôn ngữ biên dịch được tạo ra để thỏa mãn các ràng buộc này trong khi các ngôn ngữ thông dịch thì không có tính chất đó
Hình 1.1: Quá trình biên dịch
Trang 13Trang 13
1.1.2 Ngôn ngữ thông dịch
Với một số ngôn ngữ, mã nguồn có thể được thực thi từng dòng một bởi một chương trình được gọi là trình thông dịch Đây cũng là một trong những lý do khiến cho ngôn ngữ lập trình thông dịch xử lý chậm hơn ngôn ngữ biên dịch Ngoài ra, các ngôn ngữ thông dịch như C#, Java có hỗ trợ thêm nhiều công cụ, chẳng hạn như
là kiểu dữ liệu động, thông tin về các kiểu dữ liệu này sẽ được lưu trữ trong trình thông dịch làm giảm hiệu suất xử lý của các chương trình được viết bằng ngôn ngữ thông dịch Một điểm bất lợi nữa của những ngôn ngữ thông dịch là trình thông dịch phải được cài đặt trên máy tính hoặc đóng gói đi cùng với ứng dụng sử dụng ngôn ngữ thông dịch, và điều đó có thể gây khó khăn cho người sử dụng
Một vài trình biên dịch sẽ chuyển đổi mã nguồn của ngôn ngữ lập trình nhất định thành ngôn ngữ trung gian (intermediate language) hoặc là bytecode và nhúng vào file thực thi Sau đó máy ảo hoặc trình thông dịch sẽ thi hành ngôn ngữ trung gian này trong suốt thời gian thực thi của chương trình, đây là nguyên tắc hoạt động của bộ thư viện NET của Microsoft Ngôn ngữ lập trình Java còn có một dạng thực thi khác là bytecode sẽ được chuyển đổi thành ngôn ngữ máy bởi trình thông dịch
và thực thi
Hình 1.2: Quá trình thông dịch
1.2 Phát biểu bài toán
Trong thời đại ngày nay công nghệ lập trình ngày càng phát triển rộng rãi trên thế giới Hầu hết các ngôn ngữ đều có những thế mạnh riêng, nhưng cùng có điểm
Trang 14Trang 14
chung là đa phần xây dựng theo hướng giúp đối tượng nghiên cứu dễ dàng sử dụng
Do đó việc nắm bắt công nghệ cũng như chuyển từ một ngôn ngữ này sang một ngôn ngữ khác là điều không khó đối với một lập trình viên, nhưng thời gian để làm việc này mất khá nhiều thời gian, điển hình như với IOS khi mỗi lần thay đổi một phiên bản thì người lập trình lại phải cập nhật công nghệ mới để đáp ứng nhu cầu làm việc Các lập trình viên mong muốn có một thư viện để có thể tương tác cập nhập các ngôn ngữ khác nhau Nên từ đó tác giả nghĩ ngay đến việc xây dựng một thư viện giúp chuyển đổi class, hàm… từ ngôn ngữ này sang một ngôn ngữ khác để giảm thiểu tối đa quỹ thời gian của người lập trình trong việc chuyển đổi các ngôn ngữ, từ đó tăng hiệu quả trong công việc của họ
1.3 Chọn hướng giải quyết
Như tác giả đã phân tích ở trên, chúng ta cần có một thư viện để tương tác giữa những ngôn ngữ khác nhau Thực chất, việc này đã được làm và tích hợp trên các ngôn ngữ thông qua việc sử dụng mã nguyên thủy( native code) Vấn đề ở đây, tác giả mong muốn xây dựng một thư viện cộng đồng mà ở đó không những chúng ta có thể chia sẻ các thư viện mới để việc chuyển đổi hiệu quả hơn mà còn giúp người lập trình cập nhật phiên bản mới đáp ứng nhu cầu làm việc Do đó tác giả đã nghĩ đến phương án xây dựng một mô hình có thể tương tác trực tiếp trên thư viện cũng như trao đổi ý kiến để cộng đồng thư viện ngày càng phát triển hướng đến việc đơn giản hóa cho việc lập trình Lúc đó mọi ngôn ngữ có thể tương tác cơ bản với nhau,
do mục đích của đề tài là rất rộng và xuyên suốt không giới hạn ở một ngôn ngữ nào Trong thời gian có hạn tác giả đã quyết định sẽ thực hiện ý tưởng mô hình với Windows Phone và class tiêu chuẩn, sau khi hoàn thành tác giả sẽ xây dựng tiếp các ngôn ngữ khác như Java, Object C, C++, Delphi… Tác giả xin trình bày mô hình xây dựng dự kiến như sơ đồ sau:
Trang 15
Trang 15
Hình 1.3: Mô hình tổng thể giải quyết bài toán
Dựa vào mô hình trên chúng ta thấy, chương trình viết bằng ngôn ngữ Java sẽ đọc các file thông qua webservice (file ở đây là các class của các ngôn ngữ lập trình khác nhau- trong luận văn này tác giả sẽ sử dụng class tiêu chuẩn), sau đó parser (chuyển đổi) về dạng cú pháp lưu trữ Json gồm các class, hàm, phương thức, biến… tiếp đến nội dung file Json lại được trả về lại cho webservices Từ đó Windows Phone (sau này chúng ta có thể thay đổi các ngôn ngữ bất kỳ) nhận Json này và chuyển cho thư viện của Winphone để thực thi nội dung của file json đó Đối với các thư viện import tùy vào sự tương ứng của các ngôn ngữ thì các lập trình viên sẽ tùy chọn việc import này giúp cho việc chuyển đội các ngôn ngữ diễn ra thuận tiện hơn
JAVA CORE
WINDOWS PHONE CORE WINDOWS
PHONE
Trang 16Trang 16
Chương 2 - XÂY DỰNG BỘ ĐỌC DỮ LIỆU CHO
FRAMEWORK
2.1 Xây dựng hàm đọc file từ webservices
Giới thiệu về Java: lần đầu tiên xuất hiện vào năm 1992 như là một một ngôn
ngữ dùng trong nội bộ tập đoàn Sun Microsystems để xây dựng ứng dụng điều khiển các bộ xử lý của máy điện thoại cầm tay, lò vi sóng, các thiết bị điện tử dân dụng khác Không chỉ là ngôn, Java còn là một nền tảng phát triển và triển khai ứng dụng thông qua bộ máy ảo JVM và bộ toolkit JDK, java nhanh chóng trở thành công nghệ mang tính cách mạng có khả năng chạy thống nhất trên nhiều hệ điều hành khác nhau do sử dụng máy ảo JVM
Luồng Java
Trang 17Trang 17
Hình 2.1: Luồng làm việc của java
Với các mô hình trên chúng ta thấy Java với sự hỗ trợ của JVM là JRE tương thích với các hệ điều hành khác nhau Linux và Windows, bên cạnh đó với việc phát triển nhanh chóng trong những năm vừa qua, cùng với việc hổ trợ ngôn ngữ hướng đối tượng, dễ dàng tiếp cận và phát triển, do những nguyên nhân đó, chúng ta chọn
sử dụng Java cho việc xây dựng chương trình đọc dữ liệu đầu vào cho Framework Hàm có mục đích chuyển file thành dạng string để thuận tiện cho việc đọc chuyển đổi thông qua Json, hàm có các thông số truyền vào String pathFile, return String of File, hàm có kiểu như sau:
String getStringFromFile (String pathFile) throws IOException{
FileInputStream in=null; //StringBuilder strbuilder=new StringBuilder() ;
StringBuffer strbuilder=new StringBuffer();
Trang 18Trang 18
} } catch (FileNotFoundException e) {
Hình 2.2: Mô hình UML cho việc đọc File
MessageReturn là success(thành công) nếu file tồn tạị thì Json được trả về với messageReturn:success ngược lại nếu file không tồn tại messageReturn thì Failure(lỗi) với message error
Check file exits
Object(Json,”messageRetur n”)
Trang 192.2.1 Mô hình class tiêu chuẩn
Chúng ta sẽ tìm hiểu nội dung class như sau:
Trang 20Đây là class gồm các hàm cộng và nhân 2 và 3 tham số kiểu int( số nguyên)
Chúng ta sẽ khảo sát việc đọc class này thông qua webservice và Windows phone
2.2.2 Xây dựng thư viện core java để đọc các class tiêu chuẩn
Ta sẽ xây dựng thư viện java core như sau:
Hình 2.3 Thư viện core java
Chúng ta sẽ chứa giá trị class tiêu chuẩn trong map gồm 4 list String, List Command chứa nội dung các chú thích (comment) của hàm (function), List Name Function chứa tất cả các tên của hàm có trong class tiêu chuẩn cần phân tích, List Param chứa tất các các biến tương ứng với các tên của hàm, List return chứa kết quả trả về của hàm
Các List này có độ dài như sau, mỗi phần tử của chúng tương đương với 1 giá trị hàm của class tiêu chuẩn cần khảo sát
Map<String, Object>
List
Command
List Name Function
List Param Function
List Return Function Map Result
Trang 21Trang 21
Map result cho chúng ta biết được kết quả trả về đúng hay bị lỗi của chuỗi map Bình thường result là Ok, trong trường hợp có lỗi result sẽ trả về giá trị Fail
Trang 22Trang 22
Chương 3 – CHUYỂN ĐỔI SANG JSON TỪ CLASS TIÊU CHUẨN 3.1 Giới thiều về Json
JSON là chữ viết tắt của Javascript Object Notation, đây là một dạng dữ liệu
tuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập trình hiện nay đều có thể đọc được, có thể sử dụng lưu nó vào một file, một record trong CSDL rất dễ dàng Do định nghĩa theo dạng Object nên việc sử dụng, truy xuất dữ liệu cũng gần gũi hơn Json còn là một dạng chuẩn dùng để mô tả, chuẩn hóa dữ liệu Chúng dễ dàng cho chúng ta đọc và viết, Json là một dạng kiểu text mà hoàn toàn độc lập với các ngôn ngữ khác như C, C++, Java Json cũng như XML là chỉ mô tả dữ liệu, không có khả năng trình bày, ta chỉ có thể nhận Json rồi làm gì đó, hoặc chuyển thành Json gửi đi
Trang 23Trang 23
Ví dụ Json với tổ chức Object
Dạng 2:
Trong Json gồm một mảng bắt đầu bằng dấu mở ngoặc vuông “[“ và kế thúc
bằng dấu ngoặc vuông phải “]”, bên trong là các đối tượng con (subObject) và
mảng con (subarray)
Ta thấy có 2 cách cơ bản để biểu diễn Json dạng Object bên trong là các sub
Object và sub array, một dạng khác cũng hay được biểu diễn đó là dạng Array, bên
trong mảng array là các sub Object và subarray
Giá trị: Trong Json một giá trị có thể là một chuỗi String, số, đối tượng, mảng,
một dạng luận lý và kể cả giá trị null
Trang 24Trang 24
Hình 3.2: Mô hình JSON kiểu mảng
Ví dụ Json với tổ chức array:
Trang 25Trang 25
Tổng quan về kiến trúc các dịch vụ phổ thông với sự hỗ trợ Json:
Hình 3.3: Tổng quan các dịch vụ với sự hỗ trợ của JSON
Trang 26Trang 26
Ở đây ta Json như một cầu nối của cho việc chuyển đổi, lưu trữ dữ liệu giữa các
ngôn ngữ
Chúng ta cũng có các kiểu khác nhau để lưu trữ Json một cách hiệu quả
Hình 3.4: Các mô hình lưu trữ json
Như vậy ta thấy có 3 kiểu cơ bản để lưu trữ Json, dựa vào độ lớn của dữ liệu mà ta
sẽ chọn kiểu lưu trữ tương ứng
Trang 27Trang 27
3.3 So sánh Json và XML:
XML: eXtensible Markup Language ngôn ngữ đánh dấu mở rộng, mô tả
nhiều loại dữ liệu khác nhau để chia sẻ dữ liệu giữa các hệ thống, đặc biệt là hệ thống kết nối với Internet
Về cơ bản XML được mô tả cũng như Json được biểu diễn dưới 2 dạng cơ bản là đối tượng chứa các đối tượng con và mảng con và 1 dạng khác là mảng chứa các đối tượng con và mảng con
Nhận xét: như vậy XML và Json đều mô tả được đối tượng như nhau, như ở
đây ta chọn Json cho việc đọc và nhận dữ liệu, do để đọc được XML ta phải dùng Xpath qua cơ cấu SAX or DOM để đọc file gốc từ webservice gửi về trong khi đó với kết cấu JSON các ngôn ngữ khác đã hổ trợ việc Parser JSon về Object nên dễ dàng trong việc sử dụng nó, như chúng ta cũng biết rằng đối với dữ liệu lớn XML
Trang 28Trang 28
với cơ cấu DOM cây thư mục sẽ cho cách tìm kiếm và lưu trữ dữ liệu một cách hiệu quả, do thư viện đang xây dựng ở giai đoạn phát triển, nên tác giả chọn JSON cho việc truyền dữ liệu từ webservice, đối với sự phát triển sau này của luận văn, chúng
ta có thể sẽ chuyển sang XML khi hệ thống đọc lưu trữ dữ liệu file lớn hơn
3.4 Chuyển mã nguồn từ Class tiêu chuẩn thành file Json:
Chúng ta sẽ xây dựng hàm writeFileJson( String pathFile) với thông số truyền vào địa chỉ của đường dẫn, sau đó sẽ lưu file json lên server webservice Ở đây tác
giả sẽ sử dụng thư viện org.json.simple cho việc hỗ trợ chuyển đổi thành json và
đẩy lên server webservice
Debug việc lưu json vào file