A Quick Start Guide for Oracle Endeca Commerce
As a consultant working with Oracle products (first WebCenter Interaction Portal and now WebCenter Sites) the buzz words often abound and new strategic acquisitions regularly muddy Oracle's software offering waters from the perspective of developers, development managers and software strategists. In this blog, I'll briefly talk about Endeca's offerings and then take a deeper dive into Endeca Guided search by describing what it is, some of the moving parts, and finally walking through an installation of Endeca in a simple windows environment. By the end you should have a running Endeca Guided Search reference installation for further investigation and learning.
The MDEX Engine
At the heart of Oracle's Endeca offerings is the MDEX Engine which is high performance indexing and query engine. The MDEX Engine is described as a hybrid search/analytical database designed for ultra fast exploration and analysis of rapidly changing and diverse data sets. The engine was designed to support both structured and unstructured data simultaneously (semi-structured) doing so with little metadata and/or data modeling required. Data records used by the MDEX Engine can consist of values as well as key/value pairs which may contain hierarchies thus providing a form of a dimensional model pivotal in "drill down" type searches . The diagram below depicts how MDEX is generally situated within Oracle Endeca products.
The explosion in unstructured data in recent years has mandated that extensive data modeling not be required in order to explore data. Often times with a large set of data sources traditional data modeling becomes nearly untenable in the face of a rapidly changing data sources. To this end Oracle Endeca offers a Knowledge Discovery platform geared toward BI Analysts known as Endeca Information Discovery (EID) which is part of the Oracle Business Intelligence stack (OBIEE).
The other major product Oracle Endeca offers is a Faceted Search / Guided Navigation platform called Oracle Endeca Commerce. A great promotional video showing the power of the tool can be seen here. As you can see from the promotional video, the platform allows non-technical folks to control all aspects of the user's site experience. Now we'll do a quick installation and deploy the Discover Electronics reference implementation so that you can take a look under the hood for yourself.
Installing Oracle Endeca Commerce
We'll take a look at the 3 required installers and the components they install.
The installers can be downloaded via the e-Delivery Site . Search for "Oracle Endeca Commerce 3.1.2 Media Pack".
The required components are:
- Endeca MDEX Engine 6.4.1
- Endeca Platform Services 6.1.3
- Endeca Tools and Frameworks 3.1.2 (formerly named Endeca Workbench)
For a Windows installation (as I will be doing) these components are located in 1. V40320-01.zip, 2. V40325-01.zip, and 3. V37717-01.zip respectively (as of the writing of this blog).
**Do not try this installation on Windows 8/8.1. The Forge component (part of the Information Transformation Layer or ITL) which is installed with Endeca Platform Services will not start (I learned this the hard way). The easiest thing to do (which is the direction I took) is to whip up a 64 bit Windows 7 Pro VM and test the installation there.
The MDEX Engine
As mentioned previously the MDEX Engine is the heart of Endeca's products and as such you will install this first. Simply unzip V40320-01.zip and double click on the intstaller named "mdex_220.127.116.11.763315_x86_64pc-win32.exe". During the installation, we'll look to keep the Endeca components grouped together under a top level folder name "Oracle" for ease of use later on. Your final directory structure will look something like the following:
After running the simple installer I have the MDEX Engine installed at the location, E:\Oracle\Endeca\MDEX\18.104.22.168. The installer you ran installed two MDEX Engine components named Dgraph and Dgdix (among others). Dgraph is the MDEX Engine component responsible for receiving client requests, querying the MDEX indices and returning results. Dgdix is the MDEX component responsible for taking in tagged Endeca data records and creating indices for use by Dgraph. At this point make sure you have a system variable named ENDECA_MDEX_ROOT = E:Oracle\Endeca\MDEX\22.214.171.124 . If for some reason you do not, you should manually create it now.
Next unzip the file V40325-01.zip and run the installer named "platformservices614734339_x86_64pc-win32.exe". This installer requires a service account so have this information handy before you run the installer. Your confirmation prompt (just before install) should look like this: (accepting the default values)
The Platform Services installer installs several important Endeca Components including Endeca Application Controller (EAC Central Server and EAC Agent), Forge, and a Logging and Reporting subsystem (among others). The EAC ships with a command line utility, eaccmd which can be used to control your Endeca Application via the EAC Central Server. Forge is the Endeca component responsible for reading in configurations (via Developer Studio a tool we will not be installing here) and raw data and converting them into tagged Endeca records. These tagged records are then consumed by the Dgidx process of the MDEX engine to create the indices that can be queried by Dgraph. This high level architecture can be seen below.
Endeca Experience Manager (aka Endeca Workbench)
We will now install the Endeca Experience Manager (the UI used to configure your Endeca Applications). Unzip the file named V37717-01.zip. This will contain a folder named ToolsAndFrameworks, simply drop this into place in your Endeca folder along with the other components so that your directory structure looks similar to the one depicted earlier in the post. Now open up a command prompt as Administrator and run install_service.bat as in the screen grab below. This will install the EndecaToolsService.
At this point you should have all the following system variables set.
Now open up the services tab in the Task Manager window and verify that you now have the following 3 services.
Start the newly installed "EndecaToolsService" (and the others if they are not started) and verify you can see the Workbench login screen at http://localhost:8006/ .
The default login is admin/admin. You will not see much at this point after logging in as there are no deployed applications. We will do that now using a reference application that ships with the Platform Services. First thing you need to do is create an "Apps" folder as depicted in the directory structure previously discussed. This is where we will store deployed Endeca applications. To deploy the reference application you will need to
1. Deploy the "Discover" application
"E:\Oracle\Endeca\ToolsAndFrameworks\3.1.2\deployment_template\bin\deploy.bat --app E:\Oracle\Endeca\ToolsAndFrameworks\3.1.2\reference\discover-data\deploy.xml".
**Use the default ports and make sure to use the path to the newly created "Apps" directory when prompted.
2. CD to the newly deployed application's "control" folder.
3. Run the following batch files shown below in sequential order (as Administrator)
When these finish running successfully, you will be able to see the application at http://localhost:8006/discover:
And now log into Endeca Experience Manager/Workbench and you will see the deployed application!
At this point you will have many more questions, rest assured there is a REALLY REALLY HUGE set of documentation at your disposal!
I hope this was helpful to you and good luck in your exploration of Oracle Endeca Commerce.