Me
About
Gallery
Company
Girl


Projects
Ruby on Rails
Basecamp
Highrise
Backpack
Campfire
Ta-da List
Writeboard


More
Feed
Archives

October 28, 12:35

The recurring misguided desire for components

Neil Weber seems to think that the world of tomorrow will be one where we shop for finished components, sprinkle them with business-specific attributes, and off we go with a done system in no time at all. This future has had industry-wide fascination since the beginning of time. I believe it is a false hope.

At RubyConf '04, Brad Cox (co-designer of Objective-C) blamed the apparent stand-still of the software industry on the lack of a viable commercial platform for components. If only it was easy to resell your Bill of Materials class, we could design it once and for all and merely "reuse".

In all humbleness, I think this is yet another software mirage. Software is not like hardware, high-level components can't be reduced to interchangeable IC's. Software is a collection of design decisions and where that cut should be made, which decisions we should bother with and which we shouldn't, is ever fluctuating.

The components dream is in many ways similar to the aspirations of model-driven architecture. Programming is a soon to be lost art of craftmanship, move over for industrialization!

Only it never really works out that way, does it? 4GL's and CASE tools have had their rise and fall. The point is that when you already know what you're going to build, such as a Bills of Materials system, then it's likely that you can just buy a finished system and alter it slightly. It's obvious that once you drastically reduce the problem space, pre-made applications are more likely to be a Good Enough fit.

But to think that we can reduce the problem space for information systems in general, to make it fit our existing components, is where I spot the disconnect. When I think back on the systems I've done, I can't come up with many good candidates for classes I could have carried all the way through and merely configured.

At least not on the business level. Rails is a great example of how infrastructure, that which is below our domain models, can and should be standardized. But design decisions can not follow this road.

Of course, I'm merely replaying my version of what many of the great thinkers in software had done long ago. The solution is not to embody repeating business problems in components, but to look for patterns. Gather, synthesize, and describe the forces, challenges, and good solutions that other people have come up with.

This sums up my vision for Rails as well. The border at which new functionality is accepted or rejected lies at the brink of the business domain. I don't believe that user management, access control, discussion boards, or Bill of Materials classes make for good component candidates.

I fully recognize that this might very well just be a limitation of my intellect and that wiser men truly has found the holy grail of software. But just label me skeptical on this one.


Challenge by Scott on October 28, 14:14

Good topic, I wonder, in regards to the realm of Content Management (a common enough aspect of web development), what do people think about JSR 170 , where the goal is to design a spec for a standard content repository.

Note, this does not need to be limited to java only!

I'd be interested to hear some opinions!

-scott

Challenge by gabriele on October 28, 15:18

I'm more interested in jsr 168..

Anyway, I do think that component based development can work.
Just, the only place where I saw it working was VB :)

Challenge by Peter Marklund on October 28, 15:26

I think the decision about reuse must be made on a case by case basis. I'm not sure talking about it in general terms helps us much. We all know reuse is sometimes good and sometimes bad, the question is how do you determine which it is? This question can not have a simple or generic answer.

To get more specific, I think reuse of web applications (ala phpBB) makes a lot of sense if your resources are limited. There are quite a few websites out there that simply wouldn't not be able to have a discussion forum if there wasn't for open source software like phpBB. This doesn't mean that a custom written forum couldn't be better, only that it would be prohibitively expensive. I recently set up a calendar website and resused a PHP calendar app. Without such reuse the site would have never happened. There is simply too much UI and calendar logic there for me to implement in a short amount of time.

Challenge by David Heinemeier Hansson on October 28, 15:30

I tend to differentiate between the use of an application, such as phpBB, and the use of components that you put together like lego to build something like phpBB. So basically, I don't think it would be all that valuable to have phpBB's model as something where I could borrow just the concept of User or Post.

There's tremendous value in applications of course. Building everything from the ground up is naturally silly.

Challenge by Morten Krog on October 28, 17:51

Manouvering the commercial component jugle is seriously difficult and you often end up with components that doesn't quite do the stuff you want and you have no way of fixing what is wrong, The worst example I've experienced was a component from nsoftware to do ssl communication. The component seemed to have a problem with living without a windows message pump and generally was not multithread safe.

After 4 weeks spend in work-around-missery we switched to OpenSSL and finished that part of the project in about 3 days.

Components are good for the industry, but having someone charge for every single building block you need is plainly insane. I seriously believe that the two only models that works are the open source/free-as-in-beer and the single providor (aka Microsoft).

Challenge by Jamis Buck on October 28, 19:02

I think you're right, to a point. However, even Rails supports the idea of components. After all, what are the helper methods, but reusable bits of software that developers may "sprinkle" into their applications? To me, whether you implement them as a single method in a helper, or as an object that encapsulates that functionality, the result is the same: a component that may be reused in many different situations.

But as with anything, a concept can be abused. People can (and do) create components where it makes no sense, and where it actually injures their applications.

Challenge by Neil Weber on October 29, 23:18

David,

I wasn't talking about components. I'm not sure why you thought I was. I was talking about full-featured application frameworks as opposed to minimal MVC frameworks. You injected a lot more into my blog entry than I put into it myself.

See http://jroller.com/page/nweber/20041029#more_on_high_level_application

Neil

Challenge by John-Mason P. Shackelford on November 01, 19:55

It's all about the architecture. A well-architected component-oriented solution is a powerful force for change--but like anything, many fall short, many fail.

Consider Eclipse for example. Eclipse is nothing else if not a component system. The actual kernel is tiny, everything is a component--a plug-in. The net result: hundreds of Eclipse-based applications which can interoperate in very useful ways.

Does it take an extradordinary amount of insight to deliver a component oriented architecture on which a community can build? Of course. Does it mean that it can't or won't be done? Of course not.

Challenge by John-Mason P. Shackelford on November 01, 20:02

BTW Scott, I have never read nor coded against JCR-170 and cannot comment on its merits (or lack thereof), but I have been very happy with the open source Magnolia CMS 1.1 which is built on the spec. Magnolia 2.0 just shipped this weekend and may be worth a look if you interested in a successful product which uses the JCR. See http://magnolia.info.

Challenge by on April 01, 0:36

In your free time, check the pages dedicated to...

Challenge by alan on May 09, 21:36

Hello. I am new here. It is very interesting.
Free creampies pics Creampie vaginal cum shot Free thumbnails of creampie women Creampie internal, cumshots Amateur creampie pictures Free and creampie and panty and pics Creampie sex videos Cheat creampie stories Creampies pussy Grannies pussy creampies Porn movies creampie frei tgp Mature black babes nasty creampies cunt spreads Mature mature plump fat hardcore pics creampie nasty fetish Free cunt creampie Hairy internal creampie pussy Gallery pictures creampie Hairy internal creampie pussy Pussy creampie avi Creampies pussy Eating anal creampies Free creampies pics Sex creampies Internal cum shot creampie video Eating anal creampies Brittanys interracial creampie videos Free creampies pics Anal creampie mpegs Amateur creampie pictures Porn movies creampie frei tgp Creampie stories Eating anal creampies Galleries free creampie movies Free and creampie and panty and pics Creampie vaginal cum shot Eating anal creampies Hairy internal creampie pussy Mature mature plump fat hardcore pics creampie nasty fetish Gallery pictures creampie Internal cum shot creampie video Amateur creampie pictures Creampie video free Mature black babes nasty creampies cunt spreads Eating anal creampies Gallery pictures creampie Pussy creampie avi Creampie pics free Sex advice creampie Hairy internal creampie pussy Creampie pussy cunt Internal cum shot creampie video Amateur creampie pictures Amateur creampie pictures Free and creampie and panty and pics Sex creampies Grannies pussy creampies Creampie sex videos Pussy creampie avi Porn movies creampie frei tgp Free and creampie and panty and pics Creampie pics free Creampie pussy cunt Creampie pics free Free cunt creampie Cheat creampie stories Gallery creampie pics Creampie vaginal cum shot Unsuspecting teen creampies Grannies pussy creampies Porn movies creampie frei tgp Free and creampie and panty and pics

Challenge by jon on June 04, 12:24

Sorry for my links
mature anal mature bitches mature spunker mature nud3 pics classic mature free naked older women mature nud3 pics mature video mature spunker mature women stories free thumbnail pictures of older women classic mature lyrics to older country songs older moms mature gallerys nud3 senior women mature spunker mature women stories mature nud3 pics mature gallerys lyrics to older country songs older s3xy women mature gallerys mature anal mature living free naked older women mature gallerys mature women stories mature video mature nudists photos mature bitches mature bitches mature nud3 pics mature women stories mature ladies in lingerie mature amature mature women stories classic mature nud3 senior women older women and younger men

Challenge by alex on June 05, 5:33

Sorry for my links
boys in pantyhose boys in pantyhose nylon galleries pantyhose crossed legs pantyhose chat free pantyhose thumbs free panty thumbnail gallery men pantyhose girls in body stockings men who wear pantyhose pantyhose and nylon feet and toes men pantyhose men who wear pantyhose russian pantyhose women men pantyhose nylon galleries nylon galleries russian pantyhose women cum on panties russian pantyhose women pantyhose crossed legs cum on panties girls in fishnet stockings nylon galleries girl panty pics feet in nylon pantyhose crossed legs nylon galleries russian pantyhose women nylon stocking galleries girl panty pics free pantyhose thumbs men who wear pantyhose boys in pantyhose free panty thumbnail gallery girls in fishnet stockings boys in pantyhose nylon galleries mature pantyhose pictures free pantyhose thumbs

Challenge by nata on June 05, 17:21

Hi. This is my links.
free mature p0Rn old naked women mature 1esbians free mature s3x mature nud3 women old naked women mature men galleries mature women t9p mature women in stockings free mature s3x free mature s3x mature wives older men younger women free older women free older women dating mature women free older women mature women t9p free mature mature amateur mature nud3 women mature amateur old naked women mature women nud3 mature 1esbians free mature p0Rn mature wives older women younger men older thumbs mature nud3 women free mature s3x mature women t9p free mature s3x mature asian free mature free mature p0Rn mature asian free mature mature women nud3 older men younger women

Challenge by mara on June 06, 11:31

Sorry for my links
mature nudists mature big tits mature nudists older black women thumbs gallery older women mature women over 40 mature asian women mature mistress mature big tits mature hardcore links free older women galleries thumbs gallery older women naked old women thumbs free older women galleries mature nudists young girls older men how to meet older women older 1esbians mature hardcore links how to meet older women mature glamour mature pantyhose pictures mature pantyhose pictures older black women black older ladies mature mistress older women stories mature women over 40 thumbs gallery older women older women stories mature pic gallery black older ladies thumbs gallery older women mature women over 40 mature nudists mature pic gallery mature nudists older 1esbians black older ladies mature index

Challenge by irgy on June 08, 0:11

Sorry for my links
men's pantyhose panty thumbnails panty post hooters girls in pantyhose mature ladies in pantyhose mature pantyhose pics pantyhose images mature ladies in pantyhose panty thumbnails office girls in nylons celebrities in pantyhose girls in nylons mature pantyhose pics panty thumbnails panty post celebrities in pantyhose hooters girls in pantyhose satin panty galleries hooters girls in pantyhose panty fetish mature pantyhose pics girls in nylons white pantyhose wet pantyhose panty thumbnails celebrities in pantyhose celebrities in pantyhose panty thumbnails white pantyhose winnie-cooper pantyhose panty fetish mature ladies in pantyhose office girls in nylons white pantyhose men caught wearing pantyhose girls in nylons panty post white pantyhose satin panty galleries free wet panty

Challenge by angel on June 08, 4:26

Hello. I am new here. It is very interesting.
pantyhose pic gallery panty girls free panty galleries free panty galleries mature women in nylons teens in pantyhose men in panty pics teens in pantyhose bra and panty pics little school girls panties free pantyhose sites panty girls men in panty pics panty girls teen panty pictures mature women in nylons free panty galleries wolford pantyhose mature women in nylons teens in pantyhose mature women in nylons teen panty pictures free panty galleries pantyhose foot gallery pantyhose fetish wolford pantyhose little school girls panties teens in pantyhose mature women in nylons little school girls panties teen panty pictures men in panty pics pantyhose pic gallery silkies pantyhose pantyhose pic gallery pantyhose fetish free pantyhose sites panty girls teen panty pictures little school girls panties

Challenge by backgammon on June 09, 17:42

http://neptune-tech.com
http://backgammon.neptune-tech.com backgammon
http://backgammon-rules.neptune-tech.com backgammon rules
http://free-backgammon.neptune-tech.com free backgammon
http://motif-backgammon.neptune-tech.com motif backgammon
http://backgammon-online.neptune-tech.com backgammon online
http://play-backgammon.neptune-tech.com play backgammon
http://backgammon-download.neptune-tech.com backgammon download
http://backgammon-sets.neptune-tech.com backgammon sets
http://backgammon-game.neptune-tech.com backgammon game
http://how-to-play-backgammon.neptune-tech.com how to play backgammon
http://backgammon-board.neptune-tech.com backgammon board
http://backgammon-free.neptune-tech.com backgammon free
http://online-backgammon.neptune-tech.com online backgammon

Challenge by poker rules on June 20, 23:13

In your free time, take a look at some helpful info in the field of poker rules poker rules http://poker-rules.zindagi.us/ .

Challenge by internet casino on June 22, 5:54

You may find it interesting to check some helpful info on internet casino internet casino http://www.scottishtutors.com/internet-casino.html - Tons of interesdting stuff!!!