2010-04-08 24 views
7

Tôi đang cố gắng để xây dựng một cái gì đó "máy chủ portlet" -ish trên các công cụ ứng dụng google. (như nguồn mở)Container Portlet như pluto hoặc jetspeed trên công cụ ứng dụng của google?

Tôi muốn sử dụng các tiêu chuẩn JSR168/286, nhưng tôi nghĩ rằng các hạn chế của công cụ ứng dụng sẽ làm cho nó ở đâu đó giữa khó khăn và không thể.

Có ai đã cố chạy jetspeed hoặc ứng dụng sử dụng pluto trong nội bộ trên công cụ ứng dụng của Google không?

Dựa trên kiến ​​thức hiện tại của tôi portlet và động cơ ứng dụng google Tôi dự đoán những vấn đề này:

Một tập tin chiến tranh với các portlet là từ quan điểm triển khai nhiều hơn hoặc ít hơn một webapp hoàn (vâng, tôi biết rằng nó không thực sự hoạt động nếu không có máy chủ cổng ). Tập tin chiến tranh có thể chứa web.xml của riêng nó. Điều này làm cho việc triển khai trên ứng dụng khá khó khăn, bởi vì các ứng dụng là không hiển thị với nhau, vì vậy tất cả các portlet chứa lưu trữ cần phải là bao gồm trong tệp chiến tranh của triển khai "máy chủ cổng thông tin dựa trên công cụ ứng dụng".

"Các portlet" (ít nhất là trong ngày) bắt đầu dưới dạng các quy trình vĩnh viễn, dựa trên các tệp portlet.xml và web.xml của chúng nằm ở cùng một chỗ cho mọi lưu trữ portlet được tải. Tôi nghĩ điều này có thể có vấn đề trong công cụ ứng dụng , bởi vì mọi thứ đều nằm trong một "ứng dụng web" lớn, do đó, có thể khó khăn khi truy cập vào các tệp portlet.xml từ mỗi tệp lưu trữ.

Điều này ngăn cản khả năng tương thích 100% theo ý kiến ​​của tôi.

Có ai ở đây có kinh nghiệm kết hợp các portlet và công cụ ứng dụng không?

Bạn có nghĩ rằng có khả năng sửa đổi jetspeed, pluto hoặc bất kỳ vùng chứa portlet nào khác để có thể chạy trên công cụ ứng dụng không?

Trả lời

2

Tôi đã xem xét nó một thời gian ngắn - vấn đề lớn nhất của bạn là thông số kỹ thuật của Portlet được xây dựng nhưng vượt qua một số bit chính của đặc tả servlet - đặc biệt nó thường yêu cầu hỗ trợ cho các cuộc gọi đa ngữ cảnh.

Mặc dù có thể thiết kế một ứng dụng web duy nhất chứa nhiều portlet và thùng chứa servlet (thường được thực hiện cho các portlet quản trị hoặc trong trường hợp của Liferay nhiều ngăn xếp của chúng). Trong thực tế, nếu xem xét việc làm công cụ loại cổng trên AppEngine, tôi sẽ xem xét kỹ hơn các tiện ích OpenSocial (nếu bạn thực sự muốn các tiêu chuẩn), có thể chạy trong Shindig hoặc được lưu trữ bên ngoài. Điều này cũng có thể giúp bạn có được khả năng tương thích JSR-168, vì có một số portlet bridge (không lớn) để lưu trữ các widget, và nó không phải là một adapter cứng để viết.

+0

Tôi chia sẻ mối quan tâm của bạn về các vấn đề với thông số kỹ thuật portlet. Hiện tại tôi đang nghĩ về việc xác định thông số kỹ thuật "gloudlet" của riêng tôi cho các mô-đun chạy bên trong vùng chứa của tôi. Tôi sẽ thiết kế nó tương tự như JSR286 nhưng nằm trong giới hạn của các ràng buộc của công cụ ứng dụng. BTW: Nếu mọi người muốn giúp tôi khám phá và xây dựng tiêu chuẩn/khuôn khổ/công cụ: http://code.google.com/p/gloudy/ là dự án mà tôi đã bắt đầu cho nó. –

+0

Thành thật mà nói, tôi không chắc đó là mức trừu tượng hữu ích. Các speclet portlet IMHO đại diện cho một kết thúc kiến ​​trúc chết (mỉa mai xem xét bao nhiêu cổng thông tin/portlet công việc tôi đã thực hiện).Tôi nghĩ rằng sự tổng hợp phía máy khách là cách mà toàn bộ thông số sẽ đi, với các phiên ứng dụng chia sẻ giống như SSO và xác thực dựa trên thuộc tính điền vào tất cả các khía cạnh thú vị khác của những gì portlet làm. Tôi sẽ cân nhắc nghiêm túc việc kết hợp các tiện ích (tiêu chuẩn hóa hoặc đơn giản) qua việc cố gắng phát triển một kiến ​​trúc đoạn mã HTML mô-đun khác. – jayshao

+0

Bạn có ý nghĩa gì với "thành phần phía khách hàng"? Tìm nạp các tiện ích dựa trên AJAX? Nhưng bạn sẽ nhận được định nghĩa về "trang" từ đâu? Tôi đang cố gắng xây dựng khuôn khổ để xây dựng các trang web hoàn chỉnh. Tôi không nghĩ rằng các vật dụng sẽ làm thủ thuật ở đây. –