3 Một cơ sở hạ tầng SOA điển hình

Một phần của tài liệu Giáo trình lập trình Web với Servlet và JSP - Đặng Thanh Dũng (Trang 117 - 123)

11.4. SOAP, WSDL, UDDI

WSDL, UDDI và SOAP là những phần cơ bản của cơ sở hạ tầng SOA. WSDL được sử dụng để mô tả các dịch vụ; UDDI đùng để đăng ký và tìm kiếm các dịch vụ; và SOAP được xem như một tầng để gửi thông điệp giữa người tiêu dùng dịch vụ và nhà cung cấp dịch vụ. SOAP là cơ chế mặc định cho các dịch vụ web, các công nghệ thay thế thực hiện các loại ràng buộc khác cho một dịch vụ. Một người tiêu dùng có thể tìm kiếm một dịch vụ trong UDDI registry, lấy các thông tin WSDL hoặc các dịch vụ chẳng hạn như mô tả và gọi các dịch vụ bằng cách sử dụng SOAP.

11.5. WS-I BASIC PROFILE

WS-I Basic Profile, được cung cấp bởi Web services Interoperability Organization, được xem là phần cốt lõi cần thiết cho việc kiểm thử dịch vụ và khả năng tương tác. Các nhà cung cấp dịch vụ có thể sử dụng các bộ kiểm thử cơ bản (basic profile test suites) để kiểm tra khả năng tương tác của một dịch vụ trên các nền tảng và công nghệ khác nhau.

11.6. J2EE VÀ .NET

Mặc dù J2EE và .Net là những platform chủ đạo để phát triển các ứng dụng SOA nhưng không có nghĩa là SOA bị giới hạn bởi những platform này. Platform J2EE không chỉ cung cấp một framework cho các nhà phát triển tham gia vào SOA, mà với bản chất vốn có, nó còn mang lại một cơ sở hạ tầng hoàn thiện, đã được chứng minh về khả năng mở rộng, độ tin cậy, tính sẵn có và khả năng vận hành SOA. Có thể kể ra một vài tính năng cụ thể như: tính năng Java API for XML Binding (JAXB) dùng để ánh xạ tài liệu XML vào các Java class, tính năng Java API for XML Registry (JAXR) dùng để tương tác với UDDI registry theo chuẩn, và tính năng Java API for XML-based Remote Procedure Call (XML- RPC) dùng để gọi các dịch vụ từ xa trong J2EE thuận lợi cho việc phát triển và triển khai web service trong khi đồng thời vẫn hoạt động cùng với các dịch vụ trên nền tảng khác như là .Net.

11.7. CHẤT LƯỢNG DỊCH VỤ

Các hệ thống critical-mission hiện có trong các doanh nghiệp giúp giải quyết các yêu cầu cao như bảo mật, độ tin cậy và các giao dịch. Khi các doanh nghiệp bắt đầu áp dụng kiến trúc dịch vụ như một phương tiện để phát triển và triển khai ứng dụng, các web services cơ bản với các thông số kỹ thuật như WSDL, SOAP, UDDI sẽ không thực hiện đầy đủ các yêu cầu mở rộng nữa. Như đã đề cập trước đó, các yêu cầu này cũng được biết đến như là chất lượng dịch vụ. Nhiều thông số kỹ thuật liên quan đến QoS đang làm việc trong cơ quan tiêu chuẩn như World Wide Web Consortium (W3C) và Organization for the Advancement of Structured Information Standards (OASIS).

Dưới đây là một số QoS artifact và các chuẩn liên quan:

(1) Tính bảo mật

Các đặc điểm kỹ thuật của Web Service Security thực hiện bảo mật tin nhắn. Đặc điểm kỹ thuật này tập trung vào trao đổi chứng, toàn vẹn thông điệp và bảo mật tin nhắn. Điều hấp dẫn về đặc điểm kỹ thuật này là nó thúc đẩy các tiêu chuẩn an ninh hiện có, chẳng hạn như bảo mật Assertion Markup Language (SAML) và cho phép việc sử dụng các tiêu chuẩn này để bảo mật các thông điệp trên web service.

(2) Tính đáng tin cậy

Trong một môi trường SOA tiêu biểu, một số tài liệu sẽ được trao đổi giữa người tiêu dùng dịch vụ và các nhà cung cấp dịch vụ. Thao tác gửi thư với các đặc tính như một lần và chỉ một lần (once and only once),

gửi tối đa một lần, loại bỏ tin trùng lặp. WS-Reliability và WS-ReliableMessaging là hai tiêu chuẩn giải quyết các vấn đề về tin nhắn đáng tin cậy. Cả hai tiêu chuẩn này là một phần của OASIS.

(3) Quy tắc

Cung cấp dịch vụ đôi khi đòi hỏi người tiêu dùng dịch vụ phải giao tiếp với một số chính sách nhất định. Ví dụ, một nhà cung cấp dịch vụ có thể yêu cầu mã bảo mật để có thể truy cập các dịch vụ. Những yêu cầu này được định nghĩa là chính sách. Một chính sách có thể gồm nhiều khẳng định. WS-Policy thực hiện việc chuẩn hóa các chính sách sẽ được trao đổi giữa người tiêu dùng dịch vụ và các nhà cung cấp dịch vụ.

(4) Orchestration

Khi các doanh nghiệp bắt tay với kiến trúc dịch vụ, dịch vụ có thể được sử dụng để tích hợp các kho chứa dữ liệu, các ứng dụng và các thành phần. Tích hợp các ứng dụng đồng nghĩa với xử lý các yêu cầu, chẳng hạn như giao tiếp không đồng bộ, xử lý song song, chuyển đổi dữ liệu, đều phải được chuẩn hóa. BPEL4WS hay WSBPEL (Web Services Business Process Execution Language) là một đặc điểm kỹ thuật của OASIS, chỉ ra các phân khúc dịch vụ, nơi mà các tiến trình kinh doanh được tạo ra bằng cách sử dụng một tập hợp các dịch vụ riêng biệt. WSBPEL là một phần của OASIS.

(5) Quản lý

Vì số lượng các dịch vụ và quy trình kinh doanh hiện diện như các dịch vụ phát triển trong doanh nghiệp, việc quản lý cơ sở hạ tầng cho phép các quản trị viên hệ thống quản lý các dịch vụ đang chạy trong một môi trường không đồng nhất trở nên quan trọng. Web Services for Distributed Management (WSDM) chỉ định rằng bất kỳ dịch vụ nào được cài đặt theo WSDM sẽ được quản lý bởi một giải pháp quản lý tuân thủ theo WSDM.

Các thuộc tính QoS khác chẳng hạn như sự phối hợp giữa các đối tác và các giao dịch liên quan đến nhiều dịch vụ đang được giải quyết trong WS-Coordination và các thông số kỹ thuật WS-Transaction tương ứng.

(6) SOA không phải là web service

Dường như có sự nhầm lẫn chung về mối quan hệ giữa SOA và web service. Trong một báo cáo của Gartner vào tháng 4 năm 2003, Yefim V. Natis đã làm rõ sự khác biệt như sau “Web service là về kỹ thuật công nghệ, trong khi SOA nói về nguyên lý thiết kế phần mềm. Đáng chú ý là, WSDL của web service là một chuẩn định nghĩa giao diện SOA phù hợp. Đây là điểm kết nối cơ bản giữa web service và SOA”. Về

cơ bản, SOA là một mô hình kiến trúc, trong khi web service là dịch vụ được cài đặt bằng cách sử dụng một bộ tiêu chuẩn; web service là một trong những cách giúp cho việc cài đặt SOA. Lợi ích của việc cài đặt SOA bằng web service là bạn đạt được cách tiếp cận platform trung lập với các dịch vụ truy cập và khả năng tương tác tốt hơn khi ngày càng nhiều các nhà cung cấp hỗ trợ nhiều hơn và nhiều hơn nữa các thông số kỹ thuật web service.

(7) Ưu điểm của SOA

Về cơ bản, SOA không phải là một khái niệm mới. SOA khác với công nghệ phân phối hiện nay ở chỗ hầu hết các nhà cung cấp chấp nhận nó và có một ứng dụng hoặc platform hỗ trợ SOA. SOA, với một bộ chuẩn phổ biến, giúp tái sử dụng tốt hơn các giá trị đã có hoặc đầu tư vào các doanh nghiệp, và cho phép tạo ra các ứng dụng có thể được xây dựng trên bề mặt của các ứng dụng mới hiện có. SOA cho phép thay đổi các ứng dụng trong khi vẫn giữ các khách hàng hoặc người tiêu dùng dịch vụ phân lập từ những thay đổi xảy ra trong việc thực hiện dịch vụ. SOA cho phép nâng cấp các dịch vụ cá nhân hoặc người tiêu dùng dịch vụ; không cần thiết phải viết lại hoàn toàn một ứng dụng hay là giữ một hệ thống hiện có mà không còn khả năng giải quyết các yêu cầu kinh doanh mới. Cuối cùng, SOA giúp cho các doanh nghiệp linh hoạt hơn trong xây dựng ứng dụng và các quá trình kinh doanh một cách nhanh nhẹn bằng cách tận dụng cơ sở hạ tầng ứng dụng hiện có để phát triển những dịch vụ mới.

Chương 12 BOOTSTRAP BOOTSTRAP

Bootstrap là thư viện gồm các mã HTML, CSS và JavaScript được tạo sẵn, cho phép phát triển các trang web có tính tương tác cao và có khả năng thích ứng cao với các thiết bị di động. Bootstrap hỗ trợ HTML5 và CSS3. Bootstrap cho phép tạo ra các websites có khả năng tự điều chỉnh để tương thích với các thiết bị khác nhau, từ các điện thoại có kích thước màn hình nhỏ, cho đến các máy desktop có màn hình với kích thước lớn. Một thiết kế có khả năng này được gọi là responsive design.

Boostrap ngày nay được sử dụng rộng rãi vì các lý do sau:

 Dễ sử dụng: Bất kỳ ai với kiến thức cơ bản về HTML và CSS đều có thể sử dụng Bootstrap.

 Khả năng thích ứng cao với các thiết bị có kích thước khác nhau (responsive feature).

 Khả năng thích ứng với nhiều loại trình duyệt khác nhau.

Có hai cách để dùng Bootstrap trong ứng dụng web. Cách thứ nhất là tải Bootstrap về từ địa chỉ getbootstrap.com, sau đó làm theo các chỉ dẫn tại địa chỉ này. Cách thứ hai là nhúng Bootstrap vào trang HTML từ một CDN (Content Delivery Network) như sau:

<!-- Latest compiled and minified CSS -->

<link rel="stylesheet"

href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bo otstrap.min.css"> <!-- jQuery library --> <script src= "https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery .min.js"> </script>

<!-- Latest compiled JavaScript -->

<script src=

"http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstra p.min.js">

</script>

12.1. CÁC BƯỚC CƠ BẢN ĐỂ TẠO MỘT TRANG WEB CÓ SỬ

DỤNG BOOTSTRAP

Ta có thể thực hiện các bước sau để có được một trang web đơn giản có sử dụng Bootstrap.

 Bước 1: Thêm HTML5 doctype. Do các phần tử HTML và các thuộc tính CSS được sử dụng trong Bootstrap đòi hỏi phải có HTML5 doctype, chúng ta cần thêm HTML5 doctype để có thể sử dụng được các đặc tính này của Bootstrap. Lưu ý luôn luôn thêm HTML5 doctype ở đầu trang. Ngoài ra cần kèm theo các thuộc tính về về ngôn ngữ và mã hóa: lang và character set.

<!DOCTYPE html> <html lang="en">

<head>

<meta charset="utf-8"> </head>

</html>

 Bước 2: Thêm tag <meta> vào trong phần tử <head> để hỗ trợ touch zooming và bố trí màn hình phù hợp với các thiết bị di động.

<meta name="viewport" content="width=device-width, initial- scale=1">

Ở đây, “width=device-width” được dùng để chỉ định chiều rộng của trang phụ thuộc vào chiều rộng của thiết bị; initial-scale=1"

được dùng để chỉ định mức độ zoom ban đầu khi trang được nạp vào trình duyệt.

 Bước 3: Cung cấp phần tử container được dùng để chứa nội dung của website. Ta có thể chọn một trong hai loại phần tử chứa: (1) phần tử container có class là .container và (2) phần tử container có class là .container-fluid. Loại thứ nhất có chiều rộng cố định, loại thứ hai có chiều rộng là toàn bộ chiều rộng của cửa sổ.

Bảng 12.1 minh họa một trang web đơn giản có sử dụng Bootstrap. Trong ví dụ này, ta dùng phần tử container có lớp là .container (loại thứ nhất).

Bảng 12.1 - Một trang web đơn giản có sử dụng Bootstrap

<!DOCTYPE html> <html lang="en"> <head>

<title>

VÍ dụ Bootstrap</title>

<meta charset="utf-8">

<meta

name="viewport" content="width=device-width, initial- scale=1">

<link rel="stylesheet"

href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/ bootstrap.min.css">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/ jquery.min.js"> </script> <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/ bootstrap.min.js"> </script> </head> <body>

<div class="container">

<h1>Trang Boostrap cơ bản</h1>

<p>some text here.</p>

</div> </body> </html>

12.2. BOOSTRAP GRIDS

Hệ thống grid (lưới) của Bootstrap cho phép tạo ra các cột trong một trang. Số lượng các cột có thể lên đến 12. Nếu không muốn dùng hết 12 cột, ta có thể gom nhóm một số cột để tạo thành các cột mới có chiều rộng lớn hơn. Hệ thống lưới của Bootstrap có tính responsive, nghĩa là các cột có thể được tự động điều chỉnh hợp lý tuỳ thuộc vào kích thước của màn hình thiết bị. Hình 12.1 minh họa các cột có kích thước khác nhau của hệ thống Bootstrap grid.

Một phần của tài liệu Giáo trình lập trình Web với Servlet và JSP - Đặng Thanh Dũng (Trang 117 - 123)