Wednesday, March 18, 2009

Developer Day Notes

I have some notes I would like to share about Oracle Developer Day. I got a whole lot out of it. Most of it extremely positive.

Here are my notes from the session. Hope they are helpful.
OTN Developer Day Notes

· OPI? OPEE?? (Eclipse Oracle Developer pack)

· Panel Collection – can surround a table to et a header and footer

· Rebuild will allow you to sometimes avoid rerunning a page in IDE

· Export to Excel – component to do that (uses a listener of some sort)

· FMW 11g released – calendar year 2009

· Moving splitters – maintained per user by session. To persist user settings you can use Oracle MDS – for example for a set of users you could create a preference set and store it on a database.

· When I deployed to 11g, I did not see OC4J as an option. But Lynn Munsinger says it is among the app servers they offer.

· The focus of the binding layer (JSR 227) is to abstract business services so that you don’t have to know implementation specific details SOAP,WSRP. Also it reduced the number of backing beans you need to write, and also shortens the

· I need to build a wiki of some sort (there is support for this in WebCenter suite).

· Components are ADA (Americans with disapbilities act) compliant

· Learn more about MDS (Metadata Services).

· Although ADF/BC control hints is UI mixed in Model (violation of mvc), it allows us to set standards.

· Can package up ADF BC’s as a library and deploy it, so developers can use this.

· Static list – keep small.

· You need to get a handle on deploying Application Modules for use by company.

· Google “ADF Methodology” – google group has a grassroots naming standards.

· Can create resource bundle on the fly when you create control hints.

· How do you create a plsql web service? Then you can use them in ADF/BC.

· JSF Component good because for example, table takes a collection and is trusted with doing the right thing with the data to make the table viable in HTML.

· What is stateless again? Lynne kept talking about stateless components.

· Check out print component, poll, listeners (that’s that client/javascript thing, I think)…

· Graphs are svg or flash.

· ADF Data Visualization are the graphs I think.

· Experiment with reusing a task flow.

· Task flows can go into a region really easily.

· Bounded task flows can battle the back button (huge reason for using task flows).

· Task flows are integrated with database transactions and process trains

· Can bundle components (like address block) as declarative components.

· It is better to add javascript to a component by creating a custom component and adding javascript.

· Decorative box is a nice layout; three column template is the fusion look.

· Awesome demo; my bosses really should have been there for it. Lynn Munsinger was doing it.

· If using non-adf business components (EJB, or session bean…), you can create declarative validation on the adf binding layer….not used to much often.

· Read the fusion developer guide.

· Read the Fusion UI Developer’s Guide

· (there will be a SOA Developers Guide)

· Q&A on OTn

· JDeveloper might be “less free” if we do not deploy to WebLogic server.

· While we are waiting for FMW 11g to come on line, I need to be establishing standards, best practices, packaging task flows and app modules for reuse, creating templates, creating declarative combined components, skins, page fragments, backing bean bases, ADF/BC component bases, ….

· Active Data Services – pushes changes to data. (ADS) better than polling.

· If we deploy to Tomcat 6.0 we have to pay for license to use the ADF libraries.

· For some reasons, when I was trying to add a default value to an entity date attribute, the groovy expression that I typed in did not register as having “taken”. I typed the value in and hit enter…well actually the first thing I did was enter the expression editor, which opens a dialog. But as soon as I went away from that context and came back the value I had entered did not appear. I bet if I had just entered the default value groovy expression on the property, the value would have taken as expected. At any rate entering the value in the field and switching to the source for the page made the little green dot appear in the property sheet, but no corresponding XML attribute value appeared for the “attribute” element for hireDate attribute. So finally I quit out of JDeveloper and reentered the tool. Then I entered the groovy expression, pressed enter, and it took: got the green dot (signifying non-default value in this property), and I checked the source screen and saw the corresponding DefaultValue attribute pop up with the Groovy value in it. Yay! Oddly enough once I got this to take I had accidentally left the value type to literal…which caused an error…because “adf.currentDate” is not really a valid date, is it? But changing to expression type made the XML change to a Transient expression and the data was put in a “CDATA” thingy. Lol Then it worked.

· Do the demo on page 23, 25, 27, etc. of the class pdf for your bosses.

· I wonder if the Fusion Developer’s guide has good documentation on the aspects of the groovy language that you need to know in order to, for example, express the endpoint values of a validation rule’s range as parameters that could be incorporated into an error message.

· For column selection I am not sure what freeze, wrap do. Not sure what the point is of detatch, but maybe I would discover all this stuff down the road. The tutorial called attention to the features, but I do not see what to do with them yet; and the tutorial did not say either.

· When you do a new ViewObject on the model, and you are to select the entities you want to use, the first one you select is marked as updatable, and reference checkbox is grayed out. When you shuttle over the second entity it assumes it is a reference. Of course this maybe due that not only is employee a child of department, but department is a child of employee due to the manager FK.

· Lynn said to post test cases of bugs on JDeveloper Forums

· Need to download a slightly newer version of JDev 11g which has fixes to memory leaks and many other issues…the memory leak issue actually makes the permgen error happen, and when you try to correct for it by restarting the embedded web logic server the same error happens. If you just restart JDeveloper, the WL Server won’t start because it says there is already one running. The fix for this is either remove the java.exe process in task manager and probably restart JDeveloper…or download this new version of JDeveloper that has a patch for this and other problems.
Questions

· Page Flow versus Task Flow – which one if either is related to an open source standard? Is Page Flow simply JSF’s built in controller, or is it something else?

· Is there a version of OC4J which works with Java EE 5.0. Yes! OC4J 10.1.4 (did not know that existed.) It does not quite do JPA 3.0 right because it was produced prior to the spec being completed for Java EE…but everything else is fine. When I asked Lynn if ADF Faces Rich Client could be deployed to this, she said “no, because of differences in libraries”.

· Could developers use either JDev 10.1.3 ADF Faces, or JDev 11g Trinidad for the same app depending on their preference?

· Client/Server: what does it buy you to run the components on the client side? Server side?

· Custom login modules? Are these harder to write in WebLogic? The same? Are there more built in options.

· Can you pass parameters in via EL? Used to be only HashMaps would allow this. Other means now? (In Java EE unified EL)

· What kind of expressions are allowed in the Token Message Expression area of the validation for an entity? For example, on a range how would you access the ends of the range? Is it Groovy? Where is the list of valid Groovy expressions?

No comments: