2013-11-09 2 views
2

java -jar를 사용하여 자체 JVM에서 실행되는 Java SE 응용 프로그램이 있습니다. 특정 SMPP 서버에 대한 콜백을 등록하는 주 기능을 가지고 있으며 콜백을 등록한 후 주 스레드는 해당 서버의 연결 상태를 계속 확인합니다.Java SE 응용 프로그램을 Java EE 서버로 이동

이러한 종류의 응용 프로그램을 WebSphere 응용 프로그램 서버와 같은 Java EE 서버로 이동할 수 있습니까?

아키텍처 변경 사항은 무엇입니까?

위의 프로세스는 종료 될 때까지 실행되는 단일 스레드 콘솔 응용 프로그램입니다. 연결 상태를 계속 확인합니다.

+0

앱이 일부 포트를 수신합니까? –

+0

예, jsmpp를 사용하여 일부 리스너를 등록합니다. – Talal

답변

0

웹 컨테이너 (예 : Servlets, JSP, JSF)의 HTTP 서비스 나 EJB (Application Server)의 많은 서비스 (예 : EJB 또는 JMS 등)가 필요하지 않은 경우 이유가 없을 수 있습니다 이 응용 프로그램을 Java EE 서버로 업데이트하십시오. 그렇게하기위한 동기를 지정하지 않았습니다.

Tomcat 또는 WebSphere와 같은 응용 프로그램 서버와 같은 웹 컨테이너에 응용 프로그램을 배치하면 관리 효율성은 향상되지만 상당한 비용이 발생할 수 있습니다.

대안은 2000 년 3 월 Mike Jennings의 DDJ 기사에서 정의한 JavaService 래퍼를 사용하는 것입니다.이 방법을 사용했습니다. 그런 다음 필요한 기능을 단편적으로 추가했습니다. 이러한 종류의 접근 방식의 상용 버전 (예 : Tanuki Software)을 사용할 수 있습니다. 이것은 Java EE 유형 서비스가 필요하지 않으면 아주 가벼운 접근 방식을 만들 수 있습니다.

+0

우리가 가지고있는 유일한 동기는 응용 프로그램의 관리 종료입니다. 외부 세계와의 비정상적인 프로세스 종료 및 JVM에서 응용 프로그램을 보유 할 응용 프로그램 서버와 같은 컨테이너를 피하십시오. – Talal

0

어리석은 관리 칙령 이외의 다른 이유는 없습니다. 그러한 칙령을 거부하십시오.

0

단일 항아리를 실행하기 위해 전체 애플리케이션 서버를 갖는 것은 1980 년대 폭스 바겐 용 레이싱 카 유지 팀을 고용하는 것과 같습니다. 그것은 과잉 될 것입니다. 항아리 용 응용 프로그램 서버의 기능이 필요하지 않다면 왜 처음부터 응용 프로그램 서버를 사용하는 것이 좋을까요?

Application Server에는 특정 기능이 있지만 설정 및 유지 관리에 필요한 지식과 리소스가 더 많이 필요합니다. 응용 프로그램 서버를 사용하기 위해 하나를 사용하는 것이 항상 답이되는 것은 아닙니다.

1

이러한 종류의 응용 프로그램을 WebSphere 응용 프로그램 서버와 같은 Java EE 서버로 이동할 수 있습니까?

예, 모든 응용 프로그램 논리는 응용 프로그램 서버 내에서 실행할 수 있습니다. 응용 프로그램을 패키지하는 방법과 적용 할 설명 자의 문제 일뿐입니다. 따라서, 서버를 콜백 메소드 또는 리스너로 사용하여 응용 프로그램을 시작하고 종료 할 수있는 몇 가지 인터페이스를 구현해야 할 수도 있습니다.

응용 프로그램 서버 내에서 응용 프로그램을 실행하게하는 정당한 이유는 크게 표준화되고 관리되는 환경에서 서비스 공급자는 여분의 돈으로 비표준 서비스 또는 제품만을 제공한다는 것입니다.

또 다른 좋은 이유는 응용 프로그램 서버의 관리 자원을 사용하려는 것입니다. 예를 들어 메시징 또는 지속성이 될 수 있습니다.

어쨌든 응용 프로그램 서버를 사용할 때의 비용과 이점을 모두 이해해야합니다.

아키텍처 변경 사항은 무엇입니까?

컨테이너 (응용 프로그램 서버)는 인터페이스 또는 수신기를 통해 응용 프로그램의 수명주기를 관리해야합니다. 예를 들어, 애플리케이션을 웹 애플리케이션으로 패키징하기로 결정한 경우 (다른 경우도 있을지 모르지만), 필터 또는 ContextListener를 구현하고이를 모두 선언해야합니다. xml 설명자 (web.xml).

당신이 할 수있는 일은 Spring 컨테이너를 사용하도록 애플리케이션을 변경 한 다음 애플리케이션 서버가 Spring을 실행시켜 애플리케이션을 실행할 수있게하는 것입니다.

이렇게하면 필요할 때 응용 프로그램 서버없이 응용 프로그램을 실행/테스트 할 수 있으며 동시에 런타임에 해당 자원을 사용할 수 있습니다.

0
  1. 스윙 화면은 JSP 페이지에서 데이터를 가져 오는 서버에서 실행됩니다 JSP의
  2. 논리로 변환됩니다.
  3. Spring MVC 프레임 워크를 사용할 수있다.
+0

현재 응용 프로그램은 콘솔 기반 Java 응용 프로그램이며 응용 프로그램 서버로 이동하면 UI 끝에서 어떤 상호 작용도없이 자체적으로 시작해야합니다. 그리고 아마 이미하고있는 작업을위한 UI가 필요 없을 것입니다. – Talal

관련 문제