# Newi

Newi is an acronym for NEw World Infrastructure, a software architecture for software componentry, mostly known as Newi Business Objects which coined the term business object. Newi was developed by Oliver Sims at the software engineering company Integrated Object Systems, England. It was one of the first implemented architectures for software components.

## Overview

Newi was what today is called a component container. The concepts behind the Newi middleware can be found in Oliver Sims' book "Business Objects", McGraw-Hill 1994. In spite of the title, the book was about software components.
Newi components were language-neutral. That is, a Newi component could be written in one of a variety of languages that was supported by Newi. At its height, Newi supported software components written in Cobol, Ada, C, C++, Rexx, and Java. Platforms supported included Windows 3.1, Win95, WinNT, three varieties of Unix - and a prototype supporting components written in RPG was running on the AS400.
Newi components were intended to be "objects in the large". There was a form of sub/supertyping which was implemented by the infrastructure through an intelligent delegation mechanism. For example, a component written in C could be "subtyped" by a component written in Cobol. Component names (or types?) were separated from the code implementation module. Messages (both sync and async) were passed using a proprietary form of "tagged data" (a similar concept to today's XML). There was also a notification service. The various system services (including the GUI framework and communications subsystems) were implemented as Newi components. Throughout, there was a rigorous focus on making the programming of application components as simple as possible, with Newi providing many transparencies.
From the start, Newi was targeted at both front-end GUI systems and back-end server systems. The front-end version had a GUI run-time framework implemented as components. The component concept fitted very well with the object-based UI provided. Hence a designer/programmer used the same technical code structure to implement both front-end and back-end business function.

## History

The initial concept behind Newi originated in 1989 when Oliver Sims, then working for IBM, saw the need for an infrastructure whereby a given real-world business concept (process or entity) could be implemented as a software module that could be plugged into a running system. Applications would be created by composing an appropriate set of modules. IBM UK funded development of the concept through collaboration with Softwright, a UK bespoke software company.
After several successful prototypes, and an early AS400 production version, a joint venture called Integrated Object Systems (IOS) was created in 1993 to exploit the concept. The first version of Newi was announced and shipped in 1994.
In early 1996, IOS was bought by SSA (System Software Associates, Inc), who saw great potential in Newi. The software was significantly further developed within SSA, in particular in its back-end capability, as well as having its underlying communications function moved to a COTS Corba product that provided the communications "wet string" while maintaining the Newi programming model and loosely coupled component interaction. Tools were also significantly expanded. SSA also announced an early and proprietary form of web services, based on the re-developed Newi, called "Semantic Message Gateways", or SMG.
In 1998, for reasons other than their technology base, SSA had to downsize dramatically; Newi development was halted then abandoned, and the development team (around forty people in UK and US) was dispersed.