skip to main |
skip to sidebar
- 10 aspects of web 2.0 strategies that a CTO and CIO should know about.
- AJAX security fundamentals. With XSS, CSRF and securing JSON.
- Recently started foundation by Tim Berners-Lee (inventor of the web). Its goal is to study the web and how to make it more accessible.
- Short overview of forms of API authentication: keys, username/password, digest and tokens. I'm missing oAuth in the examples mentioned.
- From March 2008: short overview of the status of web frameworks and their marketshare: Spring MVC, GWT, Struts 2, JSF, Flex, OpenLaszlo. Also mentions AppFuse as starting point for building a web application.
- One of many architecture and design diagrams for an application built on Struts2, Spring, Hibernate and ExtJS. Could be a good starting/reference point.
- It seems the SOA world is finally starting to take the Web-Oriented Architecture seriously.
- Summary of a recent whitepaper from IBM Global Services describing five high level best practices for successful deployment of an SOA. 120 IT Architects, developers, IT Specialists and project managers evaluated nearly 100 case studies, with 750 lessons learned and 650 best practices.
- SpringSource announced a maintenance policy for SpringSource Enterprise. Definitely check Rod Johnson's clarification comment in this thread on The ServerSide. Important to verify when you're using Spring in your company.
- Elaborate introduction to persistence, ORM and JPA, and a comprison of two open source persistence frameworks: iBATIS and Hibernate. Notable points: iBATIS encourages the direct use of SQL queries; it enables the object model and the data model to be independent of eachother via its data mapper (compared to a metadata mapper framework like Hibernate). Note that fully ORM tools generate SQL, where iBATIS uses SQL directly. A nice quick overview of the Hibernate architecture is described; the diagram is shown below:
Recommendations from the article:
- Use iBATIS when you need full control of the SQL
- Don't use iBATIS when you are in full control of both the application (with its domain model) and the data model.
- Don't use iBATIS when the database is non-relational
- Use Hibernate to leverage end-to-end OR mapping
- A potential reason to use it could be that it is more easy to use for object-oriented programmers who are less familiar with SQL
- Use JPA when you need a standards-based persistence solution
My own recommendations:
- With Hibernate it might be harder to tune the queries because they are generated by Hibernate. You can't really "just handover" the queries to the DBA. The DBA will have to monitor the database for bad queries.
- Hibernate gets quite complex when you have to map more complex associations (like a unidirectional many-to-many association with custom columns added to the link-table). I've never used iBatis so can't tell how hard it is for that framework.
- When trying to only use JPA defined elements, you'll find that JPA's possibilities are quite limited (e.g. caching is not well defined in JPA), and that you quickly will start to use (ORM-tool) implementation specific features. A good way to implement this, is to specify the full package path when using implementation specific annotations. That way you can see where you deviate from the JPA standard.
- An interview with leads of PHP, JavaScript, Ruby, Perl, Python, and Tcl on the state of these dynamic scripting languages.
- Interesting technical development: IE8 and Google Chrome are putting tabs in new processes instead of threads. The main reason for creating threads used to be that it takes a relative long time to create a new process and inter-process communication is slow. But, these days the processor speeds are so fast (following Moore's Law etc), creating processes is a piece of cake/can be done really fast.
- How do individualism and teamwork go together in an Agile development project. Why type of roles should you have and what to expect from those roles.
- A short comparison of 8 java web frameworks: Struts 2, Spring MVC, Wicket, Tapestry, MyFaces, JSF, Grails and Rife.
- An update how OpenSocial is doing...
- 12 good Hibernate tips you might not know.
- A list of the 10 worst scalability practices/anti-patterns for large distributed systems. The areas covered are: the golden hammer: use of only 1 technology, resource abuse, big ball of mud: bad versioning/deployment management, everything or something: packaging of the application, forgetting to check the time (did you know that only just recently, since JDK 1.5, you can set timeout on reads on HTTPURLConnection? And that DNS lookups in Java are cached for the lifetime of the JVM unless configured differently?), the hero pattern: one operational "do it all", not automating deployment, build etc, and finally: monitoring of the system.
- In case you lived under a rock the last week without Internet access :-), Google introduced its browser: Chrome.
A couple of interesting things from posts around The Net: Chrome does a better job on the ACID test than the latest Firefox 3 build and IE 7.
The first performances tests show that Chrome's performance is outperforming all the current browsers!
Mozilla countered this with another test using their new javascript engine TraceMonkey, which should be released by the end of the year in Firefox 3.1. And this is the current standing in browser marketshare.
Quite a big surprise is that it is currently only available for Windows. Clearly Google is going for marketshare by addressing the users of the most used operating system... And finally, below is an overview how Chrome got its logo (via neatorama, with custom edit):