Kbase P25408: The History of Progress Software Corporation
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  3/18/2011 |
|
Status: Unverified
GOAL:
The History of Progress Software Corporation
GOAL:
Brief History of Progress Software Corporation
FIX:
This information was presented at Exchange 2003 and has been updated with information from the Progress Software History link on our www.progress.com website.
1981 ? Progress Software Corporation was founded. Originally called Data Language Corporation, the ?DLC? name lives today as the name for the Progress install directory. Based on their manufacturing software backgrounds, founders Joseph W. Alsop, Chip Ziering and Clyde Kessel, together with the company?s first employee, Mary Szekely were convinced there was a better way to build applications. The resulting product was originally named ?Relational Data Language? and members of Progress Software?s development team still ?rdl? (pronounced ?riddle?) in order to point their machines at the latest internal build of the development environment. The company?s first workspace was a semi-converted dentist?s office with a leaky roof located in Billerica, Massachusetts. Much of the products initial design and development work was done on Mary's dining room table, in Edlin, using a PC-AT with a 256K floppy drive and no hard disk.
1983 ? Though still not commercially available, RDL was ready to be shown at COMDEX. This first iteration already contained a simple dictionary tool, written in the 4GL, which allowed developers to define files, fields and indexes.
1984 ? Renamed Progress Version 2, this was the first commercial release. Version 2 supported such advanced features as saved objects (.r files), and client/server communication utilizing unnamed pipes. Although the User Interface was entirely character mode, the richness of the underlying 4GL allowed for the addition of a full-featured data dictionary and administration tool. Most of the basic capabilities in the Dictionary and Admin tools today, including definition of files, fields, and indexes, as well as dump and load using .d and .df files were present in this first release. Version 2 ran primarily on a number of UNIX boxes that have long since disappeared - Wicat, Cadmus, Fortune, NCR, Plexus - and DOS.
1985 - Version 3 ? This release included the first hints of the Graphical User Interfaces (GUI) to come, including overlapping frames, which allowed developers to display stacks of information on the "desktop", and the COLOR phrase, allowing the highlighting of different kinds of information and messages. The Administration tool provided dump and load access to some of the days? other popular products, including dBase and Excel. The Company also moved into its first ?real? office space on Manning Road in Billerica.
1987 - Version 4 ? Data Language Corporation assumed the name of its product and became Progress Software Corporation. The European subsidiaries were established at the same time, giving Progress an international presence. Customers could develop and deploy their applications on the VAX/VMS and BTOS platforms, as well as DOS and a growing host of UNIX platforms. Security features were added to the Data Dictionary, so developers could assign compile-time privileges on the files in their database.
1988 - Version 5 - With a new development tool called Fast Track, the company made its first foray into the world of application generation. Hampered by the limitations of the character mode environment for screen painting, it did not survive the leap to a true GUI. In Version 5, the Data Dictionary underwent a complete renovation and all of the Administration capabilities were greatly enhanced, including support for incremental database dump and load. The release also featured the first support for federated databases - the ability to connect to multiple databases at the same time ? and also provided true client/server support.
1990 - Version 6 ? This release included the product's first support for Data Servers (then called "Gateways") to other database managers such as Oracle, Sybase and RMS. The number of. different platforms the product ran on was at its peak, numbering well over a hundred. The Dictionary and Administration tools were enhanced to provide support for these new capabilities and Version 6 also included the character mode version of Results, another 4GL-based tool designed to allow end-users to generate their own reports and custom queries.
1991 ?Version 6.3, representing significant improvements in database performance, including introduction of the asynchronous page writers. Progress Software Corporation celebrates its 10-year anniversary and goes public, moving its headquarters to 14 Oak Park in Bedford, Massachusetts.
1993 ? Version 7 ? The client side of Version 7 along with its development tools were completely revamped. Committed to maintaining compatibility with the hundreds of character-based applications already developed, but recognizing the coming GUI revolution, Progress Software?s development team virtually reinvented the entire Progress client. The procedural structure of the language was changed to support an event-driven programming model and a host of new language constructs were added to let developers define a large range of graphical controls for Windows (and at that time, Motif as well), in addition to the "fill-ins" of the character world. At the same time, the character mode version of the product was completely overhauled to adapt a third-party product in order to support all of the same GUI widgets for character terminals, while allowing existing applications to be recompiled and run with virtually no changes.
Version 7 required a whole new development toolset called the Application Development Environment (ADE). Both non-visual features such as Temp-Tables, and many visual features including dynamically movable and resizable controls date from that first Version 7 release. Feature enhancements were also the result of close interaction between Progress Software?s language and tools developers.
The Trigger editor was originally a simple dialog box for writing blocks of code for visual controls while the TRG table held the code in memory until the procedure was written out. In its final form, the UIB was much more than a screen painter and the trigger editor dialog box expanded into the Section Editor, a tool for writing triggers and internal procedures. The UIB not only generated code to represent the visual controls and their triggers, but also produced query definitions for the tables used in each window or frame and code to open and navigate those queries (stored in the _Q internal temp-table).
Version 7?s first release also included a new GUI Data Dictionary and Administration tool, as well as a graphical Procedure Editor. The Procedure Editor was, and remains today, a remarkable example of true single-source Progress code for character mode, MSWindows GUI for the PC, and at the time Motif for UNIX. There's a certain amount of conditionally compiled code depending on the platform, but the large majority of the Procedure Editor code can be compiled and executed both on character mode and GUI. No other programming language supports this. In fact, a developer looking to create some specialized form of procedure editor in the 4GL can start with the primary editor procedures found in the adecomm directory, _pedit.i and _dedit.i for cut/copy/paste support, and _psearch.i and _dsearch.i for search-and-replace support, and have a good basis for an editor tool that can be used both in character and GUI environments.
The Results product was completely rewritten in Version 7 to become a graphical tool, and a
4GL Report Builder was created to meet more complex reporting needs (since superceded by non-4GL report building tools). Version 7 also included the first release of the Translation Manager, a tool for maintaining multiple language translations within a single body of Progress compiled code.
Version 7.3, the seco.nd major release of the GUI product, added a set of programming templates that represented the beginning of the component-based development framework. They were largely driven by preprocessor values, and fairly self-contained, with one style of frame. For example, navigation and update buttons, a set of fields to display and update, and a built-in query to access data. With only simple communication between template procedures and limited flexibility in how they were put together, the templates allowed developers to begin thinking about defining application components in terms of Progress 4GL procedures. Significantly, Version 7.3 also added the key language element of persistent procedures, allowing an application to start up a procedure and have it remain in memory. Persistent procedures became the basis for developing applications in an entirely new way much different from the traditional top-down, hierarchical, block-structured model of Version 6 and previous releases. With Version 7.3, procedures could run as peer "objects" in an event-driven application, sitting in memory until GUI events invoked the trigger code they contained. The ADE also featured a new set of useful add-on utilities called ProTools, accessible through an additional interface builder window. ProTools have been extended in successive Progress releases.
1995 - Version 8 - Using the Version 7.3 templates as a jumping-off point, the Progress consulting group developed the "Shell Methodology", furthering the idea of implementing an object-oriented approach to 4GL development. In Version 8, this idea was taken a step further and in the first release of the Progress Application Development Model (ADM) and SmartObjects. SmartObjects were created and Progress components expressed as persistent procedures. In addition to using Version 7.3?s "template" idea, the ADM added a mechanism for defining procedural events and standardizing communication between objects, and provided a way to define standard object behavior and to override it at the individual procedure level. A great deal of support for the ADM was added to the UIB, making it straightforward to build SmartObjects and assemble applications. An _S table was added to the UIB's internal structures to support the new SmartObjects. Later Version 8 releases also introduced the Progress AppServer for more efficient transfer of data between client and server machines.
1998 - Version 9.0 ? Version 9?s powerful new 4GL features, although not developed exclusively for the ADM, made it possible to create the "ADM2", a thorough reworking of the development model that supported object-oriented constructs including: events, using new PUBLISH/SUBSCRIBE syntax; definition of multiple levels of inherited behavior using super procedures; and full support for the separation of client-side objects from AppServer-based data management objects. By this time, the UIB?s features were so extensive it was renamed ?AppBuilder?. Some vestiges of the original name remain in the adeuib code directory, for example. Version 9 also saw the unification of 4GL and WebSpeed development, integrating the WebSpeed development workshop with the AppBuilder.
1999 - The latest releases of Version 9 add a powerful new color and code-completion editor to the AppBuilder's Section editor and the other editor tools. Version 9 releases included a number of new SmartObjects such as a SmartToolbar, dynamic SmartDataBrowser, SmartBusinessObject, as well as SmartB2B objects for application integration using Sonic Software?s new SonicMQ JMS messaging product. ASPEN was formed. The ASPEN program provides business planning assistance, strategic partnerships, superior technology and professional services to assist Progress ISVs in rapidly deploying their applications through an ASP model.
2001 ? New Business Structure announced. The company?s reorganization will maximize the full potential of .e-business marketplace for Progress Software Corporation by conducting business through three separate operating units, the Progress Company, Sonic Software, and NuSphere Corporation, as well as a supporting research and business development unit, PSC Labs.
2002 - Progress Software added new unit PeerDirect Corporation for distributed computing applications. The company also acquired database software company eXcelon for $24 million in a move to expand its offerings to include XML services and database products. 2003 - Progress Software acquired DataDirect Technologies, a supplier of data connectivity tools, for about $88 million in cash.
2004 - Progress Software acquired Persistence Software for $16 million.2005 - Progress Software acquired Apama for about $25 million to help expand its ObjectStore unit. 2006 - The company continued to make significant progress on its strategic goal of providing a richer and broader portfolio of products to assist business and IT professionals in developing, deploying, integrating, and managing critical business applications. Progress Software acquired NEON Systems, a leading provider of mainframe data access and integration software, and Actional Corporation, a provider of service-oriented architecture (SOA) management software.
Progress Software acquired Pantero, the industry's first product to address the real-time semantic data integration challenges through a model-driven approach. In October 2006, the company acquired OpenAccess Software, a provider of development toolkits for rapid development of ODBC and JDBC drivers as well as ADO.NET and OLE DB providers. 2008 - Progress Software acquired Xcalia, a data integration leader that is combined with DataDirect Technologies and strengthens the company's support for standards-based data access. Also in June, the company acquired Mindreef Inc. Mindreef develops and markets the award-winning Mindreef® SOAPscope® products, which enable business analysts, system architects, application developers, testers, operations and support staff to build, deploy, and maintain better software at each phase of an SOA, Web service or composite application development lifecycle. At the end of June 2008, Progress acquired IONA Technologies. IONA's products offer cutting-edge, best-in-class technology and enable a wider variety of interoperability and deployment options, including the support of high-performance, mission-critical systems based on C++ and CORBA. 2010 - Progress Software acquired Savvion Inc., a pioneering and leading provider of Business Process Management (BPM) technology. The combination of Progress Software's Business Event Processing (BEP), Business Transaction Assurance (BTA) and Integration portfolio, coupled with the Savvion BPM suite better enables enterprises to achieve the highest levels of operational responsiveness. .