Các thành phần và chức năng GAE

Một phần của tài liệu Nghiên cứu công nghệ phát triển ứng dụng đa nền tảng và áp dụng vào dịch vụ hỗ trợ giáo dục (Trang 43 - 45)

3. Đối tƣợng nghiên cứu

1.4.3.Các thành phần và chức năng GAE

1.4.3.1. Môi trƣờng thực thi (runtime environment)

GAE cung c ấp hai môi trƣờng thực thi tốt cho các ứng Java và Python. Môi trƣờng phụ thuộc vào ngôn ngữ và các công nghệ liên quan khi phát triển ứng dụng.

Môi trƣờng Java: GAE sẽ chạy ứng dụng web Java bằng cách sử dụng một JVM Java 7 trong một môi trƣờng “sandbox” an toàn. App Engine gọi lớp servlet của ứng dụng để xử lý các yêu c ầu và chuẩn bị phản ứng trong môi trƣờng này.

Môi trƣờng Python: App Engine thực thi ứng dụng Python bằng cách sử dụng một thông dịch Python đƣợc nạp sẵn trong môi trƣờng “sandbox ” an toàn. Ứng dụng nhận đƣợc yêu c ầu web, thực hiện công việc và gửi phản hồi bằng cách tƣơng tác với môi trƣờng này.

Cả hai môi trƣờng Java và Python đều sử dụng chung một mô hình: một yêu cầu gửi đến ứng dụng trên server, ứng dụng đƣợc kích ho ạt (nếu cần thiết), gọi bộ phận xử lý yêu cầu và trả về kết quả cho client.

1.4.3.2. Các file server tĩnh (static file servers)

Đây là các tài nguyên tĩnh, không thay đổi trong suốt quá trình hoạt động của web site, ví dụ nhƣ các hình ảnh và các file CSS hỗ trợ hiển thị trang web, các đoạn

44 mã JavaScript chạy trên trình duyệt, các tệp tin HTML tĩnh, GAE cung c ấp một máy chủ tách biệt chuyên làm nhiệm vụ trao đổi các tệp tin tĩnh này.

1.4.3.3. Kho dữ liệu (datastore)

Kho dữ liệu App Engine là một kho dữ liệu NoSQL, cung c ấp khả năng mở rộng lƣu trữ cho các ứng dụng web. Kho dữ liệu có các đối tƣợng gọi là thực thể, mỗi thực thể có một hoặc nhiều thuộc tính, hỗ trợ các loại dữ liệu nhƣ số nguyên, chuỗi kí tự. Mỗi thực thể đƣợc xác định bởi một định danh, trong đó phân loại các thực thể với mục đích truy vấn. Kho dữ liệu có thể thực thi nhiều hoạt động trong một phiên dao dịch duy nhất. Một giao dịch không thể thành công khi một hoạt động nào đó không thành công, các giao dịch lúc này tự động đƣợc cuộn lại. Điều này hữu ích cho các ứng dụng web mà nhiều ngƣời có thể cùng truy cập cùng một dữ liệu tại cùng một thời điểm.

1.4.3.4. Các dịch vụ (services)

Dịch vụ là các mối quan hệ giữa kho dữ liệu và môi trƣờng thực thi. GAE bao gồm các dịch vụ hữu ích cho các ứng dụng web. Các dịch vụ bao gồm: dịch vụ Memcache để lƣu trữ theo cặp từ khóa - giá trị, dịch vụ URL Fetch giúp truy cập vào các tài nguyên web khác, dịch vụ Mail giúp thực hiện việc trao đổi mail.

1.4.3.5. Tài khoản Google (google accounts)

Các chức năng của GAE đã đƣợc tích hợp trong các tài khoản của Google nhƣ Google Mail, Google Docs và Google Calendar. Chúng ta có thể sử dụng các tài kho ản trên Google cho các ứng dụng đó. Nếu ngƣời dùng đã có tài khoản trên Google, họ có thể đăng nhập để sử dụng ứng dụng với các tài khoản đó mà không cần tạo tài kho ản riêng trong từng ứng dụng. Điều này là không bắt buộc, chúng ta luôn có thể xây dựng hệ thống tài khoản riêng c ủa mình.

1.4.3.6. Các công c ụ lập trình (programming tools)

Google cung cấp một số công c ụ miễn phí trong việc phát triển ứng dụng GAE bằng ngôn ngữ Java và P ython. Chúng ta có thể tải các công cụ này cho ngôn ngữ tƣơng ứng với hệ điều hành của chúng ta từ trang web của Google.

45

Một phần của tài liệu Nghiên cứu công nghệ phát triển ứng dụng đa nền tảng và áp dụng vào dịch vụ hỗ trợ giáo dục (Trang 43 - 45)