skip to main |
skip to sidebar
- Five performance anti-patterns in the data-access layer in database-driven applications. The following are described:
- Misuse of O/R Mappers: loading behaviour and loading time (e.g lazy loading)
- Load More Data Then Needed
- Inadequate Usage of Resources: database connections
- One Bunch of Everything: all data access is treated equally (e.g access frequency)
- Bad testing
- An investigation on how the front-end of iWork.com has been built. Used are SproutCore(Javascript framework), Prototype, WebDAV and JSON.
- 50 minutes video presentation on Orbitz.com's architecture. Brian Zimmer describes a search and booking example for seats and beds. Problems they came across for example are: i18n, distance estimations. Disclaimer: the architecture is not perfect and always in motion. Orbitz.com is a Java shop, amongst others they use: Spring, Spring Web Flow, Tomcat and Joda Time (side-step: much learned from the Joda Time project is being implemented in JSR 310, led by the Joda Time project lead), Log4J, searchable (query-like) complex event processing mainly for logging/monitoring(!) and throttling, multi-threading, caching, availability and Jini.
- Performance comparison of four JPA implementations: Hibernate, Toplink Essentials, OpenJPA and EclipseLink. Only JPA was used in the tests. Conclusion: there's no clear winner, all have good and bad things on different points like CPU or memory.
- Will building desktop Linux applications with Javascript be the next re/evolution for Javascript?
- Great insight on Second Life's architecture. For example: "A physical server (1 CPU) is responsible for about 16 acres of land and it is connected to neighboring ones which are each responsible for another 16 acres. The server is responsible for the objects existing in its area, the scripts running, the users logged in and standing in its area". Presentation is one hour in total.
- There's more to REST than meets the eye. And many REST APIs are not really as REST as Roy Fielding defines it. Media type design is an important item that was not in his original REST dissertation. Some interpretation of what Roy actually means can be found here.
- JanRain (known for their OpenID libraries) have created a nice widget named RPX that allows you to integrate authentication within your existing site in an easy and user-intuitive way. I really like the clear, easy and non-intrusive way the possibilities are shown. For real novice users the redirecting to and from the authenticating sites might still be a little bit confusing though. Supported protocols are: OpenID 1.x/2.0, Facebook Connect, MySpaceID and Google. Below is a screenshot of what the registration part looks like:
A couple of example sites where this is already implemented can be found here. And some more on the possibilities here.
Note that from the technical overview you can see that the RPX server sits in between. That is the only disadvantage of this solution: that you are dependent on an intermediate server.
- The W3 Consortium has released a webpage mobile-friendliness checker. The tests it performs can be found at the mobileOK Basic Tests 1.0 specification. Other validators you might know from them are the feed validator, XML Schema Validator, CSS validator or Markup validator. Running these very succesful services without any advertising is costing a lot of money. Therefore you can now donate here for support. If you compute how much time those validators have saved you, donating any small percentage of that will already help W3C keep these validators running.
- 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.
- Top 10 SOA pitfalls.
- The TLS Report, a recently started website, is keeping track of how major sites have implemented TLS (Transport Layer Security, formerly SSL). Check the first surprising results of the best and worst here.
- Presentation from Jason Sobel, the manager of infrastructure engineering at Facebook, on how Facebook implements the storage of about 6.5B images (profile pics, regular photos) in 4 or 5 sizes, totalling about 30B files, 540TB and serving 475K images per second! Their servers (10K Apache webservers, PHP, Memcached, 1800 MySQL servers) can't handle that so they use CDNs.
Here's a page from the presentation that shows the "read" setup:

- Adobe announced that they've created a special Flash player that runs on the server which allows search engines to better index Flash and Flex applications: Rich Media Search. The search engines are now supposed to "see" the Flash application just as the user does. Well, that's one reason less to not use Flash ;-) Google is also improving its Flash indexing by using this new searchable SWF library.
- This post summarizes the key parts of the LinkedIn architecture (40M pageviews/day). Full presentations also available. Lots of Java. Below an architecture overview diagram from one of the presentations:

- Overview of the plans of the BBC for their application/website infrastructure: moving it from mainly Perl and static files to SOA, Single SignOn, REST, Java and PHP.
- Orbitz (the online travel booking agency yes) is open sourcing their Extremely Reusable Monitoring API (ERMA) and Graphite this coming Monday. Here's why they're open sourcing their ERMA and Graphite, which are "part of a Complex Event Processing system designed to monitor large distributed applications, analyze the data that is gathered and display that data in real-time graphs."
- All of Google's Data APIs now support oAuth. So no need anymore to store a username and password in web applications that use one of Google's Data APIs. Recently also PhotoBucket and SmugMug announced oAuth support.
- How Yahoo! is transforming itself into an open and social platform, allowing developers access to internal assets of Yahoo. A first example of this is SearchMonkey. Below a screenshot of their new architecture Yahoo Open Strategy.

- Two initiatives that could improve the chances of OpenID becoming more mainstream: IDSelector (also mentioned here) and Confident's RecognitionAUTH, which you can see implemented at MyVidoop (mentioned in a previous post).
- Amazon announced its Fulfillment Web Service API, which allows merchants to automatically store inventory in Amazon's warehouses and ship orders to customers. Again, Amazon is one of the frontrunners in this area...