Re: [jug-discussion] OptimalJ
At 10:12 PM 3/7/2004, Dave wrote: Folks, . . When I mentioned OptimalJ at a meeting a few months ago, there wasn't a whole lot of interest. The product is mainly aimed at mid-size or large IT groups, with the kind of high prices that those groups are used to paying, and, presumably, corresponding savings. When I told Bayham that the Tucson JUG folks didn't seem to fit in that category, he said something about how they can be flexible. I didn't probe to find out what he meant. Dave Dave brings up a good point. I always seem to work for/with companies that have very little (or NO) money to spend on software. Consequently, I've become much more interested in open source or very low cost technologies, since I stand a chance of actually using them someday. This means I, personally, wouldn't have much interest in presentations of software costing more than a few hundred dollars.how do others feel about this issue? -tom - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] OptimalJ & Product Demo Poll
Folks, I'm the guy who mentioned OptimalJ at a meeting a couple of months ago. I've been in contact with Bill Bayham, the Arizona sales rep for Compuware Java products. He's quite willing to do a presentation on OptimalJ. He told me that most of it would be done by Don Vest, a Compuware systems engineer. He says they've done presentations in Phoenix for the JUG and the Websphere user group. If anyone on this list heard one of their presentations in Phoenix, please comment on whether you think it would work for the Tucson JUG. Re length, I think we'd have to give them the 60-minute slot, if we're asking them to drive from Phoenix. Don't know about freebies. Might look a little strange to ask about that. If that's what it takes to get people to the meeting .. When I mentioned OptimalJ at a meeting a few months ago, there wasn't a whole lot of interest. The product is mainly aimed at mid-size or large IT groups, with the kind of high prices that those groups are used to paying, and, presumably, corresponding savings. When I told Bayham that the Tucson JUG folks didn't seem to fit in that category, he said something about how they can be flexible. I didn't probe to find out what he meant. If enough people are interested, I'd be glad to arrange for a presentation. For background info, here's a Compuware page with links to several docs re MDA and OptimalJ. http://www.compuware.com/products/optimalj/1794_ENG_HTML.htm Dave At 09:36 AM 3/7/2004 -0700, you wrote: On Mar 6, 2004, at 10:02 AM, Tim Colson wrote: Some colleagues are trying out OptimalJ and this MDA thing. I'm wondering if anybody has used this stuff? You have any URLs? On a similar topic... I think someone in a meeting once said there was a sales person wanting to give us a demo of some tools (I don't know what tool). Actually we've had a few offers recently. Personally, I would not be interested in a 60 min commercial product demo... but a quick 15 min demo could be worth the time. I figure it takes about that much time to download/install a demo app, and longer to get a quick feel if the thing is useful or not. 15 min professional demo can help me make a quick "explore further or forget it" decision. And if the company doing the demo would bring a few freebies (shirts/pens/licenses) than I'd certainly be on board. :-) Personally I'm the opposite. I like a longer demo, if warranted, but I say this with certain caveats: 1) It should not be a 60 minute marketing drivel demo 2) Someone technical better be there either to assist with questions or actually doing the preso 3) If its a tool with a unique service explain why I should spend x number of dollars on it, if it competes with Open Source they better know their competition and why they are better. For fun - I put together a one-question poll so we can find out what the group thinks on this, please try it out! :-) http://www.pollmonkey.com/p.asp?U=249419879 I voted! But I can't see the "Other" comments. Any way to do this? -warner Cheers, Timo P.S. Anybody know of any GOOD open source JAVA based POLL and SURVEY tools (perhaps ones that use JFreeChart for results) ?? I looked, didn't find much. Just one servlet that looked kinda ehhh. http://coldjava.hypermart.net/servlets/vote.htm I plan on making this part of my Community Tools (now named Caelum Community Publishing System), I'm not sure which parts will be open and which will be closed. -warner - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] OGNL presentation on Tuesday
Thomas Hicks wrote: Just reading over the list, it seems like you must do everything in the Language Features section (and especially what this thing is used for, why, the tradeoffs, and comparisons to competitors, etc.). In many ways the language section stuff segues into the API stuff because each language feature has a corresponding extension API. I think that an introductory start might work best on this and let the presentation flow to the level of discussion. If people want to know the gory details then so be it. Then, it seems like the API section must be crucial to actually using it, yes? Not always. There are users of OGNL who have no interest in the API - Tapestry, WebWork, etc. They just see it as a language. So the API stuff is for the hardcore developers who want to extends the functionality. The most interest I've seen is with the TypeConverter and PropertyAccessor stuff because they usually reap the most benefits. I'm not sure from this list whether OGNL 3 exists or is just a roadmap. If it exists, a bit on it would also be interesting, plus some overview/status/blurb on WebOGNL. (I downloaded the user manual on that one but it was still mostly blank sections). OGNL 3 exists, but is not yet available. I'm at the point where I like the API and am ready to publish the first version for public review. There are just a couple of issues to be ironed out. IMHO, you can ditch the ognl.org web site stuff. I should have delimitted that section with some smileys or something. It was a joke for anyone who has visited my site and had their eyeballs burn in their skull. :-) - Drew -- +-+ < Drew Davidson | OGNL Technology > < Professional Open Source> +-+ | Email: [EMAIL PROTECTED] / |Web: http://www.ognl.org / |Vox: (520) 531-1966 < |Fax: (520) 531-1965\ | Mobile: (520) 405-2967 \ +-+ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] OptimalJ & Product Demo Poll
> I just votedit seemed to allow me to select a time AND an Other, > which is kinda cool because I wanted to use the "Other" to elaborate > on my choice. Is that the way it's supposed to work, though? Yep. I made it so folks can check all the ones that may apply. For instance, I personally checked 15 min, but would be open to longer if the presenter brought food. Timo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] OptimalJ & Product Demo Poll
I just votedit seemed to allow me to select a time AND an Other, which is kinda cool because I wanted to use the "Other" to elaborate on my choice. Is that the way it's supposed to work, though? ci vidiamo, -tom At 05:09 PM 3/7/2004, Tim wrote: So far, only 4 folks have responded, but I'm hoping everyone who wants to will vote before the meeting so I can announce the results then. Voice your opinion, be heard! :-) http://www.pollmonkey.com/p.asp?U=249419879 Cheers, Timo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] OGNL presentation on Tuesday
At 04:45 PM 3/7/2004, you wrote: Everyone, As you know I'm going to present on OGNL next Tuesday at the JUG meeting. I was planning on doing this talk in April so I haven't given a lot of thought as to what people would be interested in hearing about OGNL. OGNL is a very rich framework and there are several aspects to it that would be of interest, depending on the amount you already know about it. Here are some possible outlines of interest: Just reading over the list, it seems like you must do everything in the Language Features section (and especially what this thing is used for, why, the tradeoffs, and comparisons to competitors, etc.). Then, it seems like the API section must be crucial to actually using it, yes? I'm not sure from this list whether OGNL 3 exists or is just a roadmap. If it exists, a bit on it would also be interesting, plus some overview/status/blurb on WebOGNL. (I downloaded the user manual on that one but it was still mostly blank sections). IMHO, you can ditch the ognl.org web site stuff. just my $.02, -tom * OGNL language features - it's a binding language, not a mere expression language. let's get that straight right off the bat. - what OGNL does for you that other expression languages also do - what OGNL does for you that other expression languages do not - property navigation + what's a property? + what's a "navigation chain"? - index access (including the OGNL "object indexed" properties) applied to properties + how objects are index accessible - numeric types - collection manipulation + indexed access (plus dynamic subscripts) + projection + selection - lambda expressions - who is using OGNL? + Tapestry web application framework + WebWork web application framework + WebOGNL web application framework + JSP 2.0 EL replacement + Plug-in for BSF allows everyone to use OGNL + Many other silent users + If anyone knows of a use of OGNL other than these? I'd like to know! * OGNL API - OgnlContext: the center of attention - Set vs. get for expressions - OGNL extension API + PropertyAccessor (accessing named properties) + ElementsAccessor (getting iterations of objects) + MethodAccessor (calling instance & static methods) + NullHandler (handling null results from property gets and method calls) + TypeConverter (converting between different types) + MemberAccess (for lowering protection on normally inaccessible private, protected and package protected methods, fields, etc.) * OGNL 3 - same OGNL language - totally rewritten, cleaner API + parser gets it's own package + implementations of extensions API now has it's own package + org.ognl.el package defines only 2 classes, the rest are interfaces + clearly delineated lines of responsiblity between Expression implementors (parse tree), Environment, ExecutionEnvironment and Extensions. + type conversion is now integral to all aspects of expression evaluation - new package names: org.ognl.el, org.ognl.el.parser, org.ognl.el.extensions and org.ognl.util - environment interface for registering extensions - exposed execution context interface (was OgnlContext, but the API only showed it as a Map) + DefaultExecutionContext implements ExecutionContext to provide an all-in-one parser, registry and execution context suitable for simple expression executions + DelegatedExecutionContext delegates to a shared environment so that registry, runtime reflection cache, etc. are shared - parse tree now has better structure and clearly defined role - exposed Expression class encapsulates parse tree for syntax analysis + defines hierarchy + exposes Visitor interface for walking expressions + exposes "get" and "set" operations + exposes static syntax analysis methods: isConstant, isSimpleProperty, isSimpleNavigationChain - caching (reflection information, etc.) is more manageable through pluggable Reflector class - almost everything is pluggable; most of the classe - TypeConverter subsumes NullHandler and now has more robust ability to handle any conversion - all extensions except ClassResolver is now associatable with a class to facilitate fine-grained customization www.ognl.org - I thought you were a web developer so why does www.ognl.org use frames you moron? are you still living in 1997? - replace frames on the OGNL website: why Drew is so lazy - getting rid of that awful late-90s-beveled purple look on www.ognl.org - at least the lic
Re: [jug-discussion] OGNL presentation on Tuesday
Erik Hatcher wrote: On Mar 7, 2004, at 6:58 PM, Tim Colson wrote: Also curious about : + TypeConverter (converting between different types) I really wish I could be there for Drew's presentation... I'm sure there are parts of OGNL that I'm clueless on but would come in quite handy. I've toyed with TypeConverter a fair bit... it is like the BeanUtils Converter capabilities, except more powerful. It sits in between an expression and the corresponding setter and morphs types if needed. If you fly in I'll buy you dinner :-) And this might be completely off topic... not sure... but how are OGNL expressions used in a Tapestry template? It's actually trivial. Since most folks are familiar with Struts, it is like the property path expressions you use on the tags. Except on steroids. If your page exposes a Customer object named customer, you would use this to display the customers name: You could use that exact same expression on a text field: And it binds in both directions to pre-populate the text box for rendering, and to set the customer name property on form submission. The "ognl:" prefix is only needed when doing the implicit syntax in the HTML templates. The @Insert and @TextField can be moved to the specification file and the expressions done separately also. I'm just showing the lazy (more fun) way - but being more rigorous with the separation has great merit too. Excellent summary. My explanation pales in comparison. - Drew -- +-+ < Drew Davidson | OGNL Technology > < Professional Open Source> +-+ | Email: [EMAIL PROTECTED] / |Web: http://www.ognl.org / |Vox: (520) 531-1966 < |Fax: (520) 531-1965\ | Mobile: (520) 405-2967 \ +-+ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] OGNL presentation on Tuesday
Tim Colson wrote: - I thought you were a web developer so why does www.ognl.org use frames you moron? are you still living in 1997? - replace frames on the OGNL website: why Drew is so lazy LOL. :-) John Mitchell has flogged me about this mercilessly (deservedly). I'm just trying to head off further scorn by attacking myself :-) The first bits sound the juiciest to me... * OGNL language features - it's a binding language, not a mere expression language. let's get that straight right off the bat. - what OGNL does for you that other expression languages also do - what OGNL does for you that other expression languages do not - property navigation + what's a property? + what's a "navigation chain"? - index access (including the OGNL "object indexed" properties) applied to properties + how objects are index accessible - numeric types - collection manipulation + indexed access (plus dynamic subscripts) + projection + selection - lambda expressions Ok, I'll add that to my internal tally of votes (voting results so far: OGNL Language talk: 1 vote, all others: 0) Also curious about : + TypeConverter (converting between different types) The TypeConverter is very useful in OGNL 2.x, it becomes very much more so in OGNL 3. In OGNL 2.x the TypeConverter is basically contextless - you really don't get a whole lot of information about what value is being converted for what purpose, just a value and a type to convert to. Useful, but in limited circumstances. The OGNL 3 TypeConverter takes over the role of the NullHandler also and allows you to perform conversions and null substitutions when types are not compatible. The function that TypeConverter performs is basically as a dual-purpose casting and null-substitution mechanism. The new TypeConverter also gets much more context about the nature of the conversion (method argument, method result, property, constuctor, array constructor) so you can fine-tune how things are converted and null-substituted to your heart's desire. And this might be completely off topic... not sure... but how are OGNL expressions used in a Tapestry template? I'm sure that The Hatchet will respond to this as he is now a Tapestry Demigod :-) but I'll give it a shot. Tapestry uses OGNL expressions the way they were meant to be used: as binding expressions. Values are settable and gettable so that you can use a single expression to extract a value from a root object then also set the value into that object. The templates have a specification attached to the HTML that declares which variables, paramters, etc. are present for the different elements on the page. These parameters and variables can be read from and written to using OGNL. So if you have an incoming request parameter, for example, and you want to bind it to an object through an expression you can just state the path to the variable's value and OGNL will take care of converting the value from a String (which all parameters are) or String[] into the right type, dynamically for the expression. Parameters between components are likewise coded and converted - Tapestry has the idea of a component, which may have parameters (similar to a method call). The parameters are specified as being input only (meaning that they are sent to the called component only) or they can be synchronized (which means that the value is given to the component, the component does its thing, then the value is rewritten back to the caller with a (possibly different) value. Thus the same expression can be used in multiple scenarios. That's the Mr. Magoo version, of course, since I'm not a Tapestry Ghod yet. I am a WebOGNL god, wanna talk about how OGNL is used in that? :-) - Drew -- +-+ < Drew Davidson | OGNL Technology > < Professional Open Source> +-+ | Email: [EMAIL PROTECTED] / |Web: http://www.ognl.org / |Vox: (520) 531-1966 < |Fax: (520) 531-1965\ | Mobile: (520) 405-2967 \ +-+ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] OGNL presentation on Tuesday
On Mar 7, 2004, at 6:58 PM, Tim Colson wrote: Also curious about : + TypeConverter (converting between different types) I really wish I could be there for Drew's presentation... I'm sure there are parts of OGNL that I'm clueless on but would come in quite handy. I've toyed with TypeConverter a fair bit... it is like the BeanUtils Converter capabilities, except more powerful. It sits in between an expression and the corresponding setter and morphs types if needed. And this might be completely off topic... not sure... but how are OGNL expressions used in a Tapestry template? It's actually trivial. Since most folks are familiar with Struts, it is like the property path expressions you use on the tags. Except on steroids. If your page exposes a Customer object named customer, you would use this to display the customers name: You could use that exact same expression on a text field: And it binds in both directions to pre-populate the text box for rendering, and to set the customer name property on form submission. The "ognl:" prefix is only needed when doing the implicit syntax in the HTML templates. The @Insert and @TextField can be moved to the specification file and the expressions done separately also. I'm just showing the lazy (more fun) way - but being more rigorous with the separation has great merit too. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] OptimalJ & Product Demo Poll
> You have any URLs? I haven't read any of these - but they are from the an MDA wiki page a colleague setup internally: OptimalJ http://www.compuware.com/products/optimalj/ OMG MDA site http://www.omg.org/mda/ MDA Productivity Analysis (PDF) from The Middleware Company: case study of using MDA to rewrite the PetStore app. http://www.middleware-company.com/documents/TMC_MDA_Comparison.pdf Warner wrote: > Personally I'm the opposite. I like a longer demo, if warranted, I like to hedge my bets and cut losses quickly. Most demos aren't that great, so after 15 min, I'd like to be able to cut them loose, or invite them to keep talking if there is obvious interest. :-) > I voted! But I can't see the "Other" comments. Any way to do this? Cool! The 'freebie' version has limited options. I "own" the poll and can see the 'other comments' w/ a report UI. I will post all results to the list after the poll is over. So far, only 4 folks have responded, but I'm hoping everyone who wants to will vote before the meeting so I can announce the results then. Voice your opinion, be heard! :-) http://www.pollmonkey.com/p.asp?U=249419879 Cheers, Timo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] OGNL presentation on Tuesday
> - I thought you were a web developer so why does www.ognl.org > use frames you moron? are you still living in 1997? > - replace frames on the OGNL website: why Drew is so lazy LOL. :-) The first bits sound the juiciest to me... * OGNL language features - it's a binding language, not a mere expression language. let's get that straight right off the bat. - what OGNL does for you that other expression languages also do - what OGNL does for you that other expression languages do not - property navigation + what's a property? + what's a "navigation chain"? - index access (including the OGNL "object indexed" properties) applied to properties + how objects are index accessible - numeric types - collection manipulation + indexed access (plus dynamic subscripts) + projection + selection - lambda expressions Also curious about : + TypeConverter (converting between different types) And this might be completely off topic... not sure... but how are OGNL expressions used in a Tapestry template? Cheers, Timo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] OGNL presentation on Tuesday
Everyone, As you know I'm going to present on OGNL next Tuesday at the JUG meeting. I was planning on doing this talk in April so I haven't given a lot of thought as to what people would be interested in hearing about OGNL. OGNL is a very rich framework and there are several aspects to it that would be of interest, depending on the amount you already know about it. Here are some possible outlines of interest: * OGNL language features - it's a binding language, not a mere expression language. let's get that straight right off the bat. - what OGNL does for you that other expression languages also do - what OGNL does for you that other expression languages do not - property navigation + what's a property? + what's a "navigation chain"? - index access (including the OGNL "object indexed" properties) applied to properties + how objects are index accessible - numeric types - collection manipulation + indexed access (plus dynamic subscripts) + projection + selection - lambda expressions - who is using OGNL? + Tapestry web application framework + WebWork web application framework + WebOGNL web application framework + JSP 2.0 EL replacement + Plug-in for BSF allows everyone to use OGNL + Many other silent users + If anyone knows of a use of OGNL other than these? I'd like to know! * OGNL API - OgnlContext: the center of attention - Set vs. get for expressions - OGNL extension API + PropertyAccessor (accessing named properties) + ElementsAccessor (getting iterations of objects) + MethodAccessor (calling instance & static methods) + NullHandler (handling null results from property gets and method calls) + TypeConverter (converting between different types) + MemberAccess (for lowering protection on normally inaccessible private, protected and package protected methods, fields, etc.) * OGNL 3 - same OGNL language - totally rewritten, cleaner API + parser gets it's own package + implementations of extensions API now has it's own package + org.ognl.el package defines only 2 classes, the rest are interfaces + clearly delineated lines of responsiblity between Expression implementors (parse tree), Environment, ExecutionEnvironment and Extensions. + type conversion is now integral to all aspects of expression evaluation - new package names: org.ognl.el, org.ognl.el.parser, org.ognl.el.extensions and org.ognl.util - environment interface for registering extensions - exposed execution context interface (was OgnlContext, but the API only showed it as a Map) + DefaultExecutionContext implements ExecutionContext to provide an all-in-one parser, registry and execution context suitable for simple expression executions + DelegatedExecutionContext delegates to a shared environment so that registry, runtime reflection cache, etc. are shared - parse tree now has better structure and clearly defined role - exposed Expression class encapsulates parse tree for syntax analysis + defines hierarchy + exposes Visitor interface for walking expressions + exposes "get" and "set" operations + exposes static syntax analysis methods: isConstant, isSimpleProperty, isSimpleNavigationChain - caching (reflection information, etc.) is more manageable through pluggable Reflector class - almost everything is pluggable; most of the classe - TypeConverter subsumes NullHandler and now has more robust ability to handle any conversion - all extensions except ClassResolver is now associatable with a class to facilitate fine-grained customization www.ognl.org - I thought you were a web developer so why does www.ognl.org use frames you moron? are you still living in 1997? - replace frames on the OGNL website: why Drew is so lazy - getting rid of that awful late-90s-beveled purple look on www.ognl.org - at least the license plates link to the OGNL and WebOGNL license These are just some suggestions. Feel free to let me know what you think would be interesting for me to talk about. - Drew -- +-+ < Drew Davidson | OGNL Technology > < Professional Open Source> +-+ | Email: [EMAIL PROTECTED] / |Web: http://www.ognl.org / |Vox: (520) 531-1966 < |Fax: (520) 531-1965\ | Mobile: (520) 405-2967 \ +-+ - To unsubscribe, e-mail: [EMAIL P
Re: [jug-discussion] OptimalJ & Product Demo Poll
On Mar 6, 2004, at 10:02 AM, Tim Colson wrote: Some colleagues are trying out OptimalJ and this MDA thing. I'm wondering if anybody has used this stuff? You have any URLs? On a similar topic... I think someone in a meeting once said there was a sales person wanting to give us a demo of some tools (I don't know what tool). Actually we've had a few offers recently. Personally, I would not be interested in a 60 min commercial product demo... but a quick 15 min demo could be worth the time. I figure it takes about that much time to download/install a demo app, and longer to get a quick feel if the thing is useful or not. 15 min professional demo can help me make a quick "explore further or forget it" decision. And if the company doing the demo would bring a few freebies (shirts/pens/licenses) than I'd certainly be on board. :-) Personally I'm the opposite. I like a longer demo, if warranted, but I say this with certain caveats: 1) It should not be a 60 minute marketing drivel demo 2) Someone technical better be there either to assist with questions or actually doing the preso 3) If its a tool with a unique service explain why I should spend x number of dollars on it, if it competes with Open Source they better know their competition and why they are better. For fun - I put together a one-question poll so we can find out what the group thinks on this, please try it out! :-) http://www.pollmonkey.com/p.asp?U=249419879 I voted! But I can't see the "Other" comments. Any way to do this? -warner Cheers, Timo P.S. Anybody know of any GOOD open source JAVA based POLL and SURVEY tools (perhaps ones that use JFreeChart for results) ?? I looked, didn't find much. Just one servlet that looked kinda ehhh. http://coldjava.hypermart.net/servlets/vote.htm I plan on making this part of my Community Tools (now named Caelum Community Publishing System), I'm not sure which parts will be open and which will be closed. -warner - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]