InterSystems M Technologies
-----

M Technologies

Open M Technology Guide


Table of Contents
  • Introduction
  • Open M
  • Open M's Relational Capabilities
  • Open M/Server
  • Visual M
  • Customer Profiles

  • Introduction

    InterSystems is a leading provider of software technology for high-performance database applications in enterprise client/server environments. InterSystems Open M is the database management system (DBMS) of choice for value-added resellers (VARs), system integrators, and sophisticated IS organizations. In each of these arenas, InterSystems enables developers to successfully meet the challenge of developing and deploying applications that, no matter how complex, function at the high-performance level essential for successful transaction-intense database applications. Our focus on delivering DBMS solutions in this demanding industry segment means that InterSystems is uniquely able to provide the professional-level software tools needed to build today's distributed, enterprise-class client/server applications.

    This book explores the unique advantages that Open M offers:

    • Open M delivers a client/server solution that is cost-effective because it demands less hardware, support, and administration than other DBMSs.
    • Open M's Distributed Cache Protocol provides high-performance communications, while maintaining a fully distributed client/server architecture.
    • Open M provides full relational capabilities with SQL, if you need them.
    • InterSystems has focused on making VARs successful by providing a DBMS with excellent price/performance.
    • InterSystems provides a variety of tools for creating user interfaces, so that you can select the tool that matches your needs or work habits.
    • Open M is available on a wide range of operating systems and hardware platforms, with a variety of development tools and run-time options.

    InterSystems' Corporate Vision

    The InterSystems corporate vision can be stated succinctly: We want to make applications developers as successful as possible. To reach this goal, InterSystems offers Open M -- a DBMS that combines an integrated database with an industry-leading Application Development Environment (ADE), both uniquely optimized for the creation of robust, business-critical client/server applications. Incorporating multiple tools that enable developers to function extremely productively, Open M provides connectivity to a variety of industry-standard technologies, such as SQL, ODBC, and Microsoft's Visual Basic. The added dimension of VAR-focused goals has led InterSystems to deliver techniques that are responsive to the intense demands of cost-conscious developers.

    By taking this approach -- by not forcing developers into proprietary toolsets -- by supplying application developers with competitive technological advantages, InterSystems has become the "Partner of Choice" for many application developers worldwide.

    With 1995 revenues of over $40 million, InterSystems is listed among the top 100 independent software vendors, based on the rankings published recently by Software Magazine. Corporate resources are strategically focused on expanding the worldwide use of M Technology, particularly in the enterprise client/server arena.

    Only InterSystems provides a complete, integrated, single-vendor solution. Uniquely, we integrate M, DBMS, application generator, GUI, relational, and client/server technologies in a comprehensive, single-vendor system.

    InterSystems Milestones

    1978 -- Terry Ragon founded InterSystems to develop, market, and support M Technology-based software products.

    1988 -- M/SQL software introduced, merging the ANSI-standard M language with ANSI-standard SQL.

    1990 -- OPEN M/SQL released, an open system version of the M/SQL development and run-time system.

    1993 -- InterSystems acquired DataTree, Inc. and its M-based DBMS, significantly expanding InterSystems' M Technology offerings in the PC and client/server markets.

    1995 -- InterSystems acquired Digital Equipment Corporation's implementation of M Technology for OpenVMS, DEC OSF/1, and Microsoft Windows operation systems.

    M Technology

    The predecessor of today's modern M Technology was called MUMPS. Ahead of its time, MUMPS was designed to create complex, on-line, integrated database information systems in the era of batch, flat-file systems. At a time when batch systems with files using fixed-length records were the norm, M was developed to meet the needs of multiple users accessing an asymmetrically structured database containing numeric data combined with text of variable length. From the very beginning, M Technology has included an integrated ADE and a high-performance integrated database and run-time environment -- the components required to build and run complex, interactive, multi-user applications.

    Optimized early on to deliver high-volume data processing in multi-user environments, M systems are widely recognized for excellent performance. InterSystems' PC-based M systems, for example, are capable of supporting up to 128 jobs on a single '486 with excellent response time. Users of the massive, 4,600-node client/server M system at the Brigham and Women's Hospital (Boston, Massachusetts) experience subsecond response time on average, with the worst case response requiring only 2 to 3 seconds.

    M is the only ANSI- and ISO-standard procedural language with integrated database manipulation commands and functions. The presence of database facilities such as I/O processing, development tools, and error handling make it unnecessary for programmers to learn and use additional, proprietary, nonportable products when building M-based applications. In addition, M does not force programmers to use one particular database model (relational, hierarchical, or network). Instead, developers can use the logical structure that is most appropriate to a given application.

    The expression "M Technology" evolved because M involves more than a computer language. M Technology encompasses the M programming language, plus associated technologies such as network and database protocols, bindings, APIs, windowing user interfaces, graphics, application generators, and development environments.

    M represents a proven, state-of-the-art technology whose capabilities make it a robust platform for application development and deployment on virtually any hardware platform, in virtually any industry.

    InterSystems' Customers

    Currently, about 70% of InterSystems customers are software houses that use Open M to develop and operate applications that target vertical markets. The largest of these markets are health care, financial services, and government. The remaining 30% of InterSystems' customers are corporate and government organizations where developers use Open M to build in-house applications.

    InterSystems serves developers of all sizes, with a focus on the professional application developer. This includes VAR developers and select end-users customers. We have also had excellent success with one- and two-person companies just getting started and seeking high-leverage solutions to become competitive quickly.

    InterSystems has focused historically on addressing the concerns of application software vendors. Prior to starting InterSystems Corporation, Terry Ragon founded Interpretive Data Systems (now IDX), one of the top 10 health care VARs in the US. As a result, InterSystems is attuned to meeting VAR-specific needs and providing M Technology that enables VARs to survive in highly competitive markets.

    Nowhere is this more apparent than in health care. Despite dramatic changes over the past few years -- the shift to managed care, the increase in community-based ratings, the emergence of community health information networks -- InterSystems VARs have been able to adapt quickly to changing requirements and succeed.

    This is in sharp contrast to the failure rate among VARs dependent on software technologies that are incapable of providing the flexibility, performance, and cost-effectiveness of M. InterSystems has spent 18 years developing and perfecting the premiere VAR-focused DBMS. It is this focus that makes InterSystems Corporation the "Partner of Choice" for VARs in the database industry.

    VAR Focus

    A VAR's needs differ from an end-user's. End-users are focused on their own businesses -- insurance, manufacturing, banking, health care and the like -- and on information technology to leverage those functions. The business of a VAR focuses more narrowly on the development and deployment of applications, and thereby differs from end-users in many ways.

    For example, end-users usually have large programming and support staffs many DBAs, system programmers, and systems administrators -- and they often have systems that are support-intense. VARs are critically concerned about support requirements solutions that require minimal system-management infrastructure are paramount. VARs are critically concerned with performance and costs cost/performance advantages are the basis for competitive wins. If VARs cannot deliver development results on time, within budget, and to the highest quality standards, then their businesses are at risk.

    Until recently, end-user organizations tolerated high systems infrastructure overheads and significant overruns in time, budgets, and support costs. They rarely had the same critical concerns for cost effectiveness. In today's competitive environment, cost-is-no-object-computing is out of favor, even in the largest enterprises. Hence, we find that end-user customers are moving closer to traditional VAR requirements. For them, we provide the DBMS and systems tools that end-users increasingly seek.

    VARs demand total platform portability and the highest levels of interoperability. VAR developers always have the highest standards for industrial grade platforms that can deliver exceptionally robust functionality, while scaling successfully with increasing volumes and requirements. Today, InterSystems uniquely delivers high-performance, enterprise client/server solutions. Enterprise client/server is a critical concern to a VAR who cannot afford solutions that do not scale up to the highest levels of customer demands.

    Market Presence

    InterSystems has traditionally focused more on technology than on marketing. It is often the case that our market grows when one of our customers uses our technology to gain an advantage over competitors. The competitors, reacting to this advantage, then move to InterSystems Open M. This leads to competitively-induced concentrations in select markets. For example, our technology dominates health care and finance worldwide, with concentrations in service industries, insurance, and the public sector in the US, and with a strong presence in manufacturing in Germany. Even so, we are expanding our marketing to target VARs and select end-users in every market.

    Back to Table of Contents


    Open M

    What Is Open M?

    What is Open M? Well, the "long answer" is that Open M is a high-performance database management system (DBMS) that combines an Application Development Environment (ADE), along with some Application Programming Interfaces (APIs), on various computer hardware/operating-system platforms. Furthermore, Open M's DBMS excels in high-volume processing within a client/server architecture. And Open M's ADE (involving M, SQL, and Microsoft's Visual Basic) is well-known for its rapid prototyping and deployment. But that's a mouthful, so you may wish to remember the "short answer," which is: Open M is a database.

    The ANSI and ISO standards for M specify portability requirements which all M systems vendors must meet and to which application programmers can code. As a result, M-based applications are extremely portable and run in most major hardware/software operating environments. Hence, InterSystems' Open M product suite includes a range of M implementations that satisfies the needs of a heterogeneous enterprise client/server environment. Open M is currently available for these operating systems:

    • Windows NT, 95 and 3.1
    • DOS
    • UNIX
    • OpenVMS

    InterSystems' Open M implementations are available on hardware platforms from computer vendors as diverse as: Altos Computer Systems, Data General, Digital Equipment Corporation, Hewlett-Packard, ICL, IBM, Motorola, NCR, Pyramid, Sequent Computer Systems, Sun Microsystems, and Texas Instruments.

    On­Line, High-Volume Database Management

    On-line database applications operate the modern business. These applications are the basis of increasing productivity and improving customer service. When they excel, they are at the heart of competitive edge. But when they fall short, they can be the basis for considerable competitive disadvantage. Transaction-intense applications are very demanding, especially in the following areas:
    • Performance
    • Portability/Interoperability
    • Low Cost
    • Reliability
    • Scalability
    • Simple System Management

    Client/server applications are typified by a large number of concurrent users accessing massive databases. At any moment, hundreds or even thousands of users need near instantaneous response from a mission-critical database system. Furthermore, the numbers of users and transactions and the size of the database grow rapidly and continually. It is typical that the database and the number of users and transactions grow from ten to a hundred fold from the initial plan.

    Open M, however, is optimized for the rigors of transaction-intense applications. Its client/server architecture ensures elastic scalability for growth and easy management for low cost. The inherent M and SQL capabilities provide exceptional portability and interoperability. Thanks to its data-caching algorithms, Open M's performance is excellent on networks, plus shadow and fail-safe technologies keep the data accurate and available around the clock.

    Cost-Effective Client/Server

    Unlike many alternative technologies, InterSystems' client/server architecture is focused on mission-critical enterprise applications. To illustrate this point, consider the Open M deployment at the Brigham and Women's Hospital in Boston, Massachusetts. 40 PC servers support a 4,600-node network with 14,000 database accesses a second against an integrated 76-gigabyte database supporting all the applications needed to run a $650 million enterprise with 24-hour-a-day, 365-days-a-year operation. And this massive, client/server network costs only 0.9% of the organization's revenue, at a time when the national average is 2%. This network will swell to 10,000 nodes by the year 2000, while maintaining its frugal cost-to-revenue ratio.

    Even on this massive scale, Open M delivers a highly cost-effective client/server system, requiring only:

    • About 50% of the hardware and software costs of alternatives.
    • A fraction of the support and administrative costs of alternative systems.
    • Less attention from database administrators and technical services staff.

    And, of course, the quality is there, because Open M's client/server architecture -- even on the enterprise scale -- provides:

    • Quick response time, even on traffic-ridden networks.
    • Remarkable scalability that keeps up with a growing enterprise.
    • Simple, centralized configuration of servers, clients, and routers.

    Many VARs are reluctant to move into client/server DBMSs because they're concerned about the costs of deployment, maintenance, and support. Performance is a thorny issue when a GUI is involved. A VAR's business could fail if a costly, slow-responding GUI/client/server development platform is chosen. A VAR must be sure of success before converting a host/CRT system to a client/server system.

    Open M is cost effective. With Open M, a VAR can implement a client/server system at about 50% of the hardware and software costs of alternatives. Plus, support and administrative costs are a fraction of alternative systems, since Open M requires less attention from database administrators and technical services staff. And Open M is well-known for its rapid prototyping, thus reducing development costs.

    Open M Benefits

    The capabilities that enable Open M to deliver high-performance client/server processing at this massive, enterprise-wide level are:

    High Performance -- The hallmark of Open M has always been performance. From the beginning, Open M's compiler and database engine have been optimized for massive transaction-processing applications with exceptional responsiveness.

    Cost-Effectiveness -- Compared to other client/server technologies, Open M delivers dramatically lower computer platform costs and almost nonexistent costs for overhead systems administration and management services.

    Scalability -- Growth is an inherent part of any enterprise client/server infrastructure. InterSystems provides a DBMS where an application can grow from a single client to a massive network without any application recoding.

    Portability/Interoperability -- Open, standards-based technologies are key to deploying mission-critical client/server applications throughout the enterprise. InterSystems supports more than 25 different platforms, ranging from PCs through UNIX workstations, server, and minicomputers, ensuring application portability and interoperability in every enterprise area.

    Reliability -- Enterprise client/server applications depend on continuously available data. A combination of shadowing and an innovative fail-safe data management technique ensures that failures anywhere in the system are detected dynamically and recovered. Open M performs writes to the database in a sequence such that either the dataset is intact or all the information needed to fix it is held in a "safe" file. The recovery process happens quickly and automatically when the failed system restarts, with no loss of data.

    Manageability -- Application deployment and administration is critical for client/server. Open M supports an on-line database that records a map of all the datasets and namespaces (similar to directories) available on a network. Workstations on the network read the map to know which datasets are accessible. You can alter the map dynamically, as a means of adding or removing a dataset from the network, and all the workstations and servers know immediately, without need to restart any of them.

    This dynamic configuration mechanism gives your system high availability, even when making substantial configuration changes. Since the configuration map is maintained in one central location, it gives the system manager more control and convenience. Furthermore, when defining a dataset in the map, the dataset can inherit the properties of another, with or without overriding some properties, thus simplifying your work when you plan and configure the map. With this centralized configuration scheme, you can manage a large system without the usual legions of tech services, systems administration, and DBA staff.

    Open M for Windows NT

    Windows NT is like Open M in that both offer high performance at a relatively low cost, with extraordinary platform portability and interoperability. The combination of Open M and Windows NT provides productive development and deployment environments for enterprise-wide client/server applications with low maintenance and administration costs. In other words, Open M for Windows NT delivers the superb price-per-performance that has traditionally made InterSystems' VARs profitable.

    Besides the usual benefits of Open M, Open M for Windows NT offers:

    • Native 32-bit processing
    • Support for symmetrical multiprocessing (SMP) hardware
    • ODBC, OLE, and DDE support

    Open M for Windows NT can fulfill many roles in your application. But it has special significance for developers who are moving their applications to a 3-tier client/server architecture. In this deployment model, Open M for Windows NT makes an excellent choice for the application server typically found in the middle tier. Windows NT offers simplified system management through Microsoft's SMS, and Open M for NT comes with a large suite of easy-to-use management utilities. Hence, this combination gives you a sensible migration path that introduces NT into your organization, helps you move to a 3-tier client/server architecture, and gives you a tier that is easy to administer.

    Open M's rich set of utilities enhances the administrative capabilities of Windows NT, to make system administration even easier. All Open M utilities are accessed through a single easy-to-use graphical user interface. This interface is organized as tabs in a dynamic dialog box, so that the user can move quickly between the utilities for routine management, global management, system management, and network management.

    GUI InterFace

    Click for full screen image.

    The development environment of Open M for Windows NT is Visual M (discussed in detail on page 25). This way, the programmer has the powerful editor and routine management capabilities of the M/DeskTop, plus the industry-standard visual development environment of Visual Basic.

    Open M Components

    Open M is a full-featured DBMS that supports the M language with its direct database access (as well as a long list of other capabilities). To this rich set of capabilities, Open M's relational functionality adds a data dictionary, embedded SQL, querying, and reporting.

    Component parts of Open M include:

    Open M/Server -- High-performance networking software that provides local- and wide-area access to Open M databases.

    PC-LAT -- Local Area Transport (LAT) protocol link between M and terminals, printers, and other devices.

    Visual M -- Custom Controls that enable you to write graphical user interfaces for your Windows applications using Microsoft's Visual Basic or any development environment that supports VBX/OCX controls or calls to a Windows DLL.

    Visual M Server -- For client applications written using Visual M technology that need to communicate with an Open M server.

    Developer -- Development environment and application generator with tools for defining user interface components such as windows, menus, and help topics.

    M/PACT -- Report writer with an SQL query processor.

    Relational Client and Relational Server -- Interoperability products enabling M or non-M applications and tools read/write access to M databases via Open Database Connectivity (ODBC) and the Oracle Call Interface (OCI).

    Back to Table of Contents


    Open M's Relational Capabilities

    Open M's relational capabilities include an integrated application development environment for relational database applications with high-level tools for defining a data dictionary, data-entry and edit windows, reports, and queries. Open M installs in minutes, and its relational capabilities are ready to use as soon as you have described your data structures in the data dictionary.

    Open M combines two ANSI- and ISO-standard languages -- SQL and M. Its purpose is to develop M applications that access data via SQL queries. This provides a conduit for all SQL requests against your M database.

    The benefits of relational Open M include a productive development environment, automatic referential integrity for accurate databases, low program maintenance, self-documenting system, support for business rules encoded in the data dictionary, and an excellent price/performance profile for deploying cost-effective solutions. For developers who already have deployed applications based on ANSI M, the relational capabilities of Open M preserve their investment in software by interfacing with existing databases with little or no modifications to the existing application.

    Open M is uniquely positioned to serve two relational markets:

    • M application developers who wish to add relational technology to existing or new M production systems, or who wish to take advantage of the features and functions offered by Open M's relational toolset.
    • General application developers who would benefit from the excellent price/performance, scalability, and integration of the Open M's relational development and run-time environments.

    The "open" in Open M reminds us that its development and run-time capabilities are not restricted to a specific M implementation. In fact, Open M's relational capabilities run layered on top of all the major ANSI M platforms. This way, you have a common development environment that you can combine for run-time with the platform(s) you need.

    Supported M implementations include:

    • All versions of Open M from InterSystems
    • MSM from Micronetics Corporation

    The relational power of Open M provides sophisticated client/server interoperability, enabling dozens of decision-support packages (such as Microsoft Excel, Q+E, LightShip, FOCUS, and others) to query and update Open M databases.

    The Open M components specific to relational capabilities are:

    Developer -- A development environment for building forms, menus, and help topics.

    M/PACT -- A report writer.

    Relational Client/Server -- Software that implements an interoperability link in the client/server model so that any application supporting ODBC or OCI can query an Open M database.

    The following sections of this guide discuss each of these components.

    Open M Developer

    Developer is a code-generating environment for developing M applications that view M databases relationally. It provides excellent tools for creating a user interface that consists of character-based forms (with windows and menus) for data entry, reporting, and inquiry. The components of Developer are:

    Form Generator -- Builds interactive data-entry/inquiry screens, organized as windows and dialog boxes, for character-cell displays.

    Menu Generator -- Brings forms together into a coherent user interface through a menu system that includes menu bars, pull-down menus, and popup menus; these can be placed in various positions and orientations.

    Application Help Facility -- Gives the developer an authoring tool for writing on-line help for an Open M relational application; help invocation is context sensitive, and the authoring tool provides a mechanism for organizing on-line help topics into a printed manual.

    Developer gives the programmer a visual method for arranging user interface components and a menu-driven method for defining metadata. Once an application and its data structures are defined, the application is compiled to generate code in M with embedded SQL. This generated code can then be deployed and run on any Open M implementation that supports SQL.

    Applications created with Developer have the look and feel of a GUI. It uses line-draw characters to form windows, and these windows can overlap on-screen, as in any GUI. Furthermore, menu bars with accelerator keys that pull down menus give the user an interface comparable in functionality to a GUI.

    Screen Shot

    Click for full screen image.

    A user interface created with Open M Developer is highly portable. The application will run on any platform supported by Open M, and the user interface will function perfectly without any porting or rewriting of any kind. In a mixed-hardware situation, this could be ideal, since the application and its user interface will function consistently over a wide variety of media: on character-based terminals, on low-end nongraphical PCs, in a Windows DOS box, on a workstation in terminal-emulation mode, or via commercially available communications software.

    Open M Developer was designed with a wide range of programmers in mind, allowing users to work at the level that suits them best. For instance, it is possible to develop database applications without writing a single line of code. You can accomplish this with the high-level, visual environment of Developer, which automatically generates all the code needed to run the application. At the other extreme, a technically minded programmer can embed M and/or SQL code in Open M applications, or create user interfaces with Developer that call M routines. For the code-writing programmer, Open M Developer provides an editor, debugger, and a macro facility.

    No matter the technical level of the programmer, Open M Developer gives you the tools you need for creating end-user applications that are easy to build and easy to use.

    M/PACT

    M/PACT is a data reporting tool that combines a report writer and SQL query processor. It provides full control of data selection, content, sorting, and formatting of reports -- with a simplicity that allows you to produce quick reports with minimal effort. M/PACT is designed for use by the widest possible audience, from nontechnical end-users to professional programmers. M/PACT is easy to use and can be learned quickly because it consists of fill-in-the-blank screens presented in a window-based user interface.

    Mpact

    Click for full screen image

    Based on SQL technology, M/PACT gives the programmer full control over how report data is selected and presented. Eleven selection types -- ranging from simple equality tests to powerful string and pattern-match operations -- combine with full Boolean logic to filter data and capture just the information you need. Formatting capabilities include column size, title, page breaks, headers and footers, line spacing, and other layout features.

    Open M has a robust Query Processor, which results in high-performance SQL querying -- including that generated by M/PACT. The Query Processor selects the best database access route for a particular request. It then compiles the request into efficient M code, often surpassing what a skilled programmer could have achieved.

    Relational Client/Server

    InterSystems' Open M Relational Client/Server software enables non-M applications to access Open M relational databases. In other words, third-party, off-the-shelf applications (as well as custom applications written in various languages) on a client system can retrieve data from an Open M relational database located on a server system.

    Open M Relational Client/Server consists of two software components:

    Relational Client -- Packaged as a set of drivers to be run with third-party applications, the Relational Client manages communications between the client application and the Relational Server.

    Relational Server -- An optional feature of Open M, the Relational Server handles requests from client applications to an Open M relational database.

    Open M Relational Client/Server fully supports the client/server processing model, with user interface or computational processing occurring on one computer linked to database services provided by another. Open M Relational Server implements Open Database Connectivity (ODBC) interface, or presents itself via the Oracle Call Interface (OCI). Through these interfaces, Open M Relational Server gives access to an M database from any product that supports OCI or ODBC. Thus, M data can be accessed by a wide range of third-party software products, such as CASE tools, executive information systems, GUI development tools, and spreadsheets. This high accessibility does not require modifications to the M database. Once M globals are described in the data dictionary, they are accessible for retrieval and update.

    All you need to operate Relational Client/Server is:

    • A Relational Client driver installed on the client computer.
    • An M server licensed for the Relational Server option.
    • Non-M applications querying the Relational Server through ODBC or OCI, presenting their requests in SQL.
    • TCP/IP or DECnet, if the query is to traverse a network.

    In stand-alone configurations, the query is passed via the Memory to Memory (MTM) protocol. The following illustration shows the operation of Relational Client/Server.

    Memory to Memory

    Open M Relational Client/Server supports:

    • Two APIs -- Open Database Connectivity (ODBC) and the Oracle Call Interface (OCI).
    • Cursors and query optimization.
    • Stored Procedures -- These improve performance with frequently used SQL requests by assigning a name to such a request and saving it for future use.
    • Multi-Row Requests -- When retrieving data, a single call can return several rows (or records) to reduce processing time and network traffic.
    • Two levels of data security -- SQL security (using the commands GRANT and REVOKE) and site-specific M routines for screening requests.

    Back to Table of Contents


    Open M/Server

    Open M/Server is high-performance networking software that provides access to Open M databases on local- and wide-area networks.

    Open M/Server supports a variety of database protocols, including:

    Distributed Cache Protocol (DCP) -- a block-oriented protocol with local caching, proprietary to InterSystems, which provides spectacular performance, even in large client/server installations.

    ISNET -- proprietary to InterSystems, this message format protocol is for sharing globals among Open M platforms.

    Open M Interconnect (OMI) -- ANSI-standard protocol for accessing M databases on other vendors' M systems.

    DSM­DDP -- Digital Equipment Corporation's Distributed Database Protocol (DDP) for connectivity with any DDP-capable system.

    Serial Networking -- for accessing M databases via serial lines.

    These database protocols operate over a variety of network protocol stacks. Various versions of Open M/Server use high-level Application Programming Interfaces (APIs) or standard interfaces to access NetBIOS, raw Ethernet, IPX/SPX, TCP/IP, Packet Drivers, NDIS, and RS-232. Connectivity is also available through a TCP binding and Local Area Transport (LAT) devices.

    Distributed Cache Protocol (DCP)

    The inherent client/server design and Distributed Cache Protocol (DCP) that are unique to Open M provide strong support for moving to a high-performance distributed client/server environment. The Open M philosophy of "code once, run everywhere" not only means total portability, but also transparent client/server. Both server-intense and client-intense processing are supported and transparent to applications.

    DCP dynamically distributes the database across the network in response to processing demands, to decrease network traffic and to improve response times. This innovative communications technology provides two levels of transparency that are essential for large-scale client/server applications. With location transparency, application developers need never be concerned with the physical location of data. In fact, data can be relocated at will, without modifying an application or interrupting its use. Through performance transparency, DCP delivers throughput and response time approaching that of non-networked configurations.

    Open M affords two "views" of data. Direct Access looks straight at the data in an M database locally or via the Distributed Cache Protocol. The response time and network traffic required for this view is minimal due to the caching capabilities of the protocol. The other view looks at data via SQL. The SQL View provides connection to a wide variety of databases, as well as the querying power of SQL.

    Access Methods

    This proprietary database protocol has predictive algorithms that reduce the number of disk reads and network operations. Distributed Cache Protocol (DCP) encloses multiple database records in each packet, and then caches copies of data pages on the client, such that the client can satisfy almost 90% of all read operations from its local cache.

    DCP

    This block-oriented approach to packets -- combined with the fact that the client usually needs to look no further than its own cache -- means that network traffic is dramatically reduced, thus removing much of the load from servers, network adapters, and other media. Furthermore, data-intense applications on the client tend to run blisteringly fast, since they most often access a cache in memory instead of a disk. Indeed, DCP is one of the features that makes Open M the best choice for high-volume database applications.

    Special Network Features

    Shadow Server

    The Shadow Server ensures high server availability and protects the integrity of a database. A dedicated computer, the Shadow Server, keeps a hot backup copy of a server's database. If the live server fails, the Shadow Server can step in as a live server in a matter of minutes. Furthermore, if you back up the dataset from the Shadow Server (rather than the live server) the network continues normal operations during the backup cycle. Since the Shadow Server automatically updates the live server when you bring it back on­line, you always have two complete copies of your database. For extra protection, it is possible to run multiple Shadow Servers.

    Bullet-Proof Networking

    Client jobs suspend processing automatically when a server goes off-line. A background process on the client then polls the network repeatedly, reconnecting to the server when it comes back on-line. In the meantime, the background process attempts to display a message on the client, telling the user that the server connection is lost. This "network hardening" eliminates the need to restart Open M applications on the client.

    Network OS Compatibility

    Open M/Server's networking component is compatible with many network operating systems, including:
    • Novell NetWare DEC Pathworks
    • Banyan Vines 3Com 3+ Open
    • LANtastic by ArtiSoft MS/Net and derivatives
    • Microsoft LAN Manager IBM LAN Server
    • Windows for Workgroups Products with NetBIOS

    Thanks to this compatibility, you can develop custom Open M applications and deploy them as just another service available on your office network.

    Back to Table of Contents


    Visual M

    InterSystems gives application developers a selection of tools for development in Microsoft Windows, so that you can choose the method of developing a Graphic User Interface (GUI) that best suits your needs and your style.

    Visual M technology includes the following GUI tools:

    Visual M -- Enables you to create a GUI for your Open M application with Microsoft's Visual Basic, writing event-handling code in M, BASIC, or a combination of the two. The underlying layers are OCXs or VBXs, so it is also possible to use other development environments, such as Borland's Delphi and PowerSoft's PowerBuilder.

    M/DeskTop -- A professional editor that supports syntax checking and coloring for the M language.

    Visual M Server -- A server process (running in an M implementation) that your Visual M user interface communicates with. The remote capabilities of this server let you distribute the code of your application on the client, on the server, or some combination of the two.

    Visual M

    Visual M merges the graphical layout capabilities of Visual Basic with the programming power and industrial-strength database of Open M. By using Visual M's powerful OCX/VBX custom controls, you can employ Visual Basic's easy-to-use graphical approach to build the user interface, then write event code for the user interface objects in M, in the Visual Basic language, or both. This way, you choose the language that best suits the function: Visual Basic for controlling the user interface, M for database operations, or a combination of the two for application logic. Visual M's custom controls can be used in conjunction with any others, including those from Visual Basic, your own, or any of the hundreds of custom controls available from numerous vendors.

    Besides a tight integration with Visual Basic, any front end that can call a Windows DLL can use Visual M technology to access Open M databases. This includes development environments such as Borland's Delphi, Microsoft's Visual C++ and PowerSoft's PowerBuilder. Furthermore, you have all the connectivity power of Windows at your disposal, so your Visual-M-created applications can tap into Dynamic Data Exchange, Object Linking and Embedding, and Open Database Connectivity. Plus, your GUI applications can view data in Open M via Direct Access or SQL.

    M/DeskTop

    As part of the Windows-based development environment, Visual M includes the M/DeskTop. This is a full-featured editor including a multi-document interface (MDI) with window management commands. Its many options (all user selectable) include context sensitive indentation and coloring of syntactic language elements. M/DeskTop also provides a handy toolbar, a sophisticated search-and-replace facility, status line messages, and complete documentation available through on-line help.

    Desktop

    Click for full screen iimage

    Microsoft's Visual Basic is known for its fast and easy GUI development, just as M is known for its rapid prototyping of DBMS applications. Combine the two in Visual M, and you have a highly time-efficient development environment. You also have a great wealth of Visual Basic after-market tools to increase your productivity, plus the support facilities of Microsoft Corporation. Furthermore, Visual Basic is a de facto GUI programming standard. That makes the manager's job of recruiting and keeping qualified programmers much easier.

    Visual M Server

    One of the issues involving distributed client/server applications is the location of code. Ideally, the developer/deployer should be able to decide how much of the software is housed on clients and how much resides on servers. The developer/deployer could then distribute the code, based on the needs of the application and the reality of the deployment situation.

    Generally, client/server applications are client-centric; these are sometimes called "thick client/thin server" applications. This is where most of the application is run from event-handling code (or "methods") on the client machine, with occasional data operations on a remote server. This yields excellent performance on the client, but it complicates software updates and other administrative tasks.

    Open M certainly supports thick client distributions, but it also enables you to distribute the code such that application logic and database operations reside on servers. This type of "thin client/thick server" application is still event-driven by the client, but the actual event-handling code is on a remote server. Furthermore, an extremely thin client would require only the executable file compiled by Visual M, with no need to install Open M on the client. With the remote capabilities of Visual M Server, you can centralize your client/server application on the server for more facile control, security, and administration.

    Visual M Server enables you to architect the client/server relationship flexibly. You can deploy applications according to a 3-tier model (with isolated code for database, application, and presentation services distributed on separate machines) or a 2-tier model (where database and application services are combined on a server, but separate from presentation services on clients).

    For example, the following illustration shows five scenarios (lettered A through E) for distributing the code of an application developed with Open M and Visual M. The point is that the three services of a DBMS application (user interface, application logic, and data) may be distributed in diverse ways in a client/server architecture, thanks to the flexibility of Visual M Server.

    Scenarios

    A -- Thick Client/Thin Server (2-Tier) -- Open M is installed on the client's local hard drive, and the application is run from that installation. Data is accessed through Open M/Server. This scenario may be useful for the initial transition to client/server. It is highly appropriate for decision support and data analysis applications that rely on M processing intensely.

    B -- Thin Client/Thick Server (2-Tier) -- The client has only the executable file compiled by Visual Basic (plus any DLLs that Visual Basic requires). This executable uses the presentation services of Windows to effect the user interface. The Open M application runs on a remote server; the M server accesses data that is local to it or that is available through another server. The advantage here is that centralizing the application on the server simplifies software updates, security, and the handling of business rules. This configuration, however, tends to generate a lot of network traffic.

    C -- Medium Client/Medium Server (2-Tier) -- This approach assumes that the application involves enough M processing to merit installing Open M on the client so that portions of the application run from this local copy. You can distribute application logic between client and server, as you deem appropriate.

    D -- Complex Distribution, involving Multiple Servers (3-Tier) -- In truly enterprise-sized client/server installations, it makes sense to break up massive databases across several database servers. Likewise, a large suite of applications may be distributed across two or more application servers. The larger the client/server system, the more important centralization of data and application code becomes. Hence, the thin client is especially appropriate in this scenario.

    E -- Stand-Alone (1-Tier) -- This configuration does not take advantage of Open M's client/server capabilities, but it shows that it is possible to satisfy all three tiers of the Windows application on a single computer that has Open M installed on its local hard drive.

    The paired products Visual M and Visual M Server work together in a complementary fashion to provide great flexibility in code distribution during deployment. Instead of being forced into a single client/server architecture, the developer can design applications that utilize a code distribution that makes sense. You can create a thick client, a thick server, or some gradation in between. You can even make these decisions at the time of deployment, deploying the same application as a thick client at one site, and as a thin client at another.

    Back to Table of Contents


    Customer Profiles

    The Battistella Group

    The Battistella Group is the largest user of InterSystems Open M in Brasil. A conglomerate with diverse holdings (ranging from truck sales to forestry), the Battistella Group consists of 23 companies, with 4,600 employees in 85 offices throughout Brasil.

    The Battistella Group has 825 terminals connected to six HP RISC 857 computers running Open M for UNIX. They use InterSystems' full suite of relational products, including Open M Developer and the M/PACT report writer.

    Battistella began developing in-house database applications with Open M in 1988. "We chose Open M for the speed of application development, because it has outstanding performance, supports on-line users, allows you to connect many terminals to the computer without sacrificing performance, and because it is easy to learn," explains Antonio Timmermann, the Systems Manager for Battistella.

    Compucare Company

    Since 1968, Compucare Co. has provided comprehensive software systems to hospitals, managed-care organizations, and integrated healthcare providers across the US. In 1991, Compucare introduced their Open M-based healthcare applications, which today comprise over 56,000 routines and over 8 million lines of code.

    In 1994, Compucare introduced the Affinity Open Access suite of products, including client/server, graphical user interface, and SQL. To their existing applications, they added Windows clients and UNIX servers in a client/server architecture, as well as relational database access. According to Phoebe Stapleton, the manager of Compucare's TOOL Group: "It's fair to say that we might not be in business without the productivity advantages of Open M."

    Integrated Software Solutions

    Integrated Software Solutions (ISS) provides financial software solutions to the financial services industry through their application Corporate Universe. Developed with Open M and using SQL, Corporate Universe is deployed on computers running UNIX, VMS, or DOS.

    "When I've done analysis for new prospects, we've seen a direct correlation between the number of employees it takes to run a corporate trust department with our product versus a competitor's product," according to Luis Bonilla, vice president of marketing and sales. "And that can be anywhere from a 20% to a 40% difference."

    But flexibility is just as important as cost control. "Our system is flexible because it's table driven," continues Bonilla. "So you could have the same product in two locations and have them processing differently without us intervening, which is another benefit of Open M."

    Stewart's Ice Cream Co.

    With convenience stores throughout eastern New York and Vermont, Stewart's Ice Cream Store Co. Inc. has been highly successful in a flat industry with its vertical integration.

    Manufacturing, distribution, and warehousing operations (as well as financial reporting) for more than 250 stores and the corporate office are supported by a transaction-processing system running on an IBM RS/6000 and two DEC Pentiums, which support over 90 terminals in two locations. Developed and maintained in-house by Stewart's MIS staff of only six, these Open M for UNIX applications handle 50,000 transactions a day, seven days a week.

    "In today's market, information technology is an important component of every organization's competitive success," explains Bill Stack, Director of MIS at Stewart's. He estimates that Open M delivers a 50% productivity advantage on initial application development, a benefit that escalates to a 75% productivity increase when it comes to ongoing maintenance of mission-critical applications. "With $400 million in sales, our MIS annual budget is around $1 million. This is significantly less than the expense-to-sales ratio of the competition."

    Corning SciCor

    Corning SciCor is a global operation headquartered in Indianapolis. It provides central laboratory and data management services for the pharmaceutical industry.

    Charles Harp, Project Manager for New Product Development, recently received a mandate to modernize a legacy M application, which Corning SciCor used for many years to collect and maintain data. Their small in-house team developed SMART™ (the Specimen Management Allocation, Referral, and Tracking system), and Corning SciCor upgraded hardware from a VAX cluster with 420 terminals to Alpha servers with over 500 Pentium clients.

    "We needed to do something that would give us a quantum leap in productivity without adding a bunch of people," said Harp. So, they settled on DSM 6.4 with Visual M technology. This enabled them to rapidly produce a new GUI for the client PCs (using Visual Basic as the development environment), while maintaining their long-standing investment in M-based routines running on the data servers. "Originally the deadline was a two-year project," Harp said. "We went live with the beta in August of the same year. It was incredible!"

    But they did more than just tack a GUI on the front-end of a roll-and-scroll legacy application. Corning SciCor rethought their entire business process, and arrived at a GUI that saves time and helps the user do a more precise job. "The users fight over who gets to do the data testing, because they really like using it," according to Harp. "They love the graphical interface."

    Back to Table of Contents

    Return to Main Open M Index


    Home | M Technologies | Support | Company | Contact

    MOVE TO CACHÉ

    © Copyright 1996-2000 InterSystems Corporation. All Rights Reserved.
    email: wwwadmin@intersys.com

     
    Rule
    Rule