2010-08-15 3 views
4

Java 기반 웹 응용 프로그램에서 Ajax Push를 구현하여 웹 페이지의 항목 수를 변경하지 않고 변경하려는 상황에 있습니다. 사용자와의 상호 작용 이 작업을 수행하는 데 필요한 기술을 Ajax Push라고합니다. 또한 JSF 2.0에 대한 경험이 있습니다.JSF 2.0 용 Ajax Push가 Icefaces보다 우수합니다.

처음에는 약 2 주 후에 이것을 보여주는 데모가 필요하지만 데모가 수락되면 충분한 시간을 할애해야합니다.

나는 주변을 둘러 보았고 분명히 Icefaces가 이것을 잘 수행한다는 것을 알았고 나는 그것을 조사 할 것이다. 나는 우리가 사용하는 것이 더 낫다는 다른 사람들이 존재한다면 듣고 싶다.

"Google에서 검색 한 상위 3 개의 조회수입니다."라고 대답하지 마십시오. 경험을 바탕으로 의견을 듣고 싶습니다.

+0

우리는 Ajax 기반 기능을 제공하지 않기로 결정 했으므로 푸시 할 필요가 없습니다. –

+0

지금까지 JSf 2 용 Ajax Push를 사용해 보셨습니까? 그렇다면 경험을 제공 할 수 있습니까? – Theo

+0

@ 테오, 아니 아직. 당신이 알고 싶은 것을 구체적으로 묻는 새로운 질문을 열 수 있습니다. –

답변

2

우리는 Iceface (JSF 1.2 모드)와 Atmosphere/Comet with Primefaces를 모두 시도했습니다.

얼음 면도 면도기는 탁월한 효과를 발휘합니다.

Atmosphere가 (Primefaces에서) 작동하지 못했지만, 최신 (0.6) 버전으로 시도했기 때문에 Primefaces가 아직 지원하지 않았기 때문에 그럴 수 있습니다. 버전 (p : dataTable이 다시 작성된 후 다음 큰 기능이 될 것이라고 약속합니다). 우리의 경우 푸시는 데모에서 중요한 요소가 아니었고 실제 푸시 솔루션 대신 폴링을 쉽게 사용할 수있었습니다.

IcePush는 매우 쉽게 시작하고 실행할 수 있지만 Atmosphere는 잘 설명되어 있지 않으며 (IMHO) 많은 병 및 구성이 필요합니다. 초보자를위한 것은 아닙니다.

아약스 : 푸시가 데모의 핵심 부분이라면 JSF 1.2와 Icefaces를 사용하는 것이 좋습니다. 데모가 완료되고 고객이 만족할 때까지는 - 분위기 설정으로 시간을 할애 할 수 있습니다 ;-)

+0

"이 작품은" –

2

나는 IceFaces를하지 않기 때문에 더 좋은지 모르지만, PrimeFaces에는 <p:push> 구성 요소도 있습니다. 그것은 두건의 밑에 Atmosphere의 사용을 가능하게 appserver 독립적 인, 차례 차례로 이미 아주 굉장한 사용하기 위하여 만든다. 모든 응용 프로그램 별 세부 정보를 추상화합니다. 또한 Servlet 3.0 vs. Atmosphere에 대한이 기사를 참조하십시오.

대기열은 항상 응용 프로그램을 배포 할 때 최고의 비동기 API를 자동 감지했습니다. 항상 3.0 비동기 API를 먼저 찾습니다. 실패 할 경우 Grizzly Comet (GlassFish), CometProcessor (Tomcat), Continuation (Jetty), HttpEventServlet (JBossWeb), AsyncServlet (WebLogic), Google App Engine (Google)과 같은 WebServer의 기본 API를 찾습니다. 마지막으로 비동기 이벤트에 대한 지원을 에뮬레이트하기 위해 블로킹 I/O 스레드를 사용하도록 대체됩니다. 일에 모든 것을 얻을 방법

그것이 <p:push> 쇼케이스 페이지에 표시됩니다 상세하게는 채팅 응용 프로그램의 맛에 PrimeFaces User Guide (PDF)의 제 6 장에서 설명이다.

+0

당신은 그것을 추천합니까? –

+0

종이로보기에는 좋아 보이지만, 다른 답변의 @Gabor가 말했듯이, 작동 시키려면 힘듭니다. 실제로,이 대답 후에 나는 그것으로 어느 정도 연주하기로 결정했다. 실제로 현재의 Atmosphere 0.6.x 릴리스에서는 제대로 작동하지 않습니다. 0.5.x가 필요하고 적어도 0.5.1이 필요합니다. PF 담당자는 다음 PF 릴리스에서이를 포착해야합니다. 일반적으로 PF를 구성 요소 라이브러리로 추천 할 수 있습니다. 그러나 IceFaces로 광범위하게 연주하지 않았기 때문에 이것은 약간 주관적 일 것입니다. 내가 GF v3에서 실행할 수 없으며 수정 프로그램이 EE 버전 (무료는 아님)을 필요로하기 때문에 내가 가진 유일한 경험은 좋지 않았습니다. – BalusC

3

이제 Ajax Push를 ICEfaces 외부에서 사용할 수 있습니다. Checkout http://www.icepush.org/. JSP, Spring MVC, Wicket, GWT, jQuery, 프로토 타입 및 Grails 용 클라이언트 어댑터가 있습니다.

1

저는 ICEfaces가 AJAX PUSH를위한 최상의 솔루션이라고 생각합니다. 그들은 그것을 개척했으며 제 생각에는 그들은 최선의 구현을 가지고 있습니다.

-4

ICEfaces는 단기 데모 요구 사항뿐만 아니라 장기적인 "올바른 일을하는"목표에 가장 적합합니다.

먼저 ICEfaces는 푸시 응용 프로그램 개발을위한 가장 자연스러운 모델을 제공합니다. 응용 프로그램에서 상태 변경을 유발하는 서버 측 트리거에 대해 간단히 생각해보십시오. ICEfaces와 JSF가 나머지 작업을 수행하여 새로운 상태의 완벽한 렌더링에 영향을줍니다. 푸시 이벤트마다 프레젠테이션이 어떻게 바뀌는 지 정확히 선언해야하는 엉뚱한 푸시 태그 마크 업은 필요 없습니다. JSF를 아는 경우 응용 프로그램에 밀어 넣기 기능을 추가하는 것은 ICEfaces에서 간단합니다. 기본 JSF 애플리케이션을 먼저 작동시킨 다음 서버 측 코드에 필요한 푸시 논리를 추가하십시오. 다른 변경은 필요하지 않습니다.

ICEfaces는 엔터프라이즈 급 배포에 필요한 모든 배포 기술을 제공한다는 것을 알아야합니다. 엔터프라이즈 푸시 서버는 클러스터 환경에서 완벽한 푸시 연결 관리 기능을 제공하므로이 기능의 핵심입니다 (EPS 참조). ICEfaces Ajax Push는 많은 포춘지 500 대 기업의 다양한 생산 환경에서 운영되므로 고객의 요구 사항에 맞춰 안심할 수 있습니다. 또한 전문적인 고객 지원도 가능합니다. 이것들은 모두 데모 뒤에있는 물질을 판매하는 데 도움이되는 주요 특징입니다.

시장에서 다른 어떤 것도 JSF 2.0과 호환되는 ICEfaces 2.0을 기대하지 않으며 차세대 Ajax Push 기능을 제공합니다. 현재 베타 버전으로 제공됩니다.

+3

개인적인 경험이나 판매 피치를 기반으로 하는가? –

0

Primeface는 유망 해 보이지만 푸시 기능은 최신 릴리스에서 작동하지 않습니다. Icefaces 2 베타에서는 밀어 넣기가 OOTB에서 작동합니다.

+0

여전히 사실입니까? – durron597

0

외부 JSF 푸시라는 JSF 2.2 용 독립 대기 프레임 워크 기반 푸시 구현이 있습니다.

<e:push id="some-channel" direct="true"> 
    <h:outputText id="text" value="#{pushTest.value}"/> 
</e:push> 

푸시 태그 내부의 렌더링 이벤트 중 하나를 트리거 할 수 있습니다 : 그것은 클라이언트 그룹에 직접 렌더링 또는 클라이언트 그룹에 이벤트를 렌더링 밀어, 밀어 완전히 JSF에 통합되어 단일 클라이언트에 푸시 할 수 있습니다 전통적인 렌더링 속성 또는 코드 호출에 의해. 렌더링은 연결된 모든 클라이언트에 투명하게 브로드 캐스트됩니다 (http://www.intersult.com/wiki/page/JSF%20Ext%20Push).