Keel, Meta Framework

zhaozj2021-02-16  50

Keel, Meta Framework

When developing applications, whether it is web application, business or scientific applications, developers often need to rely on different frameworks as the development point of development. The frame is usually composed of a set of components, functions, and services for development of a particular application.

There are currently many open source or commercial frameworks to be widely used, and below is some common frameworks:

Network / User Interface: Struts, Cocoon, Velocity, Tapestry

Business logic: ejb

Continuous: JDBC, JDO, Hibernate

Safety certification: jaas

Message: JMS

Each framework provides all things to create applications or components, so you can use them very convenient. But if you need to integrate different frameworks, let them work together, there will be two questions, and there are two most common questions:

1. Many frameworks are bundled with containers, servers, or other frames, which can only work well in recommending combinations. This fastening coupling restricts the developer's choice of framework. If a framework is selected, we cannot use other frameworks for cost, security, ease of use, and performance.

2. There is a lack of unified interface, and there is no communication between different frameworks. This increases the difficulty of system integration, developers have to write non-standard code to complete communication and integration, this code requires constant upgrade maintenance.

The Keel framework can help you overcome these issues. Keel is an efficient, highly extended open source framework for framework. Keel is implemented with Java, and the current version is 2.0 RC 1. Keel is based on Apache Avalon project, integrating many Java-based frameworks, each framework for a particular application, such as user interface, database, message delivery, security, and more. Keel combines these frameworks to create a complete, integrated system. Keel allows developers to join or take out the specified framework from the integrated system at any time so that developers can complete the framework of different functions from the rich frame library, while do not have to worry about tight coupling between these frames.

Keel also provides a unified framework communication interface that does not change due to the addition or removal of the frame. In order to do this, Keel regards all components as separate units, each unit based on a different framework. Use each independent unit by a unified interface. This interface is also the entry of the service provided by the calling unit, and other units interact with this interface. When a frame is replaced, only the corresponding unit interface requires a small amount of change, and the other portions remain unchanged.

Three core concepts:

1. COP (Component Oriented Programming) facing component programming Each application consists of a separate unit, called by a standard interface. This concept provides an application with pluggable flexibility.

2. SOC (Separate of Concerns) Task Separates Each component into many separate tasks, each with a standard interface. This method allows users to use, control, and modify any function but does not affect other functions.

3. IOC (Inversion of Control) Control reversible in its life cycle, the component is controlled by external control with the help of the configuration file. This method can easily and efficiently control components from the external control.

Keel architecture

Keel follows the COP concept to define a basic service that can be used as a basic module for building an integrated system.

Model: Interaction between business logic

Continuity: Situation and data security for management, storage, and re-acquire: management of applications, including authentication and authorization

Scheduling: Dispatching applications

Encryption: Encryption requires data

These services are also known as roles, provided by all components integrated in the Keel. Each role is actually an interface that corresponds to a component that defines a service contract. Components are the implementation of the role, perform all tasks that implement the corresponding role. Keel provides the default implementation for the most common service, while allowing users to create their own special frame-based components, but these components must be hidden after the standard interface.

Based on the SOC concept, the component is divided into many separate tasks, each with a standard interface. For example, a component can be recordable, secure, persistent, and configurable, and these tasks are implemented by a separate standard interface.

Based on IOC concepts, all roles and components are external controllable. Keel's configuration file has two: roles.xonf is used to configure roles; system.xconf is used to configure components. You can change the configuration of the component by changing these files at any time.

Currently, Keel provides a default implementation for most roles while providing some optional implementations. Users can use these default implementations directly, or modify these default implementations to accommodate special needs, or develop their own implementation and then join Keel. Here is a list of some major roles:

¨ Model: A default implementation is org.keel.service.model.standardModel, which is an abstract class that implements the model interface, which can accept requests generated by the user interface, processing request, and then return information to the user interface.

¨ Continued: The default implementation is the JDBC data source. Other options with JDO, Hibernate, Entity Beans of EJB, LDAP

¨ Scheduling: The default implementation is Quartz. JCRONTAB can also be selected.

The Keel Plan to join all defined roles, allowing developers to provide more choices. In summary, KeEEL is a powerful integrated framework that combines a variety of different types of application frames, avoiding the resulting tight coupling issues. Keel allows developers to join the required framework at any time, and users can meet the changing demand as needed to freely select the most suitable framework. Keel's Home Page can be downloaded with KEEL. Keel Documentation Wiki has a lot of information about Keel and connections.

转载请注明原文地址:https://www.9cbs.com/read-22278.html

New Post(0)