From: Richard Maher <richard.maher@rto.dec.com>
Newsgroups: comp.os.vms
Subject: Help sought from software developers
Date: Thu, 27 Feb 1997 11:23:42 +0100
Organization: TIER3 Software
Lines: 100
Message-ID: <331560AE.3BCC@rto.dec.com>
NNTP-Posting-Host: edsc01.rto.dec.com

Article 166476 of comp.os.vms:
Hi,

I need advice from some of the successful (preferably "one man shop" to
small) software developers out there.

I have recently developed a client/server middleware package called TIER3
and am having trouble getting it to market. The people that I have talked
to in various companies, although very interested, always seem to balk at
the prospect of support. (ie: How long will you be around? Hit by a bus
scenario etc)

How have you people overcome these concerns?

I will shortly be commencing work on TIER3 V2.0 as (all modesty aside :-)
I know it is what VMS developers want/need, but I also need to pay the
rent. So if any of you have had experience (good/bad) with partnerships,
leaving the source code with lawyers, or just plain selling something
out-right, and would like to share those experiences please let me know.

Regards Richard Maher.

PS. Below is a brief description of TIER3.

                                    TIER3

                              Functional Overview
                              -------------------

  Tier3 is the client/server system that enables remote client access to your
  server system resources.  As the middleware residing between the client and
  server components of your application, Tier3 regulates and schedules client
  requests,  allocates the resources necessary to satisfy those requests, and
  channels the resulting output back to the requesting client.

  Similar to a  Remote  Procedure  Call,  Tier3 allows a remote client (eg: a
  Powerbuilder program on a Windows PC) to access your 3GL routine running on
  a  VMS  server.  But unlike other  RPC  implementations,  TIER3  offers the
  following benefits:

  . Transparent Multi-Threading. Tier3 provides an independent multi-threaded
    communication server for each application. This relieves your server code
    from the need to perform its own threading and mutexing.

  . Application Based Tuning & Configuration. Because every Tier3 application
    has its own  communication server,  inter-application resource contention
    is reduced,  and each application on a given node can be tuned/configured
    independently.

  . Persistent Network Connection.  Once  accepted,  the  network  connection
    between client  and communication server  is maintained until either your
    client  or your server code asks specifically for it to be dropped.  This
    removes the overhead of having to obtain a channel, request a connection,
    and  pass authorization,  each time a client  needs to access your server
    application.

  . Secure Client/Server Applications.  In  addition  to  ensuring that  only
    authorized clients can access your application, Tier3 also identifies the
    username  that the client is entitled to assume on the server node.  This
    allows your  server application  to  perform  additional security checks,
    perform charge-back accounting,  or maintain an  audit trail  of  who has
    been modifying a database.

  . Re-usable Execution Servers.  Tier3  execution servers are re-usable on a
    transactional basis,  with your  development team  controlling how long a
    transaction, or server affinity, will be maintained.  This is achieved by
    effectively supplying your 3GL  RECEIVE  routine with a  full-duplex,  or
    conversational, pipe as its only parameter.

  . Dynamic Execution Server Creation.  As   client  demand   dictates,  each
    application's communication server  will grow/shrink the execution server
    processing pool,  in accordance with  the  parameters  specified  by your
    system manager in the Tier3 Configuration File.

  . Preservation of Existing Investment.   Tier3  server  development  is  as
    simple as creating a  shareable image  containing the six  subroutines or
    User Action Routines that  Tier3  will activate on your behalf during the
    life of an execution server.  Your  UARs  can be written in any 3GL,  and
    have the complete  VMS  execution environment at their disposal.  You are
    free to spawn a sub-process, perform inter-process communication, or your
    server application can become a client of another Tier3 application  on a
    different node.
    This ability to re-use/incorporate  existing 3GL code into your new Tier3
    applications, coupled with the fact that your development staff will find
    very little difference between developing  Tier3  server applications and
    developing  any other  VMS  application,  means  that  your  existing  IT
    investment is preserved.

                                                                   Contd. . .

                                      -2-

  . No Tier3 Specific Client Software Required.  By not layering another  API
    on top of the standard  Socket  or System Service interface, Tier3 allows
    your  client developers  unrestricted access  to the  underlying  network
    protocol.  Performance features such as asynchronous SENDs and Interrupt/
    Out-of-Band functionality are all available to you.

  In summary,  once your organization has decided that it needs the security,
  performance, scalability and functionality of a three-tiered  client/server
  architecture,  then  your organization  will  need  TIER3.