Điện toán đám mây cho doanh nghiệp: Phần 2: WebSphere sMash và DB2 Express-C trên đám mây công khai Amazon EC2

Phần 1 của loạt bài này đã thảo luận tổng quan về điện toán đám mây, bao gồm các lớp khác nhau và các kiểu đám mây khác nhau, cùng với các lợi ích và mặt trái của nó, và đã giải thích tại sao việc chuyển đổi này quan trọng đối với các nhà phát triển kinh doanh. Bài viết này tập trung vào đám mây công khai và làm cách nào bạn có thể sử dụng IBM ® WebSphere® sMash và IBM DB2® Express-C Amazon Machine Images (AMI) để phân phát các ứng dụng web đặt trên kiến trúc đám mây công khai EC2. Nội dung này nằm trong loạt bài về IBM WebSphere Developer Technical Journal.

Dustin Amrhein, Kỹ sư phần mềm, IBM

Author photoDustin Amrhein gia nhập IBM như là một thành viên của đội phát triển WebSphere Application Server. Khi đang ở vị trí đó, Dustin đã tập trung vào kiến trúc các dịch vụ Web và các mô hình lập trình dịch vụ. Thêm vào đó, Dustin đã thực hiện phát triển một khung làm việc các dịch vụ cho môi trường chạy Java. Hiện nay, vai trò của Dustin là một đại sứ các công nghệ nổi bật tại danh mục WebSphere của IBM


Tác giả chuyên nghiệp của
        developerWorks

13 10 2009

Giới thiệu

Trong số ba loại đám mây -- công khai (public), riêng tư (private), và các đám mây lai (hybrid) -- đám mây công khai có lẽ được biết đến nhiều nhất và có tính sẵn sàng bày bán nhất. Tính khả truy cập và khả tương thích là hai đặc điểm chính dẫn đến sự thông dụng của đám mây công khai. Cuối cùng, kiến trúc Amazon Elastic Compute Cloud (EC2) cung cấp một kiến trúc đám mây công khai mà đặt các thể hiện Amazon Machine Image có thể giao tới người dùng. Để cho phép các người dùng tận dụng EC2, gần đây IBM đã phát hành Amazon Machine Images (AMI) thứ mà đóng gói phần mềm phổ dụng của họ cung cấp cho nền tảng EC2; các AMIs này đều có giấy phép không phí. Thêm vào đó IBM cũng cung cấp các phần mềm IBM có sẵn nhất định chạy bên trong cơ sở hạ tầng EC2.

Bài viết này cung cấp một cái nhìn tổng quan về đám mây công khai và thảo luận cách dùng của IBM WebSphere sMash và IBM DB2 Express-C Amazon Machine Images để phân phát các ứng dụng Web được đặt trên cơ sở hạ tầng EC2.


Các doanh nghiệp và đám mây công khai

Để hiểu làm thế nào một doanh nghiệp có thể thúc đẩy các dải điện toán đám mây công khai, quan tâm hai điểm sau:

  • Các doanh nghiệp tiêu thụ các ứng dụng cung cấp bởi đám mây công khai. Đó có thể là một ứng dụng được thiết kế để xử lý dữ liệu số tiền phải trả cho nhân viên, hoặc có thể là một hệ thống quản lý quan hệ khách hàng. Bằng cách tận dụng phần mềm được phân phối theo cách này, một công ty có thể trút bỏ gánh nặng của việc cài đặt và bảo trì ứng dụng ở các trung tâm dữ liệu riêng tư. Các công ty cũng có thể nhận lợi ích từ việc tiết kiệm chi phí liên quan đến các phí bản quyền (license), vì hầu hết các nhà cung cấp đám mây thu phí dựa vào việc tiêu thụ sử dụng (dịch vụ của họ).
  • Các doanh nghiệp tận dụng các giải pháp đặt dựa trên đám mây để phân phối các ứng dụng cho người dùng. Bằng cách làm như vậy, các công ty được giải phòng khỏi việc bảo trì và không cần các hệ thống sản xuất vì nhà cung cấp đám mây sẵn sàng cho việc cung cấp tài nguyên cơ sở hạ tầng thỏa mãn yêu cầu những người dùng về mặt ứng dụng. Mô hình này cũng cung cấp cho việc tăng cường tính thường gặp của các dịch vụ của một công ty, vì các dịch vụ được phân phối theo cách đám mây công khai có thể truy cập ở bất kỳ thời gian nào từ bất kỳ máy nào với một kết nối mạng có sẵn.

Bất chấp bối cảnh, một chủ đề thông dụng là dòng giá trị ngầm tới một doanh nghiệp. Các đám mây công khai rất sạch có thể giúp một doanh nghiệp giảm các chi phí liên quan đến sở hữu phần mềm và các thành phần cơ sở hạ tầng trung tâm. Kém trực tiếp hơn, dùng đám mây công khai có thể phân phối giá trị bằng cách cho phép một công ty phản ứng nhanh để thay đổi nhu cầu về dịch vụ của họ, cho phép các dịch vụ vươn tới các thị trường mới và cho phép các nguồn nhân lực có giá trị tập trung vào phân phối sáng chế nghiệp vụ, hơn là đơn giản phân phối cơ sở hạ tầng kỹ thuật mà hỗ trợ doanh nghiệp.


IBM và đám mây công khai

IBM là một nhà đóng góp tích cực trong đám mây công khai, cung cấp các giải pháp cho phép một công ty đạt tới các ứng dụng từ đám mây và nhận các ứng dụng người dùng cuối của họ bằng cách tận dụng một đám mây công khai. Từ quan điểm một nhà cung cấp ứng dụng, IBM cung cấp IBM Lotus® Live, IBM Lotus Sametime® Unyte® và các công cụ phát triển phần mềm đặt trên một đám mây công khai. Bộ công cụ này cho phép các người dùng gặp gỡ, thảo luận, hợp tác và sáng tạo tất cả bởi tác dụng đòn bẩy của các dịch vụ được cung cấp bởi đám mây. Ngoài cung cấp các dịch vụ này, tầm nhìn Global Business Service của IBM giúp đỡ các tổ chức triển khai các dịch vụ mà thúc đẩy cung cấp đám mây công khai để mà phân phối các giá trị nhiều người muốn lấy.

Phần còn lại của bài này tập trung vào làm thế nào IBM cho phép bạn nhận các ứng dụng hiệu quả bằng cách tận dụng một cơ sở hạ tầng đám mây công khai. Như đã đề cập ở trước, IBM đóng gói hàng loạt các đề xuất sản phẩm doanh nghiệp của họ dưới dạng Amazon Machine Images, bởi thế cho phép việc dùng phần mềm trên cơ sở hạ tầng Amazon EC2 thông dụng. Các IBM AMI bao gồm:

  • IBM WebSphere Portal
  • IBM Lotus Web Content Management Standard Edition
  • IBM WebSphere sMash
  • IBM Informix® Dynamic Server Developer Edition 11.5
  • IBM DB2 Express-C 9.5

Bằng cách đánh dấu phần mềm này sẵn sàng dưới dạng các bản quyền phát triển miễn phí thông qua cơ sở hạ tầng Amazon EC2. IBM cũng có thể đạt tới một cộng đồng phục vụ hơn 400,000 người dùng và thu hút hơn 80% các nhà phát triển tận dụng các dịch vụ phát triển điện toán đám mây

Để thêm thông tin về quan điểm của IBM cho các nhà phát triển và điện toán đám mây, hãy thăm không gian developerWorks Cloud Computing (Điện toán đám mây). Bài viết này tập trung vào các năng lực Platform (nền tảng) như là một Service (dịch vụ) (PaaS) và Data (dữ liệu) như là một Service (dịch vụ) lần lượt của WebSphere sMash và DB2 Express-C AMIs.


WebSphere sMash và DB2 Express-C

Một cách riêng rẽ, WebSphere sMash và DB2 Express-C là các công cụ mạnh mẽ cho các nhà phát triển. Dùng WebSphere sMash, bạn có thể tạo các ứng dụng kiểu Web 2.0 dùng các công nghệ được sử dụng và các mẫu được biết đến rộng rãi như là DOJO, PHP, Groovy và các dịch vụ REST. DB2 Express-C cung cấp kho dữ liệu hiệu quả, đáp ứng tốt và tin cậy cho dữ liệu doanh nghiệp và bao gồm cả khả năng quản lý thuần XML (pure XML). Tuy nhiên, một mức cao hơn của giá trị có thể được nhận ra khi các công nghệ này được kết hợp để giao các ứng dụng Web phong phú, phản ứng nhanh, hướng dữ liệu.

Ứng dụng mẫu được bao gồm trong bài này minh họa một ứng dụng đặt chỗ trong nhà hàng để cung cấp khái niệm sơ lược các khả năng sẽ được cung cấp cùng với WebSphere sMash Zero Resource Model (ZRM) và một cơ sở dữ liệu DB2 Express-C. Các mẫu cho ứng dụng này có thể dễ dàng được mở rộng để giải quyết dữ liệu phức tạp nhất và các mối quan hệ dữ liệu. The Zero Resource Model tích hợp với DB2 Express-C được tận dụng để cung cấp một kinh nghiệm tiền kỳ (phần đầu của quá trình) phong phú được cung cấp sức mạnh bởi một hậu kỳ hạng nhẹ hiệu quả và dễ đáp ứng.

IBM AMIs được cung cấp với một bản quyền miễn phí, nhưng nhớ là phải kết thúc các thể hiện khi hoàn thành. Nếu không, bạn sẽ tiếp tục phải trả tiền thuê bao theo giờ của Amazon cho các thể hiện được đặt trên đó (hosting).

  1. Cài đặt AMIs

    Để dùng IBM AMIs, bạn phải thi hành các bước sau, điều kiện đầu tiên là:

    1. Cài đặt tài khoản Amazon Web Services (AWS) của riêng bạn. Tài khoản này được dùng để quản lý việc sử dụng EC2 của bạn.
    2. Lấy và cấu hình WebSphere sMash AMIDB2 Express-C AMI. Khi bạn cấu hình thể hiện DB2 Express-C, dùng các tên người dùng mặc định cho mục đích minh họa. Đừng tạo cơ sở dữ liệu, các chi tiết đó được mô tả trong phần tiếp theo.
    3. Triển khai AMIs vào tài khoản AWS của bạn bằng các cung cấp theo chỉ dẫn.
  2. Tạo và kích hoạt cơ sở dữ liệu

    Sau khi triển khai cả DB2 Express-C và WebSphere sMash AMIs vào EC2, cấu hình cơ sở dữ liệu của thể hiện đang chạy DB2 Express-C của bạn. Cơ sở dữ liệu này chứa các bảng được tận dụng bởi ứng dụng của bạn.

    1. Dùng SSH để đăng nhập và xác thực thể hiện DB2 AMI của bạn. Sau khi bạn đăng nhập vào, chuyển qua người dùng db2inst1 dùng lệnh su - db2inst1 .
    2. Tạo cơ sở dữ liệu cho ứng dụng dùng lệnh createDatabase. Từ thư mục /home/db2inst1/bin, nhập vào lệnh ./createDatabase RSTDB .
      Hình 1. Tạo cơ sở dữ liệu
      Hình 1. Tạo cơ sở dữ liệu
    3. Dừng và khởi động lại dịch vụ DB2 để kích hoạt cơ sở dữ liệu mới của bạn. Chuyển lại người dùng root bằng lệnh su và chạy các lệnh rcdb2 stoprcdb2 start .
      Hình 2. Kích hoạt cơ sở dữ liệu
      Hình 2. Kích hoạt cơ sở dữ liệu

    Sau khi bạn khởi động lại dịch vụ, cơ sở dữ liệu RSTDB được kích hoạt, và thể hiện DB2 Express-C được chạy trên cổng 50001. Cấu hình thể hiện DB2 Express-C của bạn giờ đây đã hoàn thành. ZRM trong WebSphere sMash được dùng để tích hợp với hậu kỳ, bởi thế tất cả các bảng của bạn được cấu hình một cách tự động.

  3. Cài đặt ứng dụng

    Sau khi bạn cài đặt thể hiện WebSphere sMash AMI, đăng nhập vào ứng dụng từ http://<ec2_host>:8070/. Ở đây bạn sẽ tạo ứng dụng WebSphere sMash mà sẽ được dùng ở ví dụ. Để làm thế, hãy nhấn Create new application để tạo ứng dụng mẫu trong khung (panel) bên trái của AppBuilder. Khi được nhắc hãy nhập tên RestaurantSeating. Sau khi tạo ứng dụng, nhấn vào tên ứng dụng ở khung trung tâm của console để bắt đầu thêm nội dung cho ứng dụng.

  4. Tác dụng đòn bẩy Zero Resource Model

    ZRM hỗ trợ bởi WebSphere sMash được thiết kế để làm đơn giản triệt để quy trình cung cấp truy cập kiểu REST tới nơi chứa dữ liệu phía sau. Mô hình hỗ trợ một phương thức cung cấp truy cập với ít mã và cấu hình. Đơn giản hãy tạo một mô hình dữ liệu và trình điều khiển tài nguyên mà được gọi để điều khiển các tương tác REST với dữ liệu. Các trình điều khiển dữ liệu chứa rất ít mã để xử lý dữ liệu vào, và ZRM hoàn toàn ẩn các tương tác với cơ sở dữ liệu ở phía sau.

    1. Để dùng ZRM dưới dạng ví dụ, tạo các mô hình tài nguyên cho dữ liệu của bạn. Các mô hình tài nguyên này định nghĩa định dạng dữ liệu của các tài nguyên trong ứng dụng của bạn và được sử dụng bởi ZRM để cung cấp quyền truy cập tới gian dữ liệu trong cơ sở dữ liệu. Bạn nên đã đăng nhập vào AppBuilder, vì thế có thể lựa chọn New file => Zero Resource Model in app/models => New form.
      Hình 3. Tạo một mô hình tài nguyên mới trong AppBuilder
      Figure 3. Creating a new resource model in the AppBuilder
    2. Tạo một mô hình dữ liệu JSON cho mỗi thực thể. Các mô hình JSON này định nghĩa các thuộc tính cho mỗi tài nguyên của bạn. Điều này bao gồm thông tin về kiểu dữ liệu của thuộc tính cũng như các thông tin khác như là giá trị mặc định, chiều dài dữ liệu, và v.v... Bởi vì bạn đang tạo một hệ thống quản lý chỗ trong nhà hàng, bạn sẽ cần phải tạo các mô hình tài nguyên cho bốn thực thể khác nhau:
      • Hàng đợi các khách
      • Các bàn của nhà hàng
      • Các chỗ ngồi
      • Các nhân viên hầu bàn.

      Trong WebSphere sMash, các mô hình này được khai báo dạng JSON. Bạn có thể dùng trình soạn thảo thiết kế trong AppBuilder, hoặc bạn có thể nhập trực tiếp các khai báo JSON của các mô hình tài nguyên. Trong cả hai trường hợp, bạn nên có bốn tệp JSON được khai báo trong Ví dụ 1.

      Ví dụ 1. Các khai báo mô hình tài nguyên
      // start patron.json (model for waiting customers)
      {
          "fields": {
              "name": {
                  "label": "Name", 
                  "required": true, 
                  "type": "string", 
                  "description": "", 
                  "default_value": "", 
                  "max_length": 50
              }, 
          	"capacity_requested": {
                  "label": "Number needed", 
                  "required": true, 
                  "type": "integer", 
                  "description": "", 
                  "default_value": ""
              }, 
              "seated": {
                  "label": "", 
                  "required": true, 
                  "type": "string", 
                  "description": "", 
                  "default_value": "false",
                  "max_length": 5
              }
          }
      }
      // end patron.json
      
      // start rest_table.json (model for restaurant tables)
      {
          "fields": {
              "capacity": {
                  "label": "Capacity", 
                  "required": true, 
                  "type": "integer", 
                  "description": "", 
                  "default_value": ""
              }, 
              "table_type": {
                  "label": "Type", 
                  "required": true, 
                  "type": "string", 
                  "description": "", 
                  "default_value": "", 
                  "max_length": 50
              }
          }
      }
      // end rest_table.json
      
      // start waiter.json (model for waiters)
      {
          "fields": {
              "name": {
                  "label": "Name", 
                  "required": true, 
                  "type": "string", 
                  "description": "", 
                  "default_value": "", 
                  "max_length": 50
              }
          }
      }
      // end waiter.json
      
      // start seating.json (model for a seating in the restaurant)
      {
          "fields": {
              "table_id": {
                  "label": "Table Id", 
                  "required": true, 
                  "type": "integer", 
                  "description": "", 
                  "default_value": ""
              }, 
              "patron_name": {
                  "label": "Patron Name", 
                  "required": true, 
                  "type": "string", 
                  "description": "", 
                  "default_value": "", 
                  "max_length": 50
              },
              "waiter_name": {
                  "label": "Waiter Name", 
                  "required": true, 
                  "type": "string", 
                  "description": "", 
                  "default_value": "", 
                  "max_length": 50
              }
          }
      }
      // end seating.json
    3. Bạn có thể thiết lập các trình điều khiển tài nguyên của bạn bây giờ. Các trình điều khiển tài nguyên cung cấp truy cập REST tới dữ liệu định nghĩa bởi các mô hình tài nguyên của bạn, và trong ví dụ này, chúng được triển khai bằng ngôn ngữ Groovy. Chọn New file => Resource handler trong app/resources để tạo bốn trình điều khiển tài nguyên, mỗi cái cho mỗi mô hình tài nguyên. Các trình điều khiển tài nguyên nên có tên giống như các mô hình tài nguyên nhưng phần mở rộng tệp là .groovy chứ không phải .json. Từ đây, chọn Resource handler trong app/resources. Có một phương thức onList, onRetrieve, onCreate, onUpdate, và onDelete trong mỗi trình điều khiển tài nguyên. Mỗi phương thức tương ứng mới một phương thức HTTP GET, POST, PUT, và DELETE một cách tách biệt. Ví dụ 2 hiển thị một ví dụ của trình điều khiển tài nguyên cho mô hình tài nguyên người hầu bàn.
      Ví dụ 2. waiter.groovy tệp
      def onList()
      {    
          ZRM.delegate();
      }
      
      def onRetrieve()
      {
          ZRM.delegate();
      }
      
      def onCreate()
      {
          ZRM.delegate();
      }
       
      def onUpdate() 
      {
          ZRM.delegate();
      }
      
      def onDelete()
      {
          ZRM.delegate();
          }

      Khai báo groovy có trước có thể được mà đơn giản hơn bằng cách khai báo các nội dung toàn bộ của tệp trong một dòng đơn:ZRM.delegate(). Không cần khai báo mỗi phương thức, nhưng làm như vậy cho phép bạn thêm các mã tùy chọn vào mỗi phương thức nếu cần.

  5. Tạo các bảng cơ sở dữ liệu

    Sau khi bạn tạo cả các mô hình và trình điều khiển tài nguyên, bạn có thể dùng các công cụ dòng lệnh và các tệp cấu hình trong WebSphere sMash để tạo các bảng cơ sở dữ liệu của riêng bạn.

    1. Dùng SSH để đăng nhập vào thể hiện WebSphere sMash AMI và cập nhật tệp /home/smash/apps/RestaurantSeating/config/zero.config. Thêm tên, địa điểm và cấu hình của gian dữ liệu phía sau của bạn.
      Ví dụ 3. Tích hợp ZRM và DB2 Express-C
      /config/db/zero-resource = {
      "class" : "com.ibm.db2.jcc.DB2SimpleDataSource",
      "driverType" : 4,
      "serverName" : "ec2-75-101-207-229.compute-1.amazonaws.com",
      "portNumber" : 50001,
      "databaseName" : "RSTDB",
      "user" : "db2inst1",
      "password" : "passw0rd"
      }
    2. Copy tệp db2cc.jar and db2cc_license_cu.jar vào thư viện ứng dụng WebSphere sMash. Trong các bước trước, bạn đã cung cấp thông tin được yêu cầu cho ZRM, bao gồm tên lớp nguồn dữ liệu, vị trí cơ sở dữ liệu và thông tin truy xuất cơ sở dữ liệu. Tiếp theo, vì bạn đang trỏ vào lớp nguồn dữ liệu com.ibm.db2.jcc.DB2SimpleDataSource, bạn cần chắc rằng các thư viện DB2 phù hợp sẵn sàng cho WebSphere sMash. Dùng một trình SCP để lấy các tệp /home/db2inst1/sqllib/java/db2cc.jar và /home/db2inst1/sqllib/java/db2cc_license_cu.jar từ thể hiện DB2 Express-C AMIe. Copy các tệp vào thư mục /home/smash/apps/RestaurantSeating/lib. Chạy zero resolve từ thư mục /home/smash/apps/RestaurantSeating của thể hiện WebSphere sMash để có các tệp JAR mới thêm vào classpath (đường dẫn tới lớp) ứng dụng.
    3. Một cách tùy chọn, bây giờ bạn có thể định nghĩa các dữ liệu ban đầu của các bảng cơ sở dữ liệu của bạn. Để tiết kiệm thời gian nhập dữ liệu sau khi tạo các bảng, bạn có thể dùng một tính năng định nghĩa dữ liệu ban đầu để sinh dữ liệu khi tạo các bảng. Dữ liệu này được định nghĩa trong tệp initial_data.json, nằm trong thư mục app/models/fixtures ở trong ứng dụng. Các điểm vào tệp là các thể hiện của các mô hình tài nguyên mà đã được định nghĩa trong các bước trước. Để sinh ra các bảng của bạn và sinh dữ liệu ban đầu chạy lệnh zero model sync. Kết quả là, các bảng được tạo trong thể hiện DB2 Express-C AMI của bạn, và bất kỳ dữ liệu bạn đã định nghĩa trong tệp initial_data.json sẽ được chèn vào các bảng sau khi chúng được tạo.
  6. Tạo giao diện người dùng

    Bây giờ bạn cần phải cho phép các người dùng hệ thống của bạn xem và tương tác với dữ liệu. WebSphere sMash cung các các widget (trình ứng dụng nhỏ) DOJO mà truy cập dữ liệu được lưu tận dụng những tiện nghi trong ZRM. Các widget này cung cấp các chức năng bên ngoài. Bạn có thể đặt chúng ở bất kỳ đâu trong trang HTML của bạn, cung cấp các thông tin cấu hình cần thiết, và kết quả là một giao diện người dùng mà giao quyền truy cập tạo, đọc, cập nhật và xóa tới dữ liệu phía sau dùng các trình điều khiển tài nguyên được tạo ra ở trước.

    1. Định nghĩa một DataStore mà tương tác với một trình điều khiển tài nguyên ZRM và định nghĩa một DataGrid mà tận dụng DataStore. Trong hệ thống quản lý chỗ nhà hàng, các khách hàng cần có khả năng xem khách đang đợi hiện tại, thêm khách mới, và xem các chỗ hiện tại (Bạn có thể áp dụng các kỹ thuật tương tự như dữ liệu chỗ ngồi của bạn -- hoặc bất kỳ dữ liệu nào quan trọng -- được cấu hình để dùng ZRM.)
      Ví dụ 4. DataGrid và DataStore khách hàng
      // patron DataStore
      <span dojoType="zero.resource.DataStore" id="patronDataStore"
          jsId="patronDataStore"
          contextRoot="./resources"
          resourceCollection="patron">
      </span>
      
      // patron DataGrid
      <div dojoType="zero.grid.DataGrid"
              id="patronDataGrid"
              visibleFields="name,capacity_requested,id"
              store="patronDataStore"
              readonly="true"
              style="width: 348px; height: 271px;">
              </div>

      DataStore tham chiếu tới bộ sưu tập khách hàng (patron.json), và DataGrid tham chiếu tới DataStore. Hình 4 cho thấy ví dụ của đầu ra.

      Hình 4. zero.grid.DataGrid khách hàng
      Hình 4. zero.grid.DataGrid khách hàng

      Để thêm vào DataGrid hiển thị dữ liệu của bạn, bạn có thể thêm một khách hàng mới hoặc ngồi vào chỗ một khách hàng đã đặt. Dữ liệu mới có thể được thêm một cách đơn giản vào gian dữ liệu ở phía sau tận dụng ZRM. (Xem mã mẫu về các biểu mẫu và các kiểu HTML được dùng để lấy thông tin trong tệp tải xuống được bao gồm trong bài viết này.)

      Ví dụ 5. Thêm một dữ liệu khách hàng
      function addPatron() {
         dojo.xhrPost({
                  url: "resources/patron",
                  form: "addPatronForm",
                  load: function (data) {
                          hideAddPatron();
                          displayWaitingPatrons();
                  },
                              
                  // Call this function if an error happened
                  error: function (error) {
                    console.error ('Error: ', error);
                  }                           
         });
      }
    2. Cho phép giao tiếp với các trình điều khiển tài nguyên ZRM dùng HTML và JavaScript™. Ví dụ trước dẫn đến kết quả trong một lời gọi tới trình điều khiển tài nguyên patron.groovy, cái mà ủy nhiệm cho ZRM để điều khiển sinh cơ sở dữ liệu DB2 với dữ liệu mới. Hình 5 mở rộng các khái niệm được mô tả trước để xác định việc biểu diễn và cập nhật thông tin về các đặt chỗ hiện tại. Dùng một vài mã HTML và JavaScript nhỏ hơn dẫn đến giao diện người dùng được chỉ ra trong Hình 5.
      Hình 5. Giao diện người dùng cho hệ thống chỗ ngồi nhà hàng
      Figure 5. User interface for the restaurant seating system

    Kết quả là một giao diện người dùng súc tích, hiệu ứng trực quan và có ý nghĩa mà cho phép người chủ điều khiển đầy đủ các khía cạnh liên quan đến chỗ ngồi trong nhà hàng.


Hãy tự thử nó

Bạn có thể tải xuống mã ứng dụng WebSphere sMash đầy đủ cho ví dụ được mô tả trong bài viết này. Bạn cần một chút ít tài nguyên để thử ứng dụng, như là bạn thúc đẩy AMIs và EC2 để đặt (hosting) cả các nền tảng WebSphere sMash và DB2 Express-C. Theo các chỉ dẫn tổng quan được cung cấp phía trên để nhanh chóng khai trương và cấu hình AMIs để sử dụng trong Amazon EC2.

Với WebSphere sMash's ZRM, bạn có thể tập trung vào dữ liệu, các mối quan hệ của nó, và làm thế nào các mối quan hệ được giới thiệu tốt nhất tới các người dùng, hơn là tập trung vào khía cạnh thấp của giao tiếp cơ sở dữ liệu. Kết hợp những lợi ích trên với các khả năng cơ sở dữ liệu nhanh, dễ điều khiển và dễ hiểu được cung cấp bởi DB2 Express-C, bạn có thể nhận có một kinh nghiệm người dùng phong phú và hướng dữ liệu một cách trực tiếp tới trình duyệt.


Tải về

Mô tảTênKích thước
Code samplerestaurantSample.zip52 KB

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

Thảo luận

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=SOA và dịch vụ Web, Information Management, Cloud computing
ArticleID=435270
ArticleTitle=Điện toán đám mây cho doanh nghiệp: Phần 2: WebSphere sMash và DB2 Express-C trên đám mây công khai Amazon EC2
publish-date=10132009