Skip to main content

RPC and API Middleware Extend From the 1980s to the Present

Although RPC and API are in different middleware categories, they both are centered on the implementation on the notion of a useful and flexible interface.

"IT Trendz" in white against a purple banner, white chat bubble in righthand corner, with dots connected by white lines against a blue background.

This week, I’m continuing this series on middleware. With this post, I continue to fill out the details of the categories (see a list at the end of the article) by highlighting the powerful examples of remote procedure call (RPC) and API middleware. Although RPC and API are in different middleware categories, they have some characteristics in common as they both are centered on the implementation on the notion of a useful and flexible interface. RPC is a standard that’s implemented in products like IBM z/OS® Communications Server is a great example. API is a way of programming that leverages protocols like REST and SOAP. Standards are in the API mix as well including HTML, XML and JSON. Let me get into more details.

RPC in the z/OS Communications Environment 

High-level RPCs are implemented in TCP/IP using the RPC programming interface to the C language. With the RPC protocol, you can remotely run subroutines across a TCP/IP network. RPC, together with the eXternal Data Representation (XDR) protocol, defines a standard for representing data that’s independent of internal protocols or formatting. For flexibility, RPCs can communicate between processes on the same or different hosts.
Significant Characteristics
Here are a few key characteristics of the RPC implementation. RPC is actually shorthand for open network computing/RPC, which grew out of the initial work by Sun Microsystems. Consider these noteworthy characteristics:
  • RPC, like NCS, SNMP-DPI, Mofit, X Window system and RAPI, is a programming tool supported by libraries implemented by the software supplier
  • The RPC interface enables programmers to write distributed applications using high-level RPCs rather than lower-level calls based on sockets
  • When developers use RPCs, the client communicates with a server
  • The client invokes a procedure to send a call message to the server. When the message arrives, the server calls a dispatch routine and performs the requested service.
  • The server sends back a reply message, after which the original procedure call returns to the client program with a value derived from the reply message 
Some Key Benefits
Here is a list of key benefits of RPC. This list is a mix of both technical and business benefits that result from the use of RPC for distributed applications.
  • RPC is an enabler for effective distributed computing that’s portable as it’s standards-based
  • It’s easy to build an RPC like an ordinary procedure call as the semantics are just like a local procedure call
  • RPC’s small packets minimize elapsed call time with no large data transfers
  • RPC has a simple building block: one call, one return (or exception)
  • RPC is transport independent, which makes code more portable to environments that may have different transport providers in use 
Latest Product Updates for Communications Server
Communications Server enhancements for z/OS V2R4 are in two areas: IP and SNA interfaces. RPC is functionally stable, but the IP support is growing with each new release. Here is a summary of the types or areas of Communications Server IP interface enhancements: 
  • PROFILE.TCPIP configuration file
  • Configuration files 
  • RACFÒ interfaces 
  • Operator commands 
  • TSO commands 
  • z/OS UNIXÒ commands 
  • Application programming interfaces and network management interfaces 
  • Environment variables 
  • Socket APIs 
  • IPCS subcommands 
  • SNMP MIB modules
  • User exits 
  • Application data
  • FTP client error codes
  • SMF record type 119 enhancements
  • z/OS UNIX /etc files
  • General updates of IP interfaces
  • Samples provided in MVS data set SEZAINST
  • Samples provided in z/OS UNIX TCPIP directory
RPC was at the beginning of distributed computing in the early 1980s. Today, since many programmers use object-oriented programming languages, we have middleware that supports distributed objects and remote method invocation along with RPC. In addition to ONC/RPC, we also have Open Software Foundation's Distributed Computing Environment and the Java® Remote Method Invocation. These are just two examples of enhancements to the remote invocation pattern.

API With IBM API Connect

According to Gartner, the API economy is an enabler for turning a business or organization into a platform. How is this possible? According to Gartner, the API economy is a set of business models and channels based on secure access of functionality and exchange of data. So, to answer the question, new models and channels make this possible.
In new ways, APIs make it simpler to integrate and connect people, places, systems, applications and data. Many businesses are implementing API management products to make what they already have, often called systems of record, more readily available to new systems of engagement, including mobile devices and cloud services.
Significant Characteristics
IBM API Connect is a product that has a scalable API platform that lets organizations create, securely expose, manage and monetize APIs so that their customers can power digital applications and spur innovation. Here’s a list of five characteristics of IBM API Connect using a lifecycle approach, from API creation to socialization. Use IBM API Connect to do the following.
  • Create APIs using simplified methods and a built-in toolkit that allow developers to automatically develop APIs that expose data, microservices, enterprise applications and Software as a Service options
  • Test and monitor APIs using automated and collaborative no-code testing to produce high-quality APIs. Monitor API health and set up notifications so you can solve potential problems quickly
  • Manage APIs including publish, govern, socialize, analyze, monitor and monetize activities
  • Secure APIs by applying built-in policies to help secure, control and mediate API delivery.
  • Socialize APIs by engaging internal and external API consumers through both a company-branded self-service portal and community-building capabilities
Some Key Benefits
Service providers know the benefits of software like IBM API Connect because they sell and deliver the software as part of their client solutions. Lightwell is an IBM Business Partner that helps clients deploy API Connect and they list these main benefits.
  • Speed development and time-to-market
  • Enable new business models and grow ecosystems
  • Drive innovation by tapping into developer and partner ecosystems
  • Realize new ROI via secure reuse of existing IT assets
  • Achieve faster innovation via self-service access to APIs 
Latest Product Updates for IBM API Connect
IBM API Connect Version 5.0, and later releases, delivers new function over the IBM API Management Version 4.0 release. The software can be deployed on premises in a data center or on IBM Cloud. Here are the new and changed functions in Version 5.0.8.
  • Access the caught exception in a catch block
  • Set the maximum number of concurrent Gateway server additions
  • Remove a Gateway server from a Gateway service
  • Emulate the behavior of IBM API Management Version 4.0 when handling backend server errors
  • Enable post processing of mapped JSON output from the Map policy
  • ( iFix 4 or later) Add new certificates to your DataPower® Gateway servers
  • Allow JSON payload to be accepted without parsing errors
  • Specify which SOAP port to use when importing a WSDL service
  • New option in the Map policy for setting input data log message severity
  • New API property for the Map policy to control the generation of default values for required properties
  • Removal of some commands from the developer toolkit CLI
  • Include an options file when importing a Web service description languages service
  • Micro Gateway is deprecated in favor of DataPower Gateway
  • Export the Management server configuration database in JSON format
  • Show and reset failed Developer Portal login attempts
  • Additional JWT cryptographic algorithms
  • New API properties
  • Ability to disable automatic refresh of your Gateway servers after a Gateway extension update
  • Map input properties with null values
  • Populate context variables for access by GatewayScript
  • New error cases are supported by the assembly catch construct
  • Added the ability to remove analytics event fields from being collected to reduce storage requirements
  • Updated the query list and results for the detailed health check API to check for cloud dissociation
  • Added the useBytesSent query parameter to selected APIs
  • Added the stat show apiconfig command to check the health of your management server
  • New isolate mode added to the config load apiconfig command for restoring your API Connect configuration
  • You can encode “+” characters in the query parameter values of the target URL of an Invoke or Proxy policy
  • You can enforce the JSON parser on the response rule for an Invoke or Proxy policy
  • Potential for performance improvement to the map policy
  • New API event field
  • Identifying and resolving an analytics split-brain condition in a cluster
  • Deleting user accounts and Developer organizations in the Developer Portal
  • Obtain simple health check data of Developer Portal sites by using a REST API call
  • View and select ciphers for TLS protocol versions used in TLS server profiles
  • Secure individual APIs with TLS mutual authentication
  • Configure a Gateway service to use Server Name Indication
  • Specify multiple OAuth redirect URLs for your application in the Developer Portal
  • Added support and a reference for Developer Portal REST APIs for analytics
  • Added the Analytics section when creating an API
  • Added the logs option to the system clean command
  • Added the analytics option to the system clean command
  • Customize the number of replicas of your Elastic clusters
  • Encourage the use of two-factor authentication in the Developer Portal
  • Features added to the integrated billing and payment management
  • Invoke automatically replaced in the gateway
  • The Linux distribution for the Developer Portal OVA is now based on Ubuntu Version 16.04
  • New API event fields
  • New query parameters for the Redirect URL
  • OAuth scope can be modified by third-party responses
  • Preventing browser CORS alerts in the Test tool
  • Enable Proxy 
  • Revoke single OAuth tokens
  • Secure APIs with third-party OAuth instead of Mobile First Foundation
  • Secure your APIs with OpenID Connect
  • SOAP update action no longer overwrites the API
  • Use Honeypot for spam protection in the Developer Portal
  • Using the Views module in the Developer Portal
  • View cluster information by using Elasticsearch REST API calls
The rate of transformation in IBM API Connect, as reflected by the list of new functions, is significant. It’s interesting and useful that APIs have been reinvented and brought forth in a completely new way. The old APIs, access methods like QSAM and VSAM, are vital and still in use. The new APIs, like those built with IBM API Connect, have usefulness in data sharing contexts and save costs and improve efficiency.

Middleware Categories

Here is the complete list of middleware categories that I came up with from my research, as well as the examples that I have discussed so far and in this space.

1. Database: IBM Db2® 
2. Application server: IBM WebSphere® Application Server Db2 
3. Message: IBM MQ 
4. Web: IBM HTTP server 
5. Transaction Processing Monitors: CICS and IMS 
6. Remote Procedure Call: z/OS Communications Environment 
7. API: IBM API Connect
8. Integration: featured in an upcoming article 
9. Portals: featured in an upcoming article 

Next Post

Next week, I’ll finish with the middleware topic as I share middleware product implementations for integration and portals.    
IBM Systems Webinar Icon

View upcoming and on-demand (IBM Z, IBM i, AIX, Power Systems) webinars.
Register now →