|
From: Evert T. jr <ev...@cn...> - 2006-09-17 17:48:00
|
Kevin Duffey wrote: > Alright, I would say J2ME dont worry about it.. that requires a complete > rewrite with lots of thought as to the design. Dependency Injection, > well, I'm not a big fan of it anyway.. that was more appealing to Nathan > and one other I think on the list, but it would change the style of > EP/Es and such I think anyway.. but would need some rework to handle > injection and we would most likely have to design our own implementation > instead of using Pico or Spring or something (of which Spring would > enlarge the engine 8 fold.. not kewl). Signed plugins would be VERY nice > to have... at least if the engine could support signed/unsigned plugins, > it would be very appealing for companies that want to deploly updatable > plugins that are signed to ensure they are valid and not some malicious > developed plugins. Also allows companies to put a "seal of approval" on > 3rd party plugins for their application. For Spring and JSF Dependency Injection works nice but that doesn't mean it works nice for everything else. I agree with you that we should add it to the engine. Yes signed plugins should be very nice to have, that one will stay on the todo list. > As for unload/reload, I would have to agree with Nathan from way back.. > it's almost non-existant in applications other than IDE's to reload > plugins at runtime. Eclipse even has to unload/reload the chain of > plugins to make it work, no doubt for the reason you discovered with the > Class object holding ref's to interfaces and such. That said, it's kewl > to have, but really, restarting an app is so common in almost every > platform for updates that its not a big deal to require it. I personally > would much rather have the auto-update system that you can specify URLs > to look for a special update.xml or something, then pull down updates, > and send an EventBus event that indicates updates are ready. From that, > each user of our engine could have a plugin handle the updates by simply > restarting (we can even provide that plugin), or they can do some fancy > GUI stuff if they like. I realize that auto-update is really a separate > plugin and not code in the engine, but I think it is something we should > provide. I believe you did that work already right Evert.. my company > had contracted you to do some of that.. I think you almost had it done? > If so, I say we package that as part of the 2.0 engine. With over > 140million people on broadband internet, I think it's ok if the engine > is 4 or 5MB download because it bundles some plugins including > auto-update and such. The engine.jar should be tiny as much as possible, > so distributing our engine is very small. But the bundle people > download, I am all for it containing helpful and possibly often used > plugins. I also unload a chain of plugins and then reload then except the one we wanted to unload. Yes I was working on that, If I am correct I still have all the code so I could look in that later if we may use it in our project, if your boss is ok with it. > Question on the services... if I have a plugin that requests a service > and needs to use its class, how does the ClassLoader magic happen? Do > you intertwine the classloaders for the classes requesting and classes > being used at the time of the request? I love the idea.. that's why you > and I talked about it for so long.. the ability to specify a service > that any plugin can access without directly knowing if its there or not > is great. Just wanted to understand how the classloader stuff works (I > suppose I should just download the latest lol). > > Thanks Evert. Your plugin should only have a dependency on the plugin that defines the servicepoint, you don't need any dependency on the plugins that provide the services for the servicepoint. This is because your plugin only needs to see the interface of the servicepoint. > */Evert Tigchelaar jr <ev...@cn...>/* wrote: > > OK, just found an old mail of you where you are talking about 2.0. > > When I read it I found out that some things are not in the current > version on cvs. > > - No J2ME support. > - No dependency injection (like injecting configuration). > - No signed plugins. > > But the current engine now has better unload/reload during runtime but > normally you want to restart the application when you want to update 1 > or more plugins. I could add some code to support restart. I could add > it as a shutdown hook in the JVM so just before the JVM is shutdown a > new one could be started. > > Most of the code is simular to the old but it has been restructed into > more packages so its not a full drop in replacement for the old one, > but > for the most part is should (and I hope) work like before. One thing I > added is the Application class, my intension's with that was that it > contains only the normal things most plugins need, the more internal > stuff like loading/unloading/starting plugins are in the PluginEngine > class. > > I also added code for supporting services. > It almost works the same as for extensionpoints and extensions. > > > > > > > > > > The differents is that with extensionpoints and extensions, the > extensionpoint plugin uses the extensions and with servicepoints and > services any plugin can make use of the services thru the servicepoint. > > I think the threading stuff is out, I didn't have any issues with it at > least. > > So there is still work to do, so I will continue to work on it. > > Kevin Duffey wrote: > > Evert, > > > > Sounds like an excellent idea! But before we do, can you think of > > anything we had originally thought about for a 2.0 version that you > > haven't put in yet? You did take out threading of plugin start > calls right? > > > > Good job Evert! Looking forward to one day having some time to > play with > > it again!! > > > > I'd suggest (and would love to help if I had some dang time) putting > > together a couple of example plugins, with some info on them. I > think I > > will start a new website on the platonos.org now that I have me > some mad > > skillz with ajax/web2.0. It would be a good time to update the > site with > > the 2.0 release (after beta and such). > > > > Do me a favor, list all the "changes" you made from the 1.0 > final, and > > anything else you added, so I can start spreading the word. > > > > Thank you bud. > > > > > > > > */Evert Tigchelaar jr /* wrote: > > > > Ok, worked again a bit on the 2.0 engine and I think is quit > stable now > > and all features of the 1.5 engine are also in this engine. It > also now > > has support for services and servicepoints which is similar to the > > extension and extensionpoint concept. > > > > I also worked on the unload feature a bit. If a plugin is > unloaded than > > all other plugins that are resolved to the plugin are unloaded to so > > the > > plugin can successfully unload. After the plugin has been > unloaded, all > > the other plugins that were unloaded during the unload are loaded > again > > and started when needed (when there start attribute in the plugin > > tag is > > set to true). > > > > Another feature I worked on was the disable feature. When a plugin is > > disabled no other plugins can make use of it and get resolved > agains it. > > When a plugin gets disabled then allmost the same is done as > unloading. > > > > I think its now a good time to see where we should go from here and > > maybe put the current code in the ppe2 module out as beta and > listen to > > feedback. > > > > Any ideas, comments? > > > > Thanks, > > Evert > > > > > ------------------------------------------------------------------------- > > Using Tomcat but need to do more? Need to support web services, > > security? > > Get stuff done quickly with pre-integrated technology to make your > > job easier > > Download IBM WebSphere Application Server v.1.0.1 based on Apache > > Geronimo > > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > _______________________________________________ > > Platonos-plugeng-dev mailing list > > Pla...@li... > > https://lists.sourceforge.net/lists/listinfo/platonos-plugeng-dev > > > > > > > ------------------------------------------------------------------------ > > Get your email and more, right on the new Yahoo.com > > > > > > > > > ------------------------------------------------------------------------ > > > > > ------------------------------------------------------------------------- > > Using Tomcat but need to do more? Need to support web services, > security? > > Get stuff done quickly with pre-integrated technology to make > your job easier > > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Platonos-plugeng-dev mailing list > > Pla...@li... > > https://lists.sourceforge.net/lists/listinfo/platonos-plugeng-dev > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, > security? > Get stuff done quickly with pre-integrated technology to make your > job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Platonos-plugeng-dev mailing list > Pla...@li... > https://lists.sourceforge.net/lists/listinfo/platonos-plugeng-dev > > > ------------------------------------------------------------------------ > All-new Yahoo! Mail > <http://us.rd.yahoo.com/evt=43256/*http://advision.webevents.yahoo.com/mailbeta>- > Fire up a more powerful email and get things done faster. > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > > ------------------------------------------------------------------------ > > _______________________________________________ > Platonos-plugeng-dev mailing list > Pla...@li... > https://lists.sourceforge.net/lists/listinfo/platonos-plugeng-dev |