Presentation will explain how ‘coding’ is done in Pega
Eelco is the founder and general director of BPM Company. He has a passion for Romania, which can be seen at the fact that he founded Centric Romania in 2010 and will be opening a BPM Company office in Iasi May 2015.
Maarten has worked with Pega at multiple large financial institutions in the Netherlands. He is currently working as a Senior system architect at a large BPM program for the Rabobank.
Arjan has passion for bringing business & IT together. Pega is the perfect platform to do this and he has been doing this for over four years as a senior Pega BPM consultant at different large financial instutions like ING and NN.
Pega systems is a BPMS tool in which you can configure data models, processes, which Pega calls flows, business rules and UI. All these elements, or as Pega calls them rules, are saved as XML files in a database. When a user needs one of these rules, Pega will convert the XML’s to Java code and cash this. We will go into more detail during the application build.
Pega is constanly trying to stay ahead of the curve, this can be seen at the face that their core system has been redeveloped from scratch a total of three times. Pega 6 and 7, which is the current version of Pega, were even build in Pega itself! Previous versions were build in Java.
They are also constanlty looking for new and interesting technologies to incorparate into their system. An example of this is a business intelligence system, Cordiant, which they fully integrated into Pega and is now available as an extra component if you would want to do something with business intelligence.
The Pega system is build in Java code and is fully Java EE compliant, this means you can deploy PRPC applications on wide variety of operating systems (Windows, Linux, Solaris, IBM System Z and AIX) using the most popular application servers (IBM WebSphere, Oracle WebLogic, Apache Tomcat and JBoss) and database systems (Oracle, Microsoft SQL Server and IBM DB2 UDB or z/OS).
From our experience a typical infrastructure setup is a Linux OS, IBM Websphere as an application server and an Oracle DB as the database.
With this you only need an installation of Pega to start using it. Recently Pega opened up their site for anyone to sign up and here you can download a personal edition, which you can install on your own device.
Usually Pega is used as part of a larger IT landscape. Pega offers a lot out-of-the-box features to easily integrate all kind of interfaces with other systems.
This picture visualizes a typical setup which we see ofton at clients. An interesting side note is that Pega UI is responsive, cross-browser and mobile compliant since Pega 7!
This slide is about the main technical components of PRPC.
The core of the product is the Rules engine.
The rules engine contains all definitions that together pull an application together. A rule is a such a granular definition that it allows massive re-use of the rules over applications. The rules are expressed in XML and are stored in a database, the Rules database. When a user uses certain functionality all rules that are needed are assembled from XML to Java code and cached.
The rules engine pumps the rules to pull the Process Commander together, a commander that enables business users to define the processes used to resolve work. The process commander works in the model that we know as the 6 R's. Receive: receive a trigger, an event of a work type; Route: pass work to the appropriate internal and external resources; Report: business Activity Monitoring, Work, environment etc.; Research: Inspect all sources needed to gain the objects and facts (data) to resolve the work; Respond: communicate bi-directional, to all parties, by all channels, using all needed protocols; Resolve: complete the work
The work is stored in a separate database, yet positioned as one data base, but in fact, for each work type, the work can be stored in separate tables or separate databases if needed for business or compliance reasons.
Pega PRPC is built to operate in a multi disciplinary environment and adapts to SOA standards. Out of the box Pega offers components to easily connect with interfaces, it support all common industry adopted standards. If due to circumstances it is needed to deviate from the common industry standards, you can build your own services or connectors.
Serious time is spend in the development of the clipboard that represents the memory in XML based pages. All information needed to perform the work, in a full transparent matter. Anything that runs through Pega is represented in the Clipboard.
The work performed is recorded in a System of Record. Distinct between the three databases: PRPC Rules: PRPC and the application are expressed in rules, worded in XML and stored in the Rules Database. Work: all activity taken by man and machine (including all integrated systems) during resolution of work is recorded in the Work database; System(s) of Record, that keep all facts that initiate and conclude the work. SoR’s are most likely outside Pega, like SAP, Siebel or any other commercial available packages as well as company specific systems.
The situational layer cake architecture is one of the core principles in the Pega systems. It enables organizations to differentiate, specialize, and reuse their business applications.
The situational layer cake is shown in this picture. Each rule is places in one of these layers based on their reusability. For example a data entitiy, such as a person, which we could use regardless of the process we are in would be placed in the confere framework, think of a person data object which contains a persons birth date and name.
Higher up the situational layer cake we could place rules that are specific for a process or that needs to be specialized based on a different criterium like country. An example for this could be a specialization of the person data object in the registration framework, here we could define a specialized object called Speaker or Participant. Such a specialized data object would contain additional attributes which would only be visisble to the registration process (think of an attribute such as date of registration).
A specialization could also replace something lower in the layer cake, an exampe which we would specialize on the country level would be a persons ID. Which has different properties for each country.
When we introduced our selves I mentioned one of the challenges I seek in my work is to really connect the business and IT. One of the things Pega offers is what thet call Direct Capture of Objectives or DCO. This method is focused on a top down design approach where you start with the business objectives and designing the main stages of a process. From there you start working your way down together with the business in a very iteratively and agile way, where you can create a high over process, business logic and screens very fast and show them to the business.
This all makes a very close and agile collaboration with the business possible!
As an added benefit you can also record their wishes in requirements and specification directly into the system, in the end you can even let Pega generate your system documentation based on this input!
Based on our experience working with Pega is both configuring and coding! The great thing is that you can build 90% of the application in a very short amount of time, and with this you cover all the boring mundane tasks that you would normally have to spend a lot of time on with coding and testing. This leaves your other 90% free to work on the really interesting and challanging tasks to create a great application!
We feel that we talked enough now, and it is always better to actually see how a system like Pega works than talk about theory. So now Maarten will show you Pega in a 30 minute application build.
Pega Customer Service live demo: https://www.youtube.com/watch?v=zWEN2AAb3MY
NBA Marketing: https://www.youtube.com/watch?v=IReYc7dcEj0
Use this slide to set the stage, the terms of the Pega PRPC architecture. The wording on the slide should be enough for a Pega trained expert.
Bpm company code camp - configuration or coding with pega
Configuration or coding with Pega?
Who are we?
6 years BPM
6 years BPM
What is Pegasystems?
Models and executes flows
Business rules engine (XML)
Rules are then assembled to java at runtime
Java EE-compliant enterprise application
3 Pega customers in Romania
What do you need to start coding?
Required to run:
Application server: Should support Java EE Specification
Database system: For storing rules and work objects
That’s all you need to run Pega!
(Parse Delimited; Parse
Structured; Parse Normalize;
Parse Infer; Parse Transform;
Map PDF eForms; Parse XML;
Stream XML; XSLT; JSON)
Pega Rules Engine
1.Receive 4. Research
2.Route 5. Respond
3.Report 6. Resolve
Interface for web
portals, mobile &
Model & Simulate
Cases & Folders
Skill Based Routing
Architecture of main Pega components
Situational layer cake
General processes are build in frameworks
Specialization in frameworks and implementations
Pega BPM & Frameworks
Romania Framework NL FW US FW
CodeCamp IASI CodeCamp RO
How: Collaborate & Capture
DIRECTLY CAPTURE OBJECTIVES
Web self service Integration Business
Pega Rules Engine
Rule form specification
Stage Based Dynamic Case Design
Web Self Service
Web Self Service
Portal JSR 168, JSR 286
Business User Portal
Configuring & Coding!!
Spend your valuable time on interesting and
Now: demo of Pega7 by 30-minute app build
Business rules: the definition of how we do our business
The smallest unit of change to define what you want to do
The tools to get work done
Business Process Management
A discipline that focuses on continuously improving business performance
Directly Capture Objectives
Capture and configure the objectives that define the business application,
closing the gab between business and IT
Automate the programming
The objectives are automatically transformed into executable Java
Automate the work
The work is an intrinsic part of the model
Some Pega terminology