Các thành phần của lớp giao diện là ứng dụng Silverlight

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu công nghệ phát triển ứng dụng nhanh trên nền web trong Bộ Công an. (Trang 26 - 29)

Shell cung cấp các giao diện để ngƣời sử dụng truy cập, chạy hay kích hoạt các Screen. Mỗi ứng dụng LightSwitch đi kèm với một Shell mặc định. Tuy nhiên ngƣời phát triển có thể cá nhân hóa Shell bằng mã lập trình và cài đặt vào LightSwitch nhƣ một thành phần mở rộng. Thiết kế này đảm bảo các hành vi trong ứng dụng đƣợc thực hiện nhất quán trong khi vẫn cho phép ngƣời phát triển và ngƣời dùng tùy biến giao diện.

gian dữ liệu riêng và đƣợc sử dụng để lấy và quản lý dữ liệu. Không gian dữ liệu này quản lý các trạng thái của dữ liệu trong một tập các trạng thái và các trạng thái này sẽ đƣợc gửi tới thành phần dịch vụ dữ liệu ở lớp Logic khi ngƣời sử dụng thực hiện hành động lƣu dữ liệu. Bởi vì mỗi Screen có một khơng gian dữ liệu riêng nên các thay đổi dữ liệu trên một Screen không ảnh hƣởng tới dữ liệu và trạng thái các Screen khác. Các Screen không thể chia sẻ dữ liệu với nhau và mỗi Sreen có cách thể hiện dữ liệu độc lập và riêng biệt.

Đối tƣợng nghiệp vụ là những thành phần cơ bản để xác định logic nghiệp vụ của ứng dụng. Có hai loại đối tƣợng nghiệp vụ cơ bản trong lớp Trình diễn đó là Screen và các thực thể. Mỗi Screen đại diện cho một chức năng hoạt động trên máy khách và mỗi thực thể đại diện cho phần dữ liệu mà Screen tác động. Khi ngƣời phát triển định nghĩa một đối tƣợng nghiệp vụ trong LightSwitch thì các luật nghiệp vụ đƣợc đính kèm với nó. Các luật nghiệp vụ liên kết đến một đối tƣợng nghiệp vụ hoặc một thành phần (thuộc tính hoặc lệnh) của đối tƣợng.

Các dữ liệu Screen đƣợc quản lý bởi một không gian dữ liệu. Không gian dữ liệu theo dõi các bản sao của các thực thể. Một loại thực thể đại diện cho một loại bản ghi dữ liệu cụ thể. Một thực thể đóng gói các dữ liệu nghiệp vụ, logic nghiệp vụ và lƣu trữ nó trong khơng gian dữ liệu. Khơng gian dữ liệu có trách nhiệm lấy các thực thể từ dịch vụ dữ liệu trong lớp Logic qua các truy vấn thực thể, theo dõi những thay đổi dữ liệu và gửi thông tin cập nhật cho các dịch vụ dữ liệu.

2.3.2.2 Lớp trình diễn là ứng dụng HTML 5

Ứng dụng máy khách HTML 5 [6] theo quan điểm kiến trúc không khác nhiều so với ứng dụng máy khách Silverlight. Nó cũng phân chia theo dữ liệu và Screen. Shell của ứng dụng HTML 5 cũng bao gồm các khái niệm giống ứng dụng Silverlight nhƣ thực thể, Screen và các điều khiển. Tuy nhiên theo quan điểm ngƣời sử dụng, ứng dụng máy khách HTML thật sự khác so với ứng dụng máy khách Silverlight. Đó là:

- Giao diện đơn tài liệu (SDI) thay thế cho Giao diện đa tài liệu (MDI):

Không nhƣ ứng dụng máy khách Silverlight cho phép mở nhiều Screen để thao tác với dữ liệu tại một thời điểm, thông thƣờng ứng dụng trên các thiết bị di động tại một thời điểm chỉ thực hiện một nhiệm vụ nhất định tƣơng ứng với một Screen. Vì vậy ứng dụng trên thiết bị di động tại một thời điểm sẽ chỉ có một khơng gian dữ liệu tƣơng ứng với một Screen đƣợc mở.

- Phân chia Screen: Vì khơng gian hiện thị trên các thiết bị di động bị giới

hạn nên Screen phải đƣợc phân thành các phần và tại một thời điểm chỉ có một phần đƣợc hiển thị.

- Sử dụng lại Screen: Trong ứng dụng máy khách Silverlight, mỗi Screen

thuộc về một khơng gian dữ liệu riêng biệt. Vì vậy, hai Screen không thể tham gia vào cùng một tập dữ liệu thay đổi. Thơng qua lập trình, các nhiệm vụ ở mức cao hoặc dịng cơng việc có thể truy nhập đồng thời các Screen. Nhƣng các Screen này vẫn giao tiếp độc lập với máy chủ và việc này không tối ƣu cho các nhiệm vụ tích hợp hoặc dịng cơng việc. Mơ hình SDI của ứng dụng máy khách HTML 5 không hỗ trợ cách tiếp cận này nhƣng lại có thêm khả năng để kích hoạt một Screen và chuyển cho Screen một ngữ cảnh, cho phép Screen tham gia vào các nhiệm vụ ở mức cao hoặc dịng cơng việc.

Để xây dựng lên các ứng dụng sử dụng màn hình chạm, LightSwitch sử dụng một loạt các thƣ viện công nghệ tiên tiến hiện nay đó là thƣ viện JQuery, jQuery Mobile, thƣ viện datajs, thƣ viện WinJs. Thƣ viện JQuery cung cấp các tiện ích cơ bản để hỗ trợ việc viết các đoạn JavaScript để mở rộng khả năng xử lý các thành phần DOM. Thƣ viện JQuery Mobile cung cấp chiến lƣợc quản lý các điểu khiển, mơ hình điều hƣớng và các Shell. Thƣ viện datajs cung cấp phƣơng thức để truy cập dịch vụ OData từ các trình máy khách JavaScript. Thƣ viện WinJs là thƣ viện chuẩn cung cấp các thành phần để xây dựng các ứng dụng JavaScript chạy trên Windows 8.

Điểm khác biệt lớn nhất giữa Silverlight và HTML 5 là kỹ thuật thể hiện nội dung. Trong Silverlight, nội dung đƣợc thiết kế vừa vặn trong một hộp với các thông số chiều rộng và chiều cao. HTML 5 thì lại có chiến lƣợc trình bày khác, dựa trên kiểu trình bày văn bản. Nội dung hiển thị bắt đầu từ trên cùng và trải dài từ trái sang phải và cuộn xuống cho đến hết. Có nghĩa là nội dung chỉ đƣợc giới hạn bởi chiều rộng cịn chiều cao là khơng xác định.

2.3.3 Lớp Logic

Nhiệm vụ chính của lớp Logic là truy cập và xử lý dữ liệu. Lớp Logic nằm giữa ứng dụng máy khách và các nguồn dữ liệu. LightSwitch tạo ra dịch vụ dữ liệu tƣơng ứng cho từng nguồn dữ liệu. Mỗi dịch vụ dữ liệu đƣa ra một tập các thực thể liên quan. Các thao tác truy vấn dùng để lấy các thực thể từ tập các thực thể, các thao tác submit dùng để gửi các thực thể đã đƣợc thay đổi cho quá trình xử lý tại lớp Logic.

Dịch vụ dữ liệu giao tiếp với nguồn dữ liệu tƣơng ứng thơng qua các trình cung cấp nguồn dữ liệu. Các trình cung cấp nguồn dữ liệu này do LightSwitch tự động triển khai. Những ngƣời phát triển LightSwitch làm việc với dữ liệu, viết các logic nghiệp vụ của ứng dụng mà không cần quan tâm về các công nghệ truy cập dữ liệu đang đƣợc

2.3.3.1 Dịch vụ dữ liệu

Một dịch vụ dữ liệu bao gói tất cả các cách truy cập vào một nguồn dữ liệu. Tại lớp Logic có thể có rất nhiều dịch vụ dữ liệu. Mỗi dịch vụ dữ liệu đƣa ra một số tập thực thể cùng với các thao tác truy vấn và một thao tác cho việc gửi các thực thể có sự thay đổi. Các thao tác lấy thực thể luôn lấy chúng từ tập các thực thể cho trƣớc. Tƣơng tự, các thao tác thêm, cập nhật hay xóa thực thể thơng qua tập thực thể cho trƣớc.

Các dịch vụ dữ liệu đƣợc thiết kế theo mơ hình dữ liệu thực thể. Dịch vụ dữ liệu là quá trình triển khai một bộ các thực thể trong đó có tập các thực thể, kiểu thực thể, kiểu kết hợp và tập kết hợp. LightSwitch chƣa hỗ trợ các kiểu phức tạp và trích nhập hàm nhƣ trong mơ hình dữ liệu thực thể. Biểu đồ hình 2.4 đƣa ra một ví dụ về dịch vụ dữ liệu Northwind với hai tập thực thể là Customers và Orders. Mỗi tập thực thể có 2 truy vấn mặc đinh là All và Single. Tập thực thể Customers có thêm truy vấn tùy chọn Active (đƣa ra các khách hàng đang hoạt động). Cả hai tập thực thể đều có thao tác SaveChanges mặc định.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu công nghệ phát triển ứng dụng nhanh trên nền web trong Bộ Công an. (Trang 26 - 29)

Tải bản đầy đủ (PDF)

(57 trang)