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 Boris Lublinsky on Jul 07, 2008
As Web services grow in popularity, enterprising Web and application developers are creating new and innovative applications with their data. In addition to services themselves, developers are creating mashups, applications that combine data and functionality from multiple services.
Hardeep Singh’s article IBM Mashup Center and the InfoSphere MashupHub is an introduction to InfoSphere MashupHub, part of the IBM Mashup Center product,which is:
facilitating individuals to share structured and semi-structured information stored in their documents or local databases, with others in the organization. Data from multiple data sources can be merged, filtered, sorted, grouped, and transformed to create feed mashups. Data in these mashups can then be accessed by other applications using standard HTTP calls or can be presented in a Web browser using Lotus Mashups
An InfoSphere MashupHub provides the following
The article starts with a description of the InfoSphere MashupHub application server, which is built on top of WebSphere Application Server and its surrounding Java EE technologies. It exposes a REST API to its clients who can access its services over either HTTP or a secure (HTTPS) connection.
The server supports a wide range of plug-ins for data sources as well as plug-ins for the feed mashup engine and the mashup catalog repository. All feed data from internal as well as external data sources is cached. An embedded Derby database is provided as a default option to create the default repository for the mashup catalog. Other relational databases can be also plugged in for catalog support. Application Server’s administration support interactive configuration for user’s authentication and role management.
The server provides services to the mashup client as well as to third-party feed readers or even other application servers or clients. When a feed or feed mashup is being created, the MashupHub client communicates with the server to fetch data from data sources, preview partial mashups, and to save the feed or feed mashup. Any feed that is published to the catalog can be accessed and viewed directly from the MashupHub client. The feed URL can also be invoked from a Web browser, feed reader, or any other application using standard HTTP protocol.
The main components of InfoSphere MashupHub server are:
The InfoSphere MashupHub client is a browser-based Integrated Development Environment (IDE) that provides a Rapid Application Developer environment for building feeds and feed mashups. It provides tools to create data feeds from structured and semi-structured data sources. These feeds can be published as RSS, ATOM, or plain XML data streams that are accessible over the Internet or Intranet using a HTTP URL. A client is implemented using Ajax (Dojo toolkit) and uses REST calls to communicate with the application server.
In addition to describing an overall architecture and functionality of InfoSphere MashupHub server and client, an article also provides several step-by-step examples of building and publishing data feeds using a server including:
It also provides an example of combining these two feeds into a mashup and publishing this mashup to the web.
Hardeep’s article is a good introduction to the InfoSphere MashupHub server and its usage for building custom mashup-style applications.
The WSO2 Mashup Server fulfills many of the same benefits:
You can connect to any SOAP exposed service, as well as feeds, spreadsheets, web scraping, REST services, email and IM systems, and expose these as SOAP, REST, Feeds, etc. And its completely Apache licensed open source.
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