2011-05-11 7 views
0

주어진 데이터 세트 및 일련의 매개 변수를 기반으로하는 숫자를 통해 커맨드 라인 (읽기 : GUI 없음) Java 응용 프로그램을 개발했습니다. 결과 보고서로 일련의 HTML 파일을 작성합니다. 이 보고서는 테이블에 많은 양의 데이터를 저장하므로 결과를 쉽고 빠르게 볼 수 있도록 JUNG2 라이브러리를 사용하여 멋진 그래프를 만들었습니다.배포 관련 문제, 웹 기반 Java 응용 프로그램에 필요한 조언

다음은 흥미로운 부분입니다. 그래프를 대화 형으로 만들고 싶기 때문에 사용자가 보고서를보고 싶을 때마다 응용 프로그램이 실행되고 파일이 생성 된 후에 배포해야합니다. 내가 그러나 나는 다음과 같은 이유로 인해 현재 설정 너무 행복하지 않다, 애플릿 기반 배포와 함께 가기로 결정 :

  1. 나는 가능한 한 사용하기 간단하게 소프트웨어를 만들고 싶어 (내 사용자는 '원 기술에 정통하고 대부분의 경우 기술이 위협적 일 수도 있음). 하나의 JAR만을 배포하고 싶습니다. 애플릿을 메인 애플리케이션과 동일한 JAR 파일의 패키지에 넣어야했습니다.

  2. 애플릿과 기본 응용 프로그램은 결과를 전달해야하므로 정보를 저장하는 데 사용되는 xML 기반 보고서를 만듭니다. 파일이 로컬 시스템에 있고 이동하지 않는 한 모든 것이 정상적으로 작동합니다. 불행히도 파일을 옮겨야합니다. 사용자는 "결과"폴더를 USB 스틱으로 가져올 수 있어야하고 스틱을 다른 컴퓨터에 연결하고 원하는대로 보고서를 사용할 수 있어야합니다. 애플릿을 당분간

은 다음 HTML 코드로 구현됩니다

<applet code="package.myapp.visualization.GraphApplet.class" 
     codebase="file:/home/user/myApp" 
     archive="myApp-0.2.6-r28.jar" 
     width="750" height="750"> 
    <param name=input value="results/test_name/results.fxml"> 
</applet> 

상위 폴더를 다른 위치로 이동하면이 애플릿이 작동하지 않습니다 볼 수 있듯이.

가) 변경 코드베이스는 내가 jar 파일을 넣을 수있는 우리의 웹 서버에 대한 URL을 가리 키도록 :


은 내가 아는 한 나는 대안의 몇 가지있다. 애플릿은 결과 파일을 읽을 수 없기 때문에 이것은 권한에 문제가 발생합니다. 다른 방법은 사용자가 그래프를 시각화하려고 할 때 서버에 결과 파일을 업로드하는 것입니다. 서버 보안 때문에 좋은 옵션인지 잘 모르겠지만 사용자를 귀찮게하지 않고 업로드가 자동으로 이루어 지도록 할 수 있는지도 모릅니다.

b) codebase 속성에서 상대 경로를 사용할 수 있지만 전체 폴더 계층 구조는 복사 할 때 손상되지 않아야합니다. 내가 할 수있는 최선의 방법을 모를 경우 최후의 수단이 될 수 있습니다.

C) 배포 방법을 변경() 개발 단계에

어떤 아이디어에 더 많은 시간을 할애하지 않는이 대안을 방지하기 위해시겠습니까? 내가 놓친 게 있니? 어떻게이 문제를 해결할 수 있습니까? 감사합니다,

답변

1

은 내가 전적으로 귀하의 사용 사례를 이해 모르겠지만, 내가 무엇을 이해합니까에서, 나는이 제안 :

이 응용 프로그램에 대한 애플릿을 덤프 Java Web Start를 사용하여 시작했다. JNLP 파일에 fxml 파일 유형에 대한 파일 연결을 선언하십시오. 사용자가 fxml 파일을 두 번 클릭하면 JWS 응용 프로그램의 main(String[])에 인수로 전달됩니다.

샌드 박스가있는 JWS 응용 프로그램은 JNLP API를 사용하여 로컬 파일 시스템의 리소스에 액세스 할 수 있습니다. 여기 내 demo. of the JNLP API file services입니다.

+0

귀하의 조언에 감사드립니다, 앤드류. 제안한 내용을 이해한다면 애플릿으로 실행 된 코드는 results.fxml 파일을 두 번 클릭하여 트리거함으로써 그래프가 생성된다는 의미입니다. 그러나 이것은 HTML 보고서를 그래프에서 분리하는 것입니다. 맞습니까? "메인"응용 프로그램에서 만든 폴더/파일 계층에 대한 정보를 제공해야하는지 궁금합니다. – posdef

+0

@posdef : ".. results.fxml 파일을 두 번 클릭하면 애플릿이 실행되어 그래프가 생성됩니다. " 예 아니오. 거의 없다. '두 번 클릭하여 열기'기능은 애플릿 ('main (String [])'메서드 사용)을 위해 설계되었습니다. 애플릿에서는 작동하지 않습니다. "이것은 HTML 보고서를 그래프에서 분리하는 것입니다." 예. 하지만 자바 애플 리케이션을 재 작업 할 수 있을까요? 뿐만 아니라 HTML을 표시하려면? 전체 HTML과 fxml을 하나의 zip 아카이브로 래핑하고, 사용자 정의 확장을 제공하고, 사용자가 더블 클릭하도록 할 수 있습니다. –

+0

흠 .. 실제로 JWS가 HTML 보고서를 포함한 모든 보고서를 작성하는 것에 대해 생각하고있었습니다. 제안하는 것처럼 말입니다. 그러나 그것은 약간의 디자인 변경을 필요로 할 것인데, 나는 지금 그렇게 열정적이지 않다. 또한 나의 스윙 지식은 CSS/HTML 디자인보다 확실히 열등합니다. 그래서 나는 모든 일이 결국 엄청나게 뭉친 숫자가 될 것이라고 걱정합니다 :) 어쨌든, 당신의 제안에 다시 한번 감사 드리며, 나는 그것을 다음 날에 고려할 것입니다. – posdef

관련 문제