The following figure shows the general AIA architecture.
Figure 16. AppServer Internet Adapter (AIA) architecture
Running AppServer applications over the Internet can present challenges because of the restrictive access policies enforced by many company networks. Companies often use firewalls to protect their internal systems from unauthorized access. A firewall is a computer and software that sits between a private network and the Internet. The firewall restricts the types of protocols that can travel into the internal network. The firewall often restricts the ports these protocols can use. For example, it is common to limit traffic originating outside a firewall to those applications using HTTP on port 80.
AIA is a Java servlet that is run by a Java servlet engine (JSE) and allows Java programs to run on a Web server. AIA supports deployment of distributed applications over the Web by extending the AppServer architecture to support the HTTP and HTTPS protocols. When you use AIA, communication between an AppServer client and an AppServer is encapsulated within standard HTTP requests and tunnels those requests through a Web server. AIA then converts requests that are encapsulated within HTTP or HTTPS to the standard AppServer protocol. This conversion process allows AppServer clients to communicate through firewalls without requiring a network administrator to allow additional protocols or ports to be accessed through a firewall.
HTTPS is HTTP tunneled through a Secure Socket Layer (SSL) connection rather than the standard unencrypted TCP/IP connection. HTTPS is used when privacy, integrity, and Web server authentication are needed in addition to HTTP tunneling over the Internet.
Note: This chapter focuses on AIA support for client access over the Internet. For data privacy over an intranet with connections between the AIA, AppServer, and database (OpenEdge RDBMS only), OpenEdge also supports its own implementation of SSL. For more information, see OpenEdge Getting Started: Core Business Services - Security and Auditing.