Integrating and Extending Pentaho
This course is designed to introduce software architects to the methods needed to customize and extend Pentaho solutions and the Pentaho products (heavily focused on the Pentaho BI Server) to meet the needs of customers that are looking for functionality beyond “out of the box” capabilities. This course focuses heavily on labs to allow you practical hands-on application of the topics covered in each section.
The course is divided into 6 main sections:
Section 1: Pentaho Architecture
Before you can extend Pentaho you have to understand the Pentaho architecture and how it can be extended and customized. This topic covers the architecture, how to set up a development environment for extending Pentaho, and setting up initial actions to occur when a user begins using Pentaho.
Section 2: Pentaho Security
Security is a common area that needs to be extended when working in an enterprise environment that already has a security environment. As part of this topic area you will learn how Pentaho enforces security. You will also learn how to implement single sign-on and add custom user information sources.
Section 3: Multi-tenancy
Most embedded uses of Pentaho involve some level of multi-tenancy. In this section you learn how to implement multi-tenency to meet your requirements. You will learn how to implement multi-tenancy of data, content, and even look and feel at multiple levels of the application layer. Topics include multi-tenancy at the data, model, and solution repository levels.
Section 4: Plug-ins
Pentaho contains a number of plug-ins that allow you to extend the product. In this section you learn to create Pentaho plug-ins for the BA server, Pentaho Data Integration, and custom visualizations.
Section 5: Integrating Pentaho
In addition to creating customizing Pentaho, it is often desired to integrate Pentaho content into other thin client applications. This section covers the approaches and APIs to use to integrate Pentaho.
Section 6: Scaling Pentaho
As Pentaho usage grows, it is often necessary to scale Pentaho to support many simultaneous users. This section covers the approaches to scaling Pentaho.
At the completion of this course, you should be able to:
- Be able to develop dashboard solutions and content mashups using Pentaho Reports, Pentaho Data Integration, and Pentaho Analysis
- Be able to use Pentaho web services to deliver Pentaho solutions and Pentaho web clients within your own web application or mashups
- Be able to develop basic BI Server actions and plugins, incorporating custom functionality into the Pentaho BI Server and your solutions
- Understand the best practice extension points to expand the Pentaho BI Server to cover your customer's complex requirements
- Be able to implement a custom security plan for the Pentaho BI Server
Students should complete BA1000 Business Analytics User Console for general understanding of the Pentaho visualization tools and their purposes or have equivalent Pentaho field experience.
Proficiency with Java programming is essential to complete the lab exercises in this class.
Students attending classroom courses in the United States are provided with a PC to use during class. Students attending courses outside the US should contact the Authorized Training Provider regarding PC requirements for Pentaho courses.
In general, if your training provider requires you to bring a PC, it must meet the following requirements. You can also verify your system against the Compatibility Matrix: List of Supported Products topic in the Pentaho InfoCenter:
- OS X or Linux desktop operating system. Windows XP & 7 are acceptable but not preferable (for Macintosh support, please contact your Customer Success Manager)
- Java 7 installed
- A Java code editing tool installed such as Eclipse or IntelliJ. Text editors are not recommended
- RAM: at least 10GB
- Hard drive space: at least 2GB for the software, and more for solution and content files
- Processor: dual-core AMD64 or Intel EM64T
Students attending this course on-site should contact their Customer Success Manager for hardware and software requirements. You can also email us at firstname.lastname@example.org for more information regarding on-site training requirements.
Introduction to the Pentaho Architecture and Components
Lab: Install Pentaho (or start VM)
Introduction to the Lab Environment and Setup
Lab: Setting up Your Development Environment
Action Sequences and Session Startup
Lab: Deploying and Testing the Action Sequence
Introduction to Pentaho Security
Lab: Single Sign On
Lab: Users and Roles
Introduction to Multi-Tenancy
An overview of Multi-Tenancy
Lab: Custom ACL Voter
Custom Data Sources
Lab: Custom Data Source
Dynamic Schema Processor
Lab: Custom Role
Lab: Metadata Constraints
Lab: SQL Generator
Lab: Report Pre-Processor
Overview of Plug-Ins
An overview of plug-ins
BA Server Plug-In
Lab: BA Server Plug-In
Lab: Viz Plug-In
Pentaho Data Integration Plug-In
Lab: PDI Plug-In
Lab: Integrating Pentaho