How many engines does my O4W consume?

I recently ran into a problem where I was demonstrating O4W to a prospect and I ran out of available user counts. I have a 5-user system and I had been running up O4W, closing it, running up the desktop OpenInsight and then running up O4W again. I’d assumed that when I closed down O4W the user counts would be freed up, but as I was leaving the EngineSever running this was not the case.

This issue then provoked the usual question about how many O4W Web User licenses people should purchase for their web based systems. This is a terribly difficult question to answer, mainly because it depends on the time required to process each web request and this is dependant on the application and the type of request itself. If the request is a simple record read with only a few data items being returned, then it is going to be very quick and the engine could handle multiple requests of this type per second. However, if it is being asked to process a large report, then the engine will be tied up for considerably longer.

However, with the release of OECGI3, this becomes less of an issue as OECGI3 will utilise multiple licenses (OEngines) to process multiple requests. Furthermore, it will then queue any inbound requests if an OEngine is not free to process the request at that time. When an engine becomes free, it will then process the request as normal. That said, it is always advisable for developers to build in some form of monitoring where user counts are likely to be tight, so that peak usage times can be handled efficiently or additional user licenses purchased to cater for the peaks.

Now, if OECGI3 is able to consume multiple engines, and we are unable to control the number of web users accessing our system, AND we have both the web system AND the desktop system using the same OpenInsight user license (Oengine.dll file), then we could run into trouble.

Take the scenario where I have a 60-user licensed OI system. This is used to serve 50 desktop (office based) users and an O4W system that has been built to extend my application to customers over the web. I could easily get into a situation where I have 20-user licenses being used by O4W and this would leave only 40 user licenses for my office staff – i.e. 10 office users could be blocked from using the system – not a favourable situation.

Fortunately, the O4W developers have thought about this issue and it is easily addressed through the eserver.cfg file within OpenInsight. This file includes two lines towards the beginning of the file for managing both the maximum number of engines that the engine server (OECGI3 / O4W) can consume and also the time that the engine will remain active and able to process web requests.

MaxEngines is used to define the maximum number of engines that are kept alive and ready to process stateless connections. This means that the engine does not need to be spawned and closed down for each web request and it therefore handles more requests more efficiently. The default setting for MaxEngines is 10 (MaxEngines=10).

IdleTimeout is the length of time (in minutes) that an engine remains active and ready to process web requests before it is closed down. The default setting for IdleTimeout is 15 minutes (IdleTimeout=15).

So, in our example scenario above, we can easily use the eserver.cfg file to limit the number of engines available to O4W to just 10 and we can also control the amount of time that the engines remain active. By setting MaxEngines=10 and IdleTimeout=15, we can ensure that we will always have at least 50 engines (from the 60-user license) available to our desktop users.

I should also point out that O4W requires a minimum of 10-user licenses and you will receive a warning message stating that a 10-user license is the minimum requirement for O4W use if you try to use an engine with fewer than those required 10 users. In addition, the MaxEngines can be set to any number from 1 to 10 for that minimum number of user engines, or more if there are more engines available. If you set a figure greater than the number of user licenses in the engine (say MaxEngines=100 on a system with only 10 users) then O4W will use all of the engines available up to the maximum user count in the license (so 100 in the above example).

So, why was I running out of engines during my demo? Quite simply, I had the defaults set for MaxEngines and Idletimeout in the eserver.cfg file, and as I was not closing down my OengineServer all five of my engines (licenses) were being used and left open for the full 15 minutes. I then changed my MaxEngines to 3 and IdleTimeout to 5, mostly because I don’t need them open for 15 minutes) and all was fine. I now know that I always have two engines free for my desktop OpenInsight system and the remainder available for my O4W system.

O4W Quick Start Guide Video Series

Well the midnight oil has been well and truly burning in my office these last few days, but finally the O4W Quick Start Series of videos are now complete and published to the web. You can gain access to the series from the new O4W Quick Start Guide page on our website.

The video series works through extending the Clinic application that we built in the desktop tutorial series and it provides us with a great example if extending a small ‘existing’ OI application. When I began the desktop series, I had only planned on web enabling one form as an example. However, when I saw what we achievable (at my level) with O4W I went quite a fair bit further.

I hope that you find the series of videos useful and I’ll welcome your feedback as always. I should also say a special thank you to Bryan at RevUS for his patience in answering some silly questions at times and helping over a couple of small hurdles.

OI 9.2.1 – Source Code Management Video

Mike has just release a new video for those of you who have been asking about the Source Code Manager in OpenInsight 9.2.1. Mike takes a look at turning on the source code manager, working with a program at various stages, setting versions and also at using the module facility and how that hooks into the RDK for easier RDK upgrades.

The video is well worth a look if you are an OpenInsight developer and it can be found by clicking here.

Should you use the UD 4.7?

Earlier this week Revelation released OpenInsight version 9.2.1 and as part of that the Universal Driver 4.7 was released in both standalone and bundled configurations. But what does this mean for people running older Revelation Network Products or none at all?

Let’s begin with those of you not running a network product at all on your multi-user ARev or OpenInsight systems.

Multi-user applications written in OpenInsight versions prior to 9.0 or ARev 3.12 require the Universal Driver. It protects your data against corruption, increases speed performance and reduces downtime.  More details about the benefits of the Universal Driver can be found here.

If your application is based on OpenInsight 9 then there is no need to purchase the Universal Driver. The Universal Driver NUL (Network User License) is already included with OpenInsight 9 and later. The Universal Driver NUL edition is compatible with all existing database files but it is only forward compatible with the OpenInsight 9 development environment. For mixed environments with OpenInsight 9 and any prior Revelation Software development tool, the for-purchase Universal Driver is required since it is compatible with all supported versions of the Revelation Software development tool.

If you are an existing Universal Driver (UD) user then you should also take advantage of the new Universal Driver 4.7. Below is a list of what has changed since these older versions:

Using the UD 3.0 –

  • Versions of the Universal Driver after 3.0 are compatible with all previous versions of Linear Hash files.

Using the UD 4.5 –

  • NSIS replaces Install Shield as the installer.
  • Support for unlimited-length record keys removed (click here for more details).
  • FIX_LH routine has been enhanced. The “Fix GFEs” option on the Verify LH menu silently considers any records with keys greater than 50 characters long to be GFEs and data can be lost when running Fix GFEs. This enhanced routine removes the “50-character-throwaway” functionality and replaces it with the “552-character-save” functionality.

Using the UD 4.6 –

  • The UD Manager (see note below) is now compatible with 64bit systems.
  • The ability to select and unlock multiple records from the Universal Driver Manager is now available. Previous versions allowed only one record to be selected during each unlock.
  • Server side install program now recognizes Arev 3.12 as a valid installation location.

Also included with the Universal Driver 4.7 is a console application (the UD Manager) that allows you to manage record locks without having to stop the Linear Hash Service, as well as view the active connections to your applications.

Some of the other great features of the Universal Driver include:

  • Only one REVPARAM file no matter how many different subdirectories you have with .LK and .OV files.
  • Support for files larger than 4 gigabytes.
  • Support for large frame sizes up to 100K.
  • You can ‘hide’ your .LK and .OV from your users.
  • The LHVerify facility is integrated onto the server side, allowing much faster performance.
  • Registry settings and REVPARAM file created automatically.

For those of you running the Universal Driver 4.x, the cost of the upgrade is FREE, although shipping and handling charges apply. If you are running an older version, please contact your local Revelation office and they will be pleased to provide you with local pricing to upgrade your current network product to the 4.7 version.

So in answer to the posting’s title – Yes, I think that the benefits afforded by the UD 4.7 means that everyone should be using the Universal Driver 4.7 wherever possible.

OpenInsight 9.2.1 Released

Revelation Software released OpenInsight 9.2.1 today (incorporating O4W version 1.1), along with the Universal Driver 4.7.  The 9.2.1 version is now available as a free upgrade to all OpenInsight WORKS members, and for everyone else an evaluation version can be downloaded from our OpenInsight Evaluation page.

This is the culmination of months and months of work and it really is another sterling piece of work by the team at Revelation.

More information can be found within the 9.2.1 readme file and the US press release can be viewed by clicking here.  The EMEA press release can be found here.

New Graphs for OI 9.2.1

As you will no doubt know OpenInsight 9.2.1 is in the final stages of beta testing and it is scheduled for release in early February 2011. Revelation also intends to release the new Universal Driver 4.7 at the same time.

Following the 9.2.1 release, Revelation will be working on the implementation of Data Encryption at Rest (DER) within the OpenInsight database environment. Whilst this has been discussed at length over recent months internally, please use the suggestions database for any requirements that you have for DER within your solutions.

Back to the 9.2.1 release – A number of the beta testers have asked if Revelation can provide a broader library of graphs for use with the O4W Dashboard. In response to that request, Revelation we will be including a new library of Google charts in addition to the existing jqPlot library. The new charts are as follows:

– 3D Pie – Gauge – GeoMap – Intensity Map
– Area Chart – SparkLine – Table – Line
– Scatter – Bar – Pie – Stacked Line
– Stacked Bar – Horizontal Bar – Horizontal Stacked Bar

OpenInsight Final Beta Released

Those of you participating in the current OpenInsight beta program should have received an email from Mike over the weekend about the release of what we hope will be the final beta release before the commercial release, hopefully on the 1st February 2011.

I’d like to personally thank everyone that has been working with the current beta software and who has reported issues, recommendations and suggestions during this period. As Mike says, your help enables the developers at Revelation to make OpenInsight a better product.

The toolset has now moved well, well beyond any catch-up phase, with the version 9.x series being mostly lead by new functionality required by our OpenInsight developers and their end users. For this reason, shortly after the commercial release I plan another round of talking to Revelation clients in the EMEA region about new functionality, tools, etc. that are needed in future versions and which will help you (and Revelation) to be more successful during 2011.

If you have any requests prior to this, then please drop me an email or, if you are a WORKS member, post them to the suggestions database on