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 Charles Humble on Sep 24, 2010
For the most part the portal market has coalesced around a core group of large independent software vendors - IBM, Microsoft, Oracle and SAP. There is however some room for specialist open-source portal companies, with Liferay, eXo, and Jive amongst the players.
Liferay in particular has been able to rapidly gain market traction and visibility out of proportion with the company's small size. This is partly due to its open source licensing model, but also due to its skill at rapidly responding to changes in the market place, for example through the aggressive embedding of social-software functionality. In recognition of this Gartner has had the company in the leader/visionary portion of their horizontal portals Magic Quadrant for a number of years.
During the Liferay West Coast Symposium earlier this month the company launched Liferay Portal 6EE, with most of the key areas of the product having seen an overhaul. Some of the more notable features include:
InfoQ spoke to Paul Hinz, CMO at Liferay, to find out more about the release.
InfoQ: I was interested by the emphasis you seem to be putting on social features. This seems to be something of an emerging trend in the portal space at the moment with IBM taking a similar line for Project Northstar, which they announced at the WebSphere Portal Excellence conference a little earlier this year. Why are social features so important in the space?
I believe all new applications should be built as social applications. User interactions should leverage social attributes or services. Social services include user self web publishing, content sharing, role based access, and user definable workspaces; social attributes can include presence, chat, social graph based permissions, user comments, rating and social equity (new feature in Liferay 6EE).In my presentation at WCS I provided an initial view of our history of making collaborative applications available and building web applications, but those are two separate design / service perspectives which today can be combined into a single design method. Think of building your sales force automation application so sales people can interact like on Facebook, Twitter or Wikipedia, combined with enterprise identity management and compliance; productivity will grow exponentially by the number of users.
InfoQ: CEO Bryan Cheung stated during his keynote at the Liferay West Coast Symposium that Liferay 6 Enterprise Edition brings the company's portal product to the point they've been working toward for the last ten years, and that you are now entering the "next era" of Liferay development. Could you give us some idea as to what you see as the next priorities for Liferay?
In regards to a culmination, Liferay has a full web content management and workflow engine - this is the first full portal to do so while additionally solving the "portals are too big as a platform" issue.Some ideas for the future were hinted at in the press conference at WCS. The capability that Liferay provides is the ability to build with three formerly divergent IT design aspects which were:
- Web application development
- Web content management
- Social applications.
These three were done with separate systems and separate design aspects in the past. For example, you would build a web app with your app server platform and then out into production. Later you might build a web site with a web CMS that allows workflow updates - but those workflow updates are not done in the web app. So the ability to allow content editors, monitored by content approvers, was separate from web apps. Last, the application may have some collaborative aspects if they were designed into the app, but only if they were designed as an integration to a separate blog, wiki, messaging, or social collaboration platform. Liferay allows a developer to design all three aspects together.
But what can the future hold? With Liferay a superior platform for web app development, and end users increasingly adding value to the system by adding content and workspaces, the next phase is to enable the end user to build simple applications (as a standard user not as a developer ) which they then leverage in their workspaces, shared through their network but also allow others to leverage those simple apps in their network. For example, today you can add a workspace and add content and available portlet apps and then share that with your social network, but in the future you will be able to build an application such as a mash-up of a Google map with alert info from an inventory system which can then be shared with others who use it to share a Google map with sales data.
InfoQ: You mention in your press coverage that Liferay is still standards compliant. I was interested in the state of play with regards the JSR standards for portals (168 and 286). How relevant do you think these are? Have they kept pace with changes in the portal space?
Liferay supports JSR 168/286, WSRP, CMIS, etc. Standards are very relevant so we can ensure Liferay can integrate with many existing systems. In regards to 168/286, Liferay allows developers to leverage many types of content like portlets, gadgets, widgets, etc. including an OpenSocial container in Liferay 6EE. Customers can choose which fits their app best. I like 286's capabilities to integrate into exiting enterprise apps and the ability to leverage the richness of the Java EE platform. Liferay deployments can be completely developed at the UI level without the need for Java (so easy, like our PHP competitors) but we can also allow the tremendous capabilities of Java EE6.
Liferay's product is offered in two versions. The free Liferay Portal Community Edition licensed under LGPL v2, and the commercial Liferay Portal Enterprise Edition. The "Design with Liferay" program gives major discounts (first year free) to converts from other enterprise portal products.
Troubleshoot Java/.NET performance while getting full visibility in production
Banking Case Study: Scaling with Low Latency using NewSQL
Combining Inspections, Static Analysis, Testing to Achieve >95% Defect Removal Efficiency
Introduction to WebSphere Liberty Profile
Introducing SQLFire: a memory-optimized, high performance SQL database
VMware vFabric SQLFire - Test drive the data management system with memory speed, horizontal scalability and a familiar SQL interface
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