Saturday, January 31, 2009

Morfik applications as front-ends for business process orchestration

Recently, during a meeting with several other people who work with Oracle business process orchestration tools such as BPEL, BPM and OSB, we discussed how you still need to write a customer facing application that interfaces with all the nice stuff you've put together in your service bus. Oracle's BPEL solution for example, makes it very easy to orchestrate a process through a series of Web Service calls, but has not provision for interfacing witth humans. Oracle BPM, on the other hand, does have the provision for creating human interfaces, but not the sort of interfaces you would like to expose to your customers.

This conversation got me to thinking that Morfik AppsBuilder with its facility for easily importing web services can be an ideal tool for creating such customer facing interfaces for business processes which are designed with these tools. It is quite easy to import web services in Morfik and it is, also, quite easy to use them. Morfik even provides a transparent proxy facility through the server side of your application allowing you to call web services from other sources than your own domain, should you desire to do so.

I did a short demo of Morfik, on my EEE PC, for two of the people in the meeting and even though it was running in the extreme conditions of such a tiny computer, both were quite impressed with the potential they saw in the tool. We separated that day right before lunch and when I got to the office after lunch there was already an email from one of these fellows to remind me to send him links and information about the product.

In hind site, it should have been obvious to me that Morfik would have been a great tool for just such a purpose. While developing what came to be Morfik AppsBuilder 2.0, Morfik played a bit around with the idea of orchestrating web methods on the server side in a fashion very similar to that used by Oracle BPEL or BPM to do so. This was eventually put aside as a feature for a future version, but the idea certainly had merrit and seems to be a great fit for the simplicity of web interface building in Morfik tools.

Web-based desktop applications

Recently I was contacted by a friend, who has always been a web developer, about writing a small custom desktop application. He wanted to know if I could help a friend of his that needed a small application for calculating customer bonuses for a referral program.

I asked him why he did not do it himself and he told me that the person wanted a desktop application, not a web application. He went on to tell me that he had considered the possibility of writing the application using Java but it would take him too much time to learn to do a desktop application with Java. This got me thinking because this fellow has been a Java developer for at least six years (which is to say as long as I've known him) but probably longer. I've had long discussions about this subject, with lots of people that, in one way or another, are involved with Morfik and it seems to be a consensus that it is much easier for experienced developers of desktop applications to learn to code web applications, than the other way around.

As web development diverged from traditional software development the people entering the web development camp without having done traditional development have less and less notion of how an application that is build from scratch works. Most of these people have been creatin classes that get loaded by an application server or scripts that are embedded in HTML code for all their professional lives.

When considering this case it occurred to me that Morfik AppsBuilder makes the creation of a Web-based destkop application very easy. Actually, everytime you run your Morfik application from within the IDE or debug it, you are essentially running a native windows application that happens to work as a web server.

If you compile a Morfik Web Application project as standalone you get a native windows executable that will invoke the computer's default browser when executed. This means that you can just drop a link to a Morfik application on your desktop, for example, and double click it to startup the browser accessing its start page.

This characteristic can be combined with an interface such as Mozilla's Prism project, which lets you give a browser application its own window, which will allow your web application to behave even more like a desktop application.

While Morfik AppsBuilder clearly was not meant to be a desktop application development tool, it can do a pretty good job at creating an application that will run quite efectively and look very good while doing so.

Saturday, January 17, 2009

Running Morfik Fx on a NetBook

Some months ago I got an Asus EEE PC 1000 HD netbook.  I got it so that I could always have a notebook on hand for writing. I have been writing books for 13 years now but I am having more and more difficulty to concentrate on what I am writing as my 6 year old son does the possible and impossible to ensure that I can't get any work done. :-) 

The netbook concept of a second computer seemed perfect for me and having used a 7 inch EEE PC for a week before I knew that the computer was powerful enough for what I wanted. It had a  keyboard that was way too small to do serious writing. I decided on an Asus model with a 10 inch screen which had a correspondingly larger keyboard.

Right after I started using the netbook to write my latest Morfik book, I started to miss having the Morfik IDE available to check on things as I was writing.  That was a problem however, as the little computer came with Linux.  I thought about if for a while and wondered if it would be worth the trouble of switching from Linux to Windows just to run Morfik as didn't really expect the Morfik IDE to perform well on such limited hardware.  

I guess I was a bit biased in my thinking as I have a pretty fair notion of how many things the Morfik compiler and IDE do at the same time by running a considerable number of threads.  In the end I was extremely pleased to discover that Morfik Fx 2.0 runs just fine on the little computer.  Since the CPU is a 900MHz Celeron, it takes a bit longer to do a full build of a project, even a small one, but the incremental compiling runs that you normally do when making and testing small changes are quite okay.

I would not recommend that anyone try to design an application's interface in a tiny netbook screen, but even that works okay.  I have a problem with the Styles tab of the inspector panel not having a scrollbar, which is quite limiting in a 600 pixel high display.  This is, however, a bug as this panel is still not fully visible on the screen of my MacBook which has a regular 1200x800 display.  I hope this little issue gets fixed soon as it will make using the netbook more productive, but all in all the experience is already pretty decent.

Having the ability of running Morfik on netbooks seems particularly interesting for people who have to spend a lot of time on the road but only need to do small fixes or adjustments while traveling.  Just as with most computer tasks, it is great to be able to do it on such a small and light device, but you would not want to do it there full time.

If you have a netbook running Windows, I suggest you try it yourself.

 

Friday, January 16, 2009

Extending Morfik Watch

Over the past couple of weeks, I have been working on setting up and configuring a new area for Morfik Watch. Since I started this blog I wanted to be able to post some longer articles which I feel would not be a good fit for a blog post. This was the case with the seven page PDF document covering Helper Methods that was posted last December.

Though I prefered using a PDF for publishing that document, I still wasn't happy with it. I wanted these documents to be available online as part of the MorfikWatch.com website and continued looking for options on how to get it done in a way that was practical for me to use and good for the readers as well. I think I have found a service that offers the right balance and I have been setting it up and working on integrating it with this site with positive results.

Stay tuned as this new area should be live in the next few days and a longer article, similar to the one on Helper Methods will be released along with it.