The computer software industry has three essential vision leaders -- "IBMOracle", Microsoft and SAP. They have a lot in common, such as huge market share, mind share, customer access, financial resources and so on. And being based on the same industry realities, their visions have a great deal in common. But there are great differences, and it's important to keep them in mind. Whether you're looking at buying from the big guys or just using them as templates for your own analysis, the question "What would SAP/Microsoft/IBMOracle advise us to do?" is at least three separate questions.
Why not four? Well, it often is. But there's a reason I coined the word IBMOracle. Notwithstanding many obvious differences between the two companies, the views of IBM and Oracle are aligned much more often than not. In the IBMOracle view, data -- aka information -- is king. IT's job is to manage the data powerfully, reliably and (not always the top priority) cost-effectively. Whether they're talking about hardware, database management, middleware, applications or professional services, the same data-centric view usually pokes through.
Microsoft's vision, however, is quite different. It's first and foremost about empowering people, at least to the extent that making them better corporate employees can be regarded as empowerment. In the 1980s, while IBM talked about "information centres", Microsoft talked about "information at your fingertips". In the 1990s, Larry Ellison started talking about huge, marvellously efficient, parallel supercomputers (and later grids). But when Bill Gates got that far ahead of himself, he was often talking about speech recognition or some other cool user interface.
While IBMOracle talks about information and Microsoft talks about people, SAP talks about business processes. SAP's core vision isn't really about technology at all. Rather, SAP thinks about what enterprises actually need to do and then provides automated support for those actions any way it can. On a good day, this lack of technical dogma can lead to clever, eclectic pragmatism. On a bad one, a better phrase might be "baroque complexity". On the whole, I think SAP's choices and strategies are fundamentally sound. And even if SAP and I are wrong about that, what it's doing is at least instructive. Here are some of SAP's most interesting ideas.
It's the services, stupid. SAP has made a firm commitment to Web services encapsulation, pledging to publish a set of interfaces and then hold them stable for at least 10 years. Several dozen services will be specified this way, corresponding to rather coarse-grained objects, such as customers, orders and so on. Finer-grained encapsulation was dismissed as leading to too much impractical complexity. The term encapsulation is mine, by the way, not the company's, but I think it really fits. I always thought encapsulation was the most important aspect of object orientation anyway.
Relational, schmelational. SAP is by far the world's largest seller of relational applications. In fact, it may be the world's largest reseller of relational database management systems -- especially Oracle -- as well as a top 10 vendor of original RDBMS technology because of MaxDB. Even so, SAP has publicly stated that it views XML-based services as a liberation from the limitations of the relational model. And before XML, SAP's preferred interface was BAPI. To SAP, the structure of objects matters.
There are many ways to integrate. Once upon a time, SAP was known for imposing huge monoliths of integrated databases onto its customers. Things have changed. Sure, those services I mentioned drill down to, on average, several hundred tables each. But there are also services-based integration and composite application development tools. And semi ad hoc, portal-based collaboration around business intelligence reports. Plus all the standard integration you'd expect from a complex data-mart architecture and a portal-based suite of BI/dashboard tools. There are many different ways to integrate your processes and systems, and different ones will be appropriate for different purposes.
Microsoft, SAP, IBM and Oracle all have their share of technical clunkers. And even when they're right, it's often from borrowing smaller companies' ideas. But you have to listen to what they say. And when you do, you'll often hear at least three very different things.
For some of my more detailed thoughts about these vendors and their strategies, please see my three main blogs: the Monash Report www.monashreport.com), DBMS2 (www.dbms.com) and Software Memories (www.softwarememories.com).
Curt Monash is a consultant