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 Nov 12, 2010
As we reported in October Apple’s next release of OS X deprecates the version of Java that it ports and supplies as part of OS X. According to the MacRumours site one concerned developer emailed Steve Jobs asking about Apple's future plans for the Java programming language and platform on Mac OS X. Jobs' reply was:
Sun (now Oracle) supplies Java for all other platforms. They have their own release schedules, which are almost always different than ours, so the Java we ship is always a version behind. This may not be the best way to do it.
Apple have now announced that they will be working with Oracle on a Java SE 7 version for OS X via the OpenJDK project. According to the press release
Apple will contribute most of the key components, tools and technology required for a Java SE 7 implementation on Mac OS X, including a 32-bit and 64-bit HotSpot-based Java virtual machine, class libraries, a networking stack and the foundation for a new graphical client. OpenJDK will make Apple’s Java technology available to open source developers so they can access and contribute to the effort.
Apple have also confirmed that Java SE 6 will continue to be available from Apple for Mac OS X Snow Leopard® and the upcoming release of Mac OS X Lion. Java SE 7 and future versions of Java for Mac OS X will be available from Oracle.
Given that Java SE 7 is quite close to shipping it is unlikely that Java 7 for OS X will be released at the same time as for the other supported platforms, a point which Henrik Ståhl, who is responsible for product strategy in the Java Platform Group, has made on his blog
My expectation is that we will release on current supported platforms first, and that OSX support will follow later. The JDK 7 schedule can not easily accommodate large changes like the addition of a new platform
Since this story was first published Apple Java Engineering team member Mike Swingler has revealed more details about what is included
To set expectations, the first drop will be effectively a "SoyLatte"-level implementation, but is packaged as a Universal Mac OS X .jdk bundle that can be dropped directly into /Library/Java/JavaVirtualMachines. Over the coming weeks and months, we will be adding pieces and parts of our Java SE 6 implementation to the public project, and will cut over from using an X11-based AWT to a Cocoa NSEvent-based one with a new OpenGL-backed graphics layer.There are several parts of our Java SE 6 implementation (like the AWT widgets) that are not contributable, in much the same way that several parts of Oracle's implementation are not. However, the vast majority of our Swing Aqua Look and Feel implementation is, as well as the eAWT/eIO API. We intend to host the legacy AWT widget set using lightweight peers, but that work is still in progress.
This is excellent news for the many Java developers who run OS X on their development boxes.
Introducing SQLFire: a memory-optimized, high performance SQL database
RDBMS to NoSQL: Managing the Transition
Tools to unit test your JavaScript
VMware vFabric SQLFire - Test drive the data management system with memory speed, horizontal scalability and a familiar SQL interface
While many speculated that Oracle would not care enough to provide a Mac version I was pretty sure it would come. The revamped effort of JavaFX would be pretty silly as a cross-platform UI stack if it wasn't supported on Mac. To honest, I'm actually more surprised at the level of support given by Apple for this. I was pretty sure they would just cut it loose. As a Mac user, I'll admit it's a sigh of relief.
...and in the end it's just a case of Apple offloading to Oracle and IBM the cost of porting the JDK to Mac OS.
It's much better than that: It's Apple sharing the cost -- and the work that they've done so far to make it possible!
Remember, the Apple JVM already was the Sun JVM (the same one as in OpenJDK) under the hood, with some nifty Mac OSX capabilities plugged into it.
Peace,
Cameron Purdy | Oracle Coherence
coherence.oracle.com/
I think we've ended up with an excellent outcome.
Apple, by agreeing to supply to the OpenJDK project the hard work they have done in the past to integrate the JVM to OSX, has really put the best interests of the Java developers first.
Although Java isn't my favourite language anymore, with the simply amazing EJB3.1/CDI standards and the work of Adam Bien proselytizing the same, I just can’t see myself moving off Java any time soon.
I’m very happy that I won’t need to use that bootcamp partition I set up last week.
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.
5 comments
Watch Thread Reply