Only available on StudyMode
  • Download(s) : 644
  • Published : September 5, 2008
Open Document
Text Preview
A) Fault tolerant runtime engine
The Kabira Infrastructure Switchis the central host for all Kabira applications. It is a high performance software transaction-switch that provides the infrastructure for building and integrating applications, integrating networks, and mediating between data flows. It is a fully distributed platform that can be deployed across multiple integrated computer processors within a single physical node, as well as across multiple nodes. In addition, the Kabira Infrastructure Switch handles programmatic complexities associated with the development of software solutions. It frees programmers from the painstaking task of writing and rewriting the code required to provide services commonly needed by all applications, services such as failure detection, transaction recovery, threading and concurrency, guaranteed messaging, online upgrade support, and object distribution. Programmers can focus their attention on business requirements and on creating the models required to meet them. In addition to providing a rich set of services, the Kabira Infrastructure Switch has relatively small memory and disk resource requirements. This is because it stores all application data in shared memory, and leverages new operating system services such as threads and other shared memory services, that replace functionality traditionally provided by middleware and database servers. In addition it is designed specifically for objects created by Kabira’s automated code generator, so the two can work in tandem to provide an optimal implementation of user models. Finally, Kabira application functionality is developed simultaneously on UNIX (Solaris, HPUX) and Windows NT to leverage the strengths of each platform. This eliminates the problem of products originally targeted for one platform that never run as well on a secondary platform. B) Model-based development environment

All Kabira applications are designed using either third party graphical object modeling tools based on UML, such as Rational Rose, or textual representations of models. Using an object modeling methodology for distributed applications allows a business modeler to concentrate on the functional requirements of the application, not low-level implementation details handled by the Kabira Infrastructure Switch.

The advantages of this approach become increasingly obvious when integrating a large number of different systems, each of which has its own APIs, message formats, and protocols. Kabira Infrastructure Switch represents all external adapters as objects in the modeling tool, and differences are hidden from the application developer. That means designers do not need to be experts in the external systems being integrated such as CORBA, SNMP, Java EJB, SS7, and so on. Designers can construct an application using adapters already provided by Kabira and its partners.

C) Fully automated code generation
Kabira code generation technologies support complete translation of object models into executable code that runs on the Kabira Infrastructure Switch. 100% of the code required to execute the object model is generated. The generator produces C++ code that is compiled and linked with libraries provided by Kabira and partners to create an executable program. In addition to the C++ code generator provided to implement object models, Kabira provides code generators to integrate external systems with the runtime transaction-switch. Examples include:

Relational databases
CORBA clients and servers
SNMP agent generation
Java clients and EJB servers
The adapter code generators map between the different object and data models supported by all of these adapters. This solves the “impedance” mismatch problem when building applications that integrate different object and data models. Solving this problem eliminates the need for additional hand coding. Example mappings include:

An object model and a relational data model
ASN.1 and IDL
tracking img