Monday, December 06, 2004

Software Factories

I have been reading a bit about software factories, and also recently attended a presentation by Jack Greenfield (author of Software Factories: Assembling Applications with Patterns, Models, and Tools). Many interesting ideas.

The first thing to keep in mind, is that there is a war going on. The combatants are familiar: Microsoft and a few friends on one side, eveybody else on the other. As somebody once said, "the first casualty of war is truth".

One of the main principles of the software factory idea from Microsoft is that of "Domain Specific Languages". Fankly I am having trouble accepting the idea as useful for large scale developments in large development shops. I can see how it might work well with a team of A-Team programmers. But when dealing with 9-5 programmers - those with lives away from programming, I think having a dozen DSLs within the organization will be too much to handle. These DSLs will be on top of the general programming languages we already have. At least for the next 10 years. The average Joe doesn't want to learn that much.

On the other hand, I can see the counter argument. As Grady Booch points out, " In many cases, the semantics of the UML are pretty close to what you need" (December 3, 2004), UML is not exactly what you need - just close. There is often an impendance mismatch - which means you lose power, perhaps introducing distortion. The DSL approach says create exatcly what you need and use that - the mismatch is avoided.

The difficulty I have with that is that it may just be moving the problem. Now the programmer has to deal with a dozen different interfaces (DSLs). Is the programmer more likely to make a mistake in the coding? Would there be 'Whoops - that would have been the way to code it using DSL#34, but in DSL#93 it is done this way, becuase of what we learned when we used to use DSL#67. "

Grady also said, "we do disagree with Microsoft's rejection of the UML in favor of proprietary domain-specific languages". At first is wondered from where he pulled the word "proprietary". That word to me usually implies 'closed', 'owned', 'not generally available'. I thought these DSLs could be open, public, generally available. But then when I consider the number of them that could exist, I realized that proprietary is not so wrong.

Enough for now. This Software Factories versus MDD (or MDA) battle will be ongoing for years. I don't either will win, but both will declare victory.

Wednesday, September 22, 2004

Java over-engineered?

I don't know the name of the author of this post, but he (or she) has some interesting observations. About two-thirds of the way down the post he has a list of things that are bad about J2EE - in comparison to .NET.
What I think is most interesting is that I think he is comparing typical solutions built on those technologies rather than J2EE and .NET. Ya I know - semantics.
Anyhow, he goes on to blame this on "cross-platform compromises" and "textbook OOP".

Hmmm.

In the many commercial grade J2EE code bases that I am familiar with (high volume web banking and brokerage web sites), I can't say that we have made many cross-platform compromises - very few in fact. But when we do, we usually encapsulate the dependency, and put a factory in front of it. This add layers and makes the code more opaque. That is certainly true. But, as I said, we don't do that very often. Would stored procedures made the code simpler? I don't think that would be true either. In our case, it would add another layer!

What about textbook OOP? Is that a bad thing? Must be. I am wondering if what is observed is a tendency to make things overly abstract, overly decoupled - perhaps even overly reusable? The motivation is good - planning for change. It is often done with a view to save money in the future, without looking at the ROI. I think that too often we spend two dollars today to save a dollar next year.

.NET does not have any redeeming features that will save it from the same fate - (except maybe an army of VB6 programmers who haven't seen an OOP textbook!). Given time it will build it's own empires. Perhaps with the help of Microsoft! Chris Anderson and Miguel de Icaza exchanged some volleys about the complexity of Avalon see here and here.

Wednesday, September 01, 2004

PHP versus Java

Here is an intersting tidbit burried in a post about Friendster's switch from Java to PHP. As usual the debate tends to feed on how you build the application rather than the fundamentals of the underlying technologies.

Of particular interest was this quote. in the journal "ACM SIGMETRICS Performance Evaluation Review, Volume 31 Issue 3" there was an article called "A performance comparison of dynamic Web technologies" where Perl, Java server technolgy (also tomcat) and Perl was benchmarked in a labratory environment. It was concluded that Serverside Java outpreformed PHP and Perl by a factor 8. The abstract also states, In general, our results show that Java server technologies typically outperform both Perl and PHP for dynamic content generation, though performance under overload conditions can be erratic for some implementations.

Monday, August 30, 2004

Gartner says WSDL is a critical standard

A recent Gartner Research Report, entitled 'Consider WSDL a Critical Standard'. Reinforced their opinion that WSDL and web services are a fundamental component to successful SOA. Their bottom line is use WSDL or find your self alone in an obscure corner of the industry.

More on Rich Clients...

The IBM workplace technology seems to be gaining some traction. Stephen O'grady has written up an analysis of what some other vendors are proposing to do on top of it.


Actuate's plans are intersting for two reasons: 1)it is an open source business intelligence project, 2) it is built on Eclipse.

Tuesday, July 13, 2004

Rich Client Wars

Much is being written today about the future of the Rich Client application versus the browser applicaiton. One side says you can't get a good user experience out of a browser application, and you can't get sub-second response time from it either.

There are those at the other extreme as well. The say there is nothing the browser can't do and notuing it shouldn't do.

I suggest that truth lies in the middle. I also think that the middle will shift over time - towards the browser side.

This posting at looselycoupled, by Phil Wainewright, talks about how the Yahoo purchase of Oddpost is an indicator of things to come - delivery of rich user interfaces within the browser. His main point is that Microsoft's Avalon is the wrong direction for the company to be taking.

He may be right. Time will tell. I think Microsoft has surely thought about that. I think they are hedging their bets - make the borwser irrelevant. Where you really wnat to work is in Microsoft Office (with a healthy serving of Sharepoint Portal Server and BizTalk server to help it out). Take a look at their Office Information Bridge. If Microsoft could get us to live in a purely MS-Office world, then the browser becomes irrelevant, as does Google, Yahoo, IBM, Sun, Java and Linux. Apple would still be around - after all it does run Office, and the Microsoft marketing department needs Macs to publish their material (look at the document properties for their PDFs - you'll often see something like "Mac OS X 10.3.4 Quartz PDFContext")!

Friday, July 09, 2004

Microsoft Project Competitor Released under Open Source License

A company called Niku previously sold a product called workbench that was a serious competitor to Microsoft's Project. How serious? It sold for $10,000 a seat according to this InformationWeek report.

Despite the price tag, it was not a major revenue contributor, so Niku decided to release most of the code to the community under a Mozilla license. The product contains a few licensed components from others that cannot be released, as well, they will not release the source for their scheduling algorithm - which they may patent. They will distribute the binary for that piece. You can find out more at the web site.

Steve Ballmer commented in his corporate email that "Microsoft needs to do a better job of convincing customers that the latest versions of its products are worth having" (clipped from cnet). OpenWorkbench for free, or Microsoft Project for US$600 - Microsoft has its work cut out for it!

Wednesday, June 30, 2004

Interesting Items From Apple's World Wide Developer Conference

I don't own a Mac. Somedays I wish I did. This week more than most. I would like to win the lottery too!

So what is so attractive this week. Well, first off there is the dual processor 2.5Ghz G5. It's not new. But it is what goes with it that is interesting. Like the 30 inch Cinema displays! Gorgeous. A pair of those would be ever so sweet.

What else? Spotlight. This is Apple's search technology that will be part of the Tiger release of OsX. Think of it as Google for your desktop. The demonstration at the conference was very impressive. Speed was excellent. But I think effectiveness it the more important aspect. With spotlight you can save a search query and have it re-executed any time. Because of its speed, one should regret opening such a folder. I know that when I do a search on my windows machine, I plan on it taking some time.

Finally there is Rendevous. This might come in handy within our branch environment for application deployments with minimal configuration.

These are each very cool. Good work Apple.

Thursday, June 17, 2004

Loose Lips Sink Ships?

Bruce Schneier recently wrote about the keeping of secrets in the world of international espionage. He discussed the American supposed cracking of Iranian encryption, and made the point that keeping secret that you know other people secrets can be very valuable.

During World War II, the Japanese made huge balloon bombs that they release into the air to be carried to North America. The intent was to start fires and kill people. It was of some success. However, 'In May 1947, the New York Times wrote "Japan was kept in the dark about the fate of the fantastic balloon bombs because North Americans proved during the war that they could keep their mouths shut. To their silence is credited the failure of the enemy's campaign."'

Somebody once said about music that the anybody can play the notes, but the rests make the music. Perhaps something similar can be said about security and silence.

Tuesday, June 08, 2004

Smart Dust, Even Smarter Vacuums?

In case you haven't read about it, there is a technology called Smart Dust - glitter sized network computing devices that can do all sorts of cool and scary things.

So what happens after we produce billions of Smart Dust devices and spread them pervasively (invasively) throughout our world?

Perhaps this could spawn add-on features for our Robot vacuum cleaners?

Not only could your smart vacuum cleaner take care of regular dust, it could seek out smart dust as well? And then what?

Do we need virus scanners for our smart dust? Can we run Norton anti-virus on our Roombas in order to separate 'good' smart dust from 'bad'? Maybe we will need a Smart Dust recycling program?

Wednesday, June 02, 2004

A New BEA Emerges From The Beehive

A few days ago i suggested that BeeHive was an important development to track. The META Group has published a report that is in agreement.

You need to be a customer to access the article. http://www.metagroup.com/us/displayArticle.do?oid=48577

Tuesday, June 01, 2004

California Passes Anti-Gmail Bill - Is this good

I hate banner ads. Why? Mainly since they are such a waste of screen real estate. They are irrelevant. I click on a banner ad very rarely (yearly?), and when I do, it is usually from a web site meant for a targeted community, therefore the ads are most relevant.

I have been using GMail for a month now. The text ads that Google has been placing on the right hand side have been very relevant. I find myself actaully reading the ads, and clicking thru many times a week. Are they invading my privacy? I don't think so - since I agreed to it.

If there must be ads on the web sites I use, then I prefer it the GMail way.

Wednesday, May 26, 2004

BEA donates Beehive to Apache

In October 2003, Crossvale (a research firm) published a report entitled “A Study in Enterprise Development Productivity”, subtitle “Comparing Implementation Approaches with J2EE API coding vs. Using a J2EE Development Framework”.


This report has been widely circulated by BEA as evidence that WebLogic is better than Websphere. However, in reviewing the report I found that they were really comparing the benefits of using advanced tooling to generate code rather than coding major portions by hand.


My conclusion was that BEA's WLW (WebLogic Workshop) may offer some improvements in our project delivery time, it also required a significant change in our infrastructure, and more importantly would require us to abandon our vendor neutral position.


On May 19 of this year, BEA announced that portions of WLW will be released to the open source community via Apache. The first code releases would be available later this year. It is a little early to gage the importance of this development. But given good market acceptance, this may be an importance addition to our tool set.


References
The Crossvale report
BEA Beehive Press Release
ZDNet News article


Friday, April 30, 2004

First Impressions of Gmail

I have started using my new Google mail account. So far I like it. The interface is clean and simple. But the thing that impresses me the most is it's speed. It is very fast. Much faster than Yahoo, Faster than my corporate Notes client as well.
I like the label approach to filing things, rather than the folder concept.

Good work, Google.

Wednesday, March 31, 2004

Infopath and Sharepoint Portal Server

I have been experimenting with using Infopath and Microsoft SharePoint Portal Server. It has been fun, and I think it can be a very useful combination. The main problem with using it in our environment is that we have yet to deploy Office 2003 Professional throughout our organization. I am working on that.

Simple form design is very straightforward. Drag-n-drop form controls - very easy. When you want to publish the form to the SPS server, that too is very easy. It creates a portal page for the form with a simple click to fill out a form interface. The portal page can show any field values from the saved forms.

One aspect that I still need to work on to get it working the way I would like is the merging of multiple forms in order to aggregate the data into a single view.

Another area that I need to work on more is scripting.

I still exist

I haven't made any postings in a long time. Things just got too busy and to add to that, I am not sure anybody is reading this. All of my known readers were internal and got the things I needed to say directly.