Friday, February 12, 2010

Plugin Architecture for Java EE Web Applications?

Java EE Web Applications are usually self-contained, in the sense that there is only limited runtime extensibility. It begs the question: How to support plugins architecture in a Java EE webapp?

Examples in the real world:
  • Mozilla Firefox addons
  • NetBeans modules
  • Eclipse IDE plugins
  • Servlet containers and WARs
A plugin system for Java EE would basically allows you to load in arbitrary jars as plugins. In case of plugins containing web resources, they would probably be WARs, not just JARs.

The plugin system requires the capability to load a plugin WAR (a sub-WAR, perhaps) inside an already running WAR. These plugin WARs can be added, removed, configured, at runtime just like relationship of normal WARs with the container.

Java Portlets are the closest thing to a standard way of doing this. You deploy portlet WARs into a Liferay container, easy. But since we're creating something like a Portlet container, it isn't straightforward.

OSGi is probably the best bet, however it also has its own complexities and classpath model.

What's your advice?


Anonymous said...

Maybe by creating your own container with annotations and (sniffer, deployer, container, appcontainer). This is the way i'm trying currently :)


Kev d'Salvo said...
This comment has been removed by a blog administrator.
Hendy Irawan said...

Thank you Jerome.

I tried to comment on your blog, but comments are closed.

It seems a bit complex for me... and proprietary.

I think similar feat can be achieved through OSGi Blueprint service. Basically we're just using OSGi, but with annotations.

Another problem with OSGi-style components are JAR deployments. Meaning it's practically impossible to do exploded-archive rapid development (aka .class-driven development vs. JAR-driven development).

I don't think your proposed solution handles exploded-archive development. Seems to handle component as JAR.

mobile application development said...

It is really a nice and helpful piece of info. I’m glad that you simply shared this helpful info with us. Please keep us
informed like this. Thank you for sharing.
mobile application development

sadia sulaman said...

"Really awesome work with the blog. I do like your hard work on and will wait for more post as from you as post gave me pleasure and gives some helps to do same work right here. Thanks a lot……………" | | | | | |

coach outlet store online said... Coach Outlet Store Online Michael Kors Outlet Coach Factory Outlet Toms Shoes Cheap Jerseys Michael Kors Coach Outlet Coach Factory Outlet Coach Outlet Coach Handbags Giuseppe Zanotti Coach Factory Outlet Coach Factory Outlet Online Coach Outet Store Online Coach Factory Outlet Michael Kors Outlet Online Celine Outlet Michael Kors Michael Kors Store Tomss Hoes Prada Outlet Fitflop Footwear Celine Bags Fitflops Flipflops Fitflops Giuseppe Zanotti Designer Fitflops Giuseppe Zanotti Sneakersmen Fitflops

Anonymous said...

Keep sharing such ideas in the future as well. This was actually what I was looking for, and I am glad to came here! Thanks for sharing the such information with us. | | | | | | | | | |

polo outlet said... Burberry Outlet Air Max Shoes Coach Black Friday Coach Black Friday Coach Cyber Monday Coach Factory Coach Outlet Factory Coach Outlet USA Coach Purses Factory Coach Purses USA Coach Store Outlet Coach Purses On Sale Monster Beats Outlet Louis Vuitton Outlet Louis Vuitton Factory Marc Jacobs On Sale MCM Outlet MCM 店铺 cheap oakley sunglasses Michael Kors Outlet Michael Kors Outlet Michael Kors Factory Michael Kors Outlet Michael Kors Factory Online Coach Factory Outlet North Face Outlet Online Polo Outlet Store Ralph Lauren UK Sac Longchamp Pairs Coach Outlet Online Coach Factory Oultet Barbour Jackets Outlet Online Canada Goose Outlet Gucci Outlet Online Michael Kors Outlet Moncler Clearance Moncler Jackets Outlet Online North Clearace Outlet Polo Ralph Lauren Outlet Online Woolrich Clearance Michael Kors Factory Outlet Coach Outlet Online USA Beats by Dre Coach Purses Outlet Online Michael Kors USA

Huz said...

Good post. Thank you for sharing.

Metamorfosis said...

Pelatihan SDM is a network marketing and training information or training an employee who has worked with many consulting firms and training institutions.
pendidikan dan pelatihan sdm, pelatihan akuntansi, sales marketing, manajemen bisnis, administrasi kantor, lembaga training motivasi, pelatihan sumber daya manusia, training manajemen, training sdm, informasi training, pusat pelatihan, pelatihan rumah sakit, training provider jakarta, training jakarta, training consultant jakarta, training center,

Eric Simmons said...

Great and Useful Article.

Online Java Course

Java Online Training

Java Course Online

J2EE training

online J2EE training

Best Recommended books for Spring framework

Java Interview Questions

Java Training Institutes in Chennai

Java Training in Chennai

J2EE Training in Chennai

java j2ee training institutes in chennai

Java Course in Chennai

Zheng junxai5 said...

michael kors outlet clearance
louis vuitton handbags
michael kors handbags
longchamp outlet
michael kors bags
kate spade outlet
michael kors outlet clearance
nike air max uk
cheap toms
coach outlet
adidas stan smith
gucci outlet
michael kors outlet online
coach outlet online
toms outlet
coach outlet clearance
adidas originals
asics running shoes
adidas running shoes
ralph lauren
christian louboutin wedges
giuseppe zanotti outlet
michael kors purses
adidas wings
kobe 10
replica rolex watches
louis vuitton outlet online
jordan retro 11
replica watches
retro 11
toms wedges
michael kors outlet clearance
jordan 3 powder blue
true religion jeans
jordan retro 8
air jordan shoes
oakley vault
michael kors outlet clearance
nike uk
louis vuitton bags

Esraa Abbas said...

Nithyanantham M said...

Thanks for sharing this post
Dailymotion video downloader

Try Dailymotion video
to download videos from dailymotion.

Post a Comment

Copyright 2009 Spring vs Java EE Web Dev. Powered by Blogger Blogger Templates create by Deluxe Templates. WP by Masterplan