ZeroPoint Application Server
Technical Description


ZeroPoint Application Server (ZAppSvr) evolved from a java webserver developed a few years ago, and was redesigned to meet the needs of the Web Service and applications development community. ZAppSvr not only provides the required core services for application development but also adds tools and monitoring that can be used to improve software quality and stability.

Since application development costs are high, it is critical to keep the application design process lean. This approach yields higher performance, more easily maintainable code, and reduced dependencies on external functionality outside your control. ZAppSvr is designed to be as lightweight as possible, reserving processing power for your application.

Why Another Application Server?

One of the biggest problems in developing Web Services is the learning curve. While developers are always learning and that is a good thing, the productivity hit of learning and implementing a complex application server is enormous. The faster a developer can get a project completed, and the lighter the underlying technology the easier it is to turn a profit, and support your product. ZAppSvr is easy to learn, lightweight, fast, and 24/7 reliable.

Another problem addressed by ZAppSvr is scalability. Building in load balancing allows application clustering that is far more flexible. You can build applications that will not be obsoleted since you have not painted yourself into a technological corner. You have an unlimited set of expansion options you can draw upon as your requirements grow.

Product debugging is greatly simplified, so you can easily step through code if problems arise. Your focus can be limited to your application, making you more effective. Custom logging features allows you to build in debugging options in the event of failure. Your clients never see giant stack trace dumps. You can manage errors more professionally.

You can develop services of unlimited complexity and sophistication using Java, without the restrictions of an oversized and overweight environment that gets in your way.


  • Request pre-processing
  • Request post-processing
  • Caching of static requests
  • SSL support
  • Request filters
  • IP address filtering
  • Robot filtering
  • Integrated Load Balancing
  • Simplified Application Design
  • Simplified Application Deployment Environment
  • Site monitoring and control
  • Remote monitoring and control
  • Multiple Listeners for DNS load balancing
  • Request logging
  • Custom logging resources
  • Java cross platform deployment
  • Simplified dynamic HTML
  • Plugin access to a global object repository

Request Pre & Post Processing

When an incoming request is received, the IP of the incoming request is checked to determine whether it should be filtered. Then the request is checked to see if the request should be processed by the Plugin (user application). The request is also checked to determine whether it should be ignored. If the request can be cached safely, the data object is requested from cache first. If the requested object is not already stored in a cache, the request is retrieved from the target and then stored in the cache. Then the data is returned to the requestor. The cache process is based on user configured parameters.

If the request is SSL, the application is alerted as to the source.

Incoming request and header information is stored and passed to a plugin in a String array. This array is available to the application for processing which can include robot filtering, security applications, data collection, etc.

POST requests are processed giving your application a reference to the post information for processing by your application.

By providing these services, without performing extra processing beyond the needs of your application, your application can function more efficiently.

You have the ability with ZAppSvr to modify the request and response headers. This can be used to pass specific information to a target application, modify responses to meet specific network requirements, etc.

ZAppSvr simplifies the processing of data requests making the developer’s life easy without imposing limitations or abstractions that don’t fit your specific needs.

All threads have access to the ZAppSvr global Java Hashtable. This allows your application to store user, session, or web page information, application wide. This effectively creates your own specialized global application cache which can be used to greatly increase the speed of your application, and provide critical inter-thread communications and synchronization.

Dynamic HTML with Java programming

ZAppSvr includes a PageProcessor.class. This extensible class provides a simple mechanism to provide both default and custom tag services for dynamic content. This class also allows you to add User Defined Methods which you can use to create data for insertion into a web page, in addition to the ability to place page properties. This class provides a unique caching system for dynamic pages. This means that the page is only parsed once, and then when a page is requested, only the user methods require execution. Dynamic content is delivered at speeds close to static content!

This technology makes it much easier to develop, debug, and deploy complex dynamic web content, with standard Java development tools.

Remote/Local Management

The gui interface is optional and is normally not needed since ZAppSvr can be managed remotely. ZAppSvr has a gui interface solely to simplify testing and initial installation. It can also come in handy for a developer testing his new application. ZAppSvr Remote provides the ability to remotely manage and control all server parameters over a secure link remotely.

Web Deployment Environment

ZAppSvr is designed to accept and filter inbound requests, cache static requests, load balance external services, and provide an application execution environment. ZAppSvr is often used without any plugin at all for load balancing, caching, local and remote site monitoring, and request filtering. However, when you add your own plugin, ZAppSvr becomes a powerful application server.

By using a provided mechanism, your application can directly access the integrated load balancer, so that your application is provided the target server and port of the server ZAppSvr selected for best overall performance. Load balancing then becomes an integral part of your application, providing seamless integration with more servers when they are needed.

Almost all ZAppSvr configuration parameters can be viewed and modified in real time without rebooting. This makes administration of ZAppSvr easy and efficient. Adding or removing servers from load balancing is instant and reconfiguration is greatly simplified.

Some deployment environments require cache directives to eliminate intermediate caching of dynamic data. This is handled automatically in ZAppSvr by setting a configuration parameter. Of course you can simply modify response headers manually if you need finer control for special situations.

©Copyright 2017, ZeroPoint, LLC.      Questions? Comments? Email Us.