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 Brian Sletten on Mar 30, 2010
The W3C Media Annotations Working Group has recently posted drafts of its Ontology for Media Resource 1.0 and API for Media Resource 1.0 efforts. They have also updated the Use Cases document to reflect some of the intentions of these projects.
The basic goal of the Working Group is to produce an API and domain model for handling the explosion of media content on the Web. There is not and never will be a single set of audio and video formats used by all residents of the Internet, so they felt the need to establish a mechanism for describing this content and connecting it to other content of different formats. Leveraging the power of Semantic Web technologies, they want to be able to do things such as:
The drafts support twenty-five different formats including Cable Labs's Video-On-Demand formats, Dublin Core publication metadata, the exchangeable image file format (EXIF) for digital camera, Digital Bazaar's Video Metadata, MPEG ID3 tags, QuickTime, Adobe's XMP, YouTube's Data API Protocol, etc.
The ontology reuses many terms from popular vocabularies such as Dublin Core, but wanted to define its key ideas in its own terminology. The draft not only defines these terms, but also specifies a one-way mapping into the metadata and annotations of the native formats.
The properties include terms such as:
| Name | Description |
|---|---|
| ma:identifier | URI for the resource |
| ma:title | Title of the resource |
| ma:language | BCP 47 language used in the resource |
| ma:locator | URL associated with the content |
| ma:creator | A primary author of the content |
| ma:contributor | A contributing agent to the content |
| ma:location | Where resource was filmed or recorded |
| ma:createDate | Date/time of creation |
| ma:keyword | Tags associated with the content |
| ma:description | A short textual description of the resource |
| ma:genre | Genre associated with the resource (pref. EBU) |
| ma:copyright | Description of the copyright associated with the resource |
| ma:publisher | Person or organization responsible for publishing the content |
| ma:compression | Compression codecs used |
| ma:duration | Duration (in s) |
| ma:samplingrate | Audio sampling rate (in sps) |
| ma:framerate | Video frame rate (in fps) |
| ma:bitrate | Average bit rate (in kpbs) |
Not every property maps to every format, but where there is overlap it should be possible to handle disparate content similarly to make it easier for people to find and describe these files. As an example, the "ma:creator" property maps to the "com.apple.quicktime.author" property in QuickTime, "dc:creator" in Dublin Core and "media:credit@role" in the YouTube Data API. Because of subtleties between the intended meanings of the different properties, it is not currently possible to map between the different formats, only to the common terminology.
The API being defined is intended to manage these mappings and provide a common programming model for interacting with the content so that format-specific code is not required. The API can be used by either client or server-side code as suggested by the two different scenarios depicted here:

Original source: http://www.w3.org/TR/2010/WD-mediaont-api-1.0-20100309/API_options.png
Additionally, there are several Candidates for Additional Elements being considered by the Working Group for inclusion in the specification.
This is very much a work in progress, but shows promising signs of producing useful abstractions and working code for managing the commonalities between these and potentially other media formats.
Requirements, quality and test management e-Kit
The WebSphere Liberty Profile for Developers: An Introduction
Architectures You've Always Wondered About @QCon New York
Introduction to WebSphere Liberty Profile
Agile Practices to Improve Project Management Organization (PMO) Effectiveness
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