Design, Develop, Create

Monday, 3 October 2016

(II) IONA's Genesis - 1 (case)

Iona’s Genesis
"New York, 26th February 1997, 9.29am. The coming of age after six years of infancy. A Croke Park-pitch of a room, hundreds of computer screens replacing the light lost by blind-dimmed windows, replete with silently intense players grizzled beyond their age. The second-hand tranquilly rotates to mark the opening of the market at 9.30am, and the Lehman Brothers trading room explodes, keyboards pounding, phones shrilling answered with bronx cacophony. Our own stock opens its very first day up, our trading volume is good, and our initial public offering (IPO) on the US Nasdaq stock exchange is completed after a full year of preparation with our bankers, underwriters, analysts, and lawyers." (Chris Horn, 2012)
The narrative of Iona’s trajectory to success can be summed up in a sentence. IONA progressed from campus company in 1991, releasing Orbix in ’92, IPO on NASDAQ in ’97, and over the next 15 years spawning over 20 other spin-off companies before being acquired by Progress Software in 2008. The detail of IONA's history however is more complex and interesting (Baker, 2000).

Trinity College's Distributed Systems Group (DSG) was a small team of academics and engineers conducting research and development into the problem of inter-network computing architectures. The DSG had become a centre for excellence in distributed systems technology and more importantly in distributed object technology. Over the previous 14 years many of them had become international experts and built up a wealth of experience in designing and building distributed systems support platforms. Their research was supported initially by the college and then by the the EU through the (then) EEC Espirt research programmes. The leap from the academic to the commercial world was tempting as industries like banking and telecommunications embraced networks and internets.

Figure: Iona's Engineering division mission statement
IONA was formed in 1991, initially a Trinity College Dublin campus company, it occupied its first desks in rambling offices along Westland Row then spilling over into office space on Pierce Street. At its height IONA would eventually employ over 1,000 people around the globe, providing work for many of the academics, researchers and post-grads from the DSG but at the end of that first week as an independent firm only seven new employees marked the occasion quietly with a toast at Mahaffey’s pub.

IONA's founders all came from this environment of academically led technological innovation and they were active contributors to the process of defining standards-based distributed object technology.
“[T]he start-up had three staff – Chris Horn, Sean Baker and Annraí O’Toole. But it had no bank balance, no marketing budget and no physical assets... On the other hand, the founders of Iona did not need to make a complete break from academic life or their incomes as lecturers. They could reduce their teaching time over three years, while they built up the company.” (Sterne, 2004)
From the beginning Iona attracted gifted technologists and programmers, many of whom went on to establish their own companies or lead innovations in other organisations and the open source movement. Inter-networked software was at the heart of Iona's value proposition and Iona's engineers recognised and took early advantage of the possibilities of the net. Iona’s Justin Mason set up one of the first 100 servers on the new worldwide Internet. www.iona.com became the first non-academic Irish website (Mason, 2009) and Iona’s software could be downloaded on-line via FTP access – a radical departure from the conventional thinking that software came in a box or on disks. Three years of steadily building up a business model (and a business plan) saw the organisation fund itself through C++ training and consultancy services. The professional services work, delivered initially to the Irish divisions of multinational technology firms like ICL and DEC, delivered unexpected benefits; it grew object oriented skills and knowledge, producing both users for Iona’s products and a cadre of skilled engineers many whom would subsequently work for Iona.

At its official launch at Object World in San Francisco in 1993 Orbix 1.0 defined and led the international trend to internet enabled computing by being the first to market with its release of a commercial implementation of the CORBA standard running across Windows and the three major Unix operating systems (Durham, 2001). Distributed systems arise organically in (and between) organisations because they allow specialised divisional applications to interoperate via standard interfaces with other applications running anywhere on the net. Iona’s Orbix technology allowed software to work together independent of the computer operating systems or hardware platforms they ran on. Iona was also surfing the wave of the most recent paradigm shift in software architecture; object oriented design. The beauty of Iona’s approach to ‘object oriented’ was that its Orbix product could ‘wrap’ legacy software in a future proof, compatible ‘object’ layer thereby enabling firms to retain and maintain their huge investments in so-called legacy systems.
Orbix, Iona’s implementation of the CORBA specification, consisted of a software development kit (SDK), a daemon (computer service) and set of run-time libraries (libs). Orbix was also the technology used at the core of Iona’s growing family of internet centric products and services.
The CORBA standard enabled applications to deliver network interactivity ‘by design,’ at the same time as it future proofed legacy applications by wrapping them in an Object Oriented front-end. Object orientation could be layered over any system regardless of whether their underlying design was procedural, functional, or just plain ancient. Iona’s Orbix SDK (Software Development Kit) and the Orbix orb (an Object Request Broker daemon and libraries) enabled programmers to easily design distributed programs using IDL (Interface Definition Language), which enabled software object interfaces on one system to call and interoperate with objects on distant systems. Iona also provided language mappings to C++, SmallTalk, Java, Ada, and OLE (enabling access to Visual Basic, Delphi and Power Builder environments).
CORBA (Common Object Request Broker Architecture) is an open independent specification for distributed software architectures based on the object oriented interface paradigm. The Object Management Group (OMG) manages the CORBA standard.

Friday Night at Toner’s
I was in Toner's pub as usual on Friday night to catch up on the after work banter. Tonight the talk was all about the recent jump in the share price and where the NASDAQ was headed. The share price had become the 'icebreaker' ever since the IPO (initial public offering) in February last year. Toner’s was also the debriefing venue of choice for Iona’s Professional Services (PS) engineers when they returned from international duty on customer consultancy ‘gigs.’ PS work was viewed as something of an elite job, but one that carried incredible pressure to perform and deliver on customer sites. Iona’s Dublin-bound engineering teams relished these informal debriefings of PS field trips away from the tensions of the office. They presented an unvarnished view of client projects; what they were doing, how well they did it, what worked, what didn’t, and Orbix product quality or features were never far off.

These discussions played an essential part in making sense of the market for product managers and the engineers, if only because PS engineers in ‘the field’ were usually isolated behind a client’s corporate firewalls and multiple layers of military level security, so live feedback was impossible or severely restricted. Being on a client site demanded absolute commitment, technical nous and frequent heroics but the PS crew got to be on the front-line of some of the most exciting software engineering jobs in the world; Boeing’s distributed aircraft configuration system DCAC/MRM (Newcomer, 2006) and Motorola’s IRIDIUM global satellite telephony service (Computergram, 1994) in Seattle, Washington State, and Phoenix, Arizona, respectively to name two. These were cutting edge international computer engineering crucibles and their trajectories were shaping the Orbix feature list, releases and fixes.
DCAC/MRM is Boeing’s Define and Control Airplane Configuration/Manufacturing Resource Management systems.
IRIDIUM now an independent company, was developed by Motorola to deliver a constellation of over 66 satellites providing seamless mobile telephone communications across the globe.
I was listening into one of these heroic tales now. It was gripping if you understood the jargon; “debugged, compiler, ridiculously large IDL, memory leak, o/s patch, hot fix.” Mark, the PS engineer, had resolved a major issue from California by collaborating with James from Customer Engineering (CE) and Pierce on the product team back in Dublin. The Dublin crew had worked through the night on a patch for Orbix 2.3c that Mark downloaded at 2am local time and installed in the operations centre of government contractor research outfit. Exciting stuff if you enjoyed that kind of thing, but it was annoying me immensely. The problem shouldn’t have occurred in the first place it was PREVENTABLE!

References:
  • Baker, S. (2000) The Making of Orbix and the iPortal Suite. ICSE 2000. Limerick, Ireland, ACM.
  • Computergram (1994) Motorola Admits to Deal with Iona on Iridium. Computer Business Review. (link)
  • Durham, J. (2001) History-making components : Tracing the roots of components from OOP through WS. IBM. (link)
  • Iona Technologies (1997) Best of Breed Products: On time everytime. Dublin, Iona Technologies.
  • Mason, J. (2009) jmason.org. (link)Dublin.
  • Newcomer, E. (2006). Iona Technologies. (link)
  • Sterne, J. (2004) Adventures in Code: The Story of the Irish Software Industry, Dublin, Ireland, The Liffey Press.
  • Horn, C. (2010) Be Inspired. Be an Entrepreneur, DIT Hothouse 'Be Inspired' Seminars (link