Le Club Macintosh de MontrƯal Publication: Mac@Zine Issue: September/October 1995 Author: John Markle Series: What's NeXT? Title: What's NeXT? Images: A tiff of an InterfaceBuilder palette and tiffs of icons for various development tools. ------------------------------------ What's NeXT? by john_markle@lcmm.login.qc.ca Although it would be difficult to prove, I suspect that Pareto's 80/20 Law holds with respect to automated corporate workloads: 80 percent of the work is done by 20 percent of the software. For example, mass-market productivity applications such as spreadsheets and word processors are used virtually everywhere. Microsoft dominates the market for shrink-wrapped applications, and they have vertically integrated these with their operating system products for the desktop. Any competitor which is within Microsoft's broad sights is in danger in the longer term unless it can find a market niche wherein Microsoft is not already present. Such a niche exists at the high-end of the market since Pareto's Law also implies that, at any given time, 20 percent of the corporate workload will fall outside the range of off-the-shelf software, and therefore new programs must constantly be developed, or old ones modified, to meet evolving corporate needs. A subset of this high-end market consists of programs which are vital to the corporation's ongoing operations, or which provide it with a competitive advantage; within the industry, such programs are called mission-critical custom applications (MCCAs). In the olden days, each new program was written from scratch, with little reuse of code. Nowadays, many corporations are thinking about using objects, or reusable software components which directly link data with the functions that affect or make use of that data, as flexible building blocks for constructing complex MCCAs. By using objects, initial program development is accelerated and later program modification is simplified. Objects therefore represent the software equivalent of the industrial revolution. The object's main champion is NeXT Computer, Inc. which was formed in 1985 by Steve Jobs and five other Apple alumni. NeXT delivered the industry's first object-oriented environment, NEXTSTEP, in September,1989, when others in the industry (including Xerox, IBM, Sun, HP and Apple) were just beginning to do serious research. NeXT delivered NEXTSTEP on bold, award-winning hardware which itself was innovative on several fronts: a mainframe design for the motherboard; a digital signal processor chip for CD-quality voice and music; a Macintosh-like user interface with a 3D feeling; use of Display PostScript for both screen and printer; entry-level UNIX; a 256-megabyte magneto-optical storage cartridge; black magnesium casing (which matches my stapler); etc. Nevertheless, the ideal candidate for such a powerful machine, mainstream corporations, dared not "to go boldly where no one has gone before," in large part because Microsoft had decided not to develop any productivity software for the NeXT platform. Consequently, in February, 1993, NeXT dropped out of the hardware business and refocused its energies on implementing NEXTSTEP on other hardware platforms. In addition to NeXT's old Motorola-based hardware, NEXTSTEP currently operates on Intel-based PCs, Hewlett-Packard's PA-RISC workstations, and Sun's SPARC workstations. In November, 1993, NeXT formed the Object Channel to develop and foster strategic alliances with systems integrators to provide the benefits of NEXTSTEP to large institutional customers; since then it has formed over 60 key integrator partnerships. With regard to third party software products for NEXTSTEP, there currently are over 500 shipping applications, including productivity software, many specialized vertical market packages, and tools for legacy and database connectivity. NEXTSTEP is an integrated application development and object deployment environment. Its graphical programming tools (including Interface Builder, Project Builder, the Objective C++ compiler, and the Graphical Debugger) are widely acclaimed as yielding the highest application development productivity in the industry, and its sophisticated objects facilitate the scaling of applications and enterprise-wide computing. In November, 1993, NeXT expanded its business horizons by announcing that it would make the operating system-independent layers of NEXTSTEP an open object standard called OpenStep. This public, object-oriented application programming interface has since become industry-endorsed: OpenStep versions have been announced for delivery in 1996 which will run on NeXT's own MachOS, Sun's Solaris, Digital's OSF/1 and Microsoft's Windows NT and Windows 95. According to NeXT, "OpenStep's object-oriented technology allows corporate customers to rapidly create and deploy three-tier, client-server, mission critical custom applications." 1 But what is a three-tier client-server architecture? Basically, the three tiers are the interface through which the end-user controls all activity (the presentation logic), the core computational activity itself (the application logic), and activities involving the information repositories (the data access logic). For some years now, corporations have been using two-tier client-server architectures wherein client productivity applications running on networked PCs retrieve and/or update information in relational databases running on remote servers. Typically, the client process mixes presentation and application logic, and communicates with the server's data access logic using a structured query language (SQL). This can cause problems, since changes to the database server will also necessitate changes to the clients. However, in an article entitled "Three-Tier Client-Server Architectures," Christopher Lozinski, president of the Berkeley Productivity Group, makes the following observation: But in between the graphical user interface and the database server, many innovative companies are adding application servers to provide custom functionality. In this architecture, all of the system components can be communicating with each other using a new class of communications products called middleware. The client productivity software, the application server, and the existing databases are connected together by the middleware to create a complete solution. 2 Hence, by isolating the application, presentation and data access logic, and by using middleware as glue, a three-tier approach effectively decouples the user interface from the database and allows them to be modified independently. The benefits of this approach include improved database performance, improved network performance, as well as faster, more responsive client processes. Nevertheless, three-tier architectures are only justified for complex or performance-limited applications, since they usually require more education and training on the part of the end-users, and more skills on the part of the developers. In spite of this, such architectures represent the hot new approach that is being adopted by many financial institutions, for example. The two key phrases within Lozinski's quotation are "application servers" and "middleware." An application server is a corporation-specific, object-oriented representation of the system being controlled and/or the business being served; therefore, as the business evolves, the related objects can also evolve to correctly model the new business. For example, one commodities trading firm is using several application servers to provide different financial services which are invoked from EXCEL spreadsheets on the client side; using this approach, the firm can offer tailor-made services to each customer, and literally overnight, it can further customize its servers in order to better compete with other traders. Another company, ErgoTech Development, Inc. has taken this adaptive approach to the extreme with its NeXT-based computer integrated manufacturing package called ErgoCim. Says ErgoTech's president, Jim Redman: "We use reusable software components and distributed objects to create a truly flexible software package that can be modified on-line, in real-time, while the system is running." 3 Middleware, as defined by the Gartner Group in one of its strategic analysis reports, is "the network aware system software, layered between an application, the operating system, and the network transport layers, whose purpose is to facilitate some aspect of cooperative processing." 4 For building application servers in three-tier client-server architectures, message-passing middleware products work the best, and this is where NeXT's Portable Distributed Objects (PDOs) come into their own. PDO is the distributed object model at the heart of OpenStep which allows for the transparent, cross-platform deployment of objects by permitting them to be accessed in an identical fashion whether they are running locally or remotely. Hence, because all PDO objects are inherently distributable, applications can be partitioned in such a fashion as to take full advantage of all network resources, without making either the design or implementation more complex. PDO Release 3.0 shipped in June, 1995, along with the following comment from Steve Jobs, chairman and CEO of NeXT: In its third major release, PDO is the industry's only proven distributed object model. Today, customers are running scalable mission-critical applications using PDO that take advantage of all their computing resources. Furthermore, the objects they develop now will soon interoperate seamlessly with OLE and CORBA objects, enabling applications to be deployed in a mixed object environment. 5 OLE (Object Linking and Embedding) is Microsoft's contribution to the emerging object market, and so Steve got many people quite excited at an application developers conference in New York when he described the upcoming PDO for Windows NT as "distributed OLE." CORBA (Common Object Request Broker Architecture) is an object standard developed by the Object Management Group, an industry association. In August, 1995, NeXT announced the formation of the Object Definition Alliance which will create open object-based specifications for developing interactive multimedia and electronic commerce systems, including objects to manage billing, credit and security services. Alliance members include the Object Management Group, MasterCard International, Visa Interactive, HBO, Time Warner, Oracle, Sun and other companies. From the beginning NeXT has emphasized interoperability at the data and network levels, and it continues to be dedicated to the adoption of standards for all object-oriented applications. Enterprise Objects Framework (EOF) is another key NeXT product, one which marries the strengths of relational databases and object-oriented development. EOF objects integrate data with the policies that make the data meaningful. Since EOF objects are used in multiple applications, whenever the policies in effect for a particular business object change, the object can easily be redefined and every application using that object will automatically incorporate the new policies. The Framework eliminates the need to use object-oriented databases to store EOF objects, allowing programmers to work instead with standard relational databases. Database adaptors for Oracle and Sybase are bundled with EOF, and other adaptors are available from database vendors and third party developers. EOF-developed objects are independent of any particular front-end graphical user interface and are independent as well of any back-end database product or specific database schema, meaning that they can fit into virtually any business environment. As well, EOF has been shown to provide high performance in three critical areas: start-up time, virtual memory usage and CPU usage. When used with PDO, EOF business objects can be distributed across high-performance compute and database servers anywhere on the corporate network. Overall, this translates into a better return on investment for all network components. OpenStep was derived from the proven NEXTSTEP technology, which itself was developed at a cost of over 100 million U.S. dollars. The following NEXTSTEP components are included in the OpenStep specification: the Application Kit, the Common Classes, the Database Kit, Display PostScript, the Distributed Objects System, the Indexing Kit, and the Mach Kit. However, what is not included in the OpenStep specification are NeXT's EOF and its top-notch graphical development tools, and herein lie business opportunities. I suspect that NeXT is betting on four things happening: firstly, that the next frontier in interoperability will be at the object level, and OpenStep will become the uniform object standard; secondly, that corporations will choose to use NeXT's development tools and EOF to build OpenStep-compliant middleware objects and application servers for their MCCAs; thirdly, that OEMs will license NeXT's implementation of OpenStep rather than spending vast sums of money to reinvent the wheel; and fourthly, that a uniform object standard will attract third-party developers who wish to create software which can be deployed on all OpenStep-compliant systems. Hence, as the OpenStep standard propagates through the industry, further business opportunities for NeXT will arise. A model of this unusual symbiotic relationship between a public standard and proprietary software already exists: Adobe Systems, Inc. has survived quite well, thanks to the PostScript standard. As you can well imagine, NeXT is not alone in staking out the lucrative MCCA market. A very strong contender is Cognos Incorporated of Ottawa, Ontario: the product preview for Cognos' newest product, Axiant, describes it as "a graphical development environment that enables programmers to build mission-critical client/server applications faster than any other product." 6 Axiant supports four architectures, including three-tier client-server architectures and, like OpenStep applications, Axiant applications are scalable and portable across multiple hardware platforms and operating systems. Although the target market is basically the same and the products seem similar, they have evolved in radically different fashions. Whereas NeXT was first and foremost object-oriented and later became mission-oriented, Cognos was first and foremost mission-oriented and later became object-oriented. The Cognos philosophy is to provide "open tools" which are "products and services that allow our customers to create information systems that are open to new technologies and open to changing requirements." 7 Put simply, objects are but a means to an end for Cognos, whereas for NeXT, they are the end itself, as befits NeXT's ongoing mission of providing enabling technology. Founded in 1969 as Quasar Systems Ltd., Cognos was in the custom software development business until 1982 when it decided to focus solely on growth opportunities in the application development software market. In 1981, it had introduced PowerHouse, a development environment which has as its core a fourth-generation programming language which permits data manipulation on a wide variety of database systems, relational or otherwise; it also includes end-user business intelligence products for analyzing and reporting corporate data in graphical and numeric formats; it works with UNIX and proprietary operating systems, and runs on server and desktop systems from IBM, HP, Digital, Data General and Sun. Sales of PowerHouse were very strong: by 1986, PowerHouse had annual revenues of over $100 million; by 1992, Powerhouse was installed on more than 18,000 mid-range computers in over 65 countries; and by 1994, life-to-date revenues had exceeded $1 billion. Therefore, Cognos has been in the MCCA business much longer than NeXT, and via Axiant it is migrating its mature PowerHouse business to the client-server desktop market while protecting its clients' legacy system investments. What is relevant is that Cognos has an established base of over 12,000 customers, a large direct sales force, a network of approximately 250 resellers and 100 OEMs, and is currently working to develop relationships with major systems integrators and large consulting firms. Hence, Cognos has the experience and infrastructure to sell and support Axiant on a world-wide scale. In summary, NeXT's products are objects and object-support technology; its goal is to set the volume object standard; and its customers are primarily corporations with large-scale multi-platform environments. The OpenStep object standard developed by NeXT allows objects, frameworks and applications to achieve portability regardless of the underlying operating system or hardware platform, so that they can be deployed transparently on clients, database servers and compute servers, thereby resulting in more robust, optimizable systems. NeXT is forging ahead on parallel fronts with the aim of turning OpenStep into the "PostScript" of the object world. While other companies offer some of the distributed object capabilities of PDO and the database independence of EOF, NeXT is the only company that has successfully implemented both in a truly integrated fashion. Although NeXT is up against some pretty stiff competition, because it has made some key strategic decisions and alliances, I think its odds of success are now better than ever. Dataquest says, "NeXT has the potential to be the Microsoft of objects." In conclusion, since large complex probabilistic systems stabilize on Pareto's 80/20 saddlepoint, regardless of how large the market for corporate software grows, 20 percent of the automated corporate workload will still require customized software. The fact that 80 percent of all corporate programs are dedicated to this high-end market guarantees that there will always be a brisk demand for both cross-platform database-independent middleware objects and graphical development tools for building, deploying and evolving MCCAs based upon such objects. Footnotes: 1: Part of NeXT's mission statement, which appears on current press releases. 2: "Three-Tier Client-Server Architectures," C.A. Lozinski, from "Trendlines", ed. Jessica Keyes, Van Nostrand Reinhold, 1995. 3: ErgoTech Development, Inc. press release, July 3rd, 1995. 4: "Middleware: Panacea or Boondoggle?," The Gartner Group, Software Management Studies, Strategic Analysis Report, July 5th, 1994. 5: NeXT Computer, Inc. press release, June 20th, 1995. 6: Axiant product preview (Stock No. 12494), July, 1994. 7: "Cognos Software Technology: Open Tools, Open Applications," Cognos Incorporated, July, 1992. John Markle runs the NEXTSTEP Special Interest Group for Le Club Macintosh de Montreal. The views expressed above are his own, and not those of Le Club.