TECH TALK: Rethinking Enterprise Software: Software Components

Before the microprocessor spurred the creation of low-cost, mass-market computers, computing was available to only a few. Mainframes and Minicomputers were expensive, and in use by the big companies of the world. That was a world ruled by companies like IBM and Digital. The microprocessor from Intel was the innovation which changed this idyllic world. It served as the core around which a new set of computers could be built. The transformation to mass market came in the early 1980s with the launch of the IBM PC with Intels CPU and Microsofts Operating System. The IBM PC also worked as a reference design for other manufacturers to build their own IBM-compatible computers from off-the-shelf, standard, interchangeable components. IBMs PC architecture acted as the catalyst for the development of low-cost personal computers, and their adoption by hundreds of millions of users at work and home.

Think of the world of enterprise software today. It is in use at many of the larger companies in the world. The big players are companies like SAP, Oracle, PeopleSoft, Siebel, JD Edwards, with others like Microsoft in the mid-market through its acquisitions of Great Plains and Navision. The usage of enterprise software by the mass market of enterprises is almost non-existent. What is needed is the equivalent of the IBM PC for the enterprise market.

A Computer in its simplest form has a Central Processing Unit (CPU), Main Memory, a system bus and I/O (input/out) devices. Lets see if we can map the Computer components to the Enterprise. The equivalent of the CPU becomes the EPU (Enterprise Processing Unit), which consists of different departments (like registers in the CPU). The Main Memory module equivalence is the Database and the I/O devices are the sensors, RSS feeds and corporate portal. The information bus in the enterprise is like the system bus in the computer. Standards like ISA, PCI and USB are akin to the Web Services standards (XML, SOAP, WSDL, UDDI).

Lets build on this analogy further. Interrupts in the Computer are like Events in the Enterprise. The firmware in the CPU is just that the firmware which glues the enterprise together. The equivalent of DOS and Windows is the Enterprise Operating System (the Application Server). The triad of applications in the desktop Office suite of MS-Word, MS-Excel and MS-Powerpoint has its match in the eBusiness suite of ERP, CRM and SCM. Just as hardware adaptors connect the computer to various peripherals, software adaptors provide connectors to the legacy applications.

The programming languages for the computer (Assembly, C, C++) map on to the .Net and J2EE/EJB (or .Net) for enterprising programming. Just as there is a Visual Basic for putting different software components together, what is needed is a Visual Biz-ic for programming the information flows in the enterprise and building applications using the enterprise software components. The DLLs in the Windows world will need to be replicated in the form of business process libraries which can be re-used across enterprises.

A collection of computers forms a network on the LAN. A collection of enterprises forms the value chain. Just as computers on the LAN need to inter-connect and interact together, different enterprises need to share information. The Ethernet equivalent become the emerging business process standards (ebXML, RosettaNet).

How do these comparisons help? They give us just the mental model we need to think of creating a disruption in the world of enterprise software as we know it today. The key idea is that of de-constructing the monolithic world of high-cost, proprietary enterprise software modules into Lego-like building blocks, which can be assembled together from standard components and be customised or programmed by independent software vendors.

Next Week: Rethinking Enterprise Software (continued)

Published by

Rajesh Jain

An Entrepreneur based in Mumbai, India.