You are on page 1of 64

MetLife IWS 2.

0 SA

North America
Latin America
Asia Pacific
Middle East

Speeding your flow of Businesswww.rstn.com

Training Agenda
Introduction
Architecture
Higher level architecture
Configuration walkthrough
FileNet
Code customization

www.rstn.com

Introduction

What we want to cover.


Architecture
System Architecture (AS-IS & HTML5)
Information Architecture (no change)
Internal Architecture of IWS (AS-IS & HTML5)
Frameworks Used (AS-IS & HTML5)
Dojo Explained & Why Dojo

Internal Architecture of Event Handler & E2IO


Integration with LOB (no change)

System Design
UI Design
Use Case Diagram
Class Diagram
Sequence Diagram (Generic Flow)
REST API

(no change)

Architecture

System Architectire (HTML5)


reports

IWS Server

BPM Server

WebSphere
Application
Engine

IWS User
Workstation
Internet Explorer
(w/ Flash plug-in)

Case
Analyzer

image
viewin
g

Process
Engine

IWS

IWS Client

Database Server

IWS-specific
features

LOB iFrame

DB2
Content Server

Workflow
Admin

Pre-requisite
Pre-requisite
Windows XP and above
Internet
Internet Explorer
Explorer 7
7&
& above
above
Flash Player 10 & above
Java Runtime 5 and above
Screen
Screen resolution
resolution 1024
1024 x
x 768
768
RAM
RAM 1GB
1GB
CPU
CPU 2Ghz
2Ghz
VRAM 128MB

WebSphere

LOB
Server
Pre-requisite
Pre-requisite
Window Active Directory
Windows
Windows 2003
2003 Server
Server
WebSphere Application Server
DB2
MS
MS SQL
SQL Server
Server (Reporting
(Reporting Service)
Service)
FileNet
FileNet P8
P8 (CE/PE/AE)
(CE/PE/AE)
Java
Java

LDAP Services

Content
Engine

web
service

http

database

API

rd
3rd
Party

IWS

FiletNet

System Architecture
rd
3rd
Party

IWS

FiletNet

Application Layer
Data Entry
Points
Scanning

Webservic
e

IWS

Case
Analyzer

Data Layer

E2IO

Process
Engine

PE 5.0
DB

Event
Handler

CE 5.0
DB

DB2

Content
Engine

LDAP Services

No Change

Information Architecture
FiletNet

Data Layer
Content
Engine

I
W
S

Case &
Content

Rules &
Decisions

Process
Engine

CE 5.0
DB

IWS
rd
3rd
Party

API

PE 5.0
DB

Case
Analyzer

database

web
service

DB2

IWS-specific features

Policy Admin System


Policy
Data

NB

LDAP Services

No Change

FileNet components
S/No

Component

Description

Application Engine

Core server component that hosts UI web


applications, i.e., Workplace 4.0.2, Workplace XT
1.1.5 and Content Navigator 2.0. It is the
presentation layer for both process and content.

Content Engine

Core component to handle and manage the


repository of enterprise content objects, custom
objects, and documents.

Case Analyzer

Formerly known as Process Analyzer (renamed


since v5). Case Analyzer monitors and analyzes
workflow data (Process Engine event logs and
Content Engine audit logs), generates chartbased statistical reports. It uses OLAP
technology of multi-dimensional information
analysis. Up till version 5.2, Case Analyzer only
works with MS SQL OLAP services.

Process Engine

Provides services for managing all aspects of


business processes (workflow), i.e. process

3rd Party components

S/No Vendor

Component

Description
Bundled Enterprise Edition (limited for
FileNet use only). Additional clustering
component required i.e. MS Clustering,
for Active/Passive HA. Active/Active HA
requires DB2 PureScale.

IBM

DB2 (Database)

IBM

WebSphere
Bundled Standard Edition. Requires
Application Server WAS Network Deployment (ND) Edition
(WAS)
for High Availability

Higher level architecture

Internal Architecture (HTML5)


User
User Interface
Interface
HTML5/Dojo
HTML5/Dojo

JSON
JSON

IWS
IWS
IoC
IoC

REST Service

Daemon

LOB Service REST

Spring
Spring

Case Service

Content Service

LOB Service

Data Access Object (DAO)


Case DAO

Content DAO

File
File
Net
Net

FileNet Java API

Content
Engine

Process
Engine

LOB DAO

Others DAO

Web Service

Hibernate

LOB

DB2

E2IO
E2IO

Aspos
Aspos
e
e

Business Service

Event
Event Handler
Handler

Doc
Doc Gen
Gen

Case Service REST

SpringMVC REST Service


Content Service
REST

Frameworks (HTML5)
S/N
o

Framewor
k

Description

Dojo Toolkit

An open-source modular JavaScript library


designed to ease the rapid development of crossplatform, JavaScript/Ajax-based applications and
websites.

Spring (IoC
module)

Spring IoC module provides consistent means of


configuring and managing Java objects using
reflection. It externalize the dependency of
managed objects through configurable XML,
allowing flexible changes to object dependencies
(which methods/objects to call) without code
changes.

SpringMVC
REST

An HTTP-and servlet-based framework providing


hooks for extension and customization for web
applications and RESTful web services.

HTML5 / Dojo Architecture


HTML5 Browser

Web/App Server

Browser loads 1. Browser requests for webapp / html (URL)


HTML5 webapp

Java

REST API
Renders the User
Interface (html/js)
Captures user entry
(js)
Changes the
application state (js)

3. client sends AJAX request to server


(no browser page refresh/reload)
4. Server sends data (JSON)
to client (directly)

Business Service

HTML5 App

RESTful Service

(html with javascript - dojo)

Data Access Service

2. Server returns response

HTML5 / Dojo Architecture Explained


With HTML5/Dojo apps, the main html file with javascript (including dojo
library) is sent (over http) to the browser
HTML5/Dojo app runs in the browser within the HTML5-compliant
container
HTML5/Dojo app (typical) holds client-side business logic for UI.
Complex business logic are handled in the server.
In IWS, the HTML5/Dojo app contains client-side validation, lookup logic to
LOB sources, etc

Data is exchanged (between HTML5/Dojo app and Server directly) via


RESTful API
Leverages on the HTTP/S (transport layer) to send/receive data
Data is consumed via servers RESTful web service service (i.e. response in
JSON format)

HTML5/Dojo app changes state/UI without refreshing the page or


reloading the whole html page in the browser

More about HTML5 / Dojo


HTML5 The next generation of HTML, superseding HTML4 and XHTML
(1.0/1.1).

Uses industry standard technologies such as HTML, JS and CSS, to build feature rich
internet or web application, i.e., Rich Internet Application (RIA).
Replaces the need to use third party platforms or tools such as Silverlight or Flash.
Supported by newer version of browsers from most major vendors

Dojo Toolkit An open-source modular JavaScript library designed to


ease the rapid development of cross-platform, JavaScript/Ajax-based
applications and websites.
IWS will be built using the latest version of Dojo Toolkit 1.9 and Dijit (Dojos
world class widget library for RIA).
Dojo (and Dijit) runs on major browsers such as IE (8 10), Firefox (3.6 20),
Safari (5 - 6), Opera (10.50 12) and Chrome (13 26). However, IWS will
be tested & supported on IE 9 & 10 only as a start. Note: IE 8 is less
HTML5-compliant (http://html5test.com/results/desktop.html, http://fmbip.com/litmus/). Japan: As
is: Vista 32 bit IE 7 tobe: Windows 7 32 bit or 64 bit IE 9 or 10

Dojo Mobile is framework for rapid development of mobile web application


with a native look and feel on modern webkit-enabled mobile devices such

Why Dojo?
One of the most widely used frameworks
Another widely used framework is jQuery

Supported by IBM and is the standard used in many IBM web


applications
Design for better coding
Modularity & AMD Loading
Classes and Extensibility with dojo/declare
Aspects and Function to Function Events, .e.g., aspect.after ()

Dijit UI Framework
Dojo Mobile (for future use)
GFX and Charting (for future use)
DOH Testing Framework

Internal Architecture Event handler


Event
Provider

Reindex

Events

Event
Handler

Process
Process
Event
Event

Duplicate

Case
Case DAO
DAO

Workflow
Workflow
Status
Status Update
Update

Content
Content Event
Event

Hibernate
Hibernate

Event
Table

Export

Content
Content DAO
DAO

Config
(XML)

LOB
LOB Event
Event
Provider
Provider

Web
Web Service
Service

LOB

Event Handler /
Processor

Content
Engine

Process
Engine

No Change

Event Handler

Events are run through a scheduler

Events are executed by windows batches

Configuration
files
eventHandler_config file

are

used

mainly

EventHandler_config file

Events are run through a scheduler

Events are executed by windows batches

Configuration
files
eventHandler_config file

are

used

mainly

EventHandler_config file
Common parameters for all events:

Content - username/password to connect to Filenet


Content engine
Case - username/password to connect to Filenet Case
engine
Batch - Number of events to be updated one time per
batch
xmlRetry - number of times to retry in case of error
wsURL WSDL url In case a webservice is used in
checking for event

EventHandler_config file
Specific attributes per event handler:

eventType - type or code name of the event


Provider - class to read from the event source
Handler - class to execute certain job when the event is
captured
batchUpdate - number of events to be updated one time
per batch
useContent - specify whether to connect to Filenet
Content engine
useCase - specify whether to connect to Filenet Case
engine
maxRetry - number of times to retry in case of error
postTask class/task to be executed after the handler is
successful

Internal Architecture E2IO

WebService
WebService

Case
Case DAO
DAO

Process
Engine
Case
Case Submission
Submission // Add.
Add.
Doc
Doc

Content
Content DAO
DAO
E2Dao
E2Dao Connector
Connector

E2IO

File
System

LOB
LOB
LOB Lookup
Lookup

Content
Engine
File
File System
System Connector
Connector

Config
(XML)

Post-Task
Target
Connector
Pre-Task
Source
Connect
or

No Change
No Change

E2IO

E2IO is run through a scheduler

E2IO contains a configuration file where you can set


profiles

For every profile, there is source and target connectors

E2IO is run by windows batches where you can set which


profile is to be executed

E2IO

E2IO is run through a scheduler

E2IO contains a configuration file where you can set


profiles

For every profile, there is source and target connectors

E2IO is run by windows batches where you can set which


profile is to be executed

E2IO Common Configurations


The following
compatible:

configuration

are

Spring

framework

Session Object:
Target_Content_DAO - used to connect to Filenet Content engine
Target_Case_DAO - used to connect to Filenet Case engine
Target_E2PC_DAO - used to connect to Filenet E2PC engine

Property:
DAO - class name in which the object is to be instantiated
userid - username used for authentication
password - password used for authentication
Decryption - class name which is used for decryption

E2IO Source Connector Configuration

ReleasePath - upload path to read file,folders and xmls


needed
BackupPath - store path to save the files
ErrorPath - path for files that upload errors
HasFolders - where data to be uploaded contain folder
or not
MaximumRetry - number of times to retry in case of
upload error
ClassName - Filenet class type of the folder
Delimiter - delimiter used to parse the folder name
FieldSequence - sequence of parameters in the folder
name
NameField - set the name of the folder

E2IO Target Connector


-

Contains a mapping
configuration

file

from

source

to

target

The mapping file can set the parameters of the Filenet


objects defined in the source configuration like
classname object of the folder

When mapping is done, multiple tasks could be defined


to be executed one by one. Task contains their own
implementation class and configuration file.

Configuration Walkthrough

Imports
All the documents that we import are directed to a folder on the
server

Imports
After using a capture script to release that document into the system, it will show
up in the system in the case if it exists or in a new case if it doesnt.

The system will automatically generate the bookmark and EWS files.
Case properties is extracted as usual from the LOB WebService.

These can be configured as well.

Configuration
The configuration file is located in :
C:\program
files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps
\fn5Node01Cell\IWS_war.ear\IWS.war\json\clientConfig.json

That folder contains all the important configuration


and modules
to the system.
For example we can define the basic data models in
the system,
those are the ones that appear in the quick search,
which are the
data types for cases. Open the config file and search
for the
dataModel section.
Some IDs need to be the same as it is in the fileNet
system as you will see
later on, like in our case, the ID should be related to
the workflow on fileNet

DATA MODEL CONTINUE


The fields part of the data model is defining which fields
should be connected to that object. For instance this is
what fields will show up in the quick search results as
below.
Each section is a field.
Re-Index
Immediate : the system immediately updates.
Backend : an event handler will update. ( we use
the eventhandler ID that is defined in the file.
There are three models for every WF type we want to do
which are (NB case, policy folder, policy document), for
other types for example (Claim case, Claim folder, Claim
document)

Configuration
Search :
First you configure the name and doctype, the display name will
appear in the drop down menu for the quick search.

Queue configuration
These are the WF steps or activities that appear
for the users.
My Inbox is a special queue and it is configured
differently than the other queues.
Allow list : Empty strings means everyone can, or
we can define the set of users.
Every queue needs to know which data model
should pass through this step.

Tools and modules configuration


Every ID in the tools is a module ID
So the modules should be configured first mostly in everything. (modules next)
Every module have a source code (Class name)

Modules configuration
So basically everything is a module that has a source code that is pointed out in the config file,
and every part of the main screen is listed there with the suitable configuration set : Most
changes needs a relogin, if change didnt commence clean the cache (tab : new tab, dialog:
new window)
This configures what
what module should
show up on startup

KIV reasons
Add, remove, change KIV reasons from the config file as well.

Quick Send configuration


In this when we list case, we can open,
retrieve or quick send a case, this will push
the policy one step in the workflow without
opening the case.
This is a button that shows up in the list case

Related cases configuration


Who can lock the related cases.

Case History and Audit-log configuration


Which fields to
show up in them
both.
We define the
hibernate object
and its name to fill
the data.
History is the info
attached to the case.
Audit log is info
attached to policy
number. So the
difference appears
when different cases
has same policy
number.

Email-out configuration
Configuring each type of the email-out options.
Choosing the default subject and the template for the email that we want to
generate with outlook.

Case-file module
Configuring the module that shows the case
contents in the system.
Bookmarks and EWS are stored as XML
documents, so the system must be configured
to read those XMLs as modules in the system.

Duplicate as PDF configuration


This is used to duplicate any Microsoft document available in a case into a PDF file
in the same case.

Document Import configuration


Define who can access the document, which workflow
it belongs to, the types etc
This will be sent to the import repository folder, and
this will be generated
The name of the file is what is
being configured in the
naming section.

Case-Apps configuration
In this section we define the
workflow and what activities it
contains. Then we configure which
tabs (modules) should appear in this
case (wokflow).
So different cases from different
workflows can have different tabs to
load when opened.

Skill profile configuration


In this we define what to appear in the skill
profile section in the tools, and which user can
set skill profiles.

DB Schema
From here we can take a look at all the tables that are being used by the system.

DB Schema
Here are some of the important tables that we might use more often.
1. Audit trail
2. Event (this works as a FIFO queue for all the actions on the system)
3. Forms (there is no UI for adding new forms)
4. Rescan report
5. RPTHoliday
6. Skill profile
7. SLA
8. User Role
9. User Table
10. Role
11. Void request

FileNet

The workflow building


You can access it from the process configuration console.

Workflow components
Body

SLA component integrator

In this component we need to define only two fields (this can be


configured to do more based on your interest of course). These
are JAVA classes.

Each operation has parameters.

Defining Queues and sub-pools (Sub-Activity)


From the PCC workplace console, we can set all the queues and define the sub-pools

FileNet
FileNets main menu

FileNet Policy
This shows all the cases in the system.
From here we can rename case and rename policy number.
We can edit mostly everything here like the documents names.
This is an end-user page, we cant define new cases and classes.

FileNet - Policy
This is where we can
edit and create, the
previous one is to fill
in data.

For example, in the configuration file when we create a datamodel, the ID should
match the ID in here to connect it to the workflow.

Security
Every class is independently
secure. We can define many
security levels on every class
separately.
Subclasses can inherit the
parents completely, and then we
can add new rules to children.
(this is by default)
Worth mentioning that the users
here should be defined in the
LDAP system as well (Active
directory)

Secret documents

From here we can define what happens when we set


secret.
Here we can bypass the system admin security role, and
prevent him from seeing a certain document, having many
marking sets is not really recommended because it might
overload the memory by loading many conditions and
security rules, it will just complicate things.

FileNet Workflow
These are the workflow components.

FileNet Workflow
The process designer is where we create new workflow maps (Like visio)

FileNet Workflow
Workflow launch step, you can define the fields.

FileNet Workflow
Then we can add activities, name them and assign them to queues in the system.

FileNet Workflow
We can pass different parameters from activity.

You might also like