Overview of HTML Server

The HTML Server component of the JD Edwards EnterpriseOne architecture is largely a presentation/user interface layer. It is one module of the JD Edwards EnterpriseOne web client solution architecture. The HTML Server also executes some Java processing; therefore, it is sometimes referred to as the Java Application Server (JAS). The terms HTML Server and JAS are synonymous.

The web client solution consists of the following:

  • HTTP server

    This makes the web client available via a TCP/IP port. The JD Edwards interactive applications are presented to the user via an html interface accessed through a port on an http server. Examples include Oracle HTTP Server, IBM HTTP Server, and Microsoft Internet Information Services (IIS).

  • Java J2EE runtime environment

    This is the Java-based web application server. JD Edwards web applications are hosted in the framework of a J2EE web application server, such as Oracle WebLogic Server or IBM WebSphere Application Server.

    The J2EE environment is a web server plug-in for running Java servlets, JSBs and EJBs. HTML Server is running on top the J2EE environment and manifests itself as one or more Java Virtual Machines (JVMs). This is a runtime process which runs the Java-based code, which generates the HTML pages presented to the user and runs a portion of the application logic. To run the logic and present the user interface, HTML Server accesses the Serial Objects tables, which contain the metadata for same (specs). A JNI-based generation process creates these Serialized Objects (F989998/F989999) from the TAM-formatted data in the JD Edwards EnterpriseOne metadata tables (F987*). The Serialized Objects are suitable for manipulation by Java code.

  • HTML Server

    The role of HTML Server itself is to build the HTML, which presents the applications to the user. It also retrieves the other components necessary, such as .jpg graphics and JavaScript files which run some application logic on the browser.

    The user logs into a known URL which points to the HTML Server instance in question. The URL contains a specific path on the machine hosting the J2EE instance as well as the http port pointing to that instance. The first page is a sign-in page. The user credentials are passed by HTML Server to the Security Server (which resides on the Enterprise Server) and authenticates them.

    Application logic is coded in Event Rules (ER), a JD Edwards EnterpriseOne proprietary development language. This code takes the form of metadata called specifications (specs) which is read and interpreted by a JVM running on the HTML Server server in the web application server framework. ER code also makes some direct access to the JD Edwards EnterpriseOne Business data in the course of running application logic.

    ER code in turn makes calls to Business Functions, which are written in ANSI C. Business Functions do not run in the HTML Server environment (Java-based), but are passed to the Enterprise Server (C-based). Only a few small, simple BSFNs (about two dozen) run on HTML Server as Java code plug-ins for performance reasons. The results are passed back to the machine running the HTML Server instance.

    Finally, some logic actually runs on the browser itself in the form of javascript code. The .js executables are downloaded as part of the HTML stream.

    The JD Edwards EnterpriseOne Enterprise Server and Database must be installed and ready to use before HTML Server is installed for production. HTML Server does not replace the Enterprise Server's functionality. All UBEs and most Business Functions run on the Enterprise Server.