Java, JEE, Spring, JSF, Struts, Maven

Monday, October 27, 2008

CSS Day 3

Wednesday started off with a session titled "Put your feet up and take a RESTful approach". This again demonstrated the details of RESTful web applications, and how they can support Web 2.0 along with AJAX and JSON. REST is not a technology or standard, merely an architectural style or design pattern. Rather, it is built on standards (HTTP, URI, XML, mime types) and standard HTTP methods (GET, PUT, POST, DELETE). Allows for less dependencies on vender software/middleware and spec levels. Web Services still have their place, well suited for computer-to-computer communication. REST is more appropriate for human-to-computer (straight html) or browser-to-computer (ajax + JSON). Becareful of the data exposed.

Next was "Becoming a JavaScript Wizard". One thing I took away from this is that it's good we are using prototype and scriptaculous, they smooth out browser differences make things easier in general. Remember separation of concerns - structure (data)/ presentation (css) / behavior (js). All javascript in a *.js file. Use namespaces! See Douglas Crawford, recognized as the javascript guru. Move away from DOM 0 events (onlick attrs), this ties the structure to the behavior, instead use DOM 2 (prototype: Event.add(*)). See ExtJS library.

After lunch was "What OO Doesn't address". This session spoke to what OO does and doesn't provide. OO is good because it addresses maintenance, quality, reliability and "writeability". Allows to package code in a way that makes sense, keeping things apart that change independently, and things together which change together. Allows software to be resilient to change, not resistant. Security and performance are not addressed. Gave some tips to help. Reduce the scope of syncronized and transactional code. Beware of "medium-lived" objects, the garbage collector is optimized for short and long-lived objects, mediums result in more page faults and slower performance.

Next was "Building Rich Internet Applications with Appcelerator". Appcelerator is an ajax-based web 2.0/RIA framework (ala GWT or FLEX). It uses a lot of custom attributes on standard html elements, so you don't need to know a lot about javascript. It seems like a good fit for smaller shops or startups where there is not a lot of seperation or expertise between layers of the application. Someone with a high-school diploma could probably download the framework and get something working pretty easy. It was compared with other RIA frameworks including Adobe FLEX and Google Web Toolkit. SOFEA and SOUI were mentioned. Appcelerator does not have as wide of a user base, but documentation is good. Is not a full stack meaning it does not have a library for implementing the server side (ala database). Skyblox and snappshot are two example sites built on appcelerator. His advice when evaluating web frameworks was to have a few frameworks available, some are better for certain apps. He suggested trying several of them and eliminate rather than include.

The final session was "Service Validation, Incremental and Iterative Development". This session talked about incremental and iterative development, how you must have trust between the business and IT. Do "just enough" requirements and design to get started, flushing out through iterations. Cheaper to catch bugs sooner than later. Don't "gather" requirements, "elicit" them, it is a discussion. ITIL "V-Model" was discussed. Need a "Service Portfolio".

No comments: