Cloud Foundry: Design and Architecture
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Abel Avram on Dec 10, 2009
Google Chrome’s latest additions are: Chrome Beta for Max and Linux, Extensions for Windows and Linux, and Web Sockets.
Chrome Chrome for Mac is deemed as fast, secure and stable as the Windows version and it uses Mac’s look and feel. It uses some of the Mac OS features like the spellchecking service, the Keychain Password Management System, and the security provided by the OS’ sandbox. Gears is not yet available for Chrome/Mac, but only for Firefox/Safari/Mac.

Google Chrome for Linux uses both the Gnome and KDE desktop environments and the usual package manager for updating itself. 50 developers outside of Google has helped with this open source project. Gears is not yet available for Chrome/Linux but only for Chrome/Firefox.
Extensions
Another much desired feature that was lately released is Extensions. Still in beta, the gallery already contains more than 300 extensions and many more will probably be added since anyone can submit one under an agreement. Extensions are available for Chrome Windows and Linux, but not for Mac which is to follow soon.
When published, each extension receives a 30 chars ID automatically generated by Google based on a public/private pair of keys. A Chrome Extension file (CRX) contains the public key associated with the extension, a signature of the extension’s content generated using the private key, and the content as uploaded in a zip file by the user. Chrome verifies the signature using the public key when the extension is installed or later when an automatic update is received. That secures the content assuring the user that the extension he is using comes from the original publisher. Extensions can be hosted on other sites, not just Google’s, with a slight modification of the manifest file in order to point to the appropriate URL for updates.
Everyone will decide what extensions he prefers, but an ad-hoc Top 10 list looks like this:
Web Sockets
Part of the HTML 5 in-the-works standard, Web Sockets enables web applications to have bidirectional communications with server processes without having to rely on long polling. For the same purpose, developers have used XMLHttpRequest but with the cost of increased complexity because it relies on long GET commands. After opening a Web Sockets connection, the web application can send messages to the server using send() and registers an event handler to receive messages. Communication is done using the Web Sockets Protocol which:
enables two-way communication between a user agent running untrusted code running in a controlled environment to a remote host that has opted-in to communications from that code. The security model used for this is the Origin-based security model commonly used by Web browsers. The protocol consists of an initial handshake followed by basic message framing, layered over TCP. The goal of this technology is to provide a mechanism for browser-based applications that need two-way communication with servers that does not rely on opening multiple HTTP connections (e.g. using XMLHttpRequest or <iframe>s and long polling).
Chrome starting with version 4.0.249.0 available through the development channel is already having Web Sockets enabled and working. It remains for server applications to start using it.
Early Access! Download JBoss Developer Studio 5.0 now, with packages for Mac, Windows or Linux!
Building HTML5 Apps in Hours, Not Days
Tools to unit test your JavaScript
Want to know how software releases can be stress-free and happen with one click? Try Go free!
Improving Software Delivery Cycles: Pre-requisites and Inhibitors
Go: Agile Release Management Solutions. Go enables predictable, defect-free and timely software releases.
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
Andrew Watson talks about the work of the OMG, where CORBA is alive and well (hint: in your car), UML and UML Profiles vs. custom Modeling languages, DDS and other middleware, and much more.
Sohil Shah discusses creating iPhone and Android enterprise mobile applications based on cloud services using the open source platform OpenMobster.
Paul Sanford presents the transformations supported by data throughout its life cycle, and how that can be better done with Splunk, an engine for monitoring and analyzing machine-generated data.
A common “best practice” for unit tests is to only write a one assertion in each test. I intend to question this advice by showing that multiple assertions per test are both necessary and beneficial.
John Rauser presents the architectural and technological evolution of Amazon retail websites starting with 1994 and ending with adopting Amazon Web Services.
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
Every developer has had to integrate with another system, API or component. Tis article provides strategies to handle the change and for he separating system boundaries.
No comments
Watch Thread Reply