Design, Develop, Create

Friday 25 October 2019

(PART 1) IONA Technologies - genesis

Iona’s Genesis
"New York, 26th February 1997, 9.29am. The coming of age after six years of infancy. A Croke Park-pitch size of a room with 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)
After NASDAQ Iona lists on the Dublin Stock Exchange (1997)

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 (see the video on Vimeo)

A Trinity College Dublin campus company, IONA occupied space in Trinity's rambling offices along Westland Row before spilling 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 founder talent 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)
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.

During the early years the organisation funded itself through C++ training and consultancy services. Professional services work (aka consulting), brought in needed revenue from the Irish divisions of multinational technology firms like ICL and DEC. While the consulting wasn't as profitable as software sales it did produce unanticipated benefits. Delivering training and services contracts acted to expand the spread of object oriented skills and knowledge in wider industry. It produced new customers for Iona’s products and a cadre of skilled engineers many whom would subsequently work for Iona. They also leveraged their relationships in the local offices of multinationals to reach out internationally.

Inter-networked software was the heart of Iona's value proposition and its employees took advantage of the growing possibilities of the net.  IONA attracted talented people across all the disciplines: technology, programming, product management, legal, marketing and sales and more. In time many went on to start their own companies, innovating and playing influential roles in the open source movement, in standards development and other areas.

At the official launch at Object World in San Francisco in 1993 Orbix 1.0 defined and led the international trend to internet enabled computing. IONA was the first to market with its release of a commercial implementation of the CORBA standard. Orbix ran on Windows, Solaris, HPUX, and a long list of other 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 enabled all these different programs to work together independent of their operating system or hardware platforms.

Iona was 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 Orbix could ‘wrap’ legacy software in a future proof IDL interface. IDL made programs look like ‘objects’ even if they weren't object oriented designs as such. It enabled firms to retain and maintain their huge investments in legacy and mainframe systems. It also provided the bits and pieces for the new distributed computing paradigm.
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.
Iona's products were being used in 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.
Friday Night at Toner’s
Friday night in Toner's pub on Baggot Street was a good spot to catch up and enjoy some 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 an 'icebreaker' ever since the IPO (initial public offering) in February the previous year. Anyone with stock options had, unsurprisingly, developed a keen interest in the stock market.

People returning from `international duty' on customer consultancy ‘gigs’ in the Professional Services division (PS) could hold court in the snug, share war stories or catch up on the local scene. Some considered PS work to be something of an elite job. It came with international travel, expense accounts and overtime, but it meant living from a suitcase, sometimes for weeks on end. There was intense pressure to perform, to deliver the goods on customer sites. Many in office-bound engineering roles relished the stories but it also gave meaning and importance to their work too. PS had an unvarnished view of both client projects and Orbix's capabilities. The information was golden, what customers were attempting to do, what worked, what didn’t and somewhere within all that, what the `next big thing' could be? Orbix product quality or features were never far off. Heroic tales and gripping yarns if you knew the jargon; version, source code, debug, compiler, ridiculously large IDL, memory leak, o/s patch, hot-fix.

Paula, VP of Engineering, couldn't help overhearing...
Brian, Mark, Pierce and James were talking about one such tale, set in a secure bunker for some government contractor. Exciting stuff if you enjoyed that kind of thing, but it annoyed Brian (the QA guy); The problem shouldn’t have occurred in the first place he complained. It was preventable!

Mark, the PS engineer, had resolved a major issue on site at an undisclosed location in California. This particular customer site (some muttering about the security or defence sector) was completely locked down. Mark had had to reach out to home base. He had been on the phone to Dublin for hours. First to James (a software engineer in customer support), then Pierce (a software engineer on the product team). The three of them had worked through a day and night, frantically trying, first to reproduce the problem, and then devise a fix or workaround to perhaps make a patch for Orbix 2.3c. Finally, Pierce had a fix (he thought). A two line code change. He compiled the patch and copied it to the FTP server. But no! The customer site wasn't just firewalled, it was physically disconnected from the internet. Mark had a choice, go outside through six layers of security, copy the fix to a disk and walk it back in to apply it, or... he had a local source snapshot on his laptop. Could Pierce not talk him through the lines of code? It would be quicker to recompile a new Orbix daemon on the laptop and copy it directly to the live environment...

These discussions played an essential part in making sense of the market for Iona's product managers and the engineers, if only because PS engineers were in ‘the field’, often isolated behind government or corporate firewalls and multiple layers of military grade security. Being on-site demanded absolute commitment, technical ability, some heroics, but it also depended strong social connections between  engineers throughout the organisation.

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