Versata Business Logic Server -- 100% Java server focused on application development and "business rules"
It seems misleading to refer to the Versta's Logic Server as a single product. Although this application server does offer many of the same features found in other application servers on the market -- which we'll discuss later in this review -- it's really built for and best suited for integration in Versata's suite of development and deployment products. These products combine Java with "business rules" in the Versata Logic Server to provide a solid server-based development solution.
The complete suite, which includes the application server, data connectors, and an application development environment (Versata Studio) is built in 100% Java. That commitment to Java is shown by the standards supported by Versata: Enterprise JavaBeans, CORBA, and IIOP. A commitment to Java isn't unique in the application-server world by any stretch; it's the value added by Versata that makes the product unique.
Business Rules"Business rules" is Versata's way of differentiating the Versata Logic Server from other application servers, and it's a pretty decent twist. Basically, business rules are an attempt to reduce decisions to some basic logic, implemented via Java. For instance, you can apply business rules to relationships among objects (one object is designated as being the parent, another is the child), constraints on objects (for example, users having a specific role have the power to make changes to specific portions of the database), validations and derivations, and event-driven happenings. These rules are then defined as metadata on business objects in the Versata Studio and compiled into server-side components, which are then run by the Versata Logic Server.
You could deploy the Versata Business Logic Server on its own, as it compares well with other application servers on the market in capabilities and performance.
There are certainly "check-list" items in the application-server field, items that every app server should have. By and large the Versata Logic Server contains most of them, even though they may not have the most sophisticated implementation in the marketplace. For instance, the Versata Logic Server offers load balancing, where requests to a heavily used server are routed to a less-busy server in a pool of servers. However, the load-balancing controls in the Versata Logic Server aren't as advanced as found in other application servers. It uses a round-robin method of determining which application server receives the request. Basically, the administrator sets the maximum number of connections a server can handle, and when that number is met an incoming request is shunted off to another server in the pool. A more elegant loadbalancing implementation would include some sort of algorithm to ensure that a connection was directed to the server with a low workload rather than just a simple numerical limit.