Web Server Ports and APLNext WebServices

General discussions related to APLNext's Application and Commerce WebServices and WebTransfer product.

Moderators: Tech Support, phpbb_admin

Web Server Ports and APLNext WebServices

Postby joe_blaze » November 15th, 2012, 9:58 am

The concept of a web server port is not an APL or Microsoft idea, but a feature available since the start of the public Internet. Ports are a way of separating incoming/outgoing traffic to/from a web server. Certain ports, e.g. port 80, and other low-numbered ports have been designated for certain purposes by convention so they are automatically opened on client workstations which are anticipated to be communicating with web servers.

For example if no explicit port is specified in a url, port 80 is implicit, so that the following urls are equivalent:
If a web server will do nothing but satisfy requests which are intended for an APL-based web service, then it is possible to use port 80 or one of the other conventionally open ports for the APL-based web service and the client workstation will not have to open any 'special ports'. This situation generally means that only the APLNext WebServices web server will be installed on the web server.

If a web server will satisfy requests which are intended for both an APL-based web service and a Microsoft Internet Information Services (IIS)-based web service, then a port must be designated for the APL-based web service so that requests intended for it will not be improperly directed to IIS and visa versa. This is because when IIS is installed on a web server by default it attempts to satisfy requests received on port 80 and other conventional ports.

With respect to APLNext WebServices, there are several ways to avoid having a client workstation open a special port and instead use a conventional port such as 80 for the APL-based web service:
    As noted above a web server can be exclusively devoted to satisfying client requests intended for an APL-based web service which is deployed using the ‘standard’ version of APLNext WebServices.

    Instead of using the ‘standard’ version of APLNext WebServices, use the ‘IIS-integrated’ version of APLNext WebServices which APLNext announced at the 2012 APL2000 Conference in Jersey City, NJ. The ‘IIS-integrated’ version of APLNext WebServices uses IIS to identify which client requests are intended for the APL-based web service, so port 80 can be effectively and efficiently shared between IIS and APLNext WebServices.

    Instead of having APLNext WebServices be publicly exposed to clients, introduce an intermediate Microsoft Windows Communication Foundation (WCF) service as an interface between the client and the ‘standard’ version of APLNext WebServices. The WCF service receives client requests through IIS using port 80 and then redirects that request to APLNext WebServices using the APLNext WebTransfer tool which is available on request to APLNext WebServices licensees.

    For an APL-based web service which will have an extremely light user load and for which high-speed performance is not a requirement, an IIS-based web service, using a conventional port and technology such as ASP, ASP.Net or WCF, can be deployed which directs a client request to an instance of APL+Win ActiveX server created transiently, request-by-request.

To learn more about web services technology, please contact sales@apl2000.com.
Attachments
Using Port 80 with APLNext Application Server.pdf
Using Port 80 With APLNext Application Server
(199.99 KiB) Downloaded 511 times
joe_blaze
 
Posts: 384
Joined: February 11th, 2007, 3:09 am
Location: Box 361 Brielle, NJ 08730-0361

APLNext Application Server, IIS Application Request Rounting

Postby joe_blaze » June 8th, 2014, 11:52 pm

APLNext Application Server, IIS Application Request Routing and Port Numbers

When a client specifies a url which points to a web server that url always incorporates a port number. Sometimes that port number is implicit, e.g. ‘www.apl2000.com’ implicitly uses port number 80 so the equivalent url is ‘www.apl2000.com:80’. Port number 80 is generally open on most client machines, so it is desirable to have a web service which listens for and responds to client requests using port number 80.

Supporting a web service on a port number other than 80 can involve additional effort on the client- and server-sides of the application system because those responsible for security may be reluctant to open additional port numbers for a web service application.

If the web server uses the Microsoft Windows operating system and if Microsoft Internet Information Services (IIS) is installed on that server, IIS will capture all incoming client requests on port number 80 and attempt to route them to IIS-specified web services. This is the default behavior of IIS.

Thus if an APL+Win function (entry point into an APL+Win-based application system) is to be exposed as a web service using APLNext Application Server, it would be desirable to use port number 80. There are several ways to have APLNext Application Server listen for and respond to client requests using port number 80:

• Use the IIS-integrated version of APLNext Application Server. This version includes an IIS ‘module’ which will cause IIS to properly route client requests through port 80 to the appropriate ‘virtual path’ associated with the APL+Win entry point function.
• Do not install IIS on the server side so that port number 80 will not be routed through IIS. In this case the traditional version of APLNext Application Server can be installed on the server side and listen for and respond to client requests directly using port number 80.
• Use an intermediate C# WCF web service deployed in IIS which uses APLNext WebTransfer to send appropriate requests to the traditional version of APLNext Application Server.
• If a cluster of web servers (at least two) is involved, install IIS on the servers in the cluster and install the Microsoft Application Request Routing (ARR) extension to IIS on the master server. ARR can be configured so that the master server will handle requests using port number 80 and the applicable requests can be routed to the slave servers using any desired port number. The traditional version of APLNext Application Server can be installed on the slave servers. Most production web service application systems require two or more servers in a cluster to support service level guarantees to the clients.

The attached pdf-format document describes the installation and configuration of the Microsoft Application Request Routing (ARR) extension to Microsoft Internet Information Server (IIS).
Attachments
IIS Load Balancing with Application Request Routing 20140318.pdf
Guide to installing and configuring Microsoft Application Request Routing (ARR) extension to Microsoft Internet Information Server (IIS)
(499.05 KiB) Downloaded 621 times
joe_blaze
 
Posts: 384
Joined: February 11th, 2007, 3:09 am
Location: Box 361 Brielle, NJ 08730-0361


Return to APL WebServices

Who is online

Users browsing this forum: No registered users and 10 guests

cron