James Gosling, known at best as the father of the Java language, is giving his very kind of special “farewell” to Sun Microsystems, now that the European Commission has unconditionally approved Oracle to buy the company that once invented Java, the Solaris operating system and a couple of other great technologies. One will have to see what arises out of this, for it could be both for better or for worse for some of the product in the Sun portfolio.
At the moment, however, I don’t want to re-evaluate the various aspects of the Sun/Oracle merger again as this has been done extensively all over the ‘net before. I just, given the day, want to add two personal thoughts to that…
At first, and maybe foremost, of course, it feels kind of sad seeing Sun as an independent company (brand?) cease to exist. I merrily admit I have been a fan of Sun technologies ever since I first got in touch with some Sun-4 workstations in my early days at the university. Looking back, a couple of things started for me this way: I first got in touch with “the internet”, I learnt to enjoy the benefits of Unix operating systems (yes, I mean it), I learnt a lot of interesting and valuable things of which some by now still help me earning my day-to-day life. Some years later, this extended as I jumped head-first into Java and Java EE, which somehow keeps me driving to date both professionally and personally (saying that I earn my money using this kind of technology as well as that it feeds my personal interest for frameworks, software development, architecture and so forth). To me, from some point of view, Sun always were kind of akin to a “student company”, a company running very closely tied to research and development, to university life (maybe no surprise considering where the name “Sun” originated, as well as where Suns founders initially came from). On the other side, I always percieved Oracle as a “business”, an enterprise company, so maybe Sun being bought by Oracle feels kind of the “student approach” finally being embraced by the business. This can be good for both, of course, but of course there’s a moment of quiet melancholy about that. 😉
Another thing, however, maybe is less personal (yet still not a neutral point of view) but more technical: The very first thing to happen when Oracle announced the Sun acquisition was the statement that this transaction would enable Oracle to provide “application-to-disk” solutions, including the full range of technology (servers/storage on the “bare metal” front, the Solaris operating system on top of this, the Oracle database on top of this as well as the Oracle Application Server logic, …). Though this is thoroughly sane, I wonder why on earth Sun didn’t come up with something like this, themselves? I mean, after all, they had at hand all technology needed to really build an all-inclusive platform. Just imagine something like this:
- Sun servers and storage systems to be the “hardware foundation” of the backend, Sun workstations, on the opposite, forming the frontend / client hardware. And there always might be thin clients (Sun Ray?) for more lightweight clients, of course.
- All hosts run the Solaris operating system, of course.
- In the backend, there is mySQL (maybe clustered, as an enterprise setup) as well as a fully-blown Glassfish Enterprise Application Server stack (including OpenESB, OpenDS, …) as the application deployment and runtime platform. A headles OpenOffice / StarOffice installment serves as the toolkit for server-sided document and report generation and transformation.
- ZFS is used to serve large capacities of disk storage to the clients as well as recieving backups of client data using ZFS snapshots as all hosts run this kind of storage technology.
- For web users, the application server runs a portlet container exposing web client components to access the backend services. JavaFX clients might serve those who want more “rich client” feeling in this environment.
- The clients run a Java virtual machine and a NetBeans platform environment tailored especially towards taking application modules being “clients” connecting to the backend servers. OpenOffice, on the clients, is integrated as well as seamlessly working inside the NetBeans RCP applications and used for building templates deployed to the server-sided headless OpenOffice for automated / batch document generation.
- For development purposes, there are specialized workstations coming with a pre-built “small” copy of the large environment (mySQL, Glassfish, …) as well as a fully-blown NetBeans IDE specialized (and maybe extended?) to building client applications both on top of NetBeans RCP (for internal / desktop clients) and on top of portlet technology (for web clients). Connection to the backend might be done either using SOAP/REST or something like CORBA/RMI/EJB-Remoting, it wouldn’t really matter – developers could do “rapid distributed application development” in a well-integrated, homogenous environment. The included OpenOffice link would allow for also integrating the full range of office functionality and automation. There also could be a VirtualBox environment for various testing purposes, as well as (of course) powerful and transparent mechanisms of deploying application components in different versions to the whole network.
Oh well… Seems an interesting vision… in reality, and this is what sometimes makes me sad about this, it seemed that Sun, over quite a bunch of years, just “extended” their portfolio of technology without actually embracing, without really embedding the various products and projects, without making a “working whole” out of it. Plus, it seems Sun marketing for one projects sometimes used to shot the foot of marketing done for other projects, especially related to the Solaris operating system: Java applications looked pretty “good” on most platforms rather quickly (especially of course Windows, followed by GNU/Linux with the advent of the GTK Look And Feel). The platform Java / Swing applications used to look clumsy and ugly for the longest period of time, unfortunately, happens to be Solaris (which, same as Java, is a Sun technology). Same goes for JavaFX: While Sun / OpenSolaris evangelists do a rather good job at promoting OpenSolaris as the developer operating system of choice (which I hardly doubt it is, at the very least given dtrace), others promote JavaFX as “the” kind of the shiny, all new technology for building rich client applications for the web. Following this route, you don’t really have to ask which operating system was not supported out of the box with the initial JavaFX release. It’s things like that which surely make me hope that Oracle can do better here… and still preserve life, growth, development in all the communities and ecosystems that used to grow around many of the Sun technologies, that make most of them extremely valuable and useful. So… good luck to all, both the Sun employees (who seem to be in for some fundamental change right now) and to the Oracle people (who are facing the challenge of building a working “whole” out of the two companies and technology stacks).