Post on 23-Feb-2016
description
FFMII Introduction
Refer to FFMII Specification for details and explanations
1
2
Field Force Management Integration Interface
. . .
FFMII
Enterprise Resources Management
Operational Analytics & Reporting
Supervision Scheduling
Field-Force Management User Profile Mgmt
Field Communication Terminal Mgmt
Field-Force
Material Information
Partner Data
People Data
Higher-order system (optional)
Customer Data
. . .
Map Services
BI
Site Knowledge Database
Rossum, NSN, ClickSoftware Technologies, Aalto, Newelo, Pajat Management
FFMII provides a flexible interface between ERMS and FFMS for the purpose of work request modeling, exchange, and collection of data from the field. Information carried with work requests, work request structure (work-flow) and data to be collected can all be defined dynamically ‘as data’. This data driven architecture makes FFMII very flexible and adaptable to numerous industries
Design Goal & Characteristics
• Applicability across domains and use cases• Technical scalability• Feature scalability• Expression accuracy and user guidance• Reliable message exchange• Deployment adaptability and technology neutrality
4
Example Use Case: Telecom installation
• Multiple installation companies per telecom operator• Involves several distribution points, cross-connect place
and end-user premises• Field Work may be dispatched to single or several
assignees.• Work Request contains all details, such as installation
instruction, part list, location access, etc.• Field initiated request
Non-standard track:
Field Force Management Integration Interface Requirements Version 1.0
• business drivers• business use cases, and• high level features requirements
Standard track:
1) Field Force Management Integration InterfaceSpecifications Version 1.0
2) FFMII Protocol Binding: SOAP over HTTP (Web Service)
• WSDL description of the FFMII for Implementation and Manager interfaces
• XML Schema type definitions for the associated XML namespaces
FFMII overview
5
FFMII Specifications: structure & main contents
6
• Simple topology: a single Manager and a single Implementation interacting• Distributed work realization: A single Manager interacting with several
Implementations for communicating with distinct groups of field personnel• Shared Field Force: multiple Managers interacting with a single Implementation• Multi-Paradigm: multiple Managers interacting with a single Implementation
Flexible integration topologies
Manager
Implementation
Manager
Multi-paradigm integration topology (example)
ImplementationImplementation
Shared field force
Distributedwork
realization
Domain Model (main topics of FFMII )
Work Type Specification
FFMII Domain Model
Work Request Status Record
Work Request
Reference Data
Assignee Schedule
Field Initiated Request
Task
Activity
Step
StateData Form
Dependency
Action
Topical Notification
Topical Inquiry
Work Request Status Change Notification
Domain Model (Work Request)
Work Type Specification
FFMII Domain Model
Work Request Status Record
Work Request
Reference Data
Assignee Schedule
Field Initiated Request
Task
Activity
Step
StateData Form
Dependency
Action
Topical Notification
Topical Inquiry
Work Request Status Change Notification
9
Work RequestManager produces series of self-contained Work Requests representing Tasks related to Field Works. Each Task is to be performed by one or more Assignees belonging to the addressable Field Force. A Manager communicates with one or more Implementations over the FFMII interface to make the planned Tasks accessible to corresponding Assignees.
1
Manager
Work Request
Activity
Step
1..*
involves
Work Type Specification
Action
Assignee
Schedule
0..*
leads to
1
1
1
0..*
0..*
1
0..1
1
Field Force
Implementation
Field Work
manages 1..*
1
0..*
1
<<interface>> FFMII
Activity Location
0..1
1..*
0..* declares 1
1..*
1..* 1..*
1..*
assigns works to
makes tasks accessible to
1..*
1
0..*
0..1 starts with
Work Request Status Record
Status
Snapshot Record
Activity History Entry
1 0..*
1
1..*
Domain Model (Work Type Specification)
Work Type Specification
FFMII Domain Model
Work Request Status Record
Work Request
Reference Data
Assignee Schedule
Field Initiated Request
Task
Activity
Step
StateData Form
Dependency
Action
Topical Notification
Topical Inquiry
Work Request Status Change Notification
11
Work type Specification structureA Work Type Specification (WTS) describes content and structure of a Work Request
1
Activity Specification
Work Type Specification Data Form
Specification
Header
Work Overview
Work Instructions 0..1
1
1
0..1
Activity
Step
Activity Location Data
1..*
1..*
Action Input Form
Step Instructions
Action
0..1
0..1
State
1..*
1
leads to
0..*
1
1..* declares
0..*
1
Condition
0..1 +enable
Condition
+enable Condition
0..1
Status Category
Status Indicator
1
0..1
12
Relationship of Steps, Actions and States within an Activity
A combination of States, Steps and Actions form an Activity State Model. FFMII interface does not prescribe or imply usage of any specific Activity State Model in order to remain neutral with respect to types of Task a Work Request may represent.
In this example, the OnSite state requires the Assignee to decide whether the Task may be fulfilled by repairing the customer's equipment, or whether it is necessary to replace the equipment with a new unit.
Therefore there are two possible actions leading from Step 2, and both of them are enabled so that the Assignee may select either of them (enabling conditions aren't visualized in this diagram). If the Assignee chooses the Replace action, the action leads to Step 4. In this example, replacement requires approval, so the dashed action transfers the task to an Inactive state, pushing the current State into the State Stack. At that point, the other action leading from Step 4 is not enabled, due to an enabling condition which depends on receiving the approval. Once the approval arrives, the next action pops the State Stack to return to the OnSite state.
Note: a more complete scenario would probably also include action that should lead from Step 5, for handling the case when approval is not granted, possibly leading to another State in the Closed category which reflects cancellation of the Work Request.
1
Step 1
Step 2
Step 3 Step 4 Step 5
Step 6
Step 7
State: State A Status Category: <<Open>> Status Indicator: Dispatched
State B <<Active>> OnSite
Action: {push} Obtain-approval
State C <<Inactive>> X-Obtain-approval
Action: {pop} Resume
State E <<Closed>> Completed
Action: Transition to OnSite
Action:Transition toX-Finalize
Action:Transition toX-Finalize
Action: Transition to Completed
Action:Repair
Action:Replace
13
Example: Activity State Model with Dependencies
1
Activity 1
Example Activity State Model (with dependencies)
Task
<<Open>> Pending
<<Active>> Ongoing
<<Closed>> Completed
<<Inactive>> Suspended
New Travelling to Site
Resolving Issue Completed
Suspended
> Start < > On site < > Ready <
> Suspend <
> Resume <
Activity
<<Status Category>>
State
Step
> Action <
Association of Action in context of specific Step
Transition to another Step
Activity 2 <<Open>>
Pending <<Active>>
Ongoing <<Closed>> Completed
Activity 3 <<Open>> Pending
<<Closed>> Completed
Dependency of Activity or Action on State of another Activity
Activities MAY have dependencies on other Activities being in specific States.Activity-Enabling dependencies and Action-Enabling dependencies are specified as Boolean expressions referred to as Conditions.
Activity 1 is not made available to the Assignee until Activity 3 is in “Completed” State.
Additionally, while at the “New” Step, Activity 1 won’t be allowed to proceed towards the next Step, “Traveling to Site”, unless Activity 2 is at any Step associated with the State “Ongoing”.
Domain Model (Data Form)
Work Type Specification
FFMII Domain Model
Work Request Status Record
Work Request
Reference Data
Assignee Schedule
Field Initiated Request
Task
Activity
Step
StateData Form
Dependency
Action
Topical Notification
Topical Inquiry
Work Request Status Change Notification
15
Data formsData Forms are used to model dynamically specified structured information. Data Forms are used, for example, for the purpose of defining Work Request header, overview and instructions, Step level instructions and user input.
1
Data Form data
Data Form structure
1 0..*
Data Form
Data Element
1..*
Data Element Specification
Data Element Reference
1..*
Data Binding
Data Value
0..1
Data Field Spec
Data Attachment Spec
Data Group Spec
Data Matrix Spec
1..*
1
Work Type Spec Field-Initiated Request Spec
Work Request Work Request Status Record Field-Initiated
Request Field-Initiated Request Response
shared Data Elements
16
Data Element Specification• Data Element Specification is an abstraction that
supports a common set of attributes for all sub-classes of Data Element Specifications
1
Concrete sub-classes
Label
<<tags>> Formatting
<<expression>> Enable Condition
<<expression>> Validation Condition
0..1
0..1
0..1
0..1
0..1
<<expression>> Updateable Condition
…
Data Element Specification
Source 0..1
17
Data Element Types• Simple data field: Data Field Specification• Matrix of Data: Data Matrix Specification• Attachments: Data Attachment Specification• Grouping of possibly nested Data Elements: Data Group Specification
Data Matrix Specification
+ Rows Deletable
Data Element Specification
1..* columns
Data Field Specification
Data Matrix Column Specification
+ Value for Added Row
Data Attachment Specification
+ Mime Type Base + Max Size
Data Element Specification
Data Field Specification
+ Type + Unit-label + Alternatives + Alternatives
Repository Id + Primary
Alternatives
Data Element Specification
Data Group Specification
Element Specification
1..*
elements
Data Form Element
Domain Model (Work Request Status Record)
Work Type Specification
FFMII Domain Model
Work Request Status Record
Work Request
Reference Data
Assignee Schedule
Field Initiated Request
Task
Activity
Step
StateData Form
Dependency
Action
Topical Notification
Topical Inquiry
Work Request Status Change Notification
19
Work Request Status Record
1
1..*
Work Request
Task
Activity
Step
1..*
Action
1
1
0..1
Action Input Form
Task Status
Record
Data Change History Entry
0..*
Task Status
Activity State
1
*
Revision Number
Activity Instantiation Timestamp
*
1
1
Updated Data
Cause 1
1
1
Assignee-Id 0..1
Activity Change History Entry
0..1
Input Data Activity-Id
Step-Id
Action-Id
1
1
1
Assignee-Id 0..1
1 Change History Entry
+ Change Time + Resulting Revision
Work Request Status Record
Revision Timestamp
1
1..*
Work Request Status Record reflects state changes of Work Request after it has been received by the Implementation. An Implementation MUST maintain one Work Request Status Record per each Work Request
Domain Model (Reference Data)
Work Type Specification
FFMII Domain Model
Work Request Status Record
Work Request
Reference Data
Assignee Schedule
Field Initiated Request
Task
Activity
Step
StateData Form
Dependency
Action
Topical Notification
Topical Inquiry
Work Request Status Change Notification
21
Reference Data
1
Implementation
0..* Custom Repository
Reference Data
Repository
System Repository
0..*
Reference Data Item
1
1
ID
Value Reference
1
0..*
maintains
<<strongly typed>>
Class Value << type-less>>
Dictionary Value <<strongly typed>>
Primitive Value
Note: Reference may also target items residing in different repository
1 0..1 0..*
Repository Descriptor
+ id
{ system repositories only }
An Implementation MAY provide means for the Manager to establish custom data repositories with arbitrary content “Reference Data” that MAY be used for input value selection, lookup of display values or content validation in Work Requests.An Implementation MAY also provide access to system repositories providing access to selected data on Implementation side, such as Assignee identities and alike.
Domain Model (Field Initiated Request)
Work Type Specification
FFMII Domain Model
Work Request Status Record
Work Request
Reference Data
Assignee Schedule
Field Initiated Request
Task
Activity
Step
StateData Form
Dependency
Action
Topical Notification
Topical Inquiry
Work Request Status Change Notification
23
Field-Initiated RequestField-Initiated Request (FIR) is a request initiated by an Assignee and dispatched as a structured message from Implementation to Manager. It is intended for making requests or reporting information outside the usual Activity work flow, such as requesting activation or reset of a specific device, reporting absence of the Assignee, or requesting additional work for the Assignee.
1
Work Request
Field-Initiated Request
Topical Notification
Topical Inquiry
1
Request Data 1
0..*
Topic Assignee
1 0..1
Field-Initiated Request
Specification
<< RDM Repository>> Field-Initiated Requests
Repository Data Form Specification
1
Request Form Response Form
0..1
0..*
WR Processing Topics
1
1