Cibet control framework

Trust is good, control is better. Cibet stands for control is better. The Cibet framework provides developers with interfaces and classes to integrate business process control mechanisms like audit-proof archiving and logging, dual control schemes, four-eyes principle and six-eyes principle into their applications. The Cibet functionality is added to an application in a most non intrusive manner. Even existing applications could be controlled by Cibet with only a few modifications. In order to be as non intrusive as possible Cibet relies on technologies like aspects and delegated JPA classes.

Cibet offers no GUI but only server-side functionality.

The actual version can be downloaded from the download page. Note also the release notes!


Read article about integration of Cibet into an application on www.serverside.com

News

Release 1.3

Major changes of this release besides several bug fixes and small improvements:

  • Upgrade from JPA 1 to JPA 2
  • Cibet Provider is a new JPA provider that allows non-intrusive controlling of entity persistence. It is no more necessary to use CibetEntityManager for applying the JPA sensor, just define a persistence unit with the Cibet provider instead.
  • Another step to non-intrusiveness: Setting the Cibet context (EntityManager, user) is done by Cibet itself. No coding is necessary anymore
  • The new actuator TRACKER and EventResult API allow enhanced monitoring of control results.

Release 1.2

We are proud to introduce two new functionalities besides the usual bug fixes and small improvements on the way. The first is the support for JDBC as a second persistence mechanism next to JPA. A JDBC to JPA mapper allows to use Cibet in a plain JDBC application while a JDBC sensor allows direct controlling of JDBC queries.

The second major improvement is the integration of Apache Shiro as a second security framework next to Spring Security. With Shiro integration many interesting things can be done that are not possible in a stand-alone Shiro appication.

Release 1.1

Two new actuators and support for Maven, that are the key points of this release. TWO_MAN_RULE actuator is another dual control actuator that works like FOUR_EYES actuator, but has even stricter requirements (see Two-man rule).

LOCKER actuator allows to make a reservation for a business case or action. A user may for example reserve the release of a dual control event. No other user can execute that release then.

The integration of the Cibet library has become more convenient for Maven projects. Cibet is now hosted in the Maven Central repository. All you need is to add

  <dependency>
        <groupId>com.logitags</groupId>
        <artifactId>cibet</artifactId>
        <version>1.1</version>
  </dependency>

to your pom.xml.

Release 1.0

We are proud to announce the release of version 1.0 which is a major milestone that we achieved after a period of thorough testing. This release does not introduce any new functionality but is a maintenance release with the goal to harden the framework and increase its stability. This was achieved by setting up a completely new automated test environment. The details of this test environment can be read in an article here.

Several bugs have been fixed and many small improvements been made.

Release 0.9

In this release one major new feature and one major change are implemented. The new feature is a new sensor for http request. With this sensor it is now possible to apply all control logic including dual control principles not only to domain objects and method calls but also to http requests. See the User Guide on how to make use of the http sensor. It is as simple as the other sensors.

The change regards the configuration of setpoints. We came to the decision that hitherto configuration was too complicated and for most business cases too complex. Therefore we decided according to our principle Keep it simple to reduce the flexibility for the benefit of a much higher simplicity. We think that 95% of business cases can now be configured with less than 50% of xml lines than before while for 5% of business cases it could be a little bit more. See as an example the scenario for controlling a domain object and the scenario for controlling a service call


Read article about how control theory concepts are applied in many frameworks like Spring Security, JMX, JAAS on www.serverside.com!

Release 0.8

There are two major new functionalities coming with the 0.8 release:

The first is the general support of service method control. Up to now, only EJB methods could be set under control. With this release, any public methods of any class can be controlled.

The second new functionality is the integration of Spring Security. Now persistence actions and service calls can be also access controlled with Spring Security. The integration of Cibet and Spring Security gives a lot of advantages and more configuration possibilities as compared to using Spring Security stand-alone.

The changes of this release are listed in detail in the release notes.

Release 0.7

The actual release 0.7 has undergone some major refactorings and changes in design. Cibet is now based on fundamentals of control theory. That implies also a thorough renaming of classes and packages. As mentioned on the release notes page the interfaces are still not stable until release 1.0 and can be subject to changes. This release is such a big change. The enhancements are obvious: The concepts become clearer and there are a lot of possibilities to hook in and implement customized functionality. Please see the abstract on concepts of control theory.