The Endeca Rapid Application Development (RAD) Toolkit for ASP.NET provides a set of Web server controls for Endeca applications.  The RAD toolkit and also provides the RAD API for accessing the Endeca MDEX Engine. Endeca MDEX Engine is the query engine that is the core of the Endeca Information Access Platform (IAP).
 
 Endeca RAD toolkit is made up of the following Components:
 
 1)    RAD API for ASP.NET Developers – The RAD API is made up of the following assemblies,
 Endeca.Data.dll   – This is a Abstraction of Endeca Presentation API that includes both input and output types and presents a standard Interface for .NET Developers.
 Endeca.Web.dll – This contains the Endeca Data Source Controls.
 Endeca.Web.UI.WebControls.dll – This contains the Endeca user interface controls and Web Studio instrumentation controls.
 Endeca.Navigation.dll, Endeca.Navigation.AccessControl.dll, Endeca.Logging.dll
 
 2)  Data Source Controls: These controls Query the MDEX Engine and Persists query state across Page requests in ASP.NET. They can be bound to other ASP.NET Controls in the Application. They can declaratively databind query parameters from controls on the page and pass the data to the UI Controls that are bound. Data Source controls RAD API provides are
 
 AggregateRecordDetailsDataSource -  Provides details about a single aggregate record to other controls in your Web site.
 
CompoundDimensionSearchDataSource – Provides records produced by compound dimension search to other controls in your Web site.
 
DimensionSearchDataSource - Provides results produced by dimension search to other controls in your Web site.
 
MetadataDataSource – Provides record metadata such as search keys, sort keys, aggregation keys and so on.
 
NavigationDataSource - Provides navigation query information, including dimension refinements, record results, aggregated record results, Analytics results, breadcrumbs information, metadata, and supplemental objects.
 
RecordDetailsDataSource- Provides details (e.g. property values and dimension values) about a single record to other controls in your Web site.
 
 3)  User Interface Controls: These Controls displays results from a NavigationDataSource and handles events by updating parameters on the Query. UI Controls include
 
 Breadcrumbs - Displays the search navigation descriptors for the current query. Descriptors include dimension values, search terms, and range filters.For example, a  breadcrumb made up of dimension values might look like this:
 Wine Type > Red > Merlot > 1999 [X]
 
 GuidedNavigation - Renders dimension groups, dimensions, and dimension value names on a Web page.
 
 Pager - Displays paging choices to page through the record set, when the number of search results are sufficient to create multiple pages. For example a paging control typically looks like this: << < 2, 3, 4, > >>
 
 TagCloud - Renders the most commonly used tags in records stored in an MDEX Engine. Tags for frequently occurring query results display in a larger font. Selecting a tag within a tag cloud produces a collection of query results that are associated with that tag.
 
Page Life Cycle Events for RAD Toolkit Controls
 
 RaisePostback Event
 
This is the first event in the life cycle. PostBack Events such as Button Click and DropDown Selected are handled at this stage. Common Practice is to programmatically update parameters on the DataSource in this event.
 
 PreRender Event
 
Data Source executes a Query in this Event only if another control on the page requests data from the datasource. When a control on the page is bound to a data source, it defines a DataSourceView from which it gets its data. If the DataSourceView is not yet populated with fresh data (based on the current filter set of the query), it calls ExecuteSelect to query the MDEX Engine for fresh data. Any control that is bound to an Endeca data source, for example, a Repeater control, a GuidedNavigation control, and so on, also fetches its data during the PreRender page event.
 
 Building URL’s with RAD Toolkit
 
The Endeca RAD Toolkit for ASP.NET provides classes to build URLs in your application. This can include links to dimensions, dimension values, records, aggregate records, and so on. The classes in the Endeca.Web.Url  perform this task, especially the UrlManager class and the UrlBuilder class.
  
 Advantages of Endeca RAD Toolkits are:
 
 1)     Rapid ProtoTyping of Endeca Applications.
 2)     Delivery becomes faster.
 3)     Maintainability is enhanced.
 4)     Coding is reduced to a great extent.