z390 Portable Mainframe Assembler and Emulator

z390 Service Oriented Architecture Application Generator Support

Automated Software Tools Corporation

z390 EXEC SOA Overview

System Oriented Architecture (SOA) is a software design model to address the need to share and reuse application components across diverse applications and network users (see references).  z390 now includes tools to enable users to generate low level SOA type z390 client server assembler applications which run on any platforms supporting J2SE and TCP/IP sockets.  No other frameworks or languages such as XML or C are required.

Starting with v1.3, z390 includes a new TCPIO macro to support client and server TCP/IP messaging using sockets via SVC X'7C'.  z390 servers can issue OPEN to listen for messages from clients on a specified port.  z390 clients can issue OPEN for specific HOST port to connect and SEND and RECEIVE messages from the server.

A z390 demo application consisting of a main program DEMOMAIN.MLC which calls 2 subroutines DEMOSUB1.MLC and DEMOSUB2.MLC are included in new SOA directory.  As a base line, the demo can be assembled, statically linked, and executed locally using the command SOA\DEMO\DEMOSTD.BAT.  Then the demo can be converted to an SOA client server application, assembled, linked, and executed using the command SOA\DEMO\DEMOSOA.BAT.  The demo SOA application generation is driven by the user defined SOAGEN macro call:

   SOAGEN MAIN=DEMOMAIN, MAIN CLIENT APPLICATION PGM X
                    CLIENT=DEMOCMGR, SOA CLIENT MSG MGR NAME X
                    SERVER=DEMOSMGR, SOA SERVER MSG MGR NAME X
                    HOST=*, (192.168.1.3) HOST SERVER NAME (*=LOCAL) X
                    PORT=3900, HOST SERVER PORT X
                    SERVICES=((DEMOSUB1,-45,-45,45), SERVICES WITH PARM LEN X
                    (DEMOSUB2,-4,-4,4)), (NOTE -LENGTH FOR READ ONLY) X
                    MACDIR=D:\WORK\Z390\SOA\MACLIB, SOA GEN MACRO DIRECTORY X
                    GENDIR=D:\WORK\Z390\SOA\DEMO, DIRECTORY FOR SOA APPL X
                    GENBLD=DEMOBLD, GENERATED BUILD BAT FILE X
                    GENRUN=DEMORUN GENERATED RUN BAT FILE
   END

The z390 SOA application generation macros create the following source files from the above:

  1. DEMOCMGR.MLC - demo application client SOA message manager.
  2. DEMOSMGR.MLC - demo application server SOA message manager
  3. SOA_STUB_DEMOSUB1.MLC - demo application stub for service calls to DEMOSUB1
  4. SOA_STUB_DEMOSUB2.MLC - demo application stub for service calls to DEMOSUB2
  5. DEMOBLD.BAT - command to assemble and link the demo SOA application
  6. DEMORUN.BAT - command to start server and then run the client application

The z390 SOA generated command DEMOBLD.BAT builds the following executables:

  1. DEMOMAIN.390 - demo client main program statically linked with 2 SOA stubs for service calls.
  2. DEMOCMGR.390 - demo SOA client message manager dynamically called from stubs
  3. DEMOSMGR.390 - demo SOA server  message manager processes messages from client
  4. DEMOSUB1.390 - service loaded by DEMOSMGR on first service call
  5. DEMOSUB2.390 - service loaded by DEMOSMGR on first service call

The demo SOA client server application has been run on single CPU, local LAN connected client and server PCs, and again on wireless LAN connected client and server PC's to generate initial z390 SOA Demo Timing Statistics showing that after initial transaction, the average overhead for the z390 SOA TCP/IP messaging is about 2-3 milliseconds.  For complex services performing I/O to databases, this overhead is relatively negligible compared to the major benefit of simplifying the sharing and maintenance of services across diverse applications and users.  Future plans for z390 enhancements will include support for XML and registry type services to provide unit test environment for higher level SOA type application components.

References:

 

This page last updated Tuesday May 20, 2008.   Webmaster  Sitemap
Copyright 2006 Automated Software Tools Corporation