cle_clock
Home > Overview



Overview





The main objective of Kikonf is (AAA), the ability to support the Configuration of :
  • Any Software
  • from Any Plateform
  • by AnyOne

The basic component of Kikonf is the Action.
One Action is a brick which contains the required parameters to configure a very specific element of a target Software.
The main rule for Actions is don't loose people ! Just show what you need, according to your business requirements.

Actions are supported into Kikonf per Software: called Categories as plugins: Action plugins.

Target Software, may be one of the Kikonf supported Software :
  • WebSphere Application Server
  • Oracle WebLogic Server
  • Apache Tomcat
  • JBoss Application Server
  • WebSphere Mq
(..., Here is the list of the Software currently supported by Kikonf .)


The following sample shows how one Action works :

One Action Applies a configuration On one Software
< datasrc >
     type = 'action'
     name = 'mydatasrc'
     jndi_name = 'jdbc/mydatasrc'
     provider = 'myprovider' dbtype='db2'>
     < scope node = 'localhostNode01' server = 'server1'/ >
</ datasrc >
(Inject) →
(Extract) ←
(Remove) X
WebSphere AS

As shown each Action can inject, extract or remove the required configuration to (from) one Software.

Actions are then called like this :

Calling one Action for inject operation
kikact was.datasrc

Calling more Actions for inject operation
kikact was.crtcluser,was.crtserver,was.datasrc,tom.realm

Calling more Actions for extract operation
kikact was.crtcluser,was.crtserver,was.datasrc,tom.realm -o extract


Action are available for update via the Kikonf GUI Interfaces check screenshots >here !

Running this command launches the Kikonf console for Action was.datasrc for instance :
kikupd --kikact was.datasrc --console


The idea is to apply a one or more Actions in one go into one or more target Software.

Actions can be stuck together into one main xml file (the Custom Action file), e.g. :

my.xml

							<mytag1>

								<mytag2>
									<crtcluster type='action' bal='was.crtcluster' name='cluster1'>
										<crtserver type='action' bal='was.crtserver'>
											<scope node = 'localhostNode01' server = 'server1' cluster='cluster1'/>
												<datasrc 
												type = 'action' 
												 bal='was.datasrc'
												name='mydatasrc' 
												jndi_name='jdbc/mydatasrc' 
												provider='myprovider' dbtype='db2'>
												<scope node = 'localhostNode01' server = 'server1'/>
												<jaas name='mydatasrc_jaas' user='mysuser' password='mypass' create='' desc='mydesc'/>
											</datasrc>

											<jmq type = 'action' bal ='was.jmq'>
												<scope node = 'localhostNode01' server = 'server1'/>
											
												<qcfs>
													<qcf name='myqcf' jndi_name='jms/myqcf'  queue_manager='myqm' host='myhost' port='1136'/>
												</qcfs>
												
												<queues>
													<queue name='myqueue' queue='myqueue' jndi_name='jms/myqueue'/>
													<queue name='myqueue2' queue='myqueue' jndi_name='jms/myqueue'/>
													<queue name='myqueue3' queue='myqueue' jndi_name='jms/myqueue'/>
												</queues>
											</jmq>

										</crtserver> 
									</crtcluster>
								</mytag2>
									
								<mytag3>
									<crtserver type='action' bal ='tom.crtserver' server_port='8010' jvm_route='node1' java_home='/path/to/jdk'>
										<scope cbase='/catalina_base/path'/>

										<realm type='action' bal ='tom.realm'>
											<scope cbase='/catalina_base/path' context='*blank'/>  
											<mem/>
										</realm>		

										<datasrc type = 'action' bal ='tom.datasrc' name='jdbc/mydb'>
											<scope cbase='/catalina_base/path' context='*blank'/>    
											<resource dbtype='db2' dbname='MYDB01' host='myserver.intra.net' port='1234' username='myuser' password='mypass'/>
										</datasrc>

										<beanrsc type='action' bal ='tom.beanrsc' name='bean/myBean' btype='com.mycompany.MyBean'>
											<scope cbase='/catalina_base/path' context='*blank'/>
											<link name='bean/local_name'/>
										</beanrsc>		    

									</crtserver>
								</mytag3>

							</mytag1>

							

All tags with the attribute type='action' is an Action.

Note for advanced users:
Ok, you may have seen this before, it looks like what Ant does, except Kikonf can inject, remove or extract the whole configuration, from one or more target Software(s) regarding the operation order passed to the kikarc command.


Literally this Action file creates into WebSphere Application Server :
  • A Cluster named "cluster1"
  • A ClusterMember (or Server) named "server1" into the previous cluster.
  • A DataSource named "mydatasrc" into the previous Server "server1".
  • A QueueConnection Factory nammed "myQcf" into "server1".
  • 3 Queues myqueue1, myqueue2, myqueue3 into "server1".
And creates into Tomcat :
  • A new Tomcat Server aka Catalina base instance at "/catalina_base/path".
  • A new Tomcat MemoryRealme at the context ROOT of the previous Catalina base instance.
  • A new Tomcat DataSource Resource named "jdbc/mydb" at the context ROOT of the previous Catalina base instance.
  • A new Tomcat Bean Factory Resource named "bean/myBean" at the context ROOT of the previous Catalina base instance.

Obviously there are no limits to the number of Actions or target Software glued together into the Custom Action file.

Custom Action files are then run like this :

Calling for inject operation
kikarc my.xml

Calling for extract operation
kikarc my.xml -o extract

Calling for remove operation
kikarc my.xml -o remove


The content of the Custom Action file is then Accessible via the Kikonf GUI Interfaces check screenshots here !

Running this command launches the Kikonf console for my.xml !
kikupd --kikarc my.xml --console


Exits are supported into Kikonf as Exit plugins.

Exits use Actions to extract big sets of configurations from a target software.

e.g. : This command
kikarc -o extract -e was.application --name myApplication

Would extract a Custom Action file from WebSphere Application Server.

This extracts:
  • The Application named: "myApplication"
  • All the targets of this Application (Servers, Clusters and Cluster members, Web Servers)
  • For each target all the Resources configured into it.

Kikonf Interfaces are automatically provided to Actions and Custom Action files.

Console Interfaces:

To see samples for console Interfaces please check here !

Graphical Interface:

The Kikonf Team works hard late at night (or rather early in the morning Huh !) to provide the Kikonf brand new Web Interface.
So it will come soon !




Trademarks :
  • "WebSphere Aplication Server" and "WebSphere Mq" are registred trademarks of International Business Machines Corporation.
  • "Oracle WebLogic Server" is a registred trademark of Oracle and/or its affiliates.
  • "Apache Tomcat" is a trademark of the Apache Software Foundation.
  • "JBoss Application Server" is a registered trademark of Red Hat and its affiliates in the U.S. and other countries.
  • Other names may be trademarks of their respective owners.

Copyright © 2011 - Patrick Placidoux, Hélène Malamoud