Question AdminServer plugins

alay

New Member
Hi guys,

Kind of a newbie to Progress and the first time I'm asking a question on the forums here. I've been hitting a brick wall with trying to understand this and have not been able to find much from the documentation or online. Can someone provide an explanation about the workings of the AdminServer plugins? How does the whole architecture interact. Also, what kind of components decide which plugins are installed, etc?

I would greatly appreciate if anybody can answer my questions or point me in the right direction.

Cheers.
 

Cringer

ProgressTalk.com Moderator
Staff member
Personally I don't know, but I would ask why you want to know this? I've been doing Progress stuff for over 12 years and never had the need to know this.
 

RealHeavyDude

Well-Known Member
Usually you don't need to deal with the AppServer plug-ins. If you have to, you usually have an underlying problem.

The AdminServer is a management service that can manage different other service usually used to operate an AppServer or WebSpeed Broker. Theses services may or may not involve a NameServer. Usually these are the components you have to deal with configuration-wise - not installation-wise.

Heavy Regards, RealHeavyDude.
 

TheMadDBA

Active Member
As the others have said... you typically don't care about the plugins unless you are trying to configure one. This doesn't happen that often honestly.

If you really want to dive into the gory details have a look at the $DLC/properties/AdminServerPlugins.properties file. This controls which plugins can/will be loaded depending on your actual license. Most are loaded as different java threads within in the adminserver itself. If memory serves me right I have modified this file maybe twice (at the direction of Progress support) in the last 30 years on hundreds of installs.

The configuration files for various plugins are also stored in the properties directory and would be the ones to modify (or not) depending on which one you care about.

If you have a specific question/issue feel free to ask. Or if you mean something different than the plugins (like appservers, nameservers, etc) just clarify that too.
 

zerovian

New Member
Do you have a specific question? I can tell you pretty much anything you want to know as I maintain this code for Progress.
 

zerovian

New Member
The quick overview:

All the adminserer is written in java with the exception of a few native libraries. Most of the compiled java code is in $DLC/java and $DLC/java/ext (for third party stuff).
The proadsv shell script reads some configuration files and starts a new separate java process that is the adminserver.
One of the first things the adminserver process does is create a new RMI socket server and register some objects with it. RMI is used to communicate between the adminserver, nameserver, and some of the other shell scripts like asbman, and wtbman.
The adminserver process reads adminserverplugins.properties, sorts the plugins in dependency order and creates a new instance of each class within its own classloader.
Some plugins require their own thread so the adminserver process starts a new thread for each one as appropriate after all the plugin class instances have been created.
Each plugin normally reads a configuration file, logs some messages, creates some objects (such as appserver broker and whatever).
On request via asbman or through openedge explorer, the individual plugins may start a separate process for appserver, database, nameserver, whatever.

That is pretty much it.
 

zerovian

New Member
I only took ownership of it since about 11.0. I don't mind admitting it as I wasn't responsible for its internals prior to then. I've rewritten huge portions of it. I don't touch the actual runtime related code for appserer broker (with the exception of the PDSOE debugger integration). A lot of it was written back in the java 1.2 timeframe so it was a mess, that is improving. I think somewhere around 11.4 the memory leaks were finally all removed so its a lot more stable now.
 

zerovian

New Member
The code isn't obfuscated with the exception of some interfaces to third party stuff (the RSA SSL libraries and such). Take a copy of progress.jar run it through a decompiler like jadclipse and have fun.
 

TheMadDBA

Active Member
When I get really bored I might just do that :)

For what it's worth... I can really tell the improvements from the older versions to today. A lot a fewer crashes and hangs for sure.
 

alay

New Member
Thank you for all the information provided in this thread, especially zerovian.

I recently came across a problem where some of the plugins were not being installed since they were not licensed. I had a look at the KB, but couldn't really find anything to point me to the problem. Hence, I felt I could probably be better off understanding the plugins first. Unfortunately, I couldn't pick up an explanation.

I understand that the AdminServer checks the licensing for the plugins, but what does it check it against? I notice a lot of plugins in AdminServerPlugins.properties having entries for license, but there doesn't seem to be a way of knowing when they expire. I understand certain plugins depend on the products installed as well, but haven't come across any information describing which plugins are installed with each product.

Any pointers or explanations for this would be greatly appreciated.
 

Cringer

ProgressTalk.com Moderator
Staff member
Do you mean you're getting messages like this:

PHP:
[08/07/15 16:49:05] [3] [Fathom]                localhost: Oracle DataServer is not licensed.
[08/07/15 16:49:05] [3] [Fathom]                localhost: MSS DataServer is not licensed.

That's pretty standard. Got hundreds of those in our logs. You don't need to let it bother you. If your Progress license is valid then these errors are standard (IMO).
 

Cringer

ProgressTalk.com Moderator
Staff member
More errors along the same line:
PHP:
[08/07/15 16:48:46] [0] [AdminServer]         * License check status: Plugin not licensed. (ADMMsg037) (7438)
[08/07/15 16:48:46] [0] [AdminServer]         * Plugin.MSSDataServer not installed: Plugin not licensed. (ADMMsg037) (7439)
[08/07/15 16:48:46] [0] [AdminServer]         * Failed to install plugin Plugin.MSSDataServer. (7433)
 

TheMadDBA

Active Member
Plugins don't expire.... Evaluation products do.

Assuming you are running a non evaluation copy of Progress your products never expire.

Everything is controlled by the license file. In general the plugin names roughly correspond to the product names. Fathom being the exception because OEM and OE Replication used to be called Fathom.
 

zerovian

New Member
Those messages are just noise. Basically an artifact of the fact the installer only has one template for the AdminServerPlugins.properties file, tailors the whole thing as if everything was installed already and license checks are used to enable or disable individual plugins. If you wanted, you can comment out the unused plugins if you don't want to see the messages.
 

alay

New Member
Thanks guys for the clarification. Never saw those messages before whenever I saw the logs, so it was a bit of a surprise when it kept coming up.

Cheers!
 
Top