IBM Worklight được biết đến là một nền tảng phát triển ứng dụng doanh nghiệp cho thiết bị diđộng (MEAP) hàng đầu trên thế giới. Đây là một công nghệ đã được tích hợp cùng với công cụlập trình Eclipse, hỗ trợ mạnh mẽ việc phát triển các ứng dụng trên thiết bị di động, và trên nhiềuhệ điều hành khác nhau.
Trang 1Mục lục
I/ Nhóm thực hiện đề tài 2
II/ Tổng quan về IBM Worklight 2
A/ Khái niệm 2
B/Đặc điểm 3
C/ Mục đích của IBM Worklight 3
D/ Cấu trúc 3
III/ IBM Worklight Studio 3
A/ Khái niệm và tổng quan về thành phần 3
B/ Khả năng của IBM Worklight Studio 4
C/ Cài đặt và chi tiết các thành phần 5
C.1/Cài đặt 5
C.2/Khởi động và tạo một ứng dụng Worklight 6
C.3/Xây dựng các ứng dụng Native từ ứng dụng Hybrid 10
C.4/ Cho phép tạo các bộ Adapter để trao đổi dữ liệu 13
D/ Cách xây dựng một ứng dụng trên IBM Worklight Studio 14
E/ Kết luận 19
IV/ IBM Worklight device runtime 19
A/ Khái niệm 19
B/ Chức năng 20
V/ IBM Worklight Server 20
I/Tổng quan bộ chuyển đổi – adapter 21
II/Bộ chuyển đổi SQL 25
3/Bộ chuyển đổi HTTP 28
4/Bộ chuyển đổi Cast Iron và JMS 29
Trang 2Bảng phân công các công việc thực hiện
1 Tìm hiểu và phát triển ứng dụng phía Server
- Tìm hiểu IBM Worklight Server, Adapter, IBM
2 Tìm hiểu và phát triển ứng dụng phía Client
- Tìm hiểu IBM Worklight Studio (thành phần,
khả năng )và cách xây dựng ứng dụng trên IBM Worklight Studio, IBM Worklight Device Runtime Components
- Xây dựng phía Client cho Ứng dụng ExamIT
- Viết tài liệu báo cáo và làm slide thuyết trình
phần Client
Nguyễn Văn Thành
3 Biên tập tài liệu báo cáo và slide thuyết trình Chạy thử
và bổ sung thiếu xót cho ứng dụng demo ExamIT
hệ điều hành khác nhau
Trang 3B/Đặc điểm
IBM Worklight là một công nghệ vô cùng mạnh mẽ, với sự hỗ trợ môi trường trên hầu hết các hệ điều hành hiện nay như: Windows, Linux, Mac OS Lập trình viên có thể dễ dàng phát triển các ứng dụng của mình Các ứng dụng của IBM Worklight có thể được phát triển trên nhiều hệ điều hành di động khác nhau như: Windows phone, BlackBerry, Android, IOS (bắt buộc phải xây dựng trên máy Mac OS),
C/ Mục đích của IBM Worklight
IBM Worklight là công nghệ giải quyết các bài toán:
- Mở rộng các công việc kinh doanh của doanh nghiệp sang thiết bị đi động
- Biến đổi các công việc kinh doanh nhằm tạo ra các cơ hội mới
- Kết nối với các hệ thống back-end mà thiết bị di động đó hỗ trợ
- Bảo việc những công việc kinh doanh trên thiết bị di động
D/ Cấu trúc
IBM Worklight bao gồm 4 thành phần chính:
- Worklight studio: là một IDE dựa trên Eclipse để phát triển các ứng dụng
và phân tích thống kê người dùng
III/ IBM Worklight Studio
Phần này làm rõ về IBM Worklight Studio- thành phần hết sức quan trọng hỗ trợ việc xây dựng ứng dụng dựa trên nền tảng IBM Worklight Trước hết là giới thiệu một các tổng quan về các thành phần chính sau đó là cách cài đặt và xây dựng ứng dụng trên Worklight Studio Thông qua các phần sẽ gián tiếp chỉ được chi tiết thành phần và hiểu rõ hơn về IDE này
A/ Khái niệm và tổng quan về thành phần
Trang 4B/ Khả năng của IBM Worklight Studio
IBM worklight studio mà một IDE mạnh mẽ hỗ trợ tập trung cho phát triển ứng dụng di động chính vì vậy nó cung cấp những chức năng hết sức cần thiết và tiện dụng cho nhà phát triển ứng dụng và kết nối doanh nghiệp
1 Hỗ trợ đa nền tảng
Với khả năng này của IBM worklight studio, mọi ứng dụng của các nền tảng di động khác nhau như android, ios, blackberry, windowsphone… đều có thể được xây dựng trên IDE này một cách thuận tiện nhất Nó tạo ra các project cho từng loại SDK riêng như Android project cho java hay Xcode cho iOS Các ứng dụng Native đó có thể chuyển đổi qua lại với ứng dụng lai (Hybrid) tạo nên sự linh động trong lập trình Nhà phát triển có thể viết ứng dụng chạy riêng cho nền tảng android hay ios hoặc thậm chí tạo ra ứng dụng
và cài đặt được cho cả 2 hệ điều hành này Đây là một trong những ưu điểm lớn nhất mà IBM worklight có được và mọi thứ được cung cấp hoàn hảo trong IBM worklight studio
2 Hỗ trợ đa dạng, ứng dụng có thể phát triển bằng HTML5, cho phép xây dựng ứng dụng Hybrid, Native… cho tất cả các thiết bị hiện đại hiện nay và đồng thời hỗ trợ các chuẩn công nghệ web và công cụ cần thiết nhất
3 Tối đa việc dùng lại hay chia sẻ mã nguồn trong việc xây dựng các ứng dụng Linh hoạt
và tiết kiệm chi phí cho việc xây dựng ứng dụng
4 Truy cập tới các giao diện lập trình ứng dụng (API) có thể sử dụng mã nguồn Native hoặc ngôn ngữ Web tạo ra những ứng dụng phù hợp với môi trường và mục tiêu của nhà phát triển
Trang 55 Worklight Studio hỗ trợ công nghệ Native và phát triển web như HTML5, Apache
Cordova, và Java ™
6 Phát triển ứng dụng di động với HTML5 tinh khiết.Tương thích với JavaScript
framework, chẳng hạn như jQuery Mobile, Dojo Mobile, hoặc Sencha Touch Cho phép
sử dụng công cụ xây dựng giao diện người dùng và các chức năng được cung cấp bởi những framework.Sử dụng Apache Cordova cho phép ứng dụng có thể truy cập các chức năng từ thiết bị Native
7 Để truy cập vào một mô-đun thiết bị đặc biệt, chẳng hạn như công nghệ kết nối không dây tầm ngắn (NFC), có thể phát triển native extension với JavaScript thông qua một Apache Cordova plug-in như một native-to-JavaScript wrapper
8 Triển khai các giao diện thực thi để xây dựng một ứng dụng có khả năng tự động tùy chỉnh các ràng buộc của môi trường như form , chế độ màn hình, các hỗ trợ của HTML, giao diện nhập liệu của người dùng…
C/ Cài đặt và chi tiết các thành phần
Trong phần này, song song cùng việc hướng dẫn cài đặt IBM Worklight Studio sẽ là giới thiệu những thành phần chi tiết bên trong và hầu hết các tính năng và công cụ mà đặt IBM Worklight Studio cung cấp cho nhà phát triển ứng dụng di động
C.1/Cài đặt
Tải về và cài đặt Eclipse
Tại giao diện điều khiển Eclipse chọn Help > Install New Software , sau đó ấn nút Add, tại hộp thoại Add Repository nhập vào:
Name: Worklight Studio
Location:
http://public.dhe.ibm.com/ibmdl/export/pub/software/mobile-solutions/worklight/wdeupdate/
Ấn ok và để việc tải về và cài đặt tự động
Hình ảnh khi thực hiện sẽ như hình bên duới:
Trang 6 Cài đặt Android SDK theo hướng dẫn tại địa chỉ web:
http://developer.android.com/sdk/installing/index.html hoặc iOS SDK theo hướng dẫn tại :
https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/GetToolsInstall/GetToolsandInstall.html
C.2/Khởi động và tạo một ứng dụng Worklight
Chọn New/ Worklight Project
Trang 7 Chọn loại Templates project tương ứng và đặt tên:
Có 4 loai Templates Project
- Hybrid Application: Ứng dụng có thể chạy trên đa môi trường và chỉ được viết bằng
HTML5, CSS, JS và không thể được mở rộng bởi Native code Nó có thể truy cập và
sử dụng chức năng của các thiết bị khác bằng việc sử dụng IBM Worklight JavaScript API
Trang 8- Shell component : Một thành phần Shell cung cấp tùy chỉnh các chức năng Native và
tính năng bảo mật mà một ứng dụng có thể sử dụng bên trong Cần kết hợp với Inner
để tạo thành ứng dụng Hybrid
- Native application: Một ứng dụng Native xây dựng và chạy trên môi trường cụ thể (
như Android project hay iOS project tùy vào lựa chọn), và có thể sử dụng API của
IBM Worklight cho mở rộng, bảo mật và quản lý ứng dụng
Tùy theo mục đích mà người phát triển ứng dụng sẽ lựa chọn Tenplates Project
hợp lý để xây dựng các thành phần cho ứng dụng hay toàn bộ ứng dụng của mình
Hình vẽ dưới đây mô tả trường hợp chọn Hybrid Application
Chọn next và chuyển sang giao diện thiết lập riêng cho ứng dụng
Trang 9- Đặt tên cho ứng dụng là Myapp
- Các option cung cấp cho nhà phát triển, nhà phát triển hoàn toàn có thể lựa chọn sử
dụng JQuery Mobile, Dojo Toolkit hay Sencha Touch trong quá trình phát triển ứng dụng, điều này giúp nhà phát triển xây dựng ứng dụng nhanh và hoàn hảo hơn
Trang 10Project được tạo ra dường như đã được cấu hình và khởi tạo khá hoàn hảo từ việc cung cấp các thư viện chuẩn đến việc tổ chức cây thư mục hợp lý, tạo sự sẵn sàng cho người xây dựng ứng dụng
IBM Worklight Studio cho phép tạo ra phiên bản Native dựa trên ứng dụng Hybrid đã xây dựng Nghĩa là nếu sử dụng chức năng này thì ta có thể chỉ cần xây dựng 1 ứng dụng duy nhất cho đa dạng loại thiết bị Ta có thể xây dựng 1 ứng dụng lai tạp thông qua các chuyển đổi này Đây cũng
là điểm mạnh mà IBM Worklight cung cấp, nó tăng tính dùng lại mã nguồn tới mức tối đa
C.3/Xây dựng các ứng dụng Native từ ứng dụng Hybrid
Để thực hiện tạo ra các ứng dụng trên môi trường khác như Android hay iOS từ ứng dụng
Hybrid :
Trang 11Thao tác ấn chuột phải tại ứng dụng của mình chọn new/Worklight Environment
-Tích chọn môi trường phù hợp
Trang 12Ví dụ ta chọn android thì một project Android được tạo ra có chức năng tương đương ứng dụng cha cung cấp và chạy trên môi trường Android
Hình dưới thể hiện kết quả sau khi tạo ra ứng dụng phiên bản chạy trên Android
Trang 13C.4/ Cho phép tạo các bộ Adapter để trao đổi dữ liệu
Các Adapter là các bộ trao đổi dữ liệu theo chuẩn của IBM Worklight bao gồm :
-SQL Adapter
-HTTP Adapter
-Cast Iron Adapter
-JMS Adapter
Chi tiết chức năng của từng loại sẽ được làm rõ trong phần phát triển ứng dụng phía Server
Để tạo 1 Adapter: Click chuột phải vào project chọn new/Worklight Adapter
Trang 14D/ Cách xây dựng một ứng dụng trên IBM Worklight Studio
Phần này tập trung giới thiệu cách xây dựng 1 ứng dụng Hybrid cơ bản trên IBM Worklight Studio Qua đó sẽ làm rõ thêm các thành phần quan trọng khi lập trình xây dựng ứng dụng trên IBM Worklight Studio Tìm hiểu cách sử dụng các API cơ bản của IBM Worklight để phát triển các ứng dụng, làm thế nào để xây dựng một ứng dụng nhiều trang, làm thế nào để làm việc với các khung giao diện người dùng, làm thế nào để gỡ lỗi và tối ưu hóa ứng dụng
Bốn điểm chính sẽ tìm hiểu trước khi xây dựng ứng dụng:
ƒ - Worklight application components
ƒ - The WL Namespace
ƒ - WL.Client
ƒ - WL.Logger
D.1/Worklight application components
Thực hiện với ứng dụng HelloWorklight
1/ Mã nguồn ứng dụng (The application sources):
Trang 15Khi bắt đầu tạo 1 ứng dụng Hybrid thì mặc định sẽ có các file HelloWorklight.html,
HelloWorklight.js và messages.js được tạo ra
HelloWorklight.html chính là giao diện chính của ứng dụng, thao tác điều khiển hiển thị và xử lí tương ứng là HelloWorklight.js messages.js sẽ sử dụng để hiển thị các thông báo khi cần
2/ Worklight initialization.(khởi tạo)
initOptions.js là file xử lý giúp ứng dụng khởi tạo các cấu hình ban đầu, file này sẽ được tạo ra
khi hàm khởi tạo wlCommonInit được thiết lập một số khởi tạo
3/JQuery JavaScript Framework
Nếu thêm JQuery Framework khi phát triển ứng dụng thì wljq.js sẽ được tạo ra và chứa các thuộc tính giúp sử dụng framework này theo chuẩn của IBM Worklight
Trang 16D.2/ The WL Namespace
- Để sử dụng worklight API thì sử dụng tên miền WL như : WL.Client, WL.Utils
- Để thể hiện được một đối tượng API, phương thức hay các hằng số
- Tự động thêm vào tập tin main HTML của ứng dụng :
+ wlcommon.js + wlclient.js + worklight.js
- WL Namespace có sẵn mỗi khi khởi tạo ứng dụng
D.3/ WL.Client
WL.Client cung cấp chức năng cho phép thực hiện các công việc sau
1/Khởi tạo và tải lại ứng dụng
2/ Kích hoạt đăng nhập và đăng xuất
- WL.Client.login (realm, options)
- WL.Client.logout (realm, options)
3/ Lấy thông tin chung về ứng dụng
Trang 17- WL.Client.getEnvironment ()
- WL.Environment.ADOBE_AIR
- ………
4/ Lấy và cập nhật dữ liệu từ hệ thống thông tin doanh nghiệp
- WL.Client.invokeProcedure (invocationData, options)
5/ Lấy và lưu trữ thông tin người dùng qua các phiên làm việc
- WL.Client.setUserPref (key, value, options)
- WL.Client.setUserPrefs ({key1:value1, …}, options)
Trang 18- Không sử dụng siêu liên kết hay window.location để chuyển qua lại giữa các trang
mà thay vào đó sẽ dùng các yêu cầu Ajax để thêm các phần tử HTML vào cấu trúc DOM hiện tại
- Hai cách để xây dựng một multiple pages như hình ảnh dưới:
Cách 1: Sử dụng 1 file HTML để chứa toàn bộ ứng dụng
Thích hợp cho các ứng dụng đơn giản
Người phát triển phải có cách che dấu và thể hiện những nội dung
cần thiết
Cách 2: Sử dụng 1 file HTML riêng biệt cho mỗ trang ứng dụng
Thích hợp cho các ứng dụng lớn hơn
Khắc phục được vấn đề load dữ liệu và linh hoạt hơn trong việc
chuyển đổi giữa các giao diện và tiện lợi cho việc quản lý
Thích hợp cho việc xây dựng những ứng dụng sinh động, phong phú
bởi load trang động
- Sử dụng JQueryAPI để tự động tải, cập nhật, chèn các phần tử DOM vào ứng dụng
- Chèn các tập tin html, javascript, css nếu cần thiết
- Có thể thực hiện chuyển hướng
- Javascript có thể được chạy khi các trang đã load hay chưa load
2/ Load một tập tin HTML bên ngoài
- Tập tin HTML bên ngoài là một đoạn mã HTML có thể được tiêm vào bất kỳ vị trí
trong DOM hiện tại
- Một file HTML có thể chứa một hệ thống phân cấp nhiều phần tử HTML
- Có thể include JavaScript bằng cách sử dụng thẻ <script>
- Có thể include các tập tin CSS bằng cách sử dụng thẻ <link>
- Tiêm vào yếu tố cha, thường là <div>, nhưng không bắt buộc
- Thực hiện bởi jQuery $().load() API
Để load một HTML file dùng cú pháp :
Trang 19Trong đó :
+ containerSelector: Các phần tử JQuery CSS được chọn để lưu trữ các nội dung tải
+filePath : Đường dẫn tương đối đến tập tin html so với tập tin html main
+ callbackFunction : Là một JavaScript function chạy khi loading completes
E/ Kết luận
IBM Worklight Studio hỗ trợ cho nhà phát triển ứng dụng di động rất mạnh, nó tích hợp đa dạng các chức năng và các công cụ cần thiết nhất để xây dựng một ứng dụng hoàn chỉnh Là môi trường lập trình hoàn hảo cho việc phát triển ứng dụng trên mobile
IV/ IBM Worklight device runtime
A/ Khái niệm
IBM Worklight device runtime là các thành phần chế độ chạy thực của thiết bị Worklight của IBM, tạo nên SDK để tạo điều kiện thuận lợi cho chế độ chạy thực của ứng dụng di động trên thiết bị
Trang 20B/ Chức năng
Tích hợp các kiểu dữ liệu mobile - Kết nối và xác thực các API
Hỗ trợ đa nền tảng- thực thi giao diện, trừu tượng hóa giao diện người dùng và tương thích với bộ công cụ HTML5
Hỗ trợ Hybrid app Framwork, truy cập vào các API của thiết bị qua việc đẩy vào các thông báo đăng kí
Khi cơ sở dữ liệu lưu trữ lớn trên thiết bị di động thì mã hóa mạnh mẽ, tiên tiến và đồng
bộ với Backend để giải quyết
Báo cáo tích hợp và phân tích dựa trên sự kiện
Cập nhật trực tiếp ứng dụng web nguồn và HTML5 caching
V/ IBM Worklight Server
Worklight server là một ứng dụng chạy trên một application server, ví dụ như IBM WebSphere Các ứng dụng worklight và các adapters không chạy trực tiếp trên application server mà chúng được điều khiển bởi worklight server Và Worklight server lại được điều khiển bởi application server
Trang 21Một server sẽ quản lý hai vấn đề đó là: việc tương tác với back end và tương tác với device Khi một ứng dụng được start hoặc đưa lên server, nó có thể tự động gọi server để kiểm tra update Server có thể trả lời theo ba cách: nó có thể thông báo là không có version mới, hoặc cảnh báo rằng đang có version mới và bạn nên update hoặc có thể khóa thiết bị đang sử dụng ứng dụng cho đến khi nào version mới được cài đặt Server cũng cung cấp ứng dụng quản lý và update, đưa thông báo, xác thực người dùng và thiết bị,
IBM Worklight Server được thiết kế để dễ dàng tích hợp vào môi trường doanh nghiệp; tận dụng nguồn lực và cơ sở hạ tầng hiện có của doanh nghiệp Mô hình tích hợp của IBM dựa trên các
adapter phía server chịu trách nhiệm như một kênh truyền giữa phía back-end của hệ thống
doanh nghiệp hoặc các dịch vụ đám mây với thiết bị của người dùng Các Adapter có thể được
sử dụng để lấy/cập nhập dữ liệu cũng như hỗ trợ người dùng thực hiện các giao dịch hoặc gọi các dịch vụ, ứng dụng khác
Các chức năng chính của IBM Worklight Server:
- Trao quyền cho người dùng với khả năng giao dịch và cho phép truy cập trực tiếp đến các hệ thống back-end và các dịch vụ điện toán đám mây
- Cấu hình, kiểm tra và triển khai các tập tin mô tả XML để kết nối với một loạt các hệ thống back-end bằng việc sử dụng công cụ Studio
- Kiến trúc an minh mạnh mẽ cho phép bảo vệ khỏi những thách thức trong bảo mật quản lý server
- Trực tiếp cập nhập các ứng dụng web và hybrid đã được triển khai mà không phải đi qua các app stores khác
- Tự động chuyển đổi dữ liệu phân cấp sang định dạng JSON để dễ dàng sử dụng
- Tích hợp với các cơ chế bảo mật và xác thực hiện có của tổ chức
I/Tổng quan bộ chuyển đổi – adapter
A/ Khái niệm
Bộ chuyển đổi là một lớp vận chuyển được sử dụng bởi nền tảng IBM worklight để kết nối tới các thiết bị đầu cuối khác nhau Các bộ chuyển đổi được sử dụng với mục đích: Lấy, truy xuất thông tin hoặc thực thi các hành động Các loại bộ chuyển đổi IBM hỗ trợ gồm có:
SQL adapter
HTTP adapter( hỗ trợ cả REST và SOAP)
Cast iron adapter
JMS adapter