PeopleSoft Search Framework Architecture
The server topology uses the essential elements of the PeopleSoft Internet Architecture, with the addition of Elasticsearch server and Kibana server.
Image: PeopleSoft server architecture with Elasticsearch, Kibana, and Logstash
The following illustration depicts the PeopleSoft server architecture connected to Elasticsearch (using Integration Broker and DirectTransfer), Kibana, and Logstash.
![PeopleSoft server architecture with Elasticsearch, Kibana, and Logstash](img/i49fb084dn-5968.png)
The web server and application server (the PeopleSoft Internet Architecture) provide the interface for the design, administration, and end user access. The PeopleSoft database stores the PeopleSoft queries that define the search data as well as the search definition meta data. PeopleSoft uses the Process Scheduler and Integration Broker’s publishing and subscription functionality to push application data to the Elasticsearch server. In Full Direct Transfer mode, PeopleSoft Search Framework pushes the documents with attachments and documents without attachments to Elasticsearch and bypasses Integration Broker. Elasticsearch stores the deployed search definitions and performs the typical search engine tasks, such as building indexes, crawling for updates, maintaining indexes, and servicing end-user search requests. An Elasticsearch cluster can have multiple nodes that assist in providing high availability and fail-over mechanism. Within the cluster, Elasticsearch internally maintains indexes among the nodes. Kibana is an analytics and visualizations platform, which enables users to create visualizations based on application indexes in Elasticsearch. It is also a monitoring tool that provides real-time information on the health of the system and Elasticsearch metrics.
The following diagram depicts the relationships between all of the separate elements that are involved with the PeopleSoft Search Framework.
Image: PeopleTools elements interacting with Elasticsearch, Kibana, and Logstash elements
The following illustration depicts PeopleTools, Elasticsearch, Kibana, and Logstash elements interaction to enable the PeopleSoft Search Framework features.
![PeopleTools elements interacting with Elasticsearch, Kibana, and Logstash elements](img/i47e41bbfn-59e7.png)
The following table describes the PeopleTools elements.
PeopleTools Element |
Description |
---|---|
PeopleSoft Internet Architecture |
Enables access to all aspects of the PeopleSoft Search Framework, including development, administrative, and end user interfaces. |
Search Framework Designer |
Enables application developers and implementation teams to perform design-time tasks, such as map query fields to search metadata, define search attributes, create search definitions, and create search categories. |
Search Metadata |
The metadata defined with both PeopleSoft Query and the Search Designer to describe the data that end users will run searches against. |
PeopleSoft Query Connected Query |
Provides familiar interface for creating SQL queries that declare exactly the data against which end users will run searches, and takes advantage of Query security. |
Process Scheduler Integration Broker Publishing and Subscription |
Facilitates the transfer of application data from PeopleSoft to the Elasticsearch server. |
Search Framework Administration |
Provides the interface for system administrators to perform tasks, such as creating a search instance, deploying search objects, scheduling search index builds, and administering Kibana. |
SFTP/HTTP Repository Server |
Facilitates storing of attachments, which are associated with search definitions. |
Search Framework User Interface |
Provides the PeopleSoft application end user with the appropriate prompts and fields by which they can submit a search request and review results. |
Search Query API |
A PeopleCode API that enables application developers to form a valid search request from user input. |
PeopleSoft Integration Broker |
Facilitates the integration between PeopleTools elements and the search engine (Elasticsearch). |
DirectTransfer |
Facilitates the transfer of application data to the search engine (Elasticsearch) directly; bypassing the Integration Broker. |
The following table describes the Elasticsearch elements.
Elasticsearch Element |
Description |
---|---|
Indexing Process |
The indexing process indexes document search attributes such as Title, Summary, search fields (fields to index), and so on. It can also index document-level security attributes if document-level security is being used. Elasticsearch uses the Ingest attachment plug-in to process attachments, both from the database and from the repository (FTP, SFTP, HTTP). |
Security Plug-in |
This module gets invoked from the search engine for a user who initiates a search from an application. The search security framework is responsible for authentication, search user validation, and authorization of the search query request. The search engine does a callback with the call back user credentials and passes the search user ID to the PeopleSoft Security Service (Web service) which authorizes the users and gets security attributes for that user. Search results are filtered based on this security attribute. The security plug-in (orcl-security-plugin) is built on top of the Elasticsearch search engine. |
Administrative REST APIs |
The administrative tasks include various processes, such as, deploying, undeploying, report synchronization, and updating. The http methods of GET, PUT, POST, and DELETE are used while sending the REST API requests to Elasticsearch. |
Query REST API |
The Query plug-in works in conjunction with the PeopleCode Search API for application developers to compose search queries and execute them. The Query plug-in exposes various search features like filtering, sorting, grouping, restricting search scope, pagination, and so on. |
Search Engine |
PeopleSoft Search Framework works with Elasticsearch search engine. Elasticsearch is an open-source search engine, which is based on Apache Lucene™. |
The following table describes the Kibana elements.
Kibana Element |
Description |
---|---|
Analytics and Visualizations platform |
Kibana is an analytics and visualizations platform that uses indexes in Elasticsearch to display data in dashboards and visualizations. |
Security Plug-in |
The security plug-in module gets invoked from Kibana for a user who attempts to view a Kibana dashboard or visualization. Kibana does a callback with user credentials to Elasticsearch, which in turn does a callback with the call back user credentials and passes the search user ID to the PeopleSoft Security Service (Web service) which authorizes the users and gets security attributes for that user. Data in visualizations and dashboards are filtered based on this security attribute. The search security framework is responsible for authentication, search user validation, and authorization of the request. |
The following table describes the products that use Logstash.
Logstash |
Description |
---|---|
PeopleSoft Health Center |
PeopleSoft Health Center monitors the health of your PeopleSoft applications. It uses Logstash to collect data from JMX agents in PeopleSoft servers and pushes the data to Elasticsearch. |