Understanding the SDK Architecture

The Mashup UI SDK architecture (in <INSTALLDIR>/sdk/java-mashupui/) is based on the following conventions. Only key components are described here.

See Also
Managing URL Rewriting

Directory

/sub-dir

Contains...

docs

The javadocs of the different APIs including the Widget Reference documentation.

project

Project root

lib/

Exalead CloudView related libraries, already available in the global Exalead CloudView classpath.

src-core/

Sources root.

  • com/exalead/cv360/searchui/mvc/controller: Application controllers
    • MashupController.java: Main controller (establishes connection with Mashup API and render pages
    • ConnectController.java: Security / Authentication controller
  • com/exalead/cv360/searchui/view/wi: JSP Template tags
  • widgets/tagcom/exalead/cv360/searchui/helper: Simple helper classes
  • com/exalead/cv360/searchui/services: Mashup services for trigger and resource management

war/

Public content root.

  • WEB-INF/: Web application code and configuration
    • web.xml: Web application deployment file which contains information about enabled servlets and filters
    • urlrewrite.xml: URL rewriting rules (advanced). Enable the URL Rewriting filter in the web.xml before use.
    • lib/: Java libraries needed ONLY by this web application
    • jsp/: JSP pages. widgets/: Contains all the widgets. For each widget, we have a widget.xmlfile (Widget definition file) and a widget.jsp file (Widget JSP code)
    • i18N/: Contains language definition files for internationalization.
  • resources/: Application assets
    • css/: Global application stylesheet
    • javascript/: Global application javascript libraries
    • images/: Global application images