oracle endeca developer's guide
Post on 14-Feb-2017
Embed Size (px)
Oracle EndecaIntroduction to Assembler Application & Cartridges
- Keyur Shah (http://www.linkedin.com/in/keyurkshah)
Note: Source for some of the images is Oracle Endeca Documentation
Endeca Component Interaction
Endeca Component Interaction - 2
Offline processing raw data sources
Endeca MDEX EngineEndeca Application TierOnline processingYour ApplicationUsers Browser
Endeca PipelineThe end result is an Endeca index which possesses enriched source data and enhanced search and Guided Navigation capabilities
Loading DataCaching & Joining Data Manipulating DataDimension Mapping
The Endeca pipeline
Endeca Index Architecture
ContentDatabase & File SystemIndexingMDEX Dgraph / IndexConsole
CMS ConnectorFile SystemJDBC
MergeRecord StoreRecord StoreMDEXCompatible Output
Content Acquisition SystemCustom
Publish Product Catalog Assets to Endeca RecordsPublish Categories to Endeca DimensionsPublish Schema Metadata from ATG Web Commerce to EndecaOperational Support
The MDEX Engine uses proprietary data structures and algorithms that allow it to provide real-time responses to client requests. The MDEX Engine stores the indices that were created the Dgidx indexing program. After the indices are stored, the MDEX Engine receives client requests via the application tier, queries the indices, and then returns the results.The two primary components of the MDEX Engine package are the following:
MDEX engine is designed to be stateless.
Overview of CAS & Crawler
Endeca Type of Pages
Site may have 3 basic page types:
Page Structure & Content Type
Templates & Cartridges Work Together
Endeca Assembler ApplicationThe Endeca Assembler application enables a WEB application to query the MDEX Engine and retrieve the appropriate dynamic content based on users navigation state or other triggers
The Assembler application provides a RESTful web service API that returns results either in JSON or XML.
The Assembler API is powered by Java, but the query interface is language-agnostic web service
Example of JSON Returned by Assembler Application
Example of JSONhttp://localhost:8006/discover/?format=json Explicitly retrieve JSON from AssemblerOpen the JSON in Notepad++Download the JSON Viewer for Notepad++
JSON Viewer in Notepad++You can download the JSON Viewer for Notepad++ from Sourceforgehttp://sourceforge.net/projects/nppjsonviewer/?source=dlp Unzip the downloadThis plugin is meant to display a JSON string in a Treeview. It also marks the error position in case of parsing errors. Thats it!!!============Instruction:============Paste the file "NPPJSONViewer.dll" to Notepad++ plugin folderopen a document containing a JSON stringSelect JSON fragment and navigate to plugins/JSON Viewer/show JSON Viewer or press "Ctrl+Alt+Shift+J"
Cartridge Creation WorkflowReviewAs we have seen, the high-level workflow for creating a basic cartridge is:1. Create a cartridge template and upload it to Endeca Workbench2. Use Experience Manager to create and configure and instance of the cartridge3. Add a renderer to the front-end application
Step 2 is necessary during development in order to have a cartridge instance with which to test.However, once the cartridge is complete, the business user is typically responsible for creating and maintaining cartridge instances in Experience Manager.
Endeca Content & Indexing
What Happens @ Runtime?The Assembler retrieves this configuration at runtime and uses it to build the response model that it returns to the client application.
How does it all work?
Hello Cartridge - ExampleTo create and configure a basic Hello cartridge:
Create a cartridge template
Open a new plain text or XML fileType or copy the following contents to the file (with .xml extension)Save the file into C:\Endeca\Apps\Discover\config\cartridge_templates folder
Hello World Cartridge Example (Contd)