Stop Kicking The Enterprise

Posted by Jacob Harris Fri, 06 Jan 2006 21:13:00 GMT

I have to agree with Obie Fernandez when he complains in his posting Enterprise Is Not An Insult about some of the recent derision directed at the Enterprise lately from the avant garde in the Ruby On Rails community lately. The problem is most of the mockery comes over a misunderstanding that “enterprise” means “insanely large”, which Obie points out is completely different from any definition used by people who actually work in enterprise software:

Plenty of us say “enterprise” when referring to internal-facing systems written by corporate IT departments and it doesn’t carry a stigma for being too large or too small, too simple or too complex. Enterprise projects might be large, take years, straddle business units and have global effects or they might be small, departmental efforts with only a handful of end users. So many factors influence the success of enterprise software in a given organization, only few of which have anything to do with technology.

Yes, there are large products that call themselves “enterprise-class software”, but that doesn’t mean that all enterprise software has to be big, slow, and hard to develop. But unfortunately, mocking the state of enterprise software has become an oft repeated dumb joke lately. This is like when a comedian throws out a laugh line – like slamming Microsoft or calling France “surrender monkeys” – to get a quick laugh; it’s funny at first but soon loses its novelty.

Giving a definition of my own, “enterprise software” means “business software.” All businesses want to increase their profits, and they do that by reducing inefficiency (ie, “we can track all of our operations within Excel”) or expanding into new niches (ie, opening overseas offices or offereing new business). Enterprise or B2B software – whether shrink-wrapped or custom – is what helps them get there. The best enterprise software becomes as essential as the CEO or infrastructure to a company’s success. And smart companies look to develop such software as quickly as possible, both to increase their profits quicker and gain advantage over their competitors. Yes, there is slow and clunky enterprise software, but there is also lightweight and rapidly developed enterprise software too. Speaking from personal experience, at Alacra, we work with a lot of vendors both large and small, and I can assure you that agility and profitability are far more important than slavish adherence to some awkward and enormous toolkit. Consider that the agile methodologies of Extreme Programming and Scrum were first heavily used in such large enterprise environments as Chrysler and Honeywell respectively. And I would argue that the success of such radically-new-at-the-time technology like the Web, XML, or Java was entirely due to the B2B community recognizing their value early and embracing them fully.

Which is why I think the jokes have to stop; does Rails want to continue to present itself as a niche tool for small B2C development or does it want to be a B2B player? Why have we gone from Rails does too scale! to Uptime is overrated? Yeah, 99.9999% uptime is overkill for almost all software, but if you’re going to sell to business you shouldn’t mock people if they want 99% uptime. They’re not whinging; they want to make your product an essential tool for their business. And so I think Rails needs to embrace enterprise needs. I think David is right to resist such code additions to the core, but I think it has a place in third-party contributed plugins and code snippets. To be an enterprise player, people will want to plug Rails into working legacy database schemas, handling composite keys, potentially even interfacing with back-end service-oriented architectures; maybe even hacking lightweight support for such horrors as SOAP or CORBA. And I think such work is what Rails needs to really succeed. Maybe you think it’s selling out, but I’d rather see Ruby in the enterprise than C#. There is a middle ground between obscurity and (code) obesity; let’s not mock people for trying to find it.

Posted in ,  | Tags , , ,  | no comments

RSS Comes to the Enterprise

Posted by Jacob Harris Fri, 23 Sep 2005 10:03:00 GMT

As you may have guessed from this site, I am hardly a person you would expect to praise Microsoft for their technical insight and forward thinking. Like the story about generals, they always seem to be fighting the last war, with their late arrival to the Internet and Web being a current and recurring example (now, rather than Netscape, it’s Google that is seen as their greatest threat). However, occasionally they get a thing right along the way, and I feel honor-bound to note it in this case.

Over at The Register, there is an article RSS Goes To Work In Windows detailing the ways in which Microsoft has jumped onto the RSS bandwagon with Windows Vista (shipping next year, maybe?). For those of you following along at home, Microsoft is planning to ship a built in RSS-store capability in Windows which will allow any application compiled against the appropriate API to be an RSS aggregator and manipulate feeds programmatically. This is a nice touch, but hardly a stretch yet.

What is interesting to me is that Microsoft discusses their plans to have the next release of their Dynamics CRM software to create RSS feeds that can be syndicated to. Other server applications with RSS extensions in the works are Sharepoint Portal, Exchange, and possible Office. As the article quotes it

“CRM is one of the first examples of how we see RSS unlocking data in the back end data systems,” Amar Gandhi, Microsoft Internet Explorer group program manager, told The Register during a recent interview. Microsoft revealed plans to RSS-enable its CRM last week at the Professional Developers’ Conference (PDC)

Chris Caposella, vice president for Microsoft’s information worker product management group, told software developers attending PDC Microsoft believes RSS would be transformed into a platform that embraces business applications.

That last paragraph was something I’d never see. Because honestly, I never thought people would “accept” RSS in the Enterprise. While we can joke about how meaningless the term Enterprise Software is, RSS is definitely not it by any usual sense of the term for several reasons:

  1. RSS in general has no typing or generalized schema. It’s really a schema for news stories that can be generalized for events, but it’s not for serialization of complex typed objects like SOAP.
  2. The RSS model is extremely simple. Pull requests over HTTP. No pushing, no notification mechanism for new content.
  3. In itself, RSS has no security for content (I know, Atom has support for encrypted content), and access security is generally only done through obscurity (giving an individual user a feed with a long unique token in it, maybe unguessable, but not unsniffable)
  4. Finally, RSS is not really controlled. There are no authorization lists, no ACLs or DRM or other such mechanisms to control who can subscribe and where they can do it.

That said, I think all of these aspects are why RSS has succeeded so widely in the world of the Web2.0, while SOAP has largely failed to gain traction. In fact, considering that one of SOAP’s biggest backers is Microsoft, this RSS announcement reveals what a disappointment SOAP has been as a web service platform. So, why is a company like Microsoft so willing to reject one of its software initiatives and embrace RSS so, in effect giving RSS an mantle of legitimacy in the Enterprise it might’ve taken years to achieve?

I think that if we want to consider the biggest Web2.0 trend for the coming year, it won’t be the proliferation of AJAX or increasing maturity of Web Frameworks. It’ll be the proliferation of RSS into every aspect of server-side content. One of the greatest things about Flickr and Del.icio.us is that you can subscribe to an RSS feed for every possible page. And since pages are dynamic content (combinations of photos, groups, tags, users), what you are really subscribing to is not a list of documents, but the latest matches for a search (ie, “find me all photos tagged Italy by this user”). And it’s easy to do, regardless of the site.

One of the cool features of Mac OSX Tiger’s Spotlight (and probably Windows Vista) is the ability to save searches as virtual folders which can be opened and browsed like regular folders in the Finder. This is a really cool way to manage ever-growing content. Now, imagine being able to do similar functionality with server-side content, and suddenly the appeal of RSS makes a lot of sense (admittedly since RSS usually shows only the last 20 items or so, there is a you snooze, you lose problem, the general metaphor holds). Most of the Web2.0 is about taking the applications of the desktop into the browser, this brings the web back into the machine and applications.

No wonder Microsoft suddenly has the RSS Religion. Done well, this might be their best chance to keep people hooked into Windows and all their software products for business. Of course, they are trying to do the old embrace, extend, extinguish trick, but this time it may not fly because Microsoft’s not in the driver’s seat for the technology. That said, I must admit that Microsoft has made a smart and proactive move for the future here, and I think it’ll benefit them well. But more importantly, it lends a large amount of authority to RSS in the Enterprise, which makes RSS and the Open Source Standards-Based community the biggest winner of all. At Alacra, we’ve felt that RSS will be much bigger in the Enterprise for a while. It’s neat to see we’re not alone.

Posted in  | Tags , , , ,  | no comments