Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Máy ứng dụng của Google cho Java: Phần 1: Rồ máy lên! pot
Nội dung xem thử
Mô tả chi tiết
Máy ứng dụng của Google cho Java: Phần 1: Rồ máy lên!
Xây dựng các ứng dụng sát thủ dựa trên Java, mở rộng được với Máy ứng dụng
cho Java
Rick Hightower , Giám đốc, eBlox
Tóm tắt: Bạn có nhớ khi mà Máy ứng dụng của Google (Google App Engine) chỉ
dành cho những người lập trình Python (Pythonistas) không? Những ngày đen tối.
Google Inc đã mở nền tảng điện toán đám mây của mình cho các nhà phát triển
Java™ trong tháng 4 năm 2009. Trong loạt bài viết ba phần này, Rick Hightower,
một huấn luyện viên và tác giả viết về công nghệ Java giúp bạn bắt đầu với nền
tảng tin cậy, vững chãi và đầy vui thú này để phát triển ứng dụng dựa trên Java.
Trong bài này, bạn sẽ có được một tổng quan về lý do tại sao Máy ứng dụng của
Google cho Java có thể là nền tảng để tiếp tục phát triển những ứng dụng sát thủ
(N.D: “killer app” tiếng lóng của các lập trình viên, để chỉ một ứng dụng được viết
tài tình, đặc biệt hữu ích, hàm ý nó giống như các sát thủ đối với người chơi những
trò chơi điện tử), có khả năng mở rộng cao của bạn, sau đó bắt đầu sử dụng các
trình cắm thêm (Plugin) của Google cho Eclipse để xây dựng hai ứng dụng ví dụ:
một dựa trên bộ công cụ Web của Google (Google Web Toolkit - GWT) và một
dựa trên API Servlet của Java. Bạn sẽ tự mình tìm hiểu Máy ứng dụng của Google
cho Java làm nên sự khác biệt như thế nào, cả trong việc xây dựng một ứng dụng
từ đầu lẫn trong việc triển khai nó dành cho số người truy cập lên đến năm triệu.
(Và đó mới chỉ là phiên bản miễn phí.)
Một ý tưởng cũng giống như chỗ ngứa: bạn cần phải gãi nó và khi đó cảm thấy
thỏa mãn hơn. Với vai trò là những nhà phát triển phần mềm, chúng ta dành nhiều
thời gian nghĩ ra những ý tưởng cho các loại ứng dụng khác nhau. Thật là vui, phải
vậy không? Nhưng cái khó là tìm ra cách để làm cho một sản phẩm phần mềm
đơm hoa kết trái. Thật là hài lòng khi tưởng tượng ra một cái gì đó và sau đó tạo ra
nó. Còn trái lại (một chỗ ngứa không được gãi) thì đúng là khó chịu thật.
Một lý do làm cho nhiều ứng dụng không bao giờ phát triển được là cần có một cơ
sở hạ tầng. Một cơ sở hạ tầng được duy trì tốt thường liên quan đến một đội các
nhà quản trị hệ thống, các nhà quản trị cơ sở dữ liệu (DBA) và các kỹ sư mạng, mà
cho đến gần đây, vẫn là một hoạt động kinh doanh chủ yếu dành cho người giàu.
Thậm chí trả tiền cho một bên thứ ba để cho lưu trú các ứng dụng của bạn cũng
không đơn giản: điều gì sẽ xảy ra nếu bỗng nhiên ứng dụng nổi tiếng tăng vọt và
có rất nhiều lượt truy cập? Cái gọi là hiệu ứng Slashdot (sự kiện số người truy cập
đến trang Web bất thình lình tăng vọt) có thể vứt một ý tưởng tốt vào hố rác, đơn
giản vì thật khó dự đoán những đột biến tải.
Tuy nhiên, như chúng ta đều biết, điều đó đang thay đổi. Những tiền đề cho các
dịch vụ Web đã phát triển lên và ngày nay nó mang lại cho chúng ta những
phương tiện, thông qua điện toán đám mây và người anh em tráng kiện hơn của
nó, đó là nền tảng-như là-một dịch vụ (PAAS - platform-as-a-service), để xây
dựng, triển khai và phân phối các ứng dụng dễ dàng hơn. Bây giờ, khi bạn viết
Twitter (dịch vụ mạng xã hội miễn phí) tiếp theo và triển khai nó trên một nền
tảng đám mây, nó sẽ có thể mở rộng, bạn thân mến ạ, mở rộng mãi.
Trong bài viết ba phần này, bạn sẽ học qua thực hành tại sao điện toán đám
mây/PAAS là một bước nhảy tiến hóa quan trọng như vậy cho sự phát triển phần
mềm, và đồng thời cũng bắt đầu với một nền tảng mới thú vị để phát triển Java:
Máy ứng dụng của Google cho Java, hiện đang sẵn có dưới dạng phiên bản xem
trước. Tôi sẽ bắt đầu với một tổng quan về Máy ứng dụng (App Engine) cho Java,
bao gồm các kiểu dịch vụ ứng dụng mà nó cung cấp. Sau đó bạn sẽ đi thẳng vào
một ví dụ ứng dụng — ví dụ đầu tiên trong hai ví dụ — bằng cách sử dụng trình
cắm thêm của Google cho Eclipse làm Máy ứng dụng cho Java. Ví dụ ứng dụng
đầu tiên sẽ sử dụng sự hỗ trợ của Máy ứng dụng cho Java đối với giao diện lập
trình ứng dụng (API) dành cho Servlet Java và ví dụ ứng dụng thứ hai sẽ sử dụng
sự hỗ trợ của nó đối với bộ công cụ Web của Google (GWT). Trong Phần 2, bạn
sẽ tạo ra một ứng dụng quản lý liên lạc nhỏ bằng cách sử dụng sự hỗ trợ của Máy
ứng dụng cho Java đối với các servlet và GWT, tương ứng. Và trong Phần 3, bạn
sẽ sử dụng ứng dụng được xây dựng tuỳ chỉnh của bạn để khám phá sự hỗ trợ lưu
giữ lâu bền dựa trên Java của Máy ứng dụng cho Java, sự hỗ trợ này dựa trên các
đối tượng dữ liệu Java (Java Data Objects-JDO) và API dành cho lưu giữ lâu bền
của Java (Java Persistence API - JPA).
Thôi, nói thế là đủ: Hãy rồ máy lên!
Về Máy ứng dụng của Google cho Java
Google (tôi tin rằng cũng là nhà sản xuất một số dạng máy tìm kiếm) đầu tiên đã
phát hành Máy ứng dụng của Google trong tháng 4 năm 2008. Thật thất vọng với
nhiều nhà phát triển Java, bản phát hành đầu tiên đã thuần túy là lĩnh vực của các
lập trình viên Python — những người cho rằng khoảng trống nên được sử dụng
cho các khối! (Tôi đã viết một cuốn sách về Python, vì vậy tôi biết rõ). Google đã
đáp lại yêu cầu của đông đảo mọi người bằng cách phát hành Máy ứng dụng của
Google cho Java trong tháng 4 năm 2009.
Máy ứng dụng của Google cho Java cung cấp một giải pháp xuyên suốt từ đầu đến
cuối để phát triển ứng dụng Java doanh nghiệp: một giao diện người dùng đồ họa
(GUI) Ajax dựa trên trình duyệt cho dễ sử dụng, hỗ trợ công cụ Eclipse và Máy
ứng dụng của Google ở mặt sau. Tính dễ sử dụng và có công cụ đầy đủ cũng là các
lợi thế của Máy ứng dụng của Google cho Java so với các giải pháp điện toán đám
mây khác.
Phát triển ứng dụng trong Máy ứng dụng cho Java có nghĩa là sử dụng nguồn tài
nguyên của Google để lưu trữ và lấy ra các đối tượng Java. Lưu trữ dữ liệu dựa
trên BigTable, nhưng với các giao diện JDO và JPA cho phép bạn viết mã mà
không bị ràng buộc trực tiếp với BigTable. Trong thực tế, Google cung cấp hỗ trợ
dựa trên các tiêu chuẩn cho nhiều API để bạn có thể viết mã mà không bị ràng
buộc 100% với nền tảng Máy ứng dụng cho Java.
Máy ứng dụng cho Java dựa trên các Java API tiêu chuẩn sau đây:
java.net.URL để tìm nạp các dịch vụ (bằng cách giao tiếp với các máy chủ
khác, sử dụng giao thức HTTP và HTTPS).
JavaMail để gửi thông điệp thư điện tử.
Một giao diện JCache (JSR 107) cho bộ nhớ truy cập nhanh (Memcache) để
cung cấp sự lưu trữ phân tán tạm thời, nhanh chóng để lưu trữ trong bộ nhớ
truy cập nhanh (caching) các truy vấn và các tính toán.
Triển khai Máy ứng dụng cho Java trên WebSphere/DB2
Khi thông báo khai trương Máy ứng dụng cho Java, các đại diện từ Google và
IBM® đã triển khai cùng ứng dụng mẫu như nhau trên DB2®/WebSphere®. IIBM
đang làm việc để cung cấp sự hỗ trợ API của Google mức thấp cho Tivoli® LDAP
và DB2 sao cho các ứng dụng đã xây dựng với Máy ứng dụng cho Java cũng có
thể chạy trên sự xếp chồng nền tảng WebSphere/DB2 của IBM.
Ngoài ra, Máy ứng dụng cho Java cung cấp hỗ trợ cho các dịch vụ ứng dụng sau
đây:
Xác thực và cấp quyền cho người dùng.
CRON
Nhập/xuất dữ liệu.
Truy cập đến dữ liệu tường lửa.
Nhập/xuất dữ liệu là quan trọng cho việc di chuyển dữ liệu từ các nguồn khác vào
ứng dụng của Máy ứng dụng cho Java của bạn. Đây là một cách khác mà bạn
không bị ràng buộc với Máy ứng dụng cho Java. Hỗ trợ CRON của Google được