2009-07-18 48 views
8

Hiện tại tôi đang xây dựng Ứng dụng web Java của mình trên Google AppEngine (GAE), nhưng do rất nhiều hạn chế nên tôi sợ rằng tôi sẽ phải chuyển từ GAE đến máy chủ của riêng tôi đang chạy Glassfish (hoặc tôi có thể thiết lập bất kỳ máy chủ nào khác nếu cần). Ngoài ra tôi đang lập kế hoạch để chạy Oracle hoặc cơ sở dữ liệu MySql. Tôi cần làm gì để chuyển từ GAE sang máy chủ của mình? Tôi có cần phải viết lại mã của mình không? Tôi có nên tiếp tục sử dụng Datanucleus hay chuyển sang cái gì khác không? Còn gì nữa không?Chuyển từ Google AppEngine sang một máy chủ khác

+1

chỉ vì tò mò, những gì là quan trọng hạn chế yếu tố của gae không hiệu quả với bạn? –

+0

1) Giới hạn kích thước tệp 2) Một số tính năng JEE5 3) Cơ sở dữ liệu (muốn sử dụng Oracle hoặc MySql) 4) Kiểm soát cơ sở hạ tầng máy chủ của tôi Đây là bốn yếu tố chính. Tôi vẫn chưa quyết định nếu tôi muốn chuyển đổi, chỉ cần thu thập thông tin và quyết định sẽ được quyết định. – Maksim

Trả lời

4

Chúng tôi sẽ không thể đưa ra lời khuyên tốt mà không biết cách bạn viết ứng dụng của mình. Bạn đã tạo một lớp truy cập dữ liệu tách truy cập kho dữ liệu của bạn khỏi logic nghiệp vụ của bạn chưa? Hay bạn vượt qua các đối tượng cụ thể của ứng dụng trên khắp nơi? Bạn có đang sử dụng dịch vụ người dùng gae không? hoặc memcache?

Điều đầu tiên bạn nên làm là xem xét tất cả các báo cáo nhập của bạn. Bất cứ lúc nào bạn nhìn thấy một com.google.something trong đó, bạn biết bạn cần phải thay đổi điều đó. Bạn không đưa ra nhiều chi tiết về cách bạn viết ứng dụng của mình, nhưng nếu bạn hỏi về datanucleus, bạn có thể đang sử dụng JDO hoặc JPA, điều đó có nghĩa là bạn có thể sử dụng lại hầu hết lớp dữ liệu của mình. Bạn có thể có một loạt các trường khóa mà bạn sẽ phải thay đổi và có thể một vài chú thích cụ thể gae. Có thể bạn sẽ phải kiểm tra kỹ cách bạn xử lý các giao dịch, vì điều đó có thể khác trong cơ sở dữ liệu SQL, không sử dụng các nhóm thực thể như GAE.

6

Tại sao không theo dõi thông tin được đưa ra trong lửa trại Google gốc? Có một bài thuyết trình của IBM về cách chạy một ứng dụng AppEngine bằng cách sử dụng DB2. Họ chỉ đơn giản là bỏ jar datanucleus-rdbms trong CLASSPATH, thay đổi URL kết nối, và chạy nó. Giống như trong PDF này http://download.boulder.ibm.com/ibmdl/pub/software/dw/wes/hipods/GAE_Java_Interoperability.pdf

--Andy (DataNucleus)

+1

Wow. Thật tuyệt. Họ đã triển khai dịch vụ Người dùng và UrlFetch. Bên cạnh các công cụ cấu hình, những thay đổi mã thực sự duy nhất là tái cấu trúc các loại khóa nhất định và thay đổi các câu lệnh nhập khẩu. –

Các vấn đề liên quan