2011-08-16 4 views
4

기본 프레임 워크 외에도 다른 기능을 플러그인 스타일로 추가해야하는 플러그인 기반 응용 프로그램을 만들려고합니다.플러그인 기반 Java 응용 프로그램 디자인

그런 시스템의 문제점은 런타임에서 새로운 플러그인을로드하는 방법이라고 생각합니다. 나는 새로운 플러그인이 설치되었을 때 전체 프로젝트를 재구성하고 싶지 않다. Eclipse와 마찬가지로 플러그인을 새로 설치 한 후에는 사용자가 다시 시작하면됩니다. 그래서 Java reflection을 사용하여 런타임에 클래스를로드하는 방법에 대해 생각했습니다. 일부 플러그인 구성 파일이있을 수 있습니다. 시스템은 해당 파일을 읽고 리플렉션으로 플러그인 클래스를로드합니다. 아마 Inversion of Control이 내 요청과 일치하기 때문에 스프링 프레임 워크를 사용할 수도 있습니다.

내가 조사하고있는 또 다른 아이디어는 ejb 컨테이너를 사용하는 것입니다. 플러그인이 ejbs 일 때, 나는 단지 jar 파일로 압축하여 ejb 컨테이너에 배치 할 수 있습니다. 그런 다음 jndi를 사용하여 액세스 할 수 있습니다. 플러그인이 ejbs 일 때만 작동합니다.

어쨌든 나는 신인입니다. 그래서 나는이 주제를 게시하고 당신의 의견을 듣고 싶다. btw. 원하는 시스템 디자인에 대한 좋은 책이 있습니까?

미리 감사드립니다.

+0

"귀하의 의견을 듣고 싶습니다"라는 질문은 좋은 질문이 아니므로 조금 더 구체적으로 시도하십시오 – Cephalopod

+1

Class.forName() –

답변

1

처음에는 OSGI와 그의 구현 (Equinox for Eclipse 및 Apache Felix)을 살펴볼 수 있지만 수행하려는 작업에 대한 자세한 정보를 제공하면 더 쉬울 것입니다.

1

플러그인을 사용하여 어떤 문제를 해결할 수 있습니까?

프레임 워크 설계자는 일반적으로 디자인 선택을 알리는 심층적 인 도메인 지식을 보유합니다. 프레임 워크는 몇 가지 문제를 해결하기 위해 2-3 번 시도한 후에 발생합니다. 초기 구현은 중요한 것을 프레임 워크에 추상화하는 방법에 대한 단서를 제공합니다.

Eclipse는 확장 가능한 IDE의 문제를 해결합니다 (저의 견해로는 좋지 않습니다). EJB는 컨테이너에서 실행되는 트랜잭션, 분산 구성 요소입니다.

해결하려는 문제의 종류가 표시되어 있지 않습니다. 당신이 할 때까지, 당신의 아이디어는 그리 멀지 않을 것입니다.