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 Sep 06, 2011
Google has released in open source form the .NET APIs Client Library which can be used to access services providing discoverable APIs such as Books, Analytics, Latitude, Prediction, Tasks, Translate and others.
Google introduced the APIs Discovery Service at Google IO 2011, which can be used to programmatically interact with other APIs the company has provided for their services, including the ability to discover what services are available, how they are defined –methods and their parameters-, inline related help documentation, and the available OAuth 2.0 scopes. The APIs Discovery Service can be used to build APIs Client Libraries, enabling developers to access those APIs from different languages, and Google has created an APIs Explorer and an API Support Plug-in for Eclipse.
Google has made available APIs client libraries for Java, Python, PHP, Ruby, and recently .NET, all of them being alpha or beta releases. The .NET APIs Client Library allows developers to call Google services from C# programs, the source code and samples being available online. The Google services covered by the library are: APIs Discovery Service, Books API, Buzz API, CustomSearch API, Diacritize API, Enterprise Audit API, Google Analytics API, Google Latitude API, Google Site Verification API, Moderator API, Page Speed Online API, Prediction API, Search API for Shopping, TaskQueue API, Tasks API, Translate API, URL Shortener API. A number of other services, such as Blogger, Calendar, Picasa or YouTube, are supported by the GData .NET Client Library. It is interesting to see if Google will make the GData APIs discoverable in the future.
Some of the services do not require authentication, but those which do can be accessed using OAuth 2 built on top of DotNet OpenAuth, an open source OpenID, OAuth, and ICard library for Microsoft’s platform. The client library also supports working with strongly typed versions of the APIs libraries, making it easier to use in IDEs and performing various checks at compile time to ensure more code robustness.
.NET APIs Client Library can be used with Microsoft’s .NET Framework 3.5 and 4.0 and Visual Studio 2010, and also with Mono 2.6.7 and later with MonoDevelop. Google plans to add support for Windows Phone 7 and Silverlight, work having being started for the later.
Introducing SQLFire: a memory-optimized, high performance SQL database
Automating Error Reporting for .NET Applications
Troubleshoot Java/.NET performance while getting full visibility in production
I hope this one is better designed than the others. Some of their .NET wrappers (wrappers because they generally are only layers over their REST-ish APIs) are so bad, you're better of just using vanilla web requests (which i guess is an advantage of REST...)
Not following .NET conventions, bad exception handling, inability to tweak the web request settings the way you'd want them to, bad documentation, bad performance, limited support (many are just labs, so it makes sense, but...)you're really usually better making your own wrappers (aside for the OAuth stuff. google's wrapper for that actually works okay)
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.
1 comment
Watch Thread Reply