Phát triển Java 2.0: Chào Google App Engine potx

18 341 1
Phát triển Java 2.0: Chào Google App Engine potx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Phát triển Java 2.0: Chào Google App Engine Phát triển ứng dụng Web nhanh chóng cách sử dụng Groovy, Eclipse JDO Andrew Glover , Tác giả nhà phát triển, ThirstyHead.com Tóm tắt: Các giải pháp nguồn mở sở hạ tầng vay mượn thay đổi đặc điểm việc phát triển Java™, cho phép bạn cung cấp phần mềm tốt hơn, nhanh chóng với chi phí thấp Andrew Glover, đặt thuật ngữ Java development 2.0 (phát triển Java 2.0) để gói gọn sức mạnh tích lũy tượng này, khởi đầu loạt viết số cơng cụ cơng nghệ có liên quan Bài viết báo hiệu thời kỳ phát triển Java 2.0 tới giải thích cho bạn cách để làm cho khái niệm đơm hoa kết trái nhanh chóng với Google App Engine (Máy ứng dụng Google) cho Java Thế giới Java hệ sinh thái phong phú với bố cục trải rộng gồm nhà phát triển, doanh nghiệp — quan trọng — ứng dụng, nhiều ứng dụng hoàn thiện thập kỷ qua Cộng đồng Java toàn giới đầu tư nhiều tiền bạc, thời gian trí lực vào tảng đóng góp mang lại kho tàng giàu có công cụ mã nguồn mở công cụ thương mại, khung công tác, thực giải pháp, thành công Hàng loạt đầu tư nói vào tảng Java thay đổi cách phát triển Java cách khéo léo Hai xu hướng thay đổi nhanh chóng đặc điểm nó: Về loạt Bối cảnh phát triển Java thay đổi kể từ công nghệ Java xuất Nhờ hồn thiện khung cơng tác mã nguồn mở sở hạ tầng triển khai cho-thuê đáng tin cậy, lắp ráp, thử nghiệm, chạy bảo trì ứng dụng Java cách nhanh chóng khơng tốn Trong loạt này, Andrew Glover khám phá loạt công nghệ công cụ làm cho mô hình phát triển Java trở thành  Lợi dụng hồn tồn cơng cụ khung công tác mã nguồn mở để xây dựng ứng dụng từ xuống  Thuê (hoặc mượn) sở hạ tầng ứng dụng cần thiết cấp độ để quản lý vòng đời phần mềm, bao gồm việc tự chạy ứng dụng Không khía cạnh tơi gọi phát triển Java 2.0 cách mạng, công nghệ cho phép hoàn thiện đến mức có thể, chưa có lịch sử công nghệ Java, lắp ráp ứng dụng tốt cách nhanh chóng rẻ — chắn mong muốn hết doanh nghiệp giới Bài viết khởi đầu loạt viết tìm hiểu việc phát triển Java 2.0 sâu Bạn tìm hiểu việc xây dựng triển khai ứng dụng Web với EC2 Amazon, sử dụng Google App Engine (máy ứng dụng Google), sử dụng CouchDB (đang gọi sở liệu cho Web) công cụ công nghệ khác cung cấp khối xây dựng để lắp ráp, thử nghiệm triển khai ứng dụng nhanh gọn chi phí tiền so với từ trước đến Điểm dừng đầu tiên: Google App Engine cho Java (xem Tài nguyên) Tôi giới thiệu cho bạn tảng phương pháp "Hello World" (Xin chào Thế giới) truyền thống, sau cho bạn cách tạo ứng dụng Web hoạt động cách sử dụng Groovy, Java Data Objects (JDO-Các đối tượng liệu Java) trình cắm thêm Eclipse cho Google App Engine Tuy nhiên, theo trình tự, trước tiên xem tổng quan nhanh giá trị kinh doanh việc phát triển Java 2.0 Nhanh rẻ Các từ nhanh rẻ thường không kết hợp với việc phát triển Java Trong thực tế, chúng thường gợi lên ấn tượng phát triển phần mềm quan trọng — tầm nhìn cơng ty nhỏ có nguồn lực Tuy nhiên, thật vấn đề CNTT trọng tâm chi phí nhiều cơng ty (lớn nhỏ), thúc đẩy họ giữ cho chi phí CNTT thấp rút nhiều giá trị tốt Đó nơi việc phát triển Java 2.0 vào Bằng cách sử dụng công cụ mã nguồn mở, khung cơng tác chí giải pháp, cơng ty lắp ráp ứng dụng phần mềm nhanh chóng họ khơng phải tự viết nhiều mã lệnh Khi lần bắt đầu phát triển phần mềm công nghệ Java 10 năm trước đây, phạm vi công cụ khung cơng tác có sẵn cho nhà phát triển nhỏ bé nhiều Một số cơng cụ khơng có sẵn miễn phí Bạn phải mua IDE, sở liệu, khung công tác ánh xạ đối tượng-quan hệ (ORM) (ôi chết tiệt, bạn phải mua trình điều khiển cần thiết để giao tiếp với sở liệu bạn) dĩ nhiên, máy để triển khai ứng dụng bạn Bây giờ? Tất thứ mà vừa liệt kê (và nhiều nữa) có sẵn miễn phí chất lượng cao Hơn nữa, cách vay mượn sở hạ tầng (ví dụ sở hạ tầng EC2 Amazon Google App Engine cung cấp), bạn triển khai ứng dụng rẻ (so với mua toàn sở hạ tầng cần thiết) Xây dựng, mua, hay mượn: Đó câu hỏi Nhiều doanh nghiệp có danh sách phần cứng để chạy ứng dụng sở liệu, máy chủ ứng dụng, hệ thống quản lý thay đổi cơng cụ lần vết tìm lỗi Tuy vậy, ngày nay, danh sách dễ dàng vứt bỏ để thay việc sử dụng gói phần mềm dạng dịch vụ chạy sở hạ tầng người khác Tồn chồng ứng dụng mà nhóm làm việc phải sử dụng để quản lý q trình phát triển vay mượn — nghĩa là, thuê với khoản phí nhỏ — giải phóng cho cơng ty khỏi phải đầu tư vào phần cứng để chạy chúng Ví dụ, thay mua máy tính để chạy hệ thống quản lý thay đổi (như Subversion Git, hai mã nguồn mở có sẵn miễn phí), nhóm làm việc sử dụng dịch vụ quản lý thay đổi dùng chung GitHub Công ty đằng sau GitHub phải gánh chịu chi phí tài sản phần cứng tính chi phí danh nghĩa (thường hàng tháng cho người dùng) cho tổ chức khác sử dụng Git Cùng nguyên tắc thuê phần mềm dịch vụ từ nhà cung cấp khác áp dụng cho việc lần vết tìm lỗi, quản lý kiểm thử quản lý yêu cầu (ví dụ qua JIRA Hosted Pivotal Tracker) Cũng nói giống tài sản phần cứng nằm mà tảng phần mềm khác (về chất, thường tùy chỉnh) chạy Một doanh nghiệp vứt bỏ phần cứng nằm bên ứng dụng web cụ thể để thay việc chạy ứng dụng phần cứng cung cấp Amazon, Google đối tác khác Các công ty đưa khả thuê phần cứng mức độ khác nhau, vừa vặn lưu trữ ứng dụng Hơn nữa, công ty quản lý khả mở rộng, lưu chí an ninh Hãy suy nghĩ lát: Amazon Google nêu mối quan tâm (và nhiều nữa) từ lâu đối phó tốt với chúng, có nhiều đổi xung quanh khía cạnh việc chạy tảng phần mềm cho hiệu (Đó Hãy đương đầu với nó) Bằng cách sử dụng App Engine Google, ví dụ thế, cơng ty CNTT hạ thấp tổng chi phí mua sở hạ tầng để chạy ứng dụng cần thiết Và họ triển khai ứng dụng nhanh vơ số mối quan tâm đan chéo nhau, kết hợp với việc triển khai ứng dụng quản lý tính đến cung cấp cho họ (với nhiều khả theo cách tốt hơn) Nhanh rẻ khơng cịn có nghĩa chất lượng thấp Ngược lại, phát triển Java 2.0 cách tiếp cận chiến thuật giả định quy trình vững để nhấn mạnh chất lượng Một ngày đơn giản với App Engine Google App Engine Google tảng thực để xây dựng triển khai ứng dụng Web Java (và Python) sở hạ tầng mở rộng Google Nó khơng u cầu lệ phí cấp phép sử dụng (tất nhiên, trừ số thư viện phần mềm mà bạn chọn để sử dụng sở hạ tầng yêu cầu giấy phép) khơng cần chi phí trả trước cho băng thông không gian lưu trữ Cơ sở hạ tầng App Engine hồn tồn miễn phí bạn đạt đến ngưỡng mức sử dụng — dung lượng lưu trữ 500MB và, theo trích dẫn nguyên văn từ Google, "đủ CPU băng thông cho khoảng triệu lượt xem trang tháng" Chỉ cần nói rằng, bạn đạt tới điểm mà Google bắt đầu gửi hóa đơn tính phí cho bạn, ứng dụng Web bạn rõ ràng tạo lưu lượng đáng kể (và có lãi) Dựng lên ứng dụng chạy App Engine khơng thể dễ dàng Google chí cịn cung cấp trình cắm thêm Eclipse xử lý gần thứ cho bạn Và trình cắm thêm bao gồm thành phần thiết yếu ứng dụng servlet "Hello World" để giúp bạn bắt đầu với tảng Trong giới thiệu nhập môn gần ông developerWorks ("App Engine Google cho Java, Phần 1: Tăng tốc nó!") Rick Hightower đưa bạn qua bước triển khai ứng dụng Hello World (bao gồm ảnh chụp hình) Nếu bạn chưa làm việc theo viết Rick, làm theo bước sau: Xác định phiên Các triển khai App Engine định phiên — là, bạn gán mẫu chuỗi ký tự (biểu phiên bản) cho triển khai Điều có ích bạn bắt đầu có nhiều phát hành Thông qua URL bảng điều khiển Google, bạn mơ tả phiên phiên "hoạt động" phiên phiên hoạt động (mặc dù triển khai xác định phiên truy cập qua URL, với điều kiện bạn chưa gỡ bỏ trước) Theo đó, lúc bạn muốn triển khai phiên dự án bạn lên sở hạ tầng Google, bạn phải cung cấp cho triển khai mã hiệu phiên hợp lệ Mẫu chuỗi ký tự không bao gồm dấu chấm câu (1.1 không dùng được, 1-1 lại dùng được) Bạn gán phiên tệp AppEngine-web.xml, có thư mục war/WEB-INF sinh bạn tạo lập dự án Để triển khai dự án mình, bạn khơng cần phải đối phó với phiên (chưa cần) Google định phiên khởi đầu tệp appengine-web.xml tạo 1 Hãy tạo tài khoản App Engine Google (nó miễn phí) cách nhấn vào liên kết Sign up (Đăng nhập) Getting Started (Bắt đầu) trang http://code.google.com/appengine/ Tải xuống trình cắm thêm App Engine Google cho Eclipse từ http://code.google.com/appengine/downloads.html cài đặt Tạo dự án cách nhấn vào nút New Web Application Project (Dự án ứng dụng Web mới) Eclipse, hộp thoại kết quả, bỏ dấu chọn tùy chọn Use Google Web Toolkit (sử dụng dụng cụ Web Google) Đặt tên dự án gói tương ứng bạn muốn Chọn dự án bạn hệ thống phân cấp nhấn vào nút Deploy App Engine Project (Triển khai dự án App Engine) Nhập mã ủy quyền bạn (là mà bạn sử dụng tạo tài khoản App Engine Bước 1) Kết hợp dự án cục bạn với mã nhận dạng (ID) ứng dụng mà bạn tạo bạn bước đầu tạo tài khoản App Engine (Bạn có đến 10 ID) Nhấn vào nút Deploy (Triển khai) Bạn thấy nhiều văn trôi qua bàn điều khiển Eclipse (trình cắm thêm thực nhiều đằng sau hậu trường bao gồm việc cải tiến lớp cần thiết để sử dụng dịch vụ lưu trữ-dữ liệu ấn tượng Google) Khi tiếng ồn dịu dần (và tất thứ làm việc đúng), bạn thấy thông báo kết thúc dịng chữ "Việc triển khai hồn tất thành công." Đi tới trang tài khoản App Engine bạn Google tìm liên kết Versions bảng điều khiển Google Ở bạn thấy phiên triển khai bạn URL tương ứng Nhấn vào URL sau nhấn vào liên kết tới servlet tạo để thấy dòng chữ "Hello, world" (Xin chào, giới) buồn tẻ lại làm bạn hài lòng làm sao, in dạng văn Ít dịng mã với Groovlets Bạn triển khai thành công ứng dụng Google App Engine bạn bạn không viết dịng mã Thực vậy, bạn có kế hoạch sử dụng App Engine, bạn đến chỗ viết số dòng mã — nhớ rằng, có nhiều mã mà bạn tái sử dụng để làm cho công việc bạn dễ dàng Mã tái sử dụng dịch vụ mà Google cung cấp (chẳng hạn dịch vụ tài khoản Google dịch vụ lưu trữ liệu nó) thư viện nguồn mở chuyển đến để làm việc sở hạ tầng Google Việc dùng lại mã người khác thường có nghĩa bạn viết mã — mã có nghĩa có lỗi Một thư viện nguồn mở u thích tơi (và thực tảng) dẫn đến dòng mã để tạo ứng dụng làm việc Groovy (xem Tài nguyên) Nhóm Groovy gần phát hành phiên tảng để làm việc App Engine, cho phép bạn sử dụng Groovlets thay servlet làm cho ứng dụng hoạt động nhanh gọn Groovlets kịch lệnh Groovy đơn giản hành động servlet Vì bạn có servlet để in "Hello, world", cho bạn cách làm điều tương tự với Groovlet dễ dàng (và bạn thấy Groovy cho phép dòng mã) Việc triển khai Groovlet App Engine với trình cắm thêm Eclipse diễn theo vài bước đơn giản: Tải phiên Groovy (tại thời điểm viết 1.6.3) từ http://groovy.codehaus.org/Download Tìm tệp groovy-all-1.6.3.jar đặt vào thư mục war/WEB-INF/lib dự án App Engine bạn Tiện thể, thư mục này, bạn đặt thư viện mà ứng dụng bạn yêu cầu (với số cảnh báo mà trình bày sau đây) Thêm câu Liệt kê (để ánh xạ Groovlets tới yêu cầu chuyên dùng) vào tệp web.xml, có thư mục war/WEB-INF: Liệt kê Cập nhật tệp web.xml để hỗ trợ Groovlets GroovyServlet groovy.servlet.GroovyServlet GroovyServlet *.groovy Thêm thư mục groovy vào thư mục WEB-INF bạn; nơi bạn lưu Groovlets Trong thư mục groovy, tạo tệp gọi helloworld.groovy Trong tệp đó, gõ nhập println "Hello, Groovy baby!" Cập nhật phiên ứng dụng bạn — gọi 1-1 — triển khai lại Tìm URL tương ứng qua bảng điều khiển Google sau lướt tới /helloworld.groovy trình duyệt bạn thưởng thức lộng lẫy thông báo hợp thời in từ Groovy sở hạ tầng Google Điều thật dễ dàng, phải không? Tất thứ mà bạn phải làm thêm vào Groovy JAR, cập nhật tệp web.xml, tạo thư mục groovy mới, viết Groovlet triển khai Bạn có nhận thấy Groovlet làm việc tương tự servlet mặc định mà trình cắm thêm tạo dòng mã khơng? Bạn chọn phải viết trì nào: lớp lớn hay lớp nhỏ mà làm việc? Groovy + Java = ứng dụng hoạt động Rất nhanh chóng Bây tơi cho bạn việc sử dụng Groovy với App Engine Google mang lại ứng dụng hoạt động nhanh gọn Tôi sử dụng trang HTML đơn giản, Groovlet lớp Java có tăng cường JDO để lưu giữ lâu bền kiện (trong trường hợp này, thi ba mơn phối hợp) Tơi giữ cho đơn giản vào lúc này, bạn thấy ứng dụng phát triển thêm để bao gồm đặc tính khác viết loạt bạn thực chúng (tất nhiên, sử dụng sở hạ tầng công nghệ khác) JDO nhanh Google App Engine cung cấp khả để lưu giữ lâu bền liệu sử dụng JDO, tiêu chuẩn Java cho lưu giữ lâu bền (xem Tài nguyên) Đối với hầu hết nhà phát triển Java, lưu giữ lâu bền liệu thường ngụ ý việc ghi lưu thông tin vào sở liệu quan hệ; nhiên, trường hợp Google, chế lưu trữ nằm sở hữu độc quyền Big Table, sở liệu quan hệ Điều vừa nói khơng thực quan trọng: chi tiết cách Google lưu giữ lâu bền thuộc tính cụ thể phần lớn ẩn dấu với bạn Chỉ cần nói rằng, bạn sử dụng đối tượng Java bình thường (hoặc đối tượng Groovy, cho vấn đề này) để xây dựng ứng dụng lưu trữ thông tin bạn làm ứng dụng khác Vừ̀a vặn trường hợp Google, bạn phải sử dụng JDO (Hibernate, cho là̀ khung công tác ORM phổ biến cho Java, không làm việc với App Engine.) JDO đơn giản Bạn tạo POJO — Plain Old Java Objects (các đối tượng Java) (có thể có mối quan hệ với đối tượng Java khác) — mà bạn khai báo có khả lưu giữ lâu bền thông qua giải mức lớp @PersistenceCapable Bạn xác định thuộc tính đối tượng lưu giữ lâu bền qua giải @Persistent Ví dụ, tơi muốn lưu trữ kiện thi đấu ba môn phối hợp (lúc tập trung vào kiện mà nhiều kết khác có liên quan đến thi đấu ba mơn phối hợp) — có nghĩa là, kiện có tên (tên thi đấu ba môn phối hợp), có mơ tả (cuộc thi đấu ba môn phối hợp kiểu nào) ngày tháng Cho đến nay, JDO trông giống Liệt kê 2: Liệt kê Một JDO kiện thi đấu ba môn phối hợp đơn giản import java.util.Date; import javax.jdo.annotations.PersistenceCapable; import javax.jdo.annotations.Persistent; import javax.jdo.annotations.IdentityType; @PersistenceCapable(identityType = IdentityType.APPLICATION) public class Triathlon { @Persistent private Date date; @Persistent private String name; @Persistent private String description; } Lưu trữ lâu bền liệu, chế nằm (đó là, sở liệu quan hệ Big Table Google) địi hỏi khái niệm khóa: cách để bảo đảm tính độc khía cạnh liệu khác để tránh xung đột liệu Ví dụ, trường hợp thi đấu ba mơn phối hợp, khóa tên thi đấu ba môn phối hợp Nếu hai thi đấu ba mơn phối hợp có tên, khóa tổ hợp gồm tên ngày tháng Bất kể bạn chọn để biểu diễn khoá với App Engine Google JDO nào, bạn phải định khóa đối tượng JDO bạn thông qua giải @PrimaryKey Bạn chọn chiến lược để sinh khóa — bạn làm sở hạ tầng Google Tôi dành việc cho Google làm cho đơn giản: khóa đối tượng thi đấu ba môn phối hợp biểu diễn đối tượng Long Java thông thường Google chọn giá trị thực tế cách xác định chiến lược giá trị Liệt kê bổ sung thêm khóa chính: Liệt kê Thêm khóa cho JDO thi đấu ba mơn phối hợp import java.util.Date; import javax.jdo.annotations.IdGeneratorStrategy; import javax.jdo.annotations.PersistenceCapable; import javax.jdo.annotations.Persistent; import javax.jdo.annotations.PrimaryKey; import javax.jdo.annotations.IdentityType; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ReflectionToStringBuilder; @PersistenceCapable(identityType = IdentityType.APPLICATION) public class Triathlon { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Long id; @Persistent private Date date; @Persistent private String name; @Persistent private String description; public Triathlon(Date date, String name, String description) { super(); this.date = date; this.name = name; this.description = description; } // setters and getters left out public String toString() { return ReflectionToStringBuilder.toString(this); } public int hashCode() { return HashCodeBuilder.reflectionHashCode(this); } public boolean equals(Object obj) { return EqualsBuilder.reflectionEquals(this, obj); } } Như bạn thấy Liệt kê 3, JDO thi đấu ba mơn phối hợp tơi có khố sở hạ tầng Google quản lý thêm vài phương thức tiêu chuẩn (toString, hashCode, equals) chúng trợ giúp nhiều cho việc gỡ rối, ghi nhật ký tất nhiên phương thức chức thích hợp Thay tự viết chúng, sử dụng thư viện Apache commons-lang (xem Tài nguyên) Tôi thêm hàm tạo (constructor) để tạo đối tượng khởi tạo đầy để dễ dàng nhiều so với gọi lô phương thức setter Tơi giữ cho JDO đơn giản có mục đích, bạn thấy, khơng có nhiều thứ cho (đó là, tơi bỏ qua mối quan hệ bỏ qua phương thức getter setter cho ngắn gọn) Đơn giản bạn mơ hình hóa miền quan tâm bạn sau trang trí mơ hình với vài giải Google lo phần lại Với đối tượng định nghĩa có khả lưu giữ lâu bền, bước cuối Để tương tác với kho lưu trữ liệu nằm dưới, bạn cần phải làm việc với lớp PersistenceManager, lớp JDO tiêu chuẩn thực mà tên ngụ ý: ghi lưu, cập nhật, lấy loại bỏ đối tượng từ kho lưu trữ liệu nằm (giống đối tượng Session Hibernate) Lớp tạo thông qua lớp nhà máy (PersistenceManagerFactory), phức tạp, thế, Google khuyến cáo tạo đối tượng đơn lẻ để quản lý cá thể nhà máy (đối tượng trả PersistenceManager thích hợp bạn cần nó) Theo đó, tơi định nghĩa đối tượng đơn lẻ đơn giản để trả cá thể PersistenceManager, hiển thị Liệt kê 4: Liệt kê Một cá thể đơn giản để trả cá thể PersistenceManager import javax.jdo.JDOHelper; import javax.jdo.PersistenceManager; import javax.jdo.PersistenceManagerFactory; public class PersistenceMgr { private static final PersistenceManagerFactory instance = JDOHelper.getPersistenceManagerFactory("transactions-optional"); private PersistenceMgr() {} public static PersistenceManager manufacture() { return instance.getPersistenceManager(); } } Như bạn thấy PersistenceMgr tơi đơn giản Một phương thức, manufacture, trả cá thể PersistenceManager từ cá thể PersistenceManagerFactory Bạn nhận thấy khơng có mã đặc thù Google Liệt kê liệt kê khác sử dụng JDO — tất tham chiếu lớp giao diện JDO tiêu chuẩn Hai đối tượng Java vừa định nghĩa nằm thư mục src dự án tôi, thêm thư viện commons-lang tới thư mục war/WEB-INF/lib Với JDO POJO thi đấu ba môn phối hợp đơn giản định nghĩa đối tượng PersistenceMgr dễ sử dụng, sẵn sàng để tiếp tục Tất thứ mà cần cách để nắm bắt thông tin thi đấu ba môn phối hợp Nắm bắt liệu qua giao diện Web Hầu hết ứng dụng Web theo mẫu: nắm bắt thông tin qua biểu mẫu (form) HTML gửi chúng đến nguồn tài nguyên phía máy chủ để xử lý Chắc chắn, nhiều gia vị trộn thêm đâu đó, mẫu giữ ngun khơng phụ thuộc vào công nghệ sở hạ tầng nằm Google App Engine không khác — mã hố nguồn tài ngun phía máy chủ để xử lý lưu trữ liệu thi đấu ba môn phối hợp Tất cịn lại cách để nắm bắt thông tin — biểu mẫu — cách để buộc phía máy chủ biểu mẫu với Theo ngôn ngữ Model-View-Controller (MVC- Mơ hình Khung nhìn- Trình điều khiển), tơi cần trình điều khiển, thường servlet; thay vào tơi sử dụng Groovlet tơi muốn viết mã Biểu mẫu HTML tơi đơn giản: tất tơi làm tạo trang HTML có sử dụng mã Cascading Style Sheets (CSS-phiếu định kiểu nhiều tầng) đơn giản, hiển thị Hình 1, trơng giống Web 2.0 trang HTML vào khoảng năm 1998: Hình Một biểu mẫu HTML đơn giản Như bạn thấy Hình 1, biểu mẫu thu giữ tên, lời mơ tả ngày tháng Tuy nhiên, ngày tháng không đơn giản — thực có ba thuộc tính ngày tháng Groovlet nhanh Groovlets làm cho viết mã lệnh trình điều khiển trở thành việc ngon ơ: chúng yêu cầu mã tự động cung cấp đối tượng cần thiết Trong Groovlet, bạn có khả truy cập ngầm ẩn đến yêu cầu HTML đáp ứng HTML thông qua đối tượng request response tương ứng Trong Groovlet tơi, tơi lấy nhanh chóng tất thuộc tính biểu mẫu HTML gửi lên thông qua lời gọi request.getParameter("name"), thể Liệt kê 5: Liệt kê Groovlets hoạt động def triname = request.getParameter("tri_name") def tridesc = request.getParameter("tri_description") def month = request.getParameter("tri_month") def day = request.getParameter("tri_day") def year = request.getParameter("tri_year") JDO mà viết mã sử dụng đối tượng Java Date (Ngày tháng); nhiên, Liệt kê 5, tơi làm việc với ba thuộc tính khác biệt Date Vì vậy, tơi cần đối tượng DateFormat để chuyển đổi tổ hợp tháng, ngày, năm thành đối tượng month, day, year thành đối tượng Date Java bình thường, Liệt kê 6: Liệt kê Định dạng ngày tháng hoạt động def formatter = new SimpleDateFormat("MM/dd/yyyy") def tridate = formatter.parse("${month}/${day}/${year}") Cuối cùng, với tất tham số thu từ biểu mẫu HTML gửi đi, Liệt kê lưu giữ lâu bền chúng vào sở hạ tầng Google qua JDO đối tượng PersistenceMgr từ Liệt kê 4: Liệt kê JDO để lưu giữ lâu bền dễ dàng def triathlon = new Triathlon(tridate, triname, tridesc) def mgr = PersistenceMgr.manufacture() try { mgr.makePersistent(triathlon) } finally { mgr.close() } Vậy xong! Dĩ nhiên nhiều trang khác bổ sung vào ứng dụng đơn giản tơi (ví dụ thu giữ kết thi đấu ba mơn phối hợp cụ thể), tơi có lẽ chuyển tiếp chuyển hướng đến biểu mẫu khác, sau biểu mẫu nắm bắt thơng tin bổ sung, giống trình thủ thuật Dù nữa, vài đoạn mã ngắn, nhanh chóng đặt thành ứng dụng Web đơn giản, lưu giữ lâu bền liệu vào sở hạ tầng Google thông qua JDO (được mã hóa Java thơng thường) Groovlet (tất nhiên, mã hóa theo Groovy) Việc triển khai ứng dụng dễ dàng, định phiên tệp appengine-web.xml nhấn vào nút Deploy Mặc dù ứng dụng Web có biểu mẫu bắt giữ kiện thi đấu ba môn phối hợp khơng đun sơi đại dương, phải nói vậy, tơi triển khai tới mơi trường vơ định hình, có mặt khắp nơi Tơi khơng phải thực thùng chứa Web chí rõ triển khai ứng dụng đâu (Ổ đĩa cứng California, mặt trăng?) Vẻ đẹp điều không quan trọng — Google chăm lo việc Tất việc Hơn nữa, đặt cược an tồn Google tính tốn quy mơ tồn cầu xem ứng dụng Ấn Độ có trải nghiệm tương tự người ở, nói ví dụ, Argentina Khi nói tất điều này, bạn cần phải ghi nhớ số điều Cơ sở hạ tầng Google hỗ trợ công nghệ Java, hỗ trợ tất thứ; bạn nhớ J2ME xuất vài năm trước đây, hạn chế App Engine giống chất Nghĩa là, tất thư viện Java lõi thư viện nguồn mở có liên quan hỗ trợ Như đề cập, sử dụng Hibernate (chủ yếu bạn khơng có sở liệu quan hệ với App Engine) Tôi gặp số thách thức sử dụng số thư viện nguồn mở có nhúng mã hóa base64 (Google yêu cầu bạn sử dụng dịch vụ URL Fetch để thay thế) App Engine tảng — bạn phải phát triển với và, nay, đường phố chiều Tương lai Alan Kay, cha đẻ lập trình hướng đối tượng, trích dẫn nói: "Cách tốt để dự đốn tương lai phát minh nó." Tơi đồng ý với Alan Kay Bất kể người khác giả thuyết tương lai công nghệ Java, nghĩ tương lai Như bạn thấy viết này, Google App Engine tảng cho tương lai — cung cấp cho bạn trị chơi hộp cát (sandbox) (Hãy nhớ tơi trình bày vài hạt cát hộp cát đó, App Engine có nhiều tính năng) Nếu bạn muốn linh hoạt (nghĩa là, bạn muốn có sở liệu quan hệ khơng thể sống mà khơng có Hibernate) lại thích ý tưởng vay mượn sở hạ tầng có khả mở rộng người khác, có sẵn lựa chọn thay EC2 Amazon xác máy chủ ảo sở hạ tầng khơng định hình mà bạn gọi đến theo yêu cầu Bạn đọc viết Sự phát triển Java 2.0 tháng tới Mục lục  Nhanh rẻ  Một ngày đơn giản với App Engine Google  Groovy + Java = ứng dụng hoạt động Rất nhanh chóng  Nắm bắt liệu qua giao diện Web  Tương lai ... Ngược lại, phát triển Java 2.0 cách tiếp cận chiến thuật giả định quy trình vững để nhấn mạnh chất lượng Một ngày đơn giản với App Engine Google App Engine Google tảng thực để xây dựng triển khai... tài khoản App Engine Google (nó miễn phí) cách nhấn vào liên kết Sign up (Đăng nhập) Getting Started (Bắt đầu) trang http://code .google. com/appengine/ Tải xuống trình cắm thêm App Engine Google. .. khởi đầu loạt viết tìm hiểu việc phát triển Java 2.0 sâu Bạn tìm hiểu việc xây dựng triển khai ứng dụng Web với EC2 Amazon, sử dụng Google App Engine (máy ứng dụng Google) , sử dụng CouchDB (đang

Ngày đăng: 07/08/2014, 10:22

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan