Tuesday 28 April 2009

Log Me In Suzy!

Since a few weeks I restarted using Logmein. I'm familiar with this tool since a few years, but since the lack of need I stopped using it.
But it is very handy for remote controlling (Windows) servers over WANs. Solutions like VNC require you to be on the same subnet of the server you want to control. Or you'll have to edit all the routers in between to have the traffic routed correctly.

With Logmein you add computers to your inventory. Doing that will install a set of services on your host that will connect independently to the Logmein servers. Then you'll able to logon to your Logmein-account and navigate to the particular computer you want to control. And then you can click on Remote control, what will open a screen displaying (eventually) your desktop. So no matter where your server is, you can control it. We have some demo/training-pc's and they can be moved by colleagues or taken to a demo or training-event. And like others I have a father and a father-in-law that I support in their computing.

To remotely control pc's with your browser, Logmein has 4 techniques:
  • ActiveX
  • Mozilla (using a Firefox add-on)
  • HTML (sending over bitmaps)
  • Java
I use OpenSuse 11 x86_64. And ActiveX won't work on my machine. There is a Linux Firefox add-on in beta, but it requires a 32-bit Firefox. So also no option to me. HTML is very slow and Java did not work either. So until today I started a windows VM under VMware to use Logmein. But today I reviewed my java-installs on my machine. Just recently Sun released a 64-bit version of the Java 1.6 browser plugin. Before that you needed the OpenJDK browser plugin on 64-bit Linux. Apparently they're not completely compatible. That is, Logmein did not work with OpenJDK. Today I uninstalled OpenJDK. I had allready installed the Sun java plugin but the OpenJDK plugin was preferent. Now Firefox loads the Sun java plugin and with that one Logmein works!

So if you want to control remote windows servers on 64-bit OpenSuse (or another 64-bit Linux) try uninstalling OpenJDK and install the Sun 1.6 JDK or JRE.

Now we wait until Logmein also supports remotely controlling Linux servers...

Password expiry in Oracle DB 11g

I did not pay attention to it until today, but since Oracle 11g accounts have by default a limited valid period for password. By default password expire causing a password change upon logon. This is very inconvenient for databases running as a repository for applications like for example the SoaSuite.
I found after a little googling a solution answer for example here. The solution is by simply disabling the password expiration on the default profile:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

Wednesday 22 April 2009

The Oracle-Sun continuum

Today I got a mail from Charles Philips, President Oracle. Now I don't think I'm one of his favorite peers to ventilate information about his strategies. Probably many of you also got this mail.

In it he elaborated on the Sun Microsystems acquisition that I wrote about this monday. He sees Java and Solaris as the "Key software assets" in this aqcuisition. Besides of course the hardware. Since the whole Fusion Middleware Stack, and important parts of Oracle's Enterprise Software Portfolio, is build in Java, Oracle ensures the continue innovation and investment in Java technology. For the benefit of the customers and the Java community.

He also mentions that "The Sun Solaris operating system is the leading platform for the Oracle database. With the acquisition of Sun, Oracle can optimize the Oracle database for some of the unique, high-end features of Solaris. Oracle is as committed as ever to Linux and other open platforms, and will continue to support and enhance our strong industry partnerships." So, it seems that Solaris becomes the preferred platform again. With right after that Linux and other "open platforms". Will Oracle then stop supporting Windows? Or is Windows also considered to be "open"? I'm sorry, I'm really not that negative about Windows. I just like to make a little fun of it.

On www.oracle.com/sun you can read more about what Sun means to Oracle and their Customers and Partners. There you can find a pdf with a general presentation. In that it is stated that Oracle "Sustain Solaris as an industry standard OS for Oracle software".

I really hope that Oracle's acquisition is good for the future of Sun as a brand, that this works. It could bring interesting new features and functionality. It's fun to phylosofing about these things. And I wonder how it looks to see the Oracle logo in the installers of Java, besides the Sun and OpenOffice logo's.

Monday 20 April 2009

Oracle next to the Sun logo at my horizon

If I stick my head out of my window and hang out far enough without falling down, I might see one of the about 5 Sun buildings in my city. It's a 5 minutes walk to the nearest trainstation and just at the other side of the railway there is the Sun Campus in Amersfoort. There's also another location a little further away. Today I heard on the radio the announcement that Oracle is to buy Sun Microsystems, so in the near future I might see the Oracle logo on top of these buildings. If Oracle is not going to close them. I found the annoncement also here (in Dutch).

As often there are multiple perspectives on this story. I was actually a bit surprised at first. Although I understand the acquisition. The most obvious assets are:
  • Java, which is called by Larry Elision the most important softwareproduct Oracle ever bought.
  • Solaris, a Unix based operating system, that used to be the prefered platform. I believe that it was the platform on which Oracle first released their products. Now that position is taken by Linux. A nice asset after Oracle released about 2 years ago their Enterprise Linux based on RedHat's Open Source parts.
  • Suns servers, Oracle becomes a hardware vendor!
For Java there is another thing. Last year Oracle bought BEA Systems. And with that acquisition Oracle acquired also JRockit, another Java Virtual Machine implementation. With Sun, it has two major JVM-implementations. You can ask how open Java is when two of the main implementations is owned by a large Software Vendor. I'm not a doom-thinker and pestimistic in these things. But certainly this is a problem for many java-guru's and open source developers.

Shortly after I joined Oracle, now more than ten years ago, Larry Ellison announced the Raw Iron project. Oracle right on the hardware. So no OS in between (or at most a thin OS layer, but Oracle did not have an OS back then). When Oracle started with Oracle Enterprise Linux this vision started to become true a little. Last year on Oracle Open World, Oracle announced the Database Machine. Developed together with HP amongst others. Another step closer to the Raw Iron vision. But the idea has never been so close as now, when Oracle buys Sun. Oracle was always relying on others for hardware. Now Oracle is a competitor to HP, IBM and others.

Another thing that I found amusing is the following. About three and half years ago (oct. 2005), Oracle acquired the Finish company InnoBase/InnoDB. "Innobase Oy is the developer of InnoDB, the leading transactional storage engine for the MySQL open source database." It was in the time that SAP was looking at MySql. Oracle was besides a competitor also the leading database provider for SAP. And SAP one of the largest (if not the largest) reselller of the Oracle Database.
To me it seemed that InnoDB was of very little importance for Oracle. If I remember correctly the reason was that Oracle wanted to invest in Open Source solutions. But I felt it was a merely a stroke against SAP. With Sun Oracle also gets MySql. Thus the (I think) largest Database in Open Source solutions is then owned by the largest Database vendor of the world. I believe that is another problem for most open source developers.

A last thing I almost forgot is the StarOffice Suite. The suite that is open-sourced into OpenOffice. I wonder how long it takes before Oracle decides that the employees should not use MS Office anymore and removes it from the Oracle Base Image (the standard installation on Oracle laptops). With Oracle Microsoft will loose one of the largest Office customers...

Of course there is a lot more to say about it. But these are my first thougths about this remarkable acquisition in the IT world. I think it's even the most remarkable at the moment.

Introducing VMware 2.0

I think it is for about a year now that VMware launched the next release of their free Server product, release 2.0. Until now I stuck with the 1.0.x release. There were a few reasons for that. One of the main reasons was that the difference in footprint is 400MB! Where 1.0.x is a little over 100MB in size, for 2.0 it is around 500MB. And I find that quite a lot.
But also the interfacing is different. The new release does not have a console, but is completely browser based. It comes with a Tomcat based (if I'm not mistaken) UI.

Last week I had to install it on two 64-bit Windows Vista machines. And it turned out that the 1.0.x releases were not supported and did not function on these machines. I thought I read somewhere that there were also issues with VMware Server 2.0 on Vista x64. But it turns out that 2.0 is supported on those environments and so I just tried.

I found that installing VMware Server 2.0 on Windows Vista x64 is a piece of cake. And it runs fine. There are a few minor differences with 1.0.x. The main is that itn works with so-called datastores to get to the Virtual Machines. You can't browse on the servers filesystem directly. But you can add other datastores that point to a certain location on the hosts filesystem.

Today I installed VMware Server 2.0.1 also on my laptop with OpenSuse 11.0 x86_64. It went succesfully too. For Linux there is a seperate RPM for 64-bit hosts, like mine.
You can do a "rpm -Uhv VMware-Server...." to install without uninstalling the old vmware server. It does an uninstall of the old version during the install of new one.
On Linux you still have to run vmware-config.pl after that. At the end it asks for a management user. By default this is your root user, but you can give up another OS user.
On Windows it is apparently the user that also installed it.

After connecting to the Server UI, you can connect with the management user. The password is the same as the OS password of the user.

With the 1.0.x release of VMware I had problems with my wireless adapter. It did not support bridging the virtual ethernet-adapter. It could be solved by recompiling the VMware player 2.0 VMNet module into the 1.0.x server. This lead in some kernel compile errors that were solvable (see elsewere on this blog). But the VMNet module of VMware Server 2.0 does not have this problem. So wireless bridging works out of the box.

The Console opens after clicking on the console tab of a Virtual Machine. It opens in a new window that you can maximize to full-screen. For firefox it installs an add on on the first access. The console window has a bar on top side of the screen to access the most of the screen functions. I find that very handy. More convenient than the 1.0.x console in full screen.

I tried a youtube movie of Jean Michel Jarre (my favorite) and sound works fine too.

Again I'm impressed with this great Virtualization Tool.

Wednesday 8 April 2009

Darwin XML Tester Utilities on Sourceforge

A few weeks ago I requested a project on Sourceforge to host our XMLTester toolset. It was granted by the Sourceforge admin team, so I am now able to transform my toolset project to a real opensource project. You can find the project at darwinxmltester.sourceforge.net.
For the download I used my own deployed directories and zipped them. In the near future, when I get familiar with the sourceforge capabilities, I hope to create a more nice deployment with a nice description on the use. Also I'll include a seperate export of the sources. But for that I have to create a tag on which I also base the deployment. So that I ensure that the sources are in line with the deployement.
The toolset exist of:
  • Hierarchical XMLEditor, that is also available in a standalone app.
  • Plain XML Edit Panel
  • XPath edit/test Panel
  • XSLT edit/test Panel
The plans I have for the toolset are the following.

XMLEditor
  • Enhance the exception handling and perhaps logging
  • Add copy and paste capability to copy a child-node to another parent
  • Enhance the copy-node capability to include attributes and child nodes (now it just creates another node with the same name within the same parent).
  • Add insert new node within the child-table. Now you have to first click another sibbling node within the same parent, click copy-node and then click on the parent to edit the attributes.
  • Give the buttons nice icons instead of the text (text to tooltips).
XML-Panel
Basically this is a simple panel with a TextArea in a Scrollpane. The only smart thing it does that is that the scrollpane resizes with the main-frame.
The textarea should be replaced by a text-editor. Preferably one that supports keyword highlighting and that is expandable so that you can do neat tricks like keyword-completion etc. There are opensource plugable editors that do this. So I have to find out which one to use.

XPath Panel
Lately I found out how to use Namespaces in xpath queries in Java. I wrote about it in this blog. So the main thing I want to do here is that it finds the namespace declarations in the xml and put them in a pop-list as well as in a namespace-resolver. And of course a button that adds the choosen namespace to the xpath query. Also it should be aware of the existing nodes that are valid on the particular level. So that it adds them automatically.

XSLT Panel
Besides extending the Error handling like mentioned in the XML Editor to-do list I want to replace the TextAreas with TextEditors here as well.

Bulk XSLT
I already created a simple solution to do XSLT in batch. You can create a simle xml file that contains several rows of xml, xslt and output combinations that it will perform in sequence. I want to create a nice screen that enables you to edit and execute this batch-file.
Also I think of creating a database connection, because in some of my projects I used this to create objects based on xml-queries in the Oracle database. So if I have a table in which I have these XML files, I would be able to create this bulk file from that.

JDeveloper Plugin
Lately I downloaded a tutorial that shows how to create a JDeveloper plugin. Now I know that JDeveloper is perfectly capable of editing XMLFiles. It has much more functionality then I'll plan to include. The nice think of this toolset is that it is simple and small. It should not exceed much more than a few hundreds of kilobytes.
But the hierarchical XML Editor would be nice to have as a plugin. Also the bulk XSLT could be a nice JDev plugin.

Finally
I feel that I forgot something that I came up with lately. So ofcourse during time I'll find other nice functionality. If you have any ideas feel free to leave a comment. I keep you posted.
Of course there are much other tools that can do the same and often much more. JDeveloper I allready mentioned, is also free to use. Darwin-IT stands for knowledge sharing. Expanding the Oracle Consultant market with improved skilled people, through workshops, trainings, coaching on the job and for example this blog. I feel that this open source project is also a nice way of sharing knowledge. And an effective way to learn myself. And it gave me a productivity boost on some of my project.
I happily use the XMLEditor regularly to edit my xml file with Bookmark-links. I created a xslt that is referenced in this xml file and that transforms the XML to a html page with the bookmarks in poplists. The XML file is my Home-page in my browser. Maybe I'll package that also as an example project.

VMWare in the Cloud

For several years now I'm a grateful user of VMWare Server. I started with VMWare Workstation and moved to VMWare Server. As you can see on this blog, VMWare is an important tool for me and I advise VMWare quite often for several purposes to my customers.
Since Oracle has also a VM solution, just like many other vendors, you can tell that Virtualization is growing in importance.

The main difference between the Oracle solution and VMWare Server is that Oracle's solution is solely meant for running on the bare hardware. VMWare Server (fka. GSX Server) is installed just on a Host OS. That means that for my purposes, seperating my server and development installments from my office-related base functioning of my laptop and mobilizing of my server and development installments, the Oracle solution would not fit. Because when not running my VM's I need to be able to use my laptop for mailing, wordprocessing, listening music underway, etc. Besides VMWare Server, there is also VMWare ESX server, that like Oracle VM is to be installed on the bare hardware. So also VMWare ESX server runs with no Host OS underneath it.

Having VM's prevent that doing lots of trial-and-error-installation (which I'm into a lot these days and give me much frustrations) mess up my host OS. If something won't work I just throw a way the VM. If the installation in the VM does work I'm able to back it up by simply zipping the VM. If my laptop need an upgrade or reinstall of my host OS for whatever reason, simply reinstalling VMWare and the most necessary office tools (OpenOffice, FireFox and Thunderbird for example) put me back in business.

A few years ago, I created a presentation on the VMWare products for the Linux Professional Community of Oracle Netherlands which I used to participate. I browsed to the product pages of VMWare and put all the products I could find then with a brief description together in the presentation, with some comments of myself. I put it into a whitepaper that can be found here. It's all in Dutch, but you can find all the information yourself on vmware.com. The main conclusions I'll put below.

Since I do not have a datacenter and haven't done any VMWare training myself, I had to do it with the VMWare Sales talk. But although I was already impressed by the briljant pease of software that the VMWare VM solution is, the toolstack of VMWare impressed me even more. Basically what impressed me was that VMWare had thought of a complete Virtualization landscape with several tools working together to have an infrastructure running high available Virtual Machines. Several ESX Servers can share a clustered filesystem that provide several Virtual Machines. When a ESX Server running a VM goes down or has to be brought down for maintenance reasons, VMotion transfers the life! VM to another ESX Server that takes it over. The end-user hardly notices it, maybe only a short hick-up.

The only constraint I see at the moment, as I understand it, is that a VM can only be serviced by just one ESX Server. So in my whitepaper I stated that it wondered if VMWare in about 3 to 5 year period would be able to get ESX Servers work together servicing the same VM. Just like the Oracle Grid database: multiple instances running the same database. Imagine it: 4 quad core ESX servers running the same VM with for example Windows 2008 Server. If you start a remote desktop connection to it and introspect the system properties it would report 16 CPU's. Would Windows be able to have another CPU hot-plugged into it? Or what if you bring down one ESX Server, would the guest OS run further? I would find it awesome to build such a cluster and run for example OpenSuse or Oracle Enterprise Linux in it. Nowadays we have grid enabled applications (the Oracle database for example) or grid enabled Operating Systems (I have no examples, but I read about it in articles on Super Computing). But having a grid enabled virtualization product would enable you to have grid underneath an OS. The OS would not need particular enhancements, although it would be handy if it supports having extra resources (memory, cpu) tugged in or getting down when running.

I would say that Oracle has the base technology in house. Bringing together some of the development teams should enable this.

Today I got a mail from VMWare that they are coming up with a webinar or 'Simulcast' as they call it on their VCloud solution. I watched a demo-movie on the webside this morning. The solution is based on a load-balancer and monitor application. In this monitor application you can set SLA's. When an SLA is not met, for example response-times is going beyond 4 seconds (as in their demo) then a suspended VM is brought up automatically. The company can charged or be charged only for running VM's. Quite impressing.

To bad for me is that it is still based on seperately run VM's. Fortunately for Oracle. Because their Oracle Database Grid technology is still courant. Even more it complements with eachother. Think about it. You'll have several database instances in several VM's and you suspend just several that you don't need. Then if response times gets low, SLA's are not met, the suspended VM's come up transparently. I don't know if Oracle supports that scenario as well. I know that Oracle VM is able to transfer the running of VM's between instances, like VMWare's VMotion.

But it is a small step towards my vision stated above. And I watching out for that to come. In the meantime I play further with my own VM's. It would be nice if Oracle comes up with a virtualization solution that can run on my Host OS. I certainly would try that also. For now I stick with VMWare.