M
Technologies
Open M Technology
Guide
Table of Contents
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.
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.
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.
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.
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
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 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.
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.
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.
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.
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 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 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.
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.
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 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.
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.
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.
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 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.
DSMDDP -- 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.
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.
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.
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.
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 online, you always have two complete copies of your database.
For extra protection, it is possible to run multiple Shadow Servers.
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.
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
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 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.
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.
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.
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
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
|