AUTEVO FROM INTAMISSION
IntaMission is a British company that is working to develop an autonomic software suite of products called Autevo. Autevo is an integrated suite of infrastructure components that enable the development of distributed enterprise systems in an unusual way. The architecture underpinning the Autevo model views applications as being composed of sequenced flows of data objects through a virtual information space that is distributed, persistent, and transactional. This approach is useful in addressing a wide variety of business needs, and particularly encourages systems that are easy to change, robust to failure, and scalable. These are areas where traditional N-tier models often struggle to meet expectations.
Based upon cross-platform Java technology, Autevo is supported on all major contemporary platforms and handles heterogeneous environments with ease. It includes components that are fully compatible with the JINI and JavaSpace standards, which define a powerful, self-healing, service-oriented architecture for enterprise systems.
Autevo allows companies the freedom to change architectures and applications by decoupling the business from application-specific data models and processes. Removing the tight interdependencies between system components enables parts of the system to be changed with no downtime or knock-on impacts across the system.
Autevo is not a software application but a new way of thinking about middleware. Autevo allows incompatible and inconsistent applications to share common information. This allows a business to define and model its information and processes around the services required, rather than being rigidly bound and directed by the limitations of the systems in place.
Some specific areas this product addresses are:
Building a common data model to deliver improved collaboration and service reliability, while simplifying the underlying infrastructure;
Allowing service providers to consolidate and migrate complex systems in a way that reduces risk and drives down the cost of change;
Monitoring services end-to-end across the domain from a single point, allowing the business to drive down support costs while boosting the quality of service; and
Enabling grid computing through Autevoprocessing power is spread across your entire network, maximizing the use of your existing hardware.
Autevo provides the framework for a self-healing and flexible system that is service-oriented from the ground up. Based on open industry standards, Autevo is specifically designed to enhance and enrich existing systems investments.
What's in Autevo?
The core infrastructure component is the Autevo Engine. This is a shared, persistent, and transactional "network memory" that can be concurrently accessed by many remote processes. It serves as a hub and data repository for collaboration and communication between services and their clients. It is accessed using a simple, consistent object-based interface that employs template matching (a.k.a. query-by-example) to locate desired data without requiring the use of a query language.
The other two key components are the Lookup Service, a distributed network of software agents that track and advertise available services to clients, and the Transaction Manager, which manages two-phase distributed transactions. Figure 3.2 describes the model architecture.
Figure 3.2 The basic architectural model of the Autevo Engine.
Internally, these Autevo components use the standard Java Remote Method Invocation (RMI) protocol to intercommunicate. Autevo allows the automatic transfer of both complex object data and behavior across the network without any manual schema and stub definition. Autevo also includes the Explorer and Profiler user tools, which assist system development, administration, and task monitoring.
Autevo embraces a number of technologies, including the JINI services framework and the JavaSpaces API, both from Sun Microsystems. Below are listed five key fundamental design and technology characteristics that together underpin the Autevo product:
Dynamic registration and discovery allows services to automatically locate and connect to one another without any need for administrative intervention.
Decoupled communication enables organizations to build systems of interconnecting services that collaborate and intercommunicate without need for prior knowledge of identity or location.
Network mobile objects support service changes without any redevelopment work and provide natural load balancing through the use of the Autevo Engine.
Built-in evolution enables information structures to change without service interruption.
Automatic resource reclamation simplifies development and freeing unused network resources.
The Autevo Engine excels at supporting high volume Publish-Subscribe messaging, especially guaranteed messaging scenarios where durable and transactional messages are required. Publishers write the message into the Engine with topic and other routing criteria attached. Subscribe can either register to passively receive notification of relevant incoming messages or actively query the engine. A variety of protocols can be employed to sequence or prioritize delivery order and to detect and recover from delivery failures. Autevo can improve flexibility and information exchange in J2EE systems. For example, the Autevo Engine can allow Enterprise Java Beans (EJBs) and Servlets distributed on multiple application servers to share and synchronize state objects, without the overhead of writing to a database. The Engine's network-accessible memory can meet the frequent need for an efficient shared object cache. Such approaches can provide a compelling alternative to clustering when architecting coordinated multimachine J2EE systems.
Many powerful application models can be constructed that employ the Engine for load balancing and task control. Load balancing and job farming across a network of machines always require some mechanism for matching tasks to available resources and collecting results or responses.
One or many task dispatchers can write request objects into the Engine's memory, making it visible to all resource machines. Worker processes take requests from the engine, perform them, and write back a response when finished. The scalability, persistence, and transactional integrity of the Engine's store ensure that such systems continue operating despite the partial failure of any individual participant.
The Autevo Engine and related products and software comprise a different viewpoint from the IBM autonomic computing model. This viewpoint is interesting, but needs case studies and implementation experience to validate its methodology. This software could have significant potential if marketed in the United States.