The transition from designing and building software to architecting and building systems can be a subtle one. Systems, in general, entail the use of a collection of discrete software elements that work together within an extensible architecture. The architecture describes the ways in which these elements work together, the requirements and process associated with adding new elements, the rules (including business rules) and processes within which system elements are managed and extended, and the initial and ongoing requirements associated with the supporting hardware and network infrastructure. I have documented some of the more significant software systems I have built over the years here. Other borderline "systems" that are documented elsewhere in this hypermedia space include Turboconferencing, DARWIN, NetFlare, and a number of my hypermedia spaces. Systems that I have designed and implemented include:
Conceived, Architected, and Built Network Performance Testing System that assesses, in real time, the quality of end user network performance in accessing web sites and which determines end user geographic location based on network information. Architected the entire n-tier system, establishing structured interaction between:
Additional tools operate within this architecture to administer the operation of the system and view, modify, and add rules and rules data. The overall system integrates elements written in Java, Visual Basic, C++, SQL, XML, VBScript, COM, ASP, and HTTP. Some prototype stage components were written in JavaScript, HTML, PERL and TCL. Provided technical leadership for all system components. Built the middleware and SQL database layers and the system administration and rule builder User Interfaces. Wrote applicable patents.
IBM's Business Partner Systems infrastructure is IBM's strategic single point of contact electronic support system for its Business Partners. As overall architect of this system, had responsibility for creating a highly reliable, scalable, high-performance web and extranet architecture capable of bringing together all of the content and applications associated with over 400 existing IBM Business Partner web sites. The resulting web site, now operating under the name "PartnerWorld", is a contender for the title of worlds largest distributed electronic library, with over 250,000 documents indexed, and hundreds of thousands more available via hyperlinks from indexed documents and lists. Several hundred IBM Business Partners replicate some portion of this library to local servers on their intranets. Tens of thousands more access these documents and applications directly from the IBM Business Partner Web Site. Business Partner Systems (BPS) is a system of about 100 servers, and includes a publishing back end, a business partner profile database system (DB/2), a mail system, a large number Lotus Domino Web and replication servers, and assorted firewalls, packet filtering routers (supplying multiple security zones), and load balancing servers. It supports 10 languages, including four double byte languages, from a single integrated infrastructure, with all languages, including double byte languages, delivered from all servers.
BPS delivers applications and content to business partners in two distinct ways: direct web access using the internet and BPS web servers, and Lotus Notes client access using servers on the Business Partners premises. The latter option is particularly important to Business Partners in EMEA and AP who face high communications costs when providing their employees full-time access to the internet and to those Business Partners that want to repurpose the data for delivery to their customers and Business Partners. Both forms of data access are supported within a single architecture and on a single infrastructure. All content is delivered to both web and Notes clients from a single data image, and applications can be easily written, within the scope of the BPS architecture, to support both internet web users and BP intranet Notes users.
I have had overall architectural responsibility for this system since early 1997. At the time I took on these responsibilities, IBM had over 400 distinct, and generally small web sites oriented to Business Partners, many of them requiring login with different user ID's and passwords. Business Partners complained that they didn't know where to find information among these sites, had file folders covered with 20-30 userids that they used just to access IBM Business Partner sites, and regarded IBM as the high cost provider of Business Partner services. IBM's worldwide application efforts to consolidate these sites were themselves disjointed, with a dozen different teams working on different parts of the problem, but without a common architecture that would help ensure that they worked together or a common management system that could enforce integration. Since I joined the project, however, we have successfully integrated all of the pieces into a single cohesive and high-performance registered web site under an architecture that makes it easy to write an application once and deliver it to both Web clients and Notes intranets.
My key accomplishments:
Major applications which play an important role in this infrastructure include Global PartnerInfo, PI Registration and Entitlement, Business Partner Profile, PartnerCommerce, PartnerRewards, Sales Forecasting, Global Business Partner Finance, Web Reseller, and OEM Premier Partner. Over a hundred additional applications are maintained within the scope of Global PartnerInfo, and new applications are on their way.
Developed with a large supporting team including architects, project managers, application owners, developers, operations personnel, design experts, marketing experts and more. Key members of the architecture team have included Lam Nguyen, Glenn Huff, Jerry Gilkey, Wayne Haubner, Mike Kromhout, Dave Donovan, Jackie Lee, Chuck Lyons and others.
An electronic service and support service offering, developed as one of the first offerings of IBM's short-lived "Network Application Solutions" division (now the IBM Internet Division). Essentially an enhanced Globenetrebuilt as a service that could be provided to and through other companies that had electronic service and support requirements. ROME was already in service with its first customer, and contracts were imminent with several other companies, when the development and marketing of the offering were cancelled as a cost-cutting measure. Ironically, ROME is the only Network Application Solutions division project that actually made money for IBM. Delivery of Globenet as a customer service offering was my idea. Working with Bob Albano and Jerry Waldbaum, I sold the concept of this service to Network Application Solutions. As the program manager responsible for the technical architecture and implementation of ROME, participated in creating and manageing the financial projections and plans, project plans and schedules, and marketing strategies associated with the service offering. Developed with the globenet team.
A groupware conferencing system, built on the base of Toolsrun/2, ForBrows, ForAgent, and other components, that IBM planned to market as a competitor to Lotus Notes. The initial version of the product was completed in October, 1994. Just days before the products scheduled announcement at Fall COMDEX 1994, IBM entered the first stages of its negotiations to buy Lotus Development Corporation and Lotus Notes. The announcement was deferred. When, in April, 1995, IBM completed the deal, the project was cancelled altogether. Buying Lotus and Notes was the right thing for IBM to do. It gave IBM an instant market leading presence in groupware and knowledge management; gave Lotus the resources it needed to compete effectively against MicroSoft's newly announced groupware offerings. Still, Autobahn, if announced, would have provided a formidable competitor to Lotus Notes. It was a much stronger offering for handling enterprise scale interaction and replication, had an extensible object-oriented storage and presentation architecture for specifying new types of interactive spaces, and had end user agent capabilities that are still absent from the groupware marketplace.
Electronic customer support, whether provided via electronic mail, asynchronous computer conferences, or web pages, is the fourth major paradigm for customer support in this century (the others were direct sales support, mail-based support, and telephone-based support). Telephone-based support (e.g. 800 and 900 numbers) have evolved into a multi-billion dollar industry, and it can be expected that the same will happen with electronic customer support. Globenet is an attempt to enhance the productivity of the people who provide electronic support and thus reduce the cost of such support. It accomplishes this through several strategies:
These strategies substantially enhance the productivity of electronic support providers. Indeed, while we estimate minimum productivity associated with Globenet at 30%, there are strong indications that Globenet has increased electronic customer support center productivity in IBM by 50% or more. Globenet nearly became an IBM Service offering, developed under the name ROME, in 1995. ROME/Globenet was my concept and design. Implemented with the help of Ed Skorynko, Terry Heath, Swarna Dinkar, Scott Schweitzer, Peggy Frisch, Mai Pham, Tomi Magomi, and others.
Conceived a new approach to IBM customer support: CFORUMs in which IBM customers interact directly with IBM employee product users and developers, bypassing the usually multi-level sales and support infrastructures. Sold the concept to corporate management, the ESD OS/2 team, and finally IBM M&S (IBMLINK), which tested the concept with the OS2BBS customer computer conferencing facility and then expanded it to other IBM product lines with the IBM TALKLINK product. Implemented the OS2BBS infrastructure, transferring the IBMPC reviewing software, preview software, and automated maintenance software to the OS2BBS team in the process. My concept and design. Implemented with Dave Slauson, who conceived and initially built the system's dial-up OS/2 User Interface.
As OS/2 started to ship, I was asked to explore how we might create local network based maintained software environment for OS/2 users at Watson. The client/server architecture I presented became the basis for CORE and IBM's Netdoor product. I provided the initial architectural concepts of CORE and subsequently developed a number of key elements of the system, including its initial backup system and shadow server distribution system. While I have played on ongoing architectural and design role in CORE/Netdoor up to the point of product ship, the system was largely developed by others, most notably Tom Rogers and his programming team.
A fully integrated suite of end user software tools packaged together with a single menu system and on-line documentation. Widely distributed within (and, illegally, outside) IBM, I still saw copies of Workbench running on machines as late as 1997. Workbench pioneered such concepts as:
Workbench generally credited as being the starting point for most such environments in IBM, including (according the chief architect, who was running workbench at the time he made the statement) IBM's failed OS/2 OfficeVision product (which ignored a number of the fundamental principles that made workbench so successful). Dozens of such environments have been built on workbench over the years. It is also the starting point from which CORE was conceived and developed into IBM's Netdoor product. Workbench was my concept and design. It was implemented with the help of Whit Wyant and the authors and coauthors of the many individual software products which were integrated within the system, including Fileman , STP, the e editor family, and many others.
IBM's asynchronous computer conferencing (or forum) infrastructure was already running when I started working at IBM Research in 1983. By chance (or luck; luck being the intersection of opportunity and preparation), I went to work for the group that was pioneering the use of computer conferencing within IBM, and I was immediately involved in the business of running and improving that infrastructure. I took over primary responsibility for running the IBMPC conference disk in 1988, and saw it, and conferencing in IBM, through its period of greatest growth in the late 1980's and early 1990's. There was a point in time, in the 1988-1990 time frame, when IBM's internal conferencing systems were bigger and more active than the Netnews-based conferencing systems on the internet. Weathering this growth at a time when IBM was shrinking and resources were hard to come by required both the development of a variety of automated system maintenance and automation tools (which kept the costs down) and the development and sale of a series of computer conferencing based products and services (which provided a cash stream to cover the costs that remained). Services and products that have been developed in support of IBM's internal conferencing system include: Talklink, Globenet, Rome, Autobahn, Toolsrun/2, ForaBrowse, the Toolsrun/ Lotus Notes Gateway, the Bulletin Board gateways, ForAgent, RAISE, and tools for identifying the genre of computer conference content. Most recently we completed migration of almost our entire infrastructure from its original home on VM mainframes to low cost internet servers, where we provide the fastest computer conferencing access (with, in general, subsecond response times) to both NNTP (Netnews client) and web (HTTP) access to content from the same server and content image. Our web access software provides a considerably enhanced level of function than is possible using NNTP.
I have also done detailed studies of the evolution of computer conferencing in IBM. These studies are detailed in my doctoral dissertation, an invited report I made to the National Academy of Science, and other papers and talks I have given over the last ten years. They provide the basis for my theory of medium as process and a starting point for my development of new communications media.
While I have often been, and generally remain, the point man for pulling much of this together and have designed and/or built many of the key pieces, there is a cast of thousands that has, generally on a volunteer basis (as my participation has generally been), participated in this and related work. The most important contributors include Bob Cronin, Dave Chess, Ed Skorynko, Mike Cowleshaw, John Alvord, Dave Martin, Bertrand Denoix, Peggy Frisch, Mai Pham, and Jerry Waldbaum.
Designed and Implemented under contract to IBM Instruments, allowed a single personal computer to monitor and control a daisy chain of laboratory instruments. In effect, a serial-port based LAN. Implemented with George Novus (also a contractor).