Ulm University | 89069 Ulm | Germany Faculty of
Engineering and Com-
puter Science
Institute of Databases and
Information Systems
Technical Conception and Implementa-
tion of an IT-System supporting the flex-
ible Distribution of Documents within a
large scale Sales Organization
Master Thesis at Ulm University
Submitted by:
Jonas Schaude
Reviewer:
Prof. Dr. Manfred Reichert
Dr. Vera Künzle
Supervisor:
M. Sc. Johannes Schobel
2015
Version October 27, 2015
c
2015 Jonas Schaude
This work is licensed under the Creative Commons. Attribution-NonCommercial-ShareAlike 3.0
License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/de/
or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California,
94105, USA.
Satz: PDF-L
A
TEX2ε
Abstract
This thesis aims to discuss and present an IT system to distribute documents within a
large scale sales organization. Therefore, different sales applications on the market are
analyzed and described. Based on this analysis, requirements for the IT system are
defined. The requirements are divided into client-side and server-side requirements.
The server application is realized using an existing ECM system to support the content
throughout the enterprise content life cycle. Therefore, an evaluation of existing ECM
systems is performed with a criteria catalog based on the requirements. Afterwards,
the conception and architecture of the IT system are described, followed by further
insights into the technical implementation of the mobile application. Finally, the features
of the overall IT system are discussed and an outlook on how to extend the IT system is
presented.
iii
Acknowledgment
I would like to thank everyone who has supported me during the preparation of this
master’s thesis and during my student days.
My deepest appreciation goes to Johannes Schobel for his excellent support and
important guidance through all of this thesis. I also thank Predrag Janjetovic for interest
and support for this master’s thesis.
Special thanks go to my friends, colleagues and to my family. I thank you for your support,
encouragement and opportunity.
v
Contents
1. Introduction 1
1.1. Motivation of this Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Structure of this Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Fundamentals 3
2.1. Content, Documents and Information . . . . . . . . . . . . . . . . . . . . . 3
2.2. Enterprise Content Mangement Systems . . . . . . . . . . . . . . . . . . 5
2.2.1. Definition ................................ 5
2.2.2. Components .............................. 5
2.3.Decision-Making ................................ 14
2.3.1. Overview ................................ 14
2.3.2. MADMmethods ............................ 16
3. Related Work 31
3.1.DigitalSalesAid ................................ 31
3.2.Showpad .................................... 32
3.3.Comparison................................... 33
4. Requirements 35
4.1.Overview .................................... 35
4.2.ClientApplication................................ 37
4.2.1. Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.2. Nonfunctional Requirements . . . . . . . . . . . . . . . . . . . . . 38
4.3.Server...................................... 39
4.3.1. Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . 39
4.3.2. Nonfunctional Requirements . . . . . . . . . . . . . . . . . . . . . 40
5. Evaluation 41
5.1. Enterprise Content Management market . . . . . . . . . . . . . . . . . . . 41
5.2.CriteriaCatalog................................. 42
vii
Contents
5.3.Evaluation.................................... 46
5.3.1. Inputparameters............................ 46
6. Conception and Architecture 59
6.1.Architecture................................... 59
6.2.Server...................................... 60
6.3.Client ...................................... 61
6.3.1. GeneralWorkflow ........................... 62
6.3.2. Datastructure ............................. 64
6.3.3. Metadata ................................ 64
6.3.4. Datamodel............................... 64
6.3.5. Files................................... 66
6.3.6. RESTAPI................................ 66
7. Implementation 69
7.1. Model-View-Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.1.1. Model.................................. 70
7.1.2. View................................... 74
7.1.3. Controller................................ 75
7.2. Frameworks and Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.3.Summary .................................... 79
8. Conclusion and Outlook 81
8.1.Conclusion ................................... 81
8.2. Requirements comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
8.3.Outlook ..................................... 83
A. Appending 85
A.1. Enterprise Content Management systems . . . . . . . . . . . . . . . . . . 85
A.2. Analytic Hierarchy Process: Power iteration . . . . . . . . . . . . . . . . . 87
A.3. Analytic Hierarchy Process: Criteria . . . . . . . . . . . . . . . . . . . . . 88
A.4. Analytic Hierarchy Process: Attributes . . . . . . . . . . . . . . . . . . . . 90
viii
1
Introduction
It is no secret that the success of companies depends, among others, on sales. Sales
organizations and therefore sales representatives are crucial because of selling services
or products. Thereby, profits are maximizing, market share is expanding and sales
are increasing. For this, sales representatives have to meet customers and explain
how the offered services meet the customers need by demonstrating the company’s
service. Thereby, often paper based marketing material is used. However, this has
many disadvantages. Paper based marketing material may be outdated because of price
changes and it is not possible to perform an interactive demonstration (e.g., dynamical
price-quantity diagrams or videos). Another point is the weight of paper that must be
transported to a customer meeting which results often in logistical problems.
1.1. Motivation of this Thesis
With the increased prevalence of mobile devices and the expansion of the internet, new
possibilities for companies have begun to arise. Sales organizations use IT systems to
improve processes and therefore increase the value of the company itself. For example,
mobile applications connected with a central IT system can provide sales representatives.
They can thereby use mobile devices to demonstrate company’s service and will not rely
anymore on paper based marketing materials. This saves time and money and probably
increases the customer satisfaction because of, for example, parallel activities.
This thesis covers the creation of an IT system supporting the flexible distribution of
documents and evaluates powerful tools that may be used for the realization. Thereby,
1
1. Introduction
requirements on the IT system have to be collected. There are already different IT
systems supporting the flexible distribution of documents. These tools have to be
evaluated and compared based on given requirements. The evaluation can be performed
with different decision making methods. These need to be analyzed. A criteria catalog
has to be created for the evaluation to strongly justify why an option is preferred. The
implemented IT system is to be used in practice for a company to provide a fast and
reliable access to documents on all mobile devices. The name of the company has been
anonymized, so it is named Epsilon.
1.2. Structure of this Thesis
The thesis starts with fundamentals, which are needed for the further course of this thesis.
In section 3 existing sales applications on the market are described. Section 4 presents
an overall overview, functional requirements and nonfunctional requirements for the client
and server. Based on these requirements an evaluation of already existing Enterprise
Content Management systems is performed in section 5. For an better understanding
with respect to the overall IT system, the conception and architecture is described in
section 6. Section 7 provides further insights into the technical implementation. Finally,
section 8 discusses the features of the overall IT system, concludes this thesis and
provides an outlook on how to extend the IT system.
2
2
Fundamentals
The following sections cover requirements for the further understanding of this thesis.
Section 2.1 introduces some fundamental terms in the context of enterprises and
information technology. Based on these terms, section 2.2 describes an Enterprise
Content Management system based on its components. Finally, section 2.3 introduces
the decision making theory for an evaluation in this thesis.
2.1. Content, Documents and Information
The differences between content, document and information is presented in figure 2.1
based on the conceptual hierarchy. On the lowest level are characters, which can be
a letter from the alphabet, a number or a special character (for example "
1
", "
6
" or "
.
").
Data is defined as a character in combination with syntax. It contains various sequences
of characters (for example "
16.09.2015
"). Information is data with a specific context
(for example "Deadline:
16.09.2015
"). A document is defined as a group of information
(for example "master’s thesis timeline"). Content results in combination of different
electronic resources. These are structure information, describing metadata, layout and
raw-content (for example "master’s thesis"). There are different variants of content.
These are unstructured content, weakly structured content and structured content,
homely unstructured content does not match any structure, pattern or recurrent logic (for
example letters). Weakly structured content contains predictable data at any position
of the document (for example bills). Structured content can be evaluated automatically.
The position of elements is predefined (for example remittance slip) [Rig09, Egg07].
3
2. Fundamentals
Character Data Information Document Content
Syntax Context
(semantics)
Content
(pragmatics)
Layout
Structure
Raw-Content
Figure 2.1.: Conceptual hierarchy from character to content1.
Content of an enterprise has different phases during its life cycle and is divided into the
following phases: Create, edit, connect, publish, reuse, store, archive and delete. Figure
2.2 shows the relation between these phases. They are mostly sequential but can also
proceed individual. The
create
phase includes the creation and classification of new
Edit
Creation
Connect
Publish
Reuse
SaveArchive
Delete
Start
End
Figure 2.2.: Enterprise Content Life Cycle [Egg07].
content. Existing content can be edited or extended with comments in the
edit
phase. It
is also possible to create different versions of a content. The
connect
phase contains the
connection of different content like raw-content and images. The
publish
phase includes
control- and release mechanisms. Control mechanisms contain controls via employees
based on the layout. The release mechanism shares content in the enterprise. The
reuse
phase contains mechanisms to change or extend already existing content. The
content is stored on the file system in the
save
phase. If the content falls into disuse, it
can be archived in the archive phase or be deleted in the delete phase.
1Source: [Egg07] with modifications by the author.
4
2.2. Enterprise Content Mangement Systems
2.2. Enterprise Content Mangement Systems
Nowadays, producing documents has increased rapidly because of the technological
evolution. About 80 percent of enterprise documents are represented as emails, word
documents, digital images or PDF files in the industrial sector [
Goo13
]. Companies
are not able to handle these structured and unstructured documents manually based
on their importance [
Rig09
]. Another problem is the handling of distributed information
by different departments and therefore missing information about the data access.
Companies are more competitive if their documents are more accessible [
AG15
]. To
prevent these problems and improve the services of companies, an overall IT-System is
needed.
2.2.1. Definition
The term
Enterprise Content Management
(ECM) has been introduced by the worldwide
association for enterprise content management, the
Association for Information and
Image Management
(AIIM) international, in 2001. AIIM defines ECM as
the strategies,
methods and tools used to capture, manage, store, preserve and deliver content and
documents related to organizational processes
. According to this definition, ECM is not
just a single technology, a methodology or a process [Eur15b, Bla15, Goo13, Eur15a].
The fundamental features of ECM can be described as a system that allows the man-
agement of unstructured information. Thereby, a fast access of data will be guaranteed.
Unstructured information does not have any formal structure.
2.2.2. Components
Based on the definition of AIIM, ECM can be divided into five components: Capture,
manage, store, preserve and deliver. Figure 2.3 shows an overview about these com-
ponents in the context of ECM. This component model is function-based and not to be
regarded as an architecture [Kam15].
5
2. Fundamentals
Collaboration
Business
Process
Management
Workflow
Management
CAPTURE
Human created information
Application created information
Technologies
Classification
Document
Management
Records
Management
Web Content
Management
MANAGE
PRESERVE
Archives
STORE
Technologies
Repositories
Library Services
DELIVER
Transformation Technologies
Security Technologies
Distribution
Figure 2.3.: Enterprise Content Management components [Eur15a].
2.2.2.1. Capture component
The Capture component is also called Input component and includes functionalities and
components for the collection (generating, capturing, preparing and processing) of digital
or analog information for the Manage Component [Pro06, Goo13, Kam15].
Information
Capture of analog information means the transformation of human created
information into electronic information. Human created information can involve all form
of information (for example drawings, paper documents or microfilms). Capture of digital
information is the data extraction of application created information like XML documents
or e-Forms and is mostly captured automatically or semi-automatically [
Kam15
,
Rig09
].
Technologies
The process of capturing, storing and retrieving of analog documents
is named as
document imaging
. It improves the readability and therefore the quality of
documents, for example by removing isolated pixels or rotating documents. There are
6
2.2. Enterprise Content Mangement Systems
different kinds of recognition technologies for digital generation of information. These
technologies are described in the following [Kam15, Eur15a]:
•Optical Character Recognition (OCR)
: A technique which transforms analog-
typed information (images of characters) into machine-readable characters (ed-
itable and searchable text).
•Handprint Character Recognition (HCR)
: HCR is an extension of OCR and
transforms handprinted analog information into machine-readable characters.
•Intelligent Character Recognition (ICR)
: ICR is in addition to HCR and OCR.
ICR includes mechanisms to improve the recognition, for example, by using com-
parisons with context information or learning fonts during processing.
•Optical Mark Recognition (OMR)
: OMR detects marks (for example bar-codes)
in a predefined area with very high accuracy. It is typically used for processing
questionnaires.
•Intelligent Document Recognition (IDR)
: IDR automatically identifies and cate-
gorizes documents by layout or structure.
The process of capturing, storing and indexing of digital information is named as
Com-
puter Output to Laser Disk/Enterprise Report Management (COLD/ERM).
The digitized information are represented in an uniform structure and format by aggrega-
tion technologies. These digitized information need to be classified to be used by the
Manage Component.
Classification
The classification is an essential step of the capture component and
contains indexing and categorization of digital documents. These will be complemented
by descriptive attributes. The classification process identifies specific attributes of digital
documents or database records for easily and fast retrieving [Eur15a].
There are different methods to classify digital documents which will be described in the
following according to [Rig09]:
7
2. Fundamentals
•Template-Classification
: Template classification is based on input designs. Static
elements like headlines allow the classification of documents easily. These docu-
ments are, for example, letters or bills.
•Classification with associative search
: Classification is based on the analysis of
content. Documents will be classified by comparison of the content with associated
target classes.
•Phrase-Classification
: The classification is based on phrases and is mostly used
in formalized communication.
•Image-Size-Classification
: A classification by the format of the document. It is
typically used for driver-licenses or recipes.
2.2.2.2. Manage component
The Manage component is used for the management, processing and use of information
[
Eur15a
]. It consists of
Collaboration
,
Document Management
,
Records Management
,
Web Content Management
and
Workflow
/
Business Process Management
components,
which are described in the following [Kam15].
Collaboration
Collaboration allows multiple users to work at the same content with
different tools. There are two different types of collaboration: Synchronous collaboration
and asynchronous collaboration. Synchronous collaboration on the one hand is the
interaction in real time – for example instant messaging or a video conference. Asyn-
chronous collaboration on the other hand is the time-shifted interaction – for example
email [Egg07, Eur15a].
Collaboration contains the following functions according to [Kam15]:
•Shared usable information databases.
•Shared, simultaneously and controlled editing of information.
•
Knowledge based on skills, resources and background data for shared editing of
information.
8
2.2. Enterprise Content Mangement Systems
•
Administration components like whiteboards for brainstorming, schedules or project
management.
•Communication applications.
•Integration of information from other applications.
The advantages of collaboration are saving costs and time. These advantages means
faster reactions and increasing productivity [Egg07].
Document Management
Document Management controls the life cycle (capture, re-
ceiving, repository, administration, retrieval and processing) of documents through an
enterprise [
Egg07
,
Eur15a
]. The administration requires different information about
the documents. These are the document by itself, metadata about the document, an
unique identification key, information about the structure and rules. The retrieval of
documents is performed using metadata and an unique identification key. Rules are
used to define the lifetime, life cycle, access rights and different behaviors of documents
[
Egg07
]. According to [
Egg07
] the especially functions of Document Management are
the following:
•Description and marking of documents
•Update and version management of documents
•Distribution of documents
•Search/retrieval of documents
•Archiving and deletion of documents
•Definition of responsibility for the administration of documents
Another related concept in the context of ECM is called
Digital Asset Management
. The
focus thereby are media data and images [Egg07].
Records Management
Some documents need to be archived, for example according
to law. The administration of this task is done by the Records Management. It archives
9
2. Fundamentals
records with additional information like status, version or editor of the document. A
record is thereby defined as an unchangeable document. The main functions are the
following according to [Rig09, Kam15]:
•Mapping of structured indexes into orderly storage of information.
•Thesaurus-based unique indexing of information.
•Administration of record retention schedules and deletion schedules.
•Protection of information based its attributes.
•Use of standardized meta-data for the unique identification and description of the
information.
Web Content Management
Web Content Management includes the management of
content for the presentation of websites. This includes the representation of information
from the database on websites, tools for the administration of information and protection
of layout, structure and functionality of websites. The essentially functions of Web
Content Management are the following according to [Kam15]:
•
Creation of new or editing of existing information in a controlled generation and
publishing process.
•Preparation and administration of information for the website.
•
Automatic conversion for different representation formats, personalized display and
versions.
•Secure separation of access to public and non-public information.
•Visualization for internet representation.
Workflow/Business Process Management
Generally the Workflow Module and Busi-
ness Process Management includes a connecting, managing and controlling function in
the ECM model.
The Workflow Module represents processes of the Enterprise Content Life Cycle.
Thereby, the efficiency will be increased through faster processes. Generally there
10
2.2. Enterprise Content Mangement Systems
are two different types of Workflows. These are Production-Workflows and Ad-hoc-
Workflows. Production-Workflow are highly structured, what means that it contains a
set of predefined sequences. Ad-hoc-Workflow are unstructured and contains process
sequences that are determined by the user during runtime. The Workflow Module in the
ECM model can be realized as
Workflow Solution
with autonomous clients or as
Work-
flow Engine
without requiring an own client [
Kam15
,
Egg07
]. The essentially functions
of Workflow are the following according to [Kam15]:
•Imaging of process and organization structures.
•Capture, administration, visualization and delivery of information.
•
Embedding of processing tools for data and documents (for example Microsoft
Office Products).
•Parallel and sequential processing and recording of procedures.
•Reminders, deadlines, delegation and other administration functionalities.
•Monitoring and documentation of process status, routing and outcomes.
•Tools for the configuration and displaying of processes.
The Business Process Management module integrates all relevant applications within an
enterprise including monitoring of processes and combination of all required information.
The essential functions of Business Process Management are the following according to
[Kam15]:
•Complete workflow functionality.
•Process and data monitoring.
•Enterprise Application Integration (EAI).
•Business Intelligence (BI).
Figure 2.4 shows the relationship between Workflow Management and Business Process
Management.
11
2. Fundamentals
diagnosis
process
design
system
configuration
process
enactment
Workflow
management
Business
Process
Management
Figure 2.4.:
Relationship between Workflow Management and Business Process Man-
agement [AHW03].
2.2.2.3. Store component
The Store component is used for the storage of temporary information that does not
have to be archived. According to the definition of [Eur15a], it can be divided into three
different types: Library Services, repositories and technologies. Library Services are
administration components and handle access to information, repositories contains
storage locations and storage technologies [Kam15].
Library Services
The Library Services are responsible for the storage of information
by the capture and manage component. It also provides search and retrieval functions.
The location of the storage is determined by the characteristics and classifications of
the information. It also provides version management to handle different versions of
information and check-in/check-out functionality to control the information provision. If
the ECM contains any Document Management System or Record Management System
the functionalities are handled by these systems. Logging functions to keep track of
document changes are also a part of the library service [Kam15].
Repositories
Repositories are a part of Document Management System [
Eur15a
].
There are different repositories to store information. These are file systems (mostly
12
2.2. Enterprise Content Mangement Systems
used for temporary content), content management systems, databases (mostly used
for access information but can also be used for documents or media assets) or data
warehouses (represents information from different sources) [Kam15].
2.2.2.4. Preserve component
The Preserve component handles the long-term storage of unchanging information.
Therefore, it is important to detect the most cost-effective and reliable medium and
mechanism for the archiving. The essentially mediums and mechanisms are the following
according to [Kam15]:
•Write Once Read Many (WORM): These are media like CD-R and DVD-R.
•WORM-Tape: Magnetic tape with WORM characteristics.
•Content Addressed Storage (CAS)
: Magnetic hard drive storage that is protected
by software against overwriting, erasure and editing.
•Network Attached Storage (NAS)/Storage Area Networks (SAN)
: Can also be
used if they meet the auditing acceptability.
•Microfilm
: Can also be used as backup medium if the information is no more in
usage and if there is no machine processing required.
•Paper
: Paper can also be used as long-term storage medium, because it does not
require migration and can be read without any technical aid.
2.2.2.5. Deliver components
The Deliver component (also named as Output Management) provides timely and
secure access of information from the Manage, Store and Preserver component. It also
contains functions that are used as input for the Store and Preserve component, and
can be divided into three categories [
Kam15
]: Transformation technologies (for example
COLD/ERM, XML, PDF, Converts and Viewers, Compression and Syndication), security
technologies (electronic signatures or media asset management) and distribution. The
13
2. Fundamentals
objective of deliver components is to optimally provide the information for each recipient
and control the use of information as far as possible.
2.3. Decision-Making
This section covers fundamental decision making knowledge as a basis for the further
course of this thesis. Section 2.3.1 provides an overview followed by different MADM
methods in section 2.3.2.
2.3.1. Overview
The
Oxford Dictionaries
defines decision-making as
the action or process of making
important decisions2
. Furthermore, a decision has an overall goal, attributes (or criteria)
as well as alternatives. Figure 2.5 shows the relation between these decision elements
in the whole process of decision-making.
Decision
problem
Overall goal
Decision-making
model
Criteria/Attributes
Single alternative or
set of good
alternatives
Alternative1Alternativek
...
Figure 2.5.: Overview of the whole process of decision-making3.
2http://www.oxforddictionaries.com/definition/english/decision-making
3Source: [KO14] with modifications by the author.
14
2.3. Decision-Making
Decision-making is divided into two categories based on the number of attributes.
Single
Criterion Decision Making
(SCDM) and
Multi Criteria Decision Making
(MCDM) models.
The overall goal of SCDM models depends on a single attribute while the overall goal of
MCDM models depends on multiple criteria.
MCDM models are generally classified into
Multiple Attribute Decision Making
(MADM)
methods and
Multi Objective Decision Making
(MODM) methods based on the domain
of alternatives. On the one hand, MODM methods have a large number (up to infinity)
of alternatives in a continuous domain. MADM methods, on the other hand, have a
finite number of alternatives in a discrete domain and rank the alternatives completely
or partially [
KO14
]. The methods in each category are also classified into different
categories based on their type of information from the decision maker.
Decision Making
Multiple Criteria Decision
Making (MCDM)
Multi Attribute
Decision Making
(MADM)
Multi Objective
Decision Making
(MODM)
Single Criterion Decision
Making (SCDM)
No
information
Ordinal attribute
information
Cardinal attribute
information
Standard
level
A posteriori
information
A priori
presence
information
Progressive
presence
information
Interactive methods
∙ Dominance
strategy
∙ Conjunctive strategy
∙ Disjunctive strategy
∙ Lexicographical strategy
∙ Elimination by aspects
∙ Weighted Sum strategy
∙ Simple Additive Weighting
∙ Weighted product strategy
∙ TOPSIS
∙ ELECTRE
∙ AHP
∙ Completely
solution
∙ Target
programming
Implicit trade-offs
∙ STEM
∙ Method of shifted
ideal
Explicit trade-offs
∙ Surrogate worth trade-off-method
∙ Method of Geoffrion-Dyer-Feinberg
∙ Method of Zionts-Wallenius
Intent
Number of
criteria
Domain of
alternatives
Type of
information
from decision
maker
Methods
Information on
environment
∙ Maximin
strategy
Pessimistic Optimistic
∙ Maximax
strategy
Information on
attribute
Figure 2.6.: Overview about decision-making4.
Figure 2.6 shows an overview about decision-making methods. This thesis deals only
with a finite number of alternatives within a discrete domain. Therefore, MODM methods
are not considered in this thesis. For more information about MODM methods consider
[HPMY12].
4Source: [Oss13], [ZG91] and [Lez06] with modifications by the author.
15
2. Fundamentals
2.3.2. MADM methods
This section presents different MADM methods. These are Dominance Strategy, Maximin
and Maximax Strategies, Conjunctive and Disjunctives Strategies, Lexicographic and
Elimination by Aspects Strategies, Weighted Sum and Weighted Product Strategies,
TOPSIS Strategy, ELECTRE Strategy and the Analytic Hierarchy Process.
2.3.2.1. Dominance Strategy
The
Dominance Strategy
is a decision-making method that does not require any infor-
mation about the attributes. It is mostly used as pre-selection for other decision-making
methods to reduce the number of alternatives.
The method declares an alternative
i
as dominant if it is at least one attribute better
and in no attribute worse than the other alternatives
j
with
j= 1, ..., n
and
j6=i
, where
n
is the number of alternatives. It compares all possible constellations of alternatives
pairwise. If alternative jdominates alternative i, then alternative iwill be eliminated.
If alternative
i
dominates alternative
k
and alternative
k
dominates alternative
l
, then
alternative
i
also dominates alternative
l
. This means that dominance is transitive. It
is therefore enough to compare the alternatives pairwise to determine the dominant
alternatives. The dominance strategy needs
(n−1)
comparisons in the best case and
n∗(n−1)
2
comparisons in the worst case, where
n
is the number of attributes [
Lif09
,
Oss13
,
MOK07].
2.3.2.2. Maximin and Maximax Strategies
Other than the Dominance Strategy, the
Maximin and Maximax Strategies
require com-
parable attributes that can be measured on a homogeneous scale. The Maximin Strategy
evaluates alternatives based on their weakest attribute without consideration of other at-
tributes. For this, the matrix in equation 2.1 is calculated, where
Attri
is the
ith
attribute,
Aj
is the
jth
alternative,
wij
is the weight of the
ith
alternative and the
jth
attribute,
n
is
the number of attributes,
m
is the number of alternatives and
min(wji)
is the weakest
16
2.3. Decision-Making
attribute
Attri
of alternative
Aj∀i= 1, ..., n
. The alternative with the maximum value in
column min is the preferred alternative [Oss13].
Alternative/Attribute Attr1Attr2. . . Attrnmin
A1w11 w12 . . . w1nmin(w1i)
A2w21 w22 . . . w2nmin(w2i)
.
.
..
.
.
Amwm1wm2. . . wmn min(wmi)s
(2.1)
The Maximax strategy works analog with the column
max = max(wji)
(best attribute)
instead of min to detect the preferred alternative with the maximum value [MOK07].
2.3.2.3. Conjunctive and Disjunctive Strategies
The
Conjunctive and Disjunctive Strategies
define a threshold for the alternatives and
require comparable attributes that can be measured on a homogeneous scale. All
alternatives will be divided into acceptable alternatives and non-acceptable alternatives
based on the threshold.
The conjunctive method, on the one hand, requires that all attributes of an alternative
have to meet the threshold. If an alternative
i
reaches this condition, then it will be
added to the acceptable alternatives. Otherwise it will be added to the non-acceptable
alternatives.
The disjunctive method, on the other hand, requires that at least one attribute of an
alternative
i
has to meet the threshold. If alternative
i
reaches this condition, it will
be added to the acceptable alternatives. Otherwise it will also be added to the non-
acceptable alternatives.
The threshold can be raised step by step till only one alternative meets the requirement.
Thereby, the number of acceptable alternatives can be set to one but the method is not
compensatory. This means that weakness of attributes will not be balanced. Therefore,
it is recommended to use the method only to identify the acceptable and non-acceptable
alternatives [MOK07, Oss13].
17
2. Fundamentals
2.3.2.4. Lexicographic and Elimination by Aspects Strategies
The
Lexicographic Strategy
requires comparable attributes that can be measured on a
homogeneous scale. It starts with the ranking
r=Attr1, ..., Attrn
of all attributes based
on the importance of attributes, where
Attri
is the
ith
attribute and
n
is the number of
attributes.
The alternative with the best value in the most preferred attribute is the best alternative.
If two or more alternatives have the same value, then the process will be repeated with
the next most preferred attribute till the best alternative remains or all attributes are
considered [Oss13].
It is possible to get a ranking of alternatives by eliminating the best alternative and
repeating the whole process with the others [MOK07].
The
Elimination by Aspects Strategy
method combines the Lexicographic Strategy (see
section 2.3.2.4) with the Conjunctive Strategy (see section 2.3.2.3). The comparison is
like the comparison of Lexicographic Method but attributes that does not meet a specified
standard will be eliminated from further considerations [MOK07].
2.3.2.5. Weighted Sum and Weighted Product Strategies
The
Weighted Sum Strategy
is especially used in single dimensional problems and
requires cardinal attribute information.
Simple Additive Weighting
(SAW) is a method of
Weighted Sum Strategy and is one of the most popular method of MADM [TH11].
The Weighted Sum Strategy requires information about the attributes provided by the
decision maker [TH11]. These are:
•an importance weight for each attribute and
•a weight for each attribute with respect to the alternatives.
The best alternative is determined by equation 2.2, where
rij
is the weight of the
ith
alternative and the
jth
attribute,
wj
is the importance weight of the
jth
attribute,
n
is the
18
2.3. Decision-Making
number of attributes and mis the number alternatives [Mat12].
AW SM
best =max(
n
X
i=1
rij ∗wj|∀j= 1, ..., m)(2.2)
The process of Weighted Sum Strategy can be summarized with the following steps
according to [Hüb07]:
1. Identification of attributes and alternatives
2. Evaluation of alternatives
3. Determination of attribute weights
4. Additive aggregation of weighted partial preference values
5. Sensitivity analysis
The
Weighted Product strategy
is similar to the Weighted Sum Strategy. The difference
between the two strategies is the multiplication instead of the addition of attributes
[
Mat12
]. Therefore, the best alternative can be determined by equation 2.3 with the
same variables.
AW P M
best =max(
n
Y
j=1
(rkj
rlj
)wj|∀k, l = 1, ..., m)(2.3)
2.3.2.6. TOPSIS Strategy
The
TOPSIS Strategy
(Technique for Order Preference by Similarity to Ideal Solution)
was created by Ching-Lai Hwang and Kwangsun Yoon in 1981 and requires cardinal
attribute information. It was introduced as a MADM method without any articulation of
preference information. There are different applications of TOPSIS (i.e.,
fuzzy TOPSIS
)
[HY81, Tav12, AMSA11, HM15, PZ15].
The TOPSIS Strategy creates an additional positive ideal alternative and an additional
negative positive ideal alternative. The best alternative is identified with the farthest
distance from the negative positive ideal alternative and the closest distance to the
positive ideal alternative. Thereby, TOPSIS calculates for each attribute the distance
from the negative ideal solution and the distance to the positive ideal solution [Tav12].
19
2. Fundamentals
The process of TOPSIS strategy can be divided into the following steps [HM15, PZ15]:
1. Modeling of the decision problem
: In the first step the decision maker has to
detect all relevant attributes and alternatives based on the decision problem.
2. Calculate the standardized decision matrix
: Creation of the standardized matrix
in equation 2.4, where
wij
is the standardized weight of the
ith
alternative and the
jth attribute).
Alternative/Attribute Attr1Attr2. . . Attrn
A1w11 w12 . . . w1n
A2w21 w22 . . . w2n
.
.
..
.
.
Amwm1wm2. . . wmn
(2.4)
3. Calculate weights for each attribute and construct the weighted standard-
ized decision matrix
: Rate each attribute based on the importance of the attribute.
Generally, TOPSIS does not define a rating score for the attributes but mostly val-
ues between 1 (low priority) and 5 (high priority) are used. Then multiply the
weighted standardized decision matrix with the rated attributes to get the weighted
standardized decision matrix.
4. Calculate virtual alternatives
: Identification of the positive and the negative ideal
solution. The best attributes of the weighted standardized decision-matrix will be
put together to get the positive ideal solution (see equation 2.5, where
wi
is the
best value of the ith attribute in relation to each alternative).
A=wbest
1, ..., wbest
n(2.5)
The calculation of the negative ideal solution works analogous with the worst
attributes instead of the best attributes.
5. Calculate the distance to the virtual positive and virtual negative ideal solu-
tion for each alternative
: The distance is an euclidean distance. Therefore, the
euclidean distance between the virtual positive ideal solution and alternative
i
have
20
2.3. Decision-Making
to be calculated with:
D+
i=v
u
u
t
m
X
j=1
(wij −w+
j)2(2.6)
where w+
jis the value of the jth attribute from the virtual positive ideal solution.
6. Determine the relative closeness of each alternative to the virtual positive
ideal solution: Calculate the index C+
ifor each alternative iwith:
C+
i=S−
i
S+
i+S−
i
(2.7)
The index
C+
i
determines the relative closeness to the virtual positive ideal solution
and can be used to create a ranking of alternatives.
2.3.2.7. ELECTRE Strategy
The term
ELECTRE
is an acronym for
Elimination Et Choix Traduisant la Realité
(elim-
ination and choice expressing the reality) and was proposed by Bernard Roy and his
colleagues at a consulting company. ELECTRE is classified as an outranking method
of decision-making. An outranking method uses aggregating preference information
instead of value function approach.
The method exists in different versions. These are ELECTRE
I
, ELECTRE
II
, ELECTRE
III
, ELECTRE
IV
, ELECTRE
IS
and ELECTRE
TRI
, and are all based on the same
fundamental concept that will be described in the following. ELECTRE
I
(devised by
Bernard Roy in 1968) is one of the earliest outranking multi-criteria evaluation methods.
The ELECTRE method needs the following information from the decision maker:
•an importance weight gjfor each attribute
•a weight for each attribute with respect to the alternatives
Generally, ELECTRE can be described with the following steps according to [
TSSR15
,
F¨
15]:
21
2. Fundamentals
1. Normalizing the decision matrix
: Calculate the normalized decision matrix by
replacing the weight based on the following calculation:
wij =wij
qPM
i=1 w2
ij
(2.8)
where M is the number of alternatives and
wij
is the standardized weight of the
ith
alternative and the jth attribute.
2. Weighting the normalized decision matrix
: Weight the values of the normalized
decision matrix with the importance weight of the attributes based on the following
calculation:
wij =wij ∗gj(2.9)
where gjis the weight of attribute j.
3. Determine the concordance and discordance sets
: All alternatives will be com-
pared pairwise. Therefore, a concordance set
Ckl
and a discordance set
Dkl
will
be calculated. The concordance set contains all alternatives that are better than
alternative
l
; i.e., better means that
wkj >=wlj
for attribute
j
. The discordance
set, on the other hand, contains all alternatives that are worse than attribute
l
; i.e.,
wkj < wlj .
4. Calculation of the concordance and discordance index
: The power of each
concordance set is represented via a concordance index. Analog the discordance
index. The concordance set is calculated with:
Kh,i =X
j∈Ckl
gj(2.10)
The discordance set is calculated with:
Dh,i =maxj∈Dkl |wkj −wlj|
maxj|wkj −wlj |(2.11)
22
2.3. Decision-Making
5. Construct preference-relation
: The last step calculates a threshold value
c
that
can be determined as average concordance index:
c=1
M(M−1) ×
M
X
k=1
M
X
l=1
Ckl |∀k6=l(2.12)
Analog a threshold for the discordance dominance dcan be calculated:
d=1
M(M−1) ×
M
X
k=1
M
X
l=1
Dkl |∀k6=l(2.13)
Alternative joutranks alternative kif Cjk > c and Djk < d.
2.3.2.8. Analytic Hierarchy Process
The Analytic Hierarchy Process (AHP) is a method of the decision theory to solve decision
problems and was developed by Thomas L. Saaty between 1971-1975 while working as
a professor at the Wharton School of Business (University of Pennsylvania, Philadelphia)
[
FRL15
,
AH08
,
Jun94
]. It is an often used method which is rooted in the structure and
the easy usage compared with other methods of the decision theory [
OL99
]. AHP
needs cardinal attribute information and is based on three principles: decomposition,
comparative judgments and synthesis of priorities. These three principles cause the
popularity of AHP. The decomposition applies identification of the objective, definition
of the criteria (or attribute) and selection of alternatives based on the problem. The
criteria will be divided into manageable sub-criteria. These sub-criteria can also be
divided into more specified sub-criteria and will be ordered in a hierarchic structure
before they will get successively dissolved. The comparative judgments applies the
pairwise comparisons of criteria to solve the decision problem with respect to their parent
node. This is the most effective way to compare properties. The decision maker is able
to concentrate on the comparison of two properties without any influences. Furthermore,
the consistency will also get improved. The synthesis of priorities applies the calculation
of each alternative. For this the local priorities of the criteria in a cluster will be multiplied
23
2. Fundamentals
with the priority of the parent element. After all criteria have been calculated the ranking
of the alternatives can be determined by adding back all priorities [Tsa08].
Objective
Overall goal of the decision problem
Criteria
Criterion1Criterion2Criterionn
Subcriterion1.1 Subcriterion1.2 Subcriterion2.1 Subcriterion2.m
Alternatives
Alternative1Alternative2Alternativek
...
...
...
...
...
...
...
...
Subcriterion1.l ...
Cluster
Figure 2.7.: Hierarchy of AHP [Koo15, Gir15].
Axioms AHP is based on four axioms (the fourth was added later) [RGF09, Tsa08]:
1. Reciprocal:
aij =1
aji
(2.14)
where
aij
is the weight of the
ith
attribute and the
jth
alternative. The axiom means
that if an alternative (or attribute)
i
is
2
times better than an alternative (or attribute)
jthen jis 1
2as good as i[Jun94].
2. Homogeneity:
aij 6=∞(2.15)
If the decision maker compares two alternatives (or attributes)
i
and
j
then
i
is not
infinitely better than
j
. In other words: The comparison of the two alternatives (or
attributes) should not differ too much.
24
2.3. Decision-Making
3.
Independence of judgments within the hierarchy: The axiom means that it has to
be possible to transform the decision problem into a hierarchy. Every cluster in the
hierarchy is only depending on the next higher level and depends only the next
lower level. The attributes of one cluster are not allowed to affect themselves. This
requires that the structure of the hierarchy looks like figure 2.7.
4.
Expectations: The last axiom means that all attributes (or criteria) and alternatives
that matter in the decision problem have to be represented in the hierarchy.
Process
The process of AHP can be described with 6 steps according to [
CR10
] (see
figure 2.8). These steps will be described in the following. Note that step 2, 3 and 5 are
characteristically for the AHP process [BM94].
Decompose the problem into a hierarchical structure with decision elements.
Construct a set of pairwise comparison matrices.
Determine the relative weights of decision elements by calculating the
eigenvalues and eigenvectors.
Aggregate the relative weights of decision elements to obtain and overall rating
for the alternatives.
Are all pairwise comparison
matrices consistent?
Yes
No
2
3
4
5
6
Define the problem, objectives and outcomes.
1
Figure 2.8.: Process of AHP according to [CR10].
1. Defining problem, objectives and outcomes
: The most creative task in solving
a decision problem might be the definition of decision elements that are important
[
Saa90
]. The definition of decision elements is the basis for AHP and can be
separated in two parts:
•Defining objectives, criteria and
25
2. Fundamentals
•Defining possible alternatives.
Criteria are attributes based on objectives. These criteria can be broken down into
sub-criteria. However, these may also be broken down into additional sub-sub-
criteria and so one.
2. Decomposition of the problem into a hierarchical structure
: The decision
elements (overall goal, criteria and alternatives) will be arranged in a decision
hierarchy (see figure 2.7). The overall goal is on top level of the hierarchical
structure followed by possible sub-goals, criteria, possible sub-criteria and finally
the alternatives on the lowest level. The sub-elements on the next lower level of an
element are also named cluster. It is important to map the decision problem into
the hierarchic structure completely according to axiom 4. This means that each
element of the hierarchic structure has to be in relation with the element in the next
higher level. According to [
IL15
] it is recommended that each cluster has seven
plus or minus two elements.
3. Construction of comparison matrices
: AHP uses a simple pairwise comparison
of criteria based on the next higher element. Therefore, the decision maker re-
sponds the question which criteria is more preferred with Saatys discrete judgment
scale (see table 2.1) in consideration of axiom 4. He thought that five discrete
attributes (1 = equal importance, 3 = moderate importance, 5 = essential or strong
importance, 7 = very strong importance and 9 = extreme importance) would be
enough to judge qualitative decisions. The judgment scale has been proven in
practice and validated by physical and decision problem experiments. Each elem-
ent of one cluster will be compared in a matrix (see equation 2.16, where
Ai
is
the
ith
attribute). It is clear that
aii = 1
as each element has equal importance to
itself. Furthermore, it is enough that the decision maker only compares a triangular
part of the matrix (
akl
with
k= 1, ..., n
and
l=k, ..., n
) because the remaining
weights can be completed with axiom 1 (reciprocal axiom). Therefore, AHP needs
26
2.3. Decision-Making
1
2n(n−1) comparisons [Ahl13, MK13].
A=
A1. . . An
A1a11 . . . a1n
.
.
..
.
.
Anan1. . . ann
(2.16)
Intensity of im-
portance on an
absolute scale
Definition Explanation
1 Equal importance
Two activities contribute equally to the ob-
jective.
3
Moderate importance of
one over another
Experience and judgment strongly favor
one activity over another.
5
Essential or strong im-
portance
Experience and judgment strongly favor
one activity over another.
7 Very strong importance
An activity is strongly favored and its dom-
inance demonstrated in practice.
9 Extreme importance
The evidence favoring one activity over
another is of the highest possible order of
affirmation.
2,4,6,8
Intermediate values be-
tween the two adjacent
judgments
When compromise is needed.
Reciprocals
If activity
i
has one of the above numbers
assigned to it when compared with activity
j
, then
j
has the reciprocal value when
compared with i.
Rationals
Ratios arising from the
scale
If consistency were to be forced by obtain-
ing
n
numerical values to span the matrix.
Table 2.1.: Fundamental scale according to [Saa90].
4. Determination of the relative weights by calculating the eigenvalues and
eigenvectors:
According to [Ahl13] the elements of the matrix can be described as
aij =wi
wj
(2.17)
27
2. Fundamentals
where
wi
is the weight of the
ith
attribute (table 2.1). This equation can be
transformed with axiom 1 into
⇒aij ∗wj
wi
= 1 (2.18)
and
⇒
n
X
j=1
aij ∗wj
wi
=n(2.19)
This equation can be transformed into
⇒
n
X
j=1
aij ∗wj=n∗wi(2.20)
The matrix has an unit rank because every column is a constant multiplied with the
first one. Therefore, there is a single eigenvalue
λi
with
i= 1, ..., n
and
∀i6= 0
. It
is also known that
Pi=1 nλi=tr(A) = n
because
sumi=1naii =n
. This non-zero
eigenvalue will be denoted with
λmax
with
λi= 0, λi6=λmax, λmax =n
[
Tsa08
].
Therefore, equation 2.20 can be transformed into
⇒A∗w=λmax ∗w(2.21)
and
⇒A∗w−λmax ∗w= 0 (2.22)
This equation can be transformed into the following eigenvalue problem. The eigen-
vector
w
in equation 2.23 represents the weight vector of the pairwise comparison
matrix.
⇒(A∗ −λmax ∗I)∗w= 0 (2.23)
or
⇒det(A∗ −λmax ∗I)=0 (2.24)
where
A
is the comparison matrix,
λmax
is the eigenvalue and
I
is the identity
matrix. The solution of equation 2.24 are the eigenvalues
λmax
of
A
. There are
different algorithm to calculate the eigenvalues like
Jacobi eigenvalue algorithm
,
28
2.3. Decision-Making
inverse
or
power iteration
. A eigenvector can be determined for each eigenvalue
of
A
. The solution for the absolute weight factors is the maximal eigenvalue
λmax
of the eigenvector
wmax
. The latter can be calculated with equation 2.24 and is the
absolute weight factors of the different criteria [Ahl13].
An example for the calculation of the relative weights based on the power iteration
is given in the section A.2 according to [MK13, Koo15].
5. Consistence check
: A matrix is declared as consistent if alternative
i
is 2 times
important as alternative
j
and alternative
j
is 5 times important as alternative
k
then alternative
i
has to be 10 times important than alternative
k
. Saaty suggested
to use the consistency index
C.I.
to determine if a
n
-by-
n
matrix is consistent or
inconsistent (see equation 2.25) [
BCFG06
]. The consistency of a matrix can be
determined with the consistency ratio
C.R.
(see equation 2.26) based on
λmax
.
The random consistency (
R.C.
) is shown in table 2.2. The matrix is consistent if
C.R. <= 0.1
. If the decision is absolutely consistent then
λmax =n
. Otherwise the
judgment of the hierarchy should be completely revised because the decision will
not be adequate [MK13].
C.I. =λmax −n
n−1(2.25)
C.R. =C.I.
R.C. (2.26)
n 1 2 3 4 5 6 7 8 9
RC 0 0 0.58 0.9 1.12 1.24 1.32 1.41 1.45
Table 2.2.: Random consistency indices for different number of criteria n.
6. Calculation of the global weight of each alternative
: The rank of the alterna-
tives is determined by calculating the global weights of alternatives. The global
weight can be calculated with
palternative
i=X
j
wj∗lij (2.27)
29
2. Fundamentals
where
palternative
i
is the global weight of the
ith
alternative,
wj
is the weight of
criterion
j
and
lij
is the local priority with respect to criterion
j
and the
ith
alternative.
The alternative with the highest global weight is the best alternative.
30
3
Related Work
Currently, there exists variety of sales applications on the market. Two examples for
mobile sales applications are
Digital Sales Aid
and
Showpad
. These applications are
discussed and described in the following based on internet research.
3.1. Digital Sales Aid
Digital Sales Aid
(DSA) is a mobile iOS application from Salesforce mobile team that
provides functionalities to find, share and deliver product information to customers. The
application is integrated with Salesforce CRM. Therefore, the content library can be
used and data can also be associated with leads, contacts, accounts and opportunities.
Content can be updated on the website
1
using a WYSIWYG editor. Users of DSA are
able to download and synchronize content to the mobile device. Thereby, files can be
opened offline by browsing through preset categories or searching by title. DSA supports
the most common file types such as Microsoft Office files, PDF files, photos or videos.
Additionally, interactive HTML5 content is also supported. Figure 3.1 shows an example
of HTML5 content in DSA. Users are able to access recent activities by a historical view
[BR15].
1http://www.salesforce.com
31
3. Related Work
Figure 3.1.: HTML5 model cola example in DSA.
3.2. Showpad
Showpad - Sales Acceleration
(Showpad) is a combination of an online platform and a
mobile application. The mobile application is available on iOS, Android and Windows
Phone. It provides built-in integration with common cloud hosting services like Box,
Dropbox and Google Drive. Thereby, content can be uploaded and managed from a
cloud-based file-sharing application. Showpad is organized using
channels
that function
like categories to create content structure. Users are able to synchronize content, profiles,
internal branding and custom forms. Once synchronized, content can be opened without
a connection to the internet.
The mobile application supports most common file types such as Microsoft Office files,
PDF files, videos, photos and also HTML5 content. Users are able to access files by
browsing or searching (see figure 3.2). The look and feel of the mobile application can
be customized to meet the company’s guidelines and branding, as presented in figure
3.3 [BR15].
32
3.3. Comparison
Figure 3.2.: File search in Showpad. Figure 3.3.: User interface in Showpad.
3.3. Comparison
In this section, two different sales applications are described. Both mobile applications
offer offline functionality and the most common file types. The functionality of both is
very similar. Users need to login into the application and the synchronization of content
is automatically initiated. After the synchronization is successfully completed, users are
able to view all available files. The user access control of both systems can be managed
from one single point by system administrators.
The results of this analysis are also used for the requirements analysis in section 4.
Thereby, CRM systems receive no consideration.
33
4
Requirements
The research goal of this thesis is the design and implementation of an IT system
supporting the flexible distribution of documents to mobile devices. The first part of this
section describes the desired IT system. Based on this description, requirements for
the IT system are defined. Requirements are crucial for the development of software
applications because, thereby, a precise software development is guaranteed. The
requirements are divided into
client-side
and
server-side
requirements. These are
further divided into functional and non-functional requirements.
4.1. Overview
The IT system should provide the marketing department of
Epsilon
with the distribution
of documents (e.g., marketing materials) for sales representatives. Using such a system,
they would have up-to-date documents and would be able to perform interactive product
presentations at the customer’s location. The IT system consist of a client application
and a server application. The client has to be a smart mobile application to be present
IT system to be present at customer visits. An overview about the fundamental function-
ality of the IT system is presented in figure 4.1 using the example of a document release
process.
There are four involved groups of actors, called product managers, marketing managers,
IT administrators and sales representatives.
35
4. Requirements
Sales
Representatives
Server application
Marketing
managers
Client application
IT Administrators Product
Managers
Figure 4.1.: Document release process.
•Product managers
create and distribute initial documents of products, which con-
tain basic information about products (for example data sheets). The created
documents are hosted on the server.
•Marketing managers
edit documents and create attractive documents (e.g., multi-
media documents or brochures) in cooperation with different (not specified) agen-
cies. Therefore, they are downloading, editing and uploading the documents on
the server and assigning the documents to specified user groups or users (e.g.,
sales representatives in specified countries).
•IT administrators
manage the server application. This includes primary the admin-
istration of access rights.
•Sales representatives
use the documents assigned by marketing managers for
product presentations at the customer.
An use case diagram represents actions of an user with the system. These actions
are represented as diagram and are mostly applied in software engineering methods
that are based on the UML [
Son03
]. The use case diagram for the client application is
presented in figure 4.2 whereas the use case diagram for the server application is seen
in figure 4.3 based on the describe document release process (see figure 4.1).
36
4.2. Client Application
Sales
Representatives
Client application
User
verification
Open
documents
Browse
documents
Sort
documents
Search for
documents
Synchronize
documents
Administrate
documents
history
Wrap-up
process
Filter
documents
Administrate
favorites
Server application
Figure 4.2.: Use case diagram of the client application.
Marketing Managers
Server application
Authorization Authorization
Client application
Administrate
documents
IT Administrators
Product Managers
Administrate
permissions of sales
representatives
Administrate all users,
groups and documents
Authorization
Authorization
Figure 4.3.: Use case diagram of the server application.
4.2. Client Application
This section describes the requirements for the client application. The requirements are
divided into functional and non-functional requirements.
4.2.1. Functional Requirements
Functional requirements define the functions of the system.
•CFR1 Login functionality
: The client application has to provide a sign-in and
sign-out functionality for sales representatives. Thereby, sales representatives
37
4. Requirements
can be identified and authorized for different interactions with the server-side IT
system.
•CFR2 Browse and access documents
: An crucial function of the client applica-
tion is to access and view documents.
•CFR3 Sort documents
: There should be a function to sort documents alphabeti-
cal.
•CFR4 Search function
: To enable fast document access, a search function should
be provided.
•CFR5 Filter
: Sales representatives should be able to filter documents using
specified tags.
•CFR6 Synchronization
: The documents on the client application needs to be
synchronized with the documents on the server application. Therefore, a synchro-
nize function to download the documents and keep them up to date needs to be
provided.
•CFR7 History
: To assist sales representatives keep track of documents they have
recently used, a history needs to be provided.
•CFR8 Summarize
: The mobile application has to provide functions to wrap-up a
customer visit.
•CFR9 Favorite functionality
: A favorite functionality for documents needs to be
provided for the preparation of customer visits.
•CFR10 File types
: The mobile application has to provide PDF files, HTML5
applications and MP4 files.
4.2.2. Nonfunctional Requirements
Nonfunctional requirements define characteristics of the system.
•CNR1 Mobile application
: The client has to be provided as smart mobile applica-
tion. Due to the fact that sales representatives of
Epsilon
mostly use Apple iPads,
the mobile application needs to be compatible to iOS.
38
4.3. Server
•CNR2 Layout
: The layout should be intuitive and logical. It should also meet the
Epsilon styleguide.
•CNR3 Multilingualism
: The mobile application has to be offered in multiple lan-
guages as it will be used EMEA wide. Therefore, it should be easy to add further
languages.
•CNR4 Offline functionality
: Selected documents must be available offline to
guarantee a product presentation at customer visits without any problems. Sales
representatives need to prepare customer visits by downloading all necessary
documents. This function must be provided by the client.
•CNR5 Performance
: The mobile application should provide fast access to the
files.
•CNR6 Dedicated corporate solution: The mobile application should be a devel-
oped in-house.
4.3. Server
This section describes the requirements on the server application. These are also
divided into functional and non-functional requirements.
4.3.1. Functional Requirements
Functional requirements define functions of the system.
•SFR1 Document administration
: The server application needs to provide func-
tionality for the administration of enterprise content. Thereby, it is important to
consider the enterprise content lifecycle (section 2.1).
•SFR2 User administration
: To manage the authorization of users, the server
application also needs to provide mechanisms for the user administration.
•SFR3 Document assignment
: The server application has to provide a mecha-
nism to assign user rights to documents.
39
4. Requirements
•SFR4 Web accessibility
: It should be possible to administrate the documents
using a web browser.
•SFR5 Application programming interface
: The server application must provide
an API for connecting the server and the client application.
•SFR6 Microsoft Office support
: Microsoft Office files are, among other file types,
commonly used at
Epsilon
. Therefore, this requirement has to be fulfilled but is
actually not premeditated. It is a added to say ready for future development.
•SFR7 Workflow support
: The server application should support workflows to
improve the productivity and efficiency of business processes.
4.3.2. Nonfunctional Requirements
Nonfunctional requirements define characteristics of the system.
•SNR1 Usability: It should be user-friendly to administrate the server application.
•SNR2 Hosting
:
Epsilon
prefers an internal hosting. Therefore, the server applica-
tion should be an on-premises software.
•SNR3 Support
: To leverage the availability of the server application, technical
support is also required.
40
5
Evaluation
The server application should be realized using an existing ECM system (see section
2.2) to support the content throughout the enterprise content life cycle. Therefore, an
evaluation of existing ECM systems has to be performed to find the best match. The first
section provides an overview about existing ECM systems. Then the criteria catalog for
the evaluation is described followed by the actual evaluation using the AHP method.
5.1. Enterprise Content Management market
Nowadays, there are lot of ECM systems. The worldwide market of ECM systems grew
by
8,6%
in 2013 [
GSC+14
]. Gartner Inc., an american information technology research
and advisory firm, evaluated 22 different ECM systems in
Magic Quadrant for Enter-
prise Content Management
[
GSC+15
] from September 2014. Another independent
technology and market research company, Forrester Research, evaluated 13 providers
in
The Forrester Wave: Enterprise Content Management, Q3 2013
[
WLCMJ15
] from
September 2013. Based on these studies in addition with fundamental investigation,
ECM systems were selected as potentially alternatives. They will be shortly described in
the following and in section A.1, based on internet recherche and interviews with contact
persons of the ECM sales team.
•Agorum Core
: Agorum Core is a Document Management System platform in its
current version 7.7.0 and was released on Mai 2015. It is available in two different
versions, Agorum Core Open (free software) and Agorum Core Pro (commercial).
Agorum Core Pro is in five different licenses available. Detailed information about
41
5. Evaluation
the differences can be found at [
Ago15b
]. The platform itself provides multilingual
support and can be fully customized by configuration files. The main features of
Agorum Core are document search, manage documents, workflows, information
retrieval (via wikis and forums) and collaboration. A detailed overview about the
provided features can be found at [Ago15a].
•OpenText ECM Suite
: The OpenText ECM Suite is an aggregation of manage-
ment applications that include document management, record management, email
management and web content management. The management software is divided
into content management, records management, archiving, capture, email solu-
tions, content-centric applications and ECM in the cloud, platform and developer
extensions, and OpenText Brava (a collaboration software). OpenText introduced
OpenText Cloud to provide services for the management, the collaboration and
messaging [GSC+14].
•M-Files DMS
: The current version of M-Files is M-Files 2015 and was released
in April 2015. It is available as cloud version or as on-premise version. The
producer describes M-Files as an enterprise information management system that
manages all business contents (documents, projects and business processes)
in combination with intelligence by different systems. M-Files uses a metadata
model for the file management. Therefore, the solution is very flexible because
files are not hard-coded and users are thereby able to customize the context to
their requirements [GSC+14]. More information can be found at [MF15].
5.2. Criteria Catalog
The Magic Quadrant for Enterprise Content Management study by Gartner provides a
general overview of already existing ECM systems but does not match the requirements
on the IT system with its weighted requirements. To identify an ECM system that
completely meet the defined requirements (see section 4), an evaluation based on the
defined requirements in addition to the functionality of ECM systems has to be performed.
42
5.2. Criteria Catalog
The criteria catalog for the evaluation is presented in the following based on the top-level
criteria and its sub-criteria.
•System
: The system criteria summarizes all general functional properties of the
ECM system and can be divided into the following sub-criteria:
– Costs
: Costs can be broken down into two main categories: These are
one-time costs and regular costs. One-time costs include, for example, ECM
purchase costs, additional fix costs for offline functionality or support costs
(general functionality services). Regular costs include, for example, license
costs per year, training costs or support costs (special standby services).
– Installation
: The installation can be broken down into the complexity of the
installation, requirements and the functionality of the installation. Complexity
of the installation includes expenditure of time and general complexity during
the installation. Installation requirements can be divided into the number of
requirements and its complexity. The functionality of the installation of an
ECM contains possible features of automated install routines or recovery
processes of backups.
– In-house
: In-house is a special requirement of
Epsilon
. On the one side the
category contains information about possible target audiences and on the
other side
Epsilon
specified attributes. For example: If
Epsilon
is able to
provide support, install the ECM system or develop add-ons to extend the
functionality.
– Support
: The support includes general availability (7/24, weekdays or week-
end support) and different types of support. These are online/offline support,
videos and workshops. Workshops contain sessions or web conferences.
– Scalability
: This criteria rates if the ECM system is able to scale properly
to large dimensions. It also includes any kind of limitations relating to the
scalability.
43
5. Evaluation
– Documentation
: The documentation can be divided into an user-guide and
a documentation based on the software development kit or the application
programmable interface.
•Usability
: The usability criteria measures the level of usage of the ECM system.
A system with a good usability is a system that is close to users needs and
requirements. The criteria can be divided into the following sub-criteria:
– User interface
: Usability of the user interface contain adaptability of the
user interface by itself. This includes, for example, customization of the data
representation or the design.
– Access to information
: The access to information can be divided into the
representation of information, access types and media integration. Represen-
tation of information can be performed with various types like, for example,
lists, hyperlinks, calendars, contacts, tasks or surveys. There are generally dif-
ferent access types, like access via web, mobile or desktop application. Media
integration is defined as the provided file types by the ECM like, for example,
office documents, PDF files or multimedia files (like videos or audios).
– User and rights management
: The user and right management is crucial
for security, for example for the authorization. It can be divided into three sub-
criteria: Supported directory services, administration tasks and granularity of
rights management.
•Extensions
: Another criteria are extensions, which allows the customization of
the ECM to users needs. They can be divided into the following sub-criteria:
– Connection
: The connection can also be divided into the extension via
plugins and via application programming interfaces. In this criteria catalog,
plugins are characterized by the difficulty level of the installation, the stability
and the complexity. There are different application programming interfaces,
for example web service or SAP.
– Workflow support
: The workflow support is characterized by the difficulty
level of the integration and the compatible workflow systems. The difficulty
44
5.2. Criteria Catalog
level of the integration is differentiated between the general handling of work-
flow integration and the necessary time for integration.
– Multilingualism
: The multilingualism differentiates between predefined lan-
guages and extensions. Extensions can be differentiated between templates
and self-created files. Thereby, the complexity of the creation process is
relevant.
•Administration of documents
: The administration of documents is a core func-
tionality of an ECM system and can be divided into the following sub-criteria:
– Indexing
: The term indexing describes the process of applying metadata to
a document in the context of an ECM system.
– Offline functionality
: Offline functionality can be divided into two different
use cases: View and edit documents.
– Document functionality
: The document functionality supports users in the
management of documents. This includes the following sub-criteria: Annota-
tions on the document, editing of documents (for example multi-user support),
searching for documents (for example efficiency or range of search), version
management of documents, archiving documents and importing documents.
•Security
: Another important aspect of the criteria catalog is security. It can be
divided into the following sub-criteria:
– System stability
: The system stability of an ECM system is crucial within an
enterprise as documents have to be available at all time.
– Data protection
: There are different possibilities to create backups of the
ECM system (for example incremental backups). The backup can be charac-
terized by the complexity, the procedure, the needed time and the compres-
sion rate. Another important characteristic is restoring individual documents
in case of a failure.
– Logging: Logging contains the range and the details of the log.
45
5. Evaluation
– Encryption
: There are different encryption methods. These are, for example,
the public key cryptography.
5.3. Evaluation
The evaluation to find the best matching ECM system is achieved using the AHP method
(see section 2.3.2.8). AHP allows handling dependencies in different hierarchies of the
structure and also considers cognitive tendency to order elements in categories. Another
advantage of this method is the respect for quantitative and qualitative attributes during
the decision making process by the fundamental scale. AHP is able to decide complex
decision problems and also provides consistency checks to rate the quality of the results
[MK13].
5.3.1. Input parameters
The AHP evaluation is realized with BPMSG
1
, an online AHP application. Input parame-
ters for the calculation are the hierarchical structure, the weight of the criteria as well as
the alternatives.
5.3.1.1. Hierarchical structure
The hierarchical structure of the criteria has been presented in section 5.2. The overall
goal of the decision making problem is named as
Find the best matching ECM system
.
This hierarchical structure is transformed for the usage with the online AHP system (see
listing 5.1).
Listing 5.1: Input text for the AHP hierarchy
1Find the best matching ECM system: System, Usability,
2Extensions, Administration of documents, Security;
3System: Costs, Installation, In-House, Support, Scalability,
1http://bpmsg.com/academic/ahp-hierarchy.php
46
5.3. Evaluation
4Documentation; Usability: User interface, Access to
5information, User and rights management; Extensions:
6Connection, Workflow support, Multilingualism;
7Administration of documents: Indexing, Offline
8functionality, Document functionality; Security: System
9stability, Data protection, Logging, Encryption;
5.3.1.2. Criteria
The criteria are weighted based on the importance of the presented requirements (see
section A.3). The result of the weighted criteria is presented in table 5.1. As the matrices
are reciprocal, only half of the comparisons are presented.
System Usability Extensions
Administration of
documents
Security
System 1 1 1 1/3 1/3
Usability 1 1/3 1/3 1
Extensions 1 3 3
Administration
of documents
1 3
Security 1
Table 5.1.: Weight of the criteria
47
5. Evaluation
Objective
Best matching
ECM system
Criteria
System
Usability
Extensions
Administration
of documents
Security
Sub-criteria
Cos ts
Installation
In-House
Support
Scalability
Documentation
User interface
Acces s to information
User and rights
management
Workflow support
Multilingualism
Offline functionality
Document functionality
System stability
Data protection
Logging
Encryption
0.1506
0.1384
0.2954
0.1670
0.2487
0.1037
0.0830
0.2717
0.2969
0.1166
0.1280
0.3333
0.3333
0.3333
Support 0.5714
0.1429
0.2857
Support 0.2081
0.1311
0.6608
0.4450
0.2881
0.0641
0.2029
1.6%
1.3%
4.1%
4.5%
1.8%
1.9%
4.6%
4.6%
4.6%
16.9%
4.2%
8.4%
5.2%
3.3%
16.4%
7.4%
4.8%
1.1%
3.4%
Global priorities
Figure 5.1.: The weighted hierarchical structure of the decision problem.
5.3.1.3. Alternatives
A feature-based overview of the introduced ECM systems (see section 5.1) is presented
in table 5.2. The information is based on internet recherche and interviews with contact
persons of the ECM systems.
48
5.3. Evaluation
Product RM
DMS
Wf
Technical
support
Multilingual
support
Supports
MS Office
In-house
usage
Share Point
2013
3 3 3 3 3 3 3
Alfresco One 3 3 3 3 3 3 7
Agorum Core 3 3 3 3 3 ˜7
Bitfarm-Archiv 3 3 3∗3 3 3∗7
ELO Enterprise 3 3 3 3∗3∗7∗7
IBM Connec-
tions
3 3 3 3 3∗3∗3
Logical DOC 3 3 3 3∗3∗3∗7
Xerox Do-
cuShare
3 3 3 3∗3∗˜7
OpenText ECM
Suite
3 3 3 3∗3∗˜7
Docu Ware 3 3 3 3 3∗˜7
Liferay Portal 3 3 3 3 3 3∗7
Hyland Software
OnBase
3 3 ˜ ˜ ˜ 3∗7
EMC Documen-
tum D2
3 3 3 3∗3∗˜7
Saperion ECM 3 3 3∗3∗3∗˜7
HP Autonomy
ECM
3 3 3∗3∗˜ ˜ 7
Newgen Om-
niDocs ECM
Suite
3 3 ˜3∗3∗˜7
Oracle WebCen-
ter Content
333˜3∗3∗7
M-Files DMS 3 3 3 3∗3∗3 7
Table 5.2.:
Feature-based overview of ECM systems. The ˜ means that there was no
information present via internet research nor according to a contact person.
The ∗means that there are limitations. 49
5. Evaluation
To reduce the number of potential ECM systems, the dominance strategy (see section
2.3.2.1) is used. Thereby, the
in-house usage
criteria of an ECM system is not consid-
ered. The resulted ECM systems after applying the dominance strategy are
Microsoft
SharePoint
,
Alfresco One
and
Liferay Portal
. In addition to these ECM systems,
IBM
Connections was also added because of its already existing in-house usage.
Microsoft SharePoint
: Microsoft SharePoint 2013 is a business collaboration plat-
form in its current version SharePoint 2013 SP1. The latest update was released on
September 2014 [
Mic15g
]. Microsoft SharePoint is available in three different versions.
Microsoft SharePoint Foundation 2013, Microsoft SharePoint Server 2013 Standard
Edition and Microsoft SharePoint Server 2013 Enterprise Edition. General core capabil-
ity areas of Microsoft SharePoint are collaboration, social computing, portals, search,
records management, business intelligence and composite applications. An overview of
a Microsoft SharePoint 2013 farm is demonstrated in figure 5.2.
SharePoint Farm
Web application
Site collection
Site
Site
...
Web application
...
Top Level Site
Site collection ...
...
Figure 5.2.: SharePoint Hierarchy [Mic15e, Goo13].
Thereby, a site type can be one of the following categories [Mic15e]:
•Collaboration
: Collaboration sites contain team sites, blogs, develop sites, project
sites and community sites. They may be used, for example, to interact with various
50
5.3. Evaluation
people, collect ideas, observations and expertise, build, test and publish apps for
Office, or manage and collaborate on a project.
•Enterprise
: Enterprise sites contain document center, eDiscovery center, records
center, business intelligence center, enterprise search center, my site host, commu-
nity portal, basic search center and visio process repository. These sites are used,
for example, to manage documents, manage preservation, search and export of
content, presenting business intelligence content, delivering an enterprise-wide
search experience or view, share or store visio process diagrams.
•Publishing
: Publishing sites contain publishing portal, enterprise wiki, product
catalog, publishing site and publishing site with workflow. These sites are used, for
example, for publishing knowledge or managing product catalog data.
Microsoft SharePoint uses lists and libraries as repositories. An advantage of document
libraries are tools to control access rights in terms of adding, deleting, editing or reading
documents. Therefore, a detailed user access management is available. Lists store
data in rows and columns like Microsoft Excel spreadsheets or databases [
Cur13
].
Microsoft SharePoint offers an office web apps service application, which provides
a browser-based viewing and editing of Microsoft Office documents [
Goo13
]. There
are two features to provide multilingualism in Microsoft SharePoint, called Multiple
Language User Interface (MUI) and Variations (Enhanced translation workflow and
machine translation services). The MUI feature changes the display language for default
UI elements. Custom UI elements that have been added using third-party plugins are
not translated automatically. The Variations feature works with the site content. Thereby,
published sites from the pages library are copied automatically and queued for translation
and publishing [Mic15c].
The platform requires at least a hardware with 8 GB RAM, 64-Bit 4 core processor and
80GB disk space [Mic15f] and supports the following directory services [Mic15d]:
•Active Directory Domain Services (AD DS) 2003 SP2 and AD DS 2008
•Sun Java System Directory Server version 5.2
•Novell eDirectory version 8.7.3
51
5. Evaluation
•IBM Tivoli version 5.2
Microsoft SharePoint provides the following APIs:
•
Server-OM-APIs for Silverlight applications, web part, ASP .NET web applications
or applications for SharePoint
•.NET-Client-OM-APIs for .NET applications
•JavaScript APIs for web part, ASP .NET web applications, applications for Share-
Point, HTML/JavaScript applications or applications for Office
•
REST/OData for ASP .NET web applications, applications for SharePoint, HTML/-
JavaScript applications, applications for Office, LAMP web applications or iOS/An-
droid applications.
•
Silverlight-Client-OM-APIs: Silverlight applications, web part, ASP .NET web
applications or applications for SharePoint
•
Mobile Silverlight-APIs for Windows Phone Silverlight applications or Windows
Phone XNA applications
Microsoft provides support for Microsoft SharePoint via web, a 7/24 support via phone,
on-premises support by a Microsoft partner, support by video tutorials for administrators
and end users and support by training from Microsoft partners.
IBM Connections Content Edition
: IBM Connections Content Edition uses the
ECM software IBM FileNet P8 Content Manager. IBM FileNet P8 Content Manager
contains functionality for the administration of relevant documents and contents. This
includes version control, check-in/check-out, WebDAV (an extension of the HTTP protocol
that allows clients to perform web content authoring operations), PDF publishing and
Microsoft Office integration. Thereby, the platform provides the handling of unstructured
data like scanned paper documents, HTML, XML, PDF documents, emails, video or
audio files and provides the management of complex files [
IBM15
]. IBM FileNet P8 is
based on three core components. These are content engine (CE), process engine (PE)
and workplace (WP) / workplace XT (WP XT) (see figure 5.3).
52
5.3. Evaluation
Workplace /
Workplace XT Process Engine
Database
Storage
LDAP
Content Engine
Custom Applications
HTTP / HTTPS / WebDAV
IIOP (for REST)
JDBC
HTTP / HTTPS
JDBC
NFS/CIFS/API
LDAP(S)
IIOP/T3
HTTP
IIOP/T3
HTTP/HTTPS/IIOP/T3
Figure 5.3.: IBM FileNet P8 core components [IBM15].
•CE component
: The CE component is a J2EE Java Bean application that provides
services for creating, retrieving, updating, deleting and securing all content. It
also provides interfaces for handling event-based actions, document life cycle
and integration with various storage mediums. It provides a java and .NET API,
which offers methods to create, retrieve, update and delete objects, folders and
documents.
•PE component
: The PE component provides workflow management like per-
sonal inboxes, work object routing, group queues, process tracking and process
orchestration capabilities.
•WP / WP XT
: These components provide user interfaces for the work with the CE
and PE components.
IBM FileNet P8 Content Manager also provides the localization of content in different
storage systems and databases. Therefore, attributes, content with phonetic search like
word stem or synonyms are used. Such queries can also be stored for future requests.
It also provides templates for processes, formulas, classifications, definitions, search
formulas and user interfaces. The provided operating systems, databases and directory
services are presented in the following:
•Operating systems
: Microsoft Windows, Sun Solaris, IBM AIX, HP-UX and Linux.
53
5. Evaluation
•Databases: IBM DB2, Microsoft SQL Server and Oracle.
•Directory Services
: Microsoft Active Directory, Novell eDirectory and Sun Java
System.
The IBM Connections platform provides standards like J2EE, XML and SOAP. It also
provides enterprise application integration. The objective management service admin-
istrates content, controls relations between content and its external objects, security
concepts, processes, information about the lifetime and enterprise application integration
transactions. The J2EE Content Engine allows for searching, classifying, saving data
from foreign repositories.
IBM provides support via web, a 7/24 support via phone, on-premises support, support
by video tutorials and support by training.
Alfresco One
: Alfresco One is a Java based system. Therefore, it runs on all operating
systems that are able to run Java Enterprise Edition. The architecture of Alfresco in
presented in figure 5.4.
Alfresco offers two primary web-based clients. These are Alfresco Share and Alfresco
Explorer. Alfresco Share is implemented using Spring Surf and manages the collabo-
ration aspects of content management and streamlining the user experience [
Alf15b
].
Alfresco Explorer is implemented using Java Server Faces and exposes all features of
the content application server [Alf15b].
Alfresco content application server provides the following services:
•Content services (transformation, tagging, metadata extraction)
•Control services (workflow, records management, change sets)
•Collaboration services (social graph, activities, wiki)
Programmatic access is supported via HTTP and SOAP, application access by CIFS,
FTP, WebDAV, IMAP and Microsoft SharePoint protocols. Microsoft SharePoint proto-
cols additionally enable Alfresco One the connection to Microsoft Office applications.
There are mobile applications for the mobile platforms iOS and Android available. Al-
fresco One provides additionally SDKs for Android, iOS and Appcelerator (applications
54
5.3. Evaluation
Physical Storage
Relational DB File System
Alfresco Content Application Server
Content Services
Content Repository
Control Services Collaboration Services
Alfresco Content Application Server
Spring Surf
OS File System Office Mobile Rich Desktop Application
JSF Platform
Alfresco ExplorerAlfresco Share Web Site Portal
DM WCM RM DAM Collaboration
Figure 5.4.: Architectural components of Alfresco One [Alf15b].
in JavaScript) [
Alf15c
]. The application programming interface can be realized by a
JavaScript API (ECMA Script), a RESTful API, a Repository FreeMarker Template API
and a surf platform API. Alfresco uses Content Management Interoperability Services
(CMIS) for creating, querying, updating and deleting documents and folders. REST
calls are used for functionality that does not support CMIS [
Alf15a
]. The user access
is controlled by roles. Thereby, it is possible to determine what a user is allowed to do.
Detailed information about the user access can be found at [
Alf15e
]. Alfresco supports
the following authentication mechanisms: NTLM, authentication and user registry export
through the LDAP protocol, authentication and user registry export from Active Directory
through the LDAP protocol, authentication through a windows domain server, authentica-
tion through a kerberos realm and authentication using an external SSO mechanism.
Alfresco handles multilingual document support by the share UI, which decides what
language is desired based on the browser’s locale settings.
Alfresco One provides three different support variants. These are departmental, enter-
prise and premier. All of these support variants provide support via web, phone and
55
5. Evaluation
forums. The enterprise and primer support additionally provide 24x7 support. Detailed
overviews are available at [Alf15d].
Liferay Portal
: Liferay Portal is also a Java based platform system. Therefore, it runs
on all operating systems that are able to run Java Enterprise Edition. Liferay Portal con-
tains two core components: Liferay CMS and Liferay Collaboration [
JHK+15
]. Features
of Liferay CMS are, for example, a web content management system, a repository that
houses documents, video, audio, images and other media types (these can also be other
content repositories like, for example, Alfresco or Documentum), creation of metadata
sets, creation of different workspaces, a web UI interface, templates, live page editing
and scheduling, search functionality across all assets and multi-language support. It
provides built-in support for more than 40 languages and it is also possible to add other
languages. Liferay Portal supports check-in/check-out, sort and mange mechanisms.
Features of Liferay Collaboration are, for example, knowledge bases, wikis, message
boards, blogs, reportings, rss feeds, activity tracking, instant messaging, an AJAX-based
webmail client, calendars, dynamic data lists, polls. Detailed information can be found
at [
Lif15b
]. Liferay Portal uses SharePoint protocols to work with Microsoft Office files.
Some technical specifications are presented in the following [Lif15c]:
•Operating systems: Microsoft Windows, Linux, Unix
•Databases: IBM DB2, MySQL, Oracle, PostgreSQL, SQL Server, Sybase
•Web Services
: JSON, Hessian, Burlap, REST, RMI, Spring HTTP, WSRP and
WebDAV
•Single Sign On
: CAS and Siteminder. Support for JAAS, JOSO, LDAP, Netegrity,
Microsoft Exchange.
•Security
: Pluggable Authentication, Email Verficiation, Granular Permissioning,
LDAP Authentication, Session Management
Liferay Portal requires 300MB of disk space and at least 1 GB of RAM. According to
[Lif15a], Liferay supports the following performance:
•Liferay Portal can support 27,000 virtual users on a single server
56
5.3. Evaluation
•
Liferay Portal’s Document repository supports
10,000
virtual users while accessing
2,000,000 documents in the document repository.
•
Liferay Portal’s WCM supports
300,000
virtual users on a single Liferay Portal
server with average transaction times under 50ms and 35% CPU utilization.
Liferay provides two different support variants. These are Gold (8/5 support via web
and phone) and Platinum (24/7 support via web and phone). Support via videos or
tutorials is available at the website of Liferay
2
. It is also possible to book training sessions.
On-premises support is generally not provided directly by Liferay.
The described alternatives have to be weighted in the next step. The result of the
evaluation is provided in the following and in section A.4. As the matrices are reciprocal,
only half of the comparisons are presented.
In-House MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 3 9 9
IBM Connections 1 9 9
Alfresco 1 1
Liferay 1
Support MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 1 1 3
IBM Connections 1 1 3
Alfresco 1 3
Liferay 1
Connection MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 3 3 3
IBM Connections 1 3 3
Alfresco 1 1
Liferay 1
2http://www.liferay.com/university
57
5. Evaluation
Multilingualism MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 3 3 1/3
IBM Connections 1 1 1/3
Alfresco 1 1/3
Liferay 1
5.3.1.4. Result
The result of the evaluation is presented in figure 5.5. Based on these results, the
following rating of ECM systems is presented:
1. Microsoft SharePoint (30.4%)
2. IBM Connections Content Edition (26.4%)
3. Alfresco One (21.4%)
4. Liferay Portal (21.8%)
Thereby, Microsoft SharePoint is selected as server component.
Objective
Best matching
ECM system
Criteria
System
Usability
Extensions
Administration
of documents
Security
Sub-criteria
Costs
Installation
In-House
Support
Scalability
Documentation
User interface
Access to information
User and rights
management
Workflow support
Multilingualism
Offline functionality
Document functionality
System stability
Data protection
Logging
Encryption
0.1506
0.1384
0.2954
0.1670
0.2487
0.1037
0.0830
0.2717
0.2969
0.1166
0.1280
0.3333
0.3333
0.3333
Support 0.5714
0.1429
0.2857
Support 0.2081
0.1311
0.6608
0.4450
0.2881
0.0641
0.2029
1.6%
1.3%
4.1%
4.5%
1.8%
1.9%
4.6%
4.6%
4.6%
16.9%
4.2%
8.4%
5.2%
3.3%
16.4%
7.4%
4.8%
1.1%
3.4%
Global priorities Microsoft SharePoint IBM Connections
Content Edition Alfresco One Liferay Portal
0.0070
0.0031
0.0217
0.0128
0.0044
0.0048
0.0115
0.0152
0.0132
0.0667
0.0167
0.0235
0.0129
0.0082
0.0411
0.0186
0.0120
0.0027
0.0085
0.0070
0.0031
0.0153
0.0128
0.0044
0.0048
0.0115
0.0152
0.0132
0.0469
0.0117
0.0138
0.0129
0.0082
0.0411
0.0186
0.0120
0.0027
0.0085
0.0007
0.0031
0.0020
0.0128
0.0044
0.0048
0.0115
0.0092
0.0132
0.0276
0.0069
0.0138
0.0129
0.0082
0.0411
0.0186
0.0120
0.0027
0.0085
0.0009
0.0031
0.0020
0.0064
0.0044
0.0048
0.0115
0.0065
0.0066
0.0276
0.0069
0.0334
0.0129
0.0082
0.0411
0.0186
0.0120
0.0027
0.0085
30.4% 26.4% 21.4% 21.8%
Figure 5.5.: Result of the AHP process.
58
6
Conception and Architecture
This section covers basic issues in respect to the concept and architecture. At first,
the architecture of the overall IT system is described in more detail. Based on this
architecture both the server and client component are discussed.
6.1. Architecture
The high-level data flow of the overall IT system is presented in figure 6.1. The mobile
application uses the REST API provided by Microsoft SharePoint to request and receive
content (i.e., documents). Generally, the mobile application stores and represents a
virtual copy of the content from Microsoft SharePoint. Sales representatives navigate
through this virtual copy and are able to download and open selected files based upon
their privileges. The mechanism of the virtual copy guarantees that the storage of the
mobile device will not get unnecessary full with unused files. A disadvantage of the
mechanism is that sales representatives have to prepare a visit by downloading the
necessary files. In case this preparation phase, a function to receive and download all
files is also available.
59
6. Conception and Architecture
Smart Mobile Device
Intranet
Microsoft SharePoint
Content
database
Server
object
model
Client.svc
web service
Mobile application
Database
Service
Network
Service
Internal Storage
Application
Directory
SQLite
Database
User
Interface
JSON
HTTPS (OData protocol)
Web browser
HTTPS
Figure 6.1.: High-level data flow of the overall IT system.
6.2. Server
Microsoft SharePoint 2013 provides all necessary functions of the requirements (see sec-
tion 4) without any additional extensions. It only has to be configured. The configuration
includes user administration and metadata of files.
The REST API of Microsoft SharePoint is fully comparable to the
server object
models
and provides interactions between any technology that supports REST and
Microsoft SharePoint 2013 [
Mic15b
]. The
client.svc web service
handles con-
structed RESTful HTTP requests using the Open Data Protocol (OData) standard, which
corresponds to the desired client object model API. RESTful HTTP requests are used
to perform typical CRUD operations against Microsoft SharePoint entities [
Mic15b
].
Possible HTTP methods for the RESTful service are shortly described in the following
[Mic15b]:
•GET: To read a resource.
•POST: To create or update a resource.
•PUT: To update or insert a resource.
•DELETE: To delete a resource.
60
6.3. Client
RESTful HTTP request examples to demonstrate Microsoft SharePoint REST service
are described in the following [Mic15b]:
URI Method Description
web/title GET Retrieves the title of a list.
lists GET Retrieves all lists on a site.
lists/getbytitle(’listname’) GET
Retrieves a single lists meta-
data.
lists/getbytitle(’listname’)
/items
GET Retrieves items within a list.
lists/getbytitle(’listname’)
?select=Title
GET
Retrieves a specific property
of a document.
The URL endpoint has to be appended to
http://server/site/_api/
, whereby
server
represents the name of the server, whereas
site
specifies the name or path to
the specified site [
Mic15b
]. Detailed information about the syntax of SharePoint RESTful
services can be found on [Mic15a, Mic15b].
6.3. Client
The client application needs to be compatible with an iPad device based on the re-
quirements in section 4. There are generally four possible development variants for the
mobile application: Web application, hybrid application, mixed application and native
application.
•Web application
: Web applications (for example jQuery Mobile Applications)
are typically developed with web technologies like HTML5, CSS3 or JavaScript.
Thereby, they are platform independent and only need a web browser for the exe-
cution. Web applications are websites with the look and feel of native applications
but provide only limited access to hardware components [SSP+13].
61
6. Conception and Architecture
•Hybrid application - web
: Hybrid applications use the same web technologies
as web applications. The applications, however, run within a native application
container like the WebView component in iOS. Thereby, the application can use
additional features of the devices hardware [SSP+13].
•Hybrid application - mixed
: Hybrid applications are also developed with web
technologies. However, the HTML5 elements will be mapped to the corresponding
native platform elements during build time of the application [SSP+13].
•Native Application
: Native applications are specifically developed for one respec-
tive platform. Thereby, the standard API of the platform is used. Native applications
offer the best possible functionality because of the direct use with the provided
programming libraries and interfaces [SSP+13].
According to [
SSP+13
], native applications should be used if the application is perfor-
mance critically or if the application needs specific features of the device. Because of this
the client application is implemented as native application because of its performance
critically requirement (see section 4.2).
6.3.1. General Workflow
This section describes the high-level workflow of the mobile application. Thereby, figure
6.2 presents an overview about the general workflow. The first activity after the mobile
application has been started is to check if there are valid user credentials available
(e.g., the user was successfully logged-in at least one time on the server). If so, the
application checks if new metadata is available by sending a RESTful HTTP request to
Microsoft SharePoint. The request is running asynchronous in background that sales
representatives will not recognize any activity. After the request was sent, the sales
representative is forwarded to the
Browse screen
. The
Browse screen
presents all
available content for the sales representative based upon his rights. They can switch
between the
Browse screen
,
Recents screen
,
Info screen
,
Favorites screen
and
Wrap-
Up screen
and are also able to start a content synchronization. Individual activities like,
for example, filter or search functions are not presented in this figure.
62
6.3. Client
Browse screen
Valid user data
available
Login screen
No valid user
data available Check user data
Valid user data
available
No valid user
data available
Synchronize
metadata
Download all
available files
User wants do
download all
available files
User does not
want to download
all available files
Check for new
metadata
Info screen Logout
Favorites screen
Wrap-Up screen
Recents screen
Valid user data
available
Synchronize data
No valid user data available
Start application
Check user data
Delete all data of
the application
Figure 6.2.: General workflow of the mobile application.
If there is no valid user data available the the application presents the
Login screen
.
Thereby, sales representatives are able to enter their username and password. After
sales representatives confirmed their credentials, a RESTful HTTP request to verify the
data is send to Microsoft SharePoint. If the entered credentials are not valid, the sales
representative will get an error message and returns to the
Login screen
. Otherwise the
metadata of the mobile application will be synchronized with the server application. The
synchronization means that the mobile application will receive the content structure of
the available data (i.e., the files and folders with metadata like title, length or modification
date) and stores these data in the local database. If the synchronization is completed
the sales representatives will be asked if they want to download all files to make them
63
6. Conception and Architecture
available for offline usage. After the procedure is completed the sales representative will
be forwarded to the Browse screen.
6.3.2. Data structure
As already described, the mobile application provides an image of the available content
structure from the server application. The virtual copy on the mobile application is
generally metadata based. Thereby, it is possible to completely change the structure
of the representation easily as the structure is not hard-coded. After discussions with
contact persons, the mobile application should provide the same folder based structure
as Microsoft SharePoint to ensure familiarity with the already known system.
6.3.3. Metadata
The metadata based representation needs different information to handle the folder
based structure. These are described in the following:
•Unique ID
: The content needs an unique identifier number to address the content.
•URI: A URI to the content is required to download and save the content.
•Modification date
: The modification date is needed to detect changes on re-
sources.
•Size
: The size is needed to get information about the download process. Thereby,
sales representatives are able to estimate the needed time for the download based
on the internet bandwidth.
•Title: The title is used for the representation of the file on the iOS device.
6.3.4. Data model
The structure of the data model is presented in figure 6.3 and will be described in
the following. The
File
table contains an attribute
length
that provides information
64
6.3. Client
about the file size, an attribute
guid
(Global Unique ID) to identify the resource and an
attribute
is_local
that provides information if the file exists local. The
Folder
table
also contains an attribute
guid
for the identification and an attribute
item_count
that
provides information about the number of items the folder contains. More information
about the
Folder
and
File
table are provided by the
Metadata
table. The latter
contains attributes
created_at
,
updated_at
,
client_url
(provides information
about the relative file path in Microsoft SharePoint) and
title
(provides information
about the representation). The
FileLogWrapUp
table contains attributes about the
location of the sales representative (
longitude
and
latitude
) and a timestamp
attribute
created_at
. Information about a customer visit is presented by the
WrapUp
table. The table contains like the table
Favorite
and
Recent
, an attribute
name
that
provides information about the representation and timestamp attributes (
created_at
and
updated_at
). The
FavoriteItem
table contains an attribute
created_at
that
represents a timestamp. The
FileLogRecents
table contains attributes about the
location (longitude and latitude) and a timestamp attribute created_at.
File
Metadata Folder
FileLogWrapUp WrapUp
FavoriteItem Favorite
FileLogRecents Recent
guid
is_local
length
created_at
client_url
updated_at
title
guid
item_count
created_at
longitude
latitude created_at
name
updated_at
created_at
longitude
latitude
created_at name
updated_at
created_at
created_at name
updated_at
0...n 1
1
0...m
0...m
0...m
1
1
1 1
1
0...1
0...1
1...n
Figure 6.3.: ER-Diagram of the mobile application.
65
6. Conception and Architecture
6.3.5. Files
Files are stored in
ApplicationDirectory/files/guid.filetype
on the internal
storage of the iOS device. The
guid
is thereby the global unique identifier of the file
and is provided by the database. The
filetype
is extracted by the
client_url
. If
the user downloads a file successfully the
is_local
attribute of the file in the database
will be updated and set to
true
. The mobile application needs to support PDF files,
MP4 files and HTML5 applications. Based on discussions with contact persons, HTML5
applications are provided as ZIP packages with a predefined folder structure. Thereby,
an
index.html
file has to be present in the root directory of the ZIP packages. This
file is used as entry point if sales representatives starts a HTML5 application.
6.3.6. REST API
The connection of the mobile application with Microsoft SharePoint is realized using
the REST API. The RESTful HTTP request to receive all items in the document library
Epsilon is presented in listing 6.1.
Listing 6.1: REST request to receive all items in the document library Epsilon
1http://server/site/_api/web/getbytitle(’Epsilon’)/Items
The XML response is presented in listing 6.2. Thereby, all available files and folders
in the document library
Epsilon
are listed. The
FileSystemObjectType
provides
information about the type of the element (e.g. file or folder). Detailed information about
the file or folder (for example the
servers relative URI
) are available using an additional
RESTful HTTP request for the specific file or folder.
Listing 6.2: XML response of the REST request
1<entry m:etag="2">
2...
3<d:FileSystemObjectType m:type="Edm.Int32">0
4</d:FileSystemObjectType>
5<d:Title>Product Propof</d:Title>
66
6.3. Client
6<d:Modified m:type="Edm.DateTime">2015-05-11
7T11:59:52Z</d:Modified>
8<d:GUID m:type="Edm.Guid">733bf668-2204-42ff
9-a62f-995c9c291e15</d:GUID>
10 ...
11 </entry>
12 ...
The mobile application uses JSON responses instead of XML because of its reduced data
size. Therefore, the RESTful HTTP request
Accept
header is set to
application/
json;odata=verbose
. The components of the mobile application will be described in
the following section in detail.
67
7
Implementation
The following section describes implementation aspects of the mobile application. Mi-
crosoft SharePoint will thereby not be described as all necessary functions are provided
by default and no further implementation needed to satisfy the requirements described
in section 4.3. Therefore, this section concentrates on the implementation of the mobile
application.
7.1. Model-View-Controller
The mobile application is developed based on the Model-View-Controller (MVC) architec-
ture. MVC divides a software application into three parts: The
model
manages the data
model, the
view
represents the output and the
controller
manages interactions. Figure
7.1 presents the collaboration of the MVC components [Sch12].
Controller
View Model
Figure 7.1.: Collaboration of the MVC components [Sch12].
69
7. Implementation
7.1.1. Model
An overview of the model classes in the mobile application is presented in figure 7.2.
These can be categorized into three different categories: Models for
Cells
, Models for
iOS Core Data and Service classes.
Model
iOS Core DataCells Service classes
CellBrowse
CellFavorite
CellFavoriteList
CellFile
CellFilter
CellRecent
CellWrapUp
Favorite
FavoriteItem
File
FileLogRecent
FileLogWrapUp
Folder
Metadata
Recent
ServiceDatabase
ServiceFilesystem
ServiceFilter
ServiceKeychain
ServiceLocation
ServiceNetwork
ServiceSort
WrapUp
ServiceDiskStatus
NSManagedObject
UITableViewCell
Figure 7.2.: Class diagram of the models in the mobile application.
There are different types of service classes available. Some of them are historically
created and are not used actually any more like, for example,
ServiceLocation
. Important
service classes are described in the following:
•ServiceDatabase
: The ServiceDatabase class provides operations for the com-
munication with the database of the mobile application. These are, for example,
methods to get all files in a specified path or to add a file to a favorite list.
70
7.1. Model-View-Controller
•ServiceFilesystem
: The ServiceFilesystem class provides functions for dealing
with the file system. These are, for example, functions to create directories or
delete files like the database file (e.g., during the log-out process).
•ServiceKeychain
: The ServiceKeychain class provides functions to store and
retrieve configuration values like the username and the password.
•ServiceNetwork
: The ServiceNetwork class provides functions to retrieve meta-
data and download files from Microsoft SharePoint.
•ServiceDiskStatus
: The ServiceDiskStatus class provides functions for the info
screen. Thereby, information about the free disk space and used space are
presented.
7.1.1.1. Notification
There are generally two different types of notifications: Pull or push notifications. The
difference between these to types will be described based on the scenario of the mobile
application. On the one side, if the mobile application uses pull notifications, the client
has to ask the server if there are new files available. On the other side the server informs
the client about new files (i.e., push notification). After discussions with contact persons,
the mobile application uses pull notifications to check for updates. The procedure to
check for new files is presented in the following:
1. Initialize a variable newFilesCount for new or changed files with 0.
2.
Send a RESTful HTTP request to receive all available files for the sales represen-
tative from the document library.
3. Loop through all items (e.g., files and folders)
•
if the item is a file then send another RESTful HTTP request to receive
metadata about the file
–
If the file type of the file is supported by the mobile application (the
supported file types are separately stored within the mobile application)
then check the file if the metadata has changed. If the metadata has
71
7. Implementation
changed or the file does not already exists in the local database increment
the variable newFilesCount.
The user interface represents the calculated variable
newFilesCount
to inform sales
representatives about possible updates (and if so, how many files needs to be updated).
7.1.1.2. Update Metadata
The method to update new metadata is presented in the following. The method is used if
a sales representative logs in or wants to synchronize for updates.
1.
Initialize an array with string dictionary types for the files (
files
) and an array
string dictionary types for the folders (folders).
2.
Send a RESTful HTTP request to receive all available files for the sales represen-
tative from the document library.
3.
Initialize an integer array for the index of files (
indexFiles
) and an integer array
for the index of folders (indexFolders).
4. Loop through all items (e.g., files and folders)
•
if the current item is a file then store the current index to the array
indexFiles
.
Otherwise store the index to indexFolders.
5. if the length of indexFolders and indexFiles is 0 then return.
6. Otherwise continue and loop through the array indexFiles.
•Send another RESTful HTTP request to receive metadata for the file
•Initialize a string dictionary type for the file (file) and store all metadata.
•Append file to files.
7. Loop through the array indexFolders
•Send another RESTful HTTP request to receive metadata for the folder
•
Initialize a string dictionary type for the folder (
folder
) and store all metadata.
72
7.1. Model-View-Controller
•Append folder to folders.
8. Filter all files based upon the supported filetypes of the mobile application.
9. Loop through all files in the local database (localFile is the current item).
•
Initialize a variable
removeLocalFile = true
that provides information if
the file in the database should be removed.
•
Initialize a variable
removeFile = true
that provides information if the file
by itself should be removed.
•Loop through all files (file is the current item).
–
if the global unique ID of
localFile
equals the global unique ID of
file
∗
Compare
localFile
and
file
if the
length
or
updated_at
at-
tribute changed. If the attributes are not changed then set
removeLocalFile = false.
∗
Update the metadata of the local file with the received metadata
file.
∗Set the variable removeFile = false
•
if
removeLocalFile
is true then delete the local File and update the at-
tribute is_local of the local file in the database.
•
if
removeFile
is true then delete the file in the database as the file does not
exist anymore in the repository of Microsoft SharePoint.
10.
filter
files
for new files (files that are not in the database yet and store these
filtered files in the database)
11.
Loop through all folders in the local database (
localFolder
is the current item).
•
Initialize a variable
removeLocalFolder = true
that provides information
if the folder in the database should be removed.
•Loop through all folders (folder is the current item).
73
7. Implementation
–
if the global unique ID of
localFile
equals the global unique ID of
file
∗Update the metadata of the local folder with the received metadata
∗Set the variable removeLocalFolder = false
•
if
removeLocalFolder
is true then delete the folder in the database as the
folder does not exist anymore in the repository of Microsoft SharePoint.
12.
filter
folders
for new folders (folders that are not in the database yet and store
these filtered folders in the database)
7.1.2. View
An overview about the view classes of the mobile application is presented in figure 7.3.
Cell
classes contains UITableViewCell elements and the LaunchScreen presents the
view during the start of the application. All other user interface elements are included in
the Main.storyboard file.
View
CellBrowse CellFavorite CellFavoriteList CellFile CellFilter CellRecent CellWrapUp LaunchScreen Main.storyboard
Figure 7.3.: The view classes of the mobile application.
The user interface of the mobile application is realized using a split view (see figure 7.4).
The left side of the split view contains the navigation including a tabbar with buttons
(browse, favorites, wrap-up, recents and info). The right side of the split view contains
detailed information for the selected navigation item.
74
7.1. Model-View-Controller
Figure 7.4.: Basic user interface of the mobile application.
7.1.3. Controller
The relationship of the controller classes is presented in figure 7.5. It represents
the technical implementation of the general workflow described in section 6.3.1. All
Controller views except the
SplitController
and the
TabController
inherit from
UIViewController
. The
SplitController
inherits from
UISplitViewController
and the TabController inherits from UITabBarController.
Tabbar
BrowseController
DetailController
EditItemControllerFavoriteController
FilterController
FullscreenController
InfoController
FavoriteListControll
er
LoginController
RecentController
SplitController
SyncController
TabController
WebController
WrapUpController
Figure 7.5.: General workflow of the controller classes.
75
7. Implementation
The interaction with files and folders is implemented in the
DetailController
. If the
user selects a file that is not already downloaded on the mobile device then the download
will be automatically started in the background. The user gets information about the
download process and the file size during the download (see figure 7.6).
Figure 7.6.:
Download on the mobile
application.
Figure 7.7.:
View playback on the mo-
bile application.
If the user selects a file that is already present on the mobile device it will be opened via
a WebView. Video files (MP4 filetypes) are embedded in a HTML file (see listing 7.1)
which will then be loaded.
Listing 7.1: Method that is called if the WebView appears
1override func viewWillAppear(animated: Bool) {
2if (webViewPath.pathExtension == "mp4") {
3var webData: NSString =
4"<html><head></head><body>" +
5"<video id=\"waterfallVideo\" controls=\"true\"
6allowfullscreen=\"false\" src=\""+webViewPath.
7stringByAddingPercentEscapesUsingEncoding
8(NSUTF8StringEncoding)!+"\" width=\"690\"
9height=\"690\"/>" +
10 "</body></html>"
11 self.btnFullscreen.hidden = true
12 self.btnFullscreen.userInteractionEnabled = false
76
7.2. Frameworks and Libraries
13 wvContent.loadHTMLString(webData as String,
14 baseURL: NSURL(fileURLWithPath: NSBundle.
15 mainBundle().bundlePath))
16 } else {
17 var url = NSURL(fileURLWithPath: webViewPath)
18 var request = NSURLRequest(URL:url!)
19 wvContent.loadRequest(request)
20 }
21 }
If the user selects a ZIP file (HTML5 application), it will be extracted into a tempo-
rary directory on the mobile device. After extracting, the
index.html
file in the root
folder of the ZIP file will be loaded inside the WebView of
DetailController
. The
implementation of this process is demonstrated in listing 7.2.
Listing 7.2: Method that extracts and start a HTML5 application.
1func startHTMLApp(filePath: String) {
2let tmpDir = NSTemporaryDirectory() as String
3let unzipStatus = SSZipArchive.unzipFileAtPath(filePath,
4toDestination: tmpDir)
5webViewPath = tmpDir.stringByAppendingString
6(filePath.lastPathComponent.stringByDeletingPath
7Extension).stringByAppendingString("/index.html")
8performSegueWithIdentifier("DetailToWeb", sender: self)
9}
7.2. Frameworks and Libraries
The mobile application uses different frameworks and libraries. The most important will
be introduced shorty in the following. The administration of frameworks and libraries is
mainly managed with
CocoaPods
, a dependency manager for Swift and Objective-C
77
7. Implementation
Cocoa projects. The handling of the dependency manager is very easy. An existing
XCode project has to be initialized with the command
pod init
. This creates a
Podfile
containing default values. The
Podfile
contains the used frameworks of
the current iOS application with its version. An example of a
Podfile
is demonstrated
based on the mobile application in listing 7.3 (
MCD
is thereby the name of the mobile
application).
Listing 7.3: Podfile of the mobile application.
1source ’https://github.com/CocoaPods/Specs.git’
2platform :ios, ’8.2’
3use_frameworks!
4
5target ’MCD’ do
6pod ’Alamofire’, ’1.2’
7pod ’SwiftyJSON’, ’2.2.0’
8end
Frameworks are commonly described like pod <name of the framework>,
<version>
, whereby
version
may be represented as complex structure. For example
like
’> 0.1’
(any version higher than
0.1
) or
’~> 0.1’
(Version 0.1 and the versions
up to 1.0, not including 1.0 and higher) [Coc15].
The
Core Data
is a framework for object life-cycles, object graphs and persistence
[
App15a
]. It is used by
ServiceDatabase
to handle the SQLite database access
within the mobile application. The main features of the framework are described in the
following according to [App15b]:
•Change tracking and undo support.
•Maintain Relationship.
•The framework loads only data that is currently needed.
•Automatic validation of property values.
•Schema migration.
78
7.3. Summary
•Optional integration with the applications controller layer.
•Grouping, filtering, and organizing data in memory and in the user interface.
•
Sophisticated query compilation using NSPredicate. Thereby, complete queries
can be executed. An overview about the syntax of regular expressions can be
found on [ICU15].
The
SwiftyJSON
framework handles JSON responses using swift. The mobile applica-
tion uses this framework because of its easy handling of JSON data.
HTTP-REST requests and responses are handled with
Alamofire
, a HTTP network
library written in Swift. It provides neat features like chainable request/response methods,
authentication with NSURLCredential (is needed for the authentication with Microsoft
SharePoint) and progress closure.
Another called framework is called
SSZipArchive
and is a simple library for working
with ZIP files. The framework is manually added as no compatible
CocoaPods
version
is provided. It is used to unzip the already mentioned HTML5 applications.
7.3. Summary
In this section different aspects of the technical implementation are presented. At the
beginning the MVC components of the mobile application are described. Code examples
highlight interesting implementation aspects of these components. Afterwards, relevant
frameworks and libraries are discussed.
79
8
Conclusion and Outlook
This section summarizes concepts and approaches for developing the overall IT system.
Furthermore, an outlook for additional features and other ways to extend the application
is given.
8.1. Conclusion
The purpose of this thesis is to improve the distribution of documents within a sales
organization. The first part of this thesis introduces fundamentals, which are needed for
the further course of this thesis. Thereby, ECM systems are introduced and described.
There are many different methods to evaluate decision problems. This thesis can not
deal with the whole spectrum of decision making theory. Thereby, MODM methods are
introduced to evaluate decision making problems with a finite number of alternatives in
a discrete domain [
KO14
]. Further, functional and non-functional requirements on the
overall IT system are defined describing actions on the server and client application.
Based on the requirements, an evaluation to find the best matching ECM system as
server application is performed with AHP. Thereby, different systems in the ECM market
based on studies in addition with fundamental investigation were selected as potentially
alternatives. The evaluation figured out that Microsoft SharePoint is the best matching
ECM system as server application. Afterwards, the conception and architecture of the
overall IT system is presented. The client application is implemented as native iOS
application based on the requirements. In addition, some implementation highlights of
the mobile application is presented. This section provides an overview about the thesis
and requirements comparison followed by an outlook.
81
8. Conclusion and Outlook
8.2. Requirements comparison
This section discusses requirements from section 4 in regards to their successful realiza-
tion.
Requirement
Achieved
Description
CFR1 3Sales representatives are able to sign-in and sign-out.
CFR2 3Documents can be accessed and viewed.
CFR3 3A sort functionality is realized.
CFR4 3A search functionality is also realized.
CFR5 3A filter functionality is also realized.
CFR6 3
The synchronization is realized. Thereby, sales represen-
tatives are able to download all available files, selected
files or only the structure of the repository.
CFR7 3A history functionality is also implemented.
CFR8 3A basic wrap-up functionality is realized.
CFR9 3A favorite functionality is realized.
CFR10 3
PDF files, HTML5 applications and MP4 files are sup-
ported by the mobile application.
CNR1 3The mobile application is compatible to iOS.
CNR2 3The layout matches the Epsilon styleguide.
CNR3 3
Multilingualism is supported by Base Internationalization.
CNR4 3
Selected files are stored on the mobile application.
Thereby, no internet connection is requirement to open
these files.
CNR5 3
The mobile application provides fast access because it
is implemented as native application without any middle-
ware.
CNR6 3The mobile application was developed in-house.
82
8.3. Outlook
Requirement
Achieved
Description
SFR1 3
Document administration is provided by Microsoft Share-
Point.
SFR2 3
User administration is provided by Microsoft SharePoint.
SFR3 3
Document assignment is provided by Microsoft Share-
Point.
SFR4 3Web accessibility is provided by Microsoft SharePoint.
SFR5 3
An API to connect any application with Microsoft Share-
Point is provided.
SFR6 3Microsoft Office is supported by Microsoft SharePoint.
SFR7 3Microsoft SharePoint supports workflows.
SNR1 3The administration is user-friendly via web browser.
SNR2 3Microsoft SharePoint is an on-premises software.
SNR3 3Support for Microsoft SharePoint is available.
8.3. Outlook
The realized IT system offers a lot of possibilities. Furthermore, it may be desired to offer
a customer visit preparation process. Therefore, the handling of the mobile application
would be more comfortable. An example for such a process is described in the following:
1.
In the first step, the sales representative has to select the industrial sector of the
customer. For example pharmaceutical or biotech.
2.
Then the interested categories of the customer have to be selected. For example
like infusion-therapy or drugs.
3. Finally, some tags can be added. For example antibiotic.
4.
Based on this input, matched content could be selected in Microsoft SharePoint
and automatically be downloaded to the mobile device.
Additionally, the IT system could be connected to the customer relationship management
system to provide more information about customers. Thereby the customer satisfaction
could be increased. Another idea to improve the overall IT system is to connect the
mobile application with calendars of the sales representatives. Thereby, customer visits
could be prepared in time. Necessary content could be automatically downloaded. The
customer visit could also be analyzed during a wrap-up process or by statistics like
83
8. Conclusion and Outlook
opened files during the customer visit. As it can be seen, the overall IT system is a great
potential and versatile use for sales organizations.
84
A
Appending
A.1. Enterprise Content Management systems
•Bitfarm-Archiv
: Bitfarm Archiv is an open source Document Management System
platform in its current version 3.5.4 and was released on December 2014. It
provides features like revision safe archiving, integrated open source OCR full text
indexing (section 2.2.2.1), automatic keywording and workflow support [Bit15].
•ELO ECM Suite 9
: Elektronischer Leitz Ordner (ELO) is a software platform in
its current version 9. It is available in three different versions, ELOoffice (recom-
mended for small organizations), ELOprofessional (recommended for medium-
sized organizations) and ELOenterprise (recommended for large organizations).
Detailed information about the variants can be found at [
ELO15
]. The ELOen-
terprise variant includes an integrated workflow, OCR full text indexing (section
2.2.2.1), automatic keywording and an enterprise search technology.
•LogicalDOC
: LogicalDOC is a Document Management System. Its current version
7.3 exists in three different versions, LogicalDOC Enterprise & Cloud, LogicalDOC
Business and LogicalDOC Community. An overview about the differences between
these version can be found at [
Log15
]. The core features of LogicalDOC can
be divided into document management, document import and synchronization,
collaboration, administrative, protocols and integrations.
•Xerox DocuShare
: According to a contact person of Xerox, DocuShare was the
first web-based Document Management System offered to the market in 1997.
The latest version 6.6.1 R2 was released in November 2014. Its main features
85
A. Appending
can be described as core content management, business process automation,
intelligent Capture, collaboration and governance, risk and compliance [
Xer15
].
The management tool supports multiple languages. These can be downloaded
and edited with a localization kit.
•DocuWare
: DocuWare is a product suite of document management software and
is generally available as DocuWare Cloud or as DocuWare on-premise. There
are three licensing variants available, DocuWare Business Server (recommended
for small organizations with one server), DocuWare Professional Server (rec-
ommended for medium-sized organizations with unlimited file cabinet size) and
DocuWare Enterprise Server (recommended for large organization with unlim-
ited support of organizations) [
Doc15a
]. An overview about the functionality of
DocuWare can be found at [Doc15b].
•Hyland Software OnBase
: OnBase is an ECM software product suite by Hyland
and is currently in version 15. The developer organizes the capabilities of OnBase
15 in capture, manage, access, integrate, measure and store component. Detailed
information can be found at [
Hyl15
]. According to [
GSC+14
], Hyland has increased
its presence in larger enterprises.
•EMC Documentum
: EMC Documentum is an ECM platform by EMC Corportation
and is available as on-premise system and as online system in the cloud. It
provides all elements of an ECM system by a set of full-functioned and scalable
products [
GSC+14
]. The advanced, configurable client for Documentum ECM is
named as Documentum D2. More information about EMC Documentum D2 can
be found at [EMC15].
•Lexmark Enterprise Software
: Enterprise Software, formerly Perceptive Soft-
ware, is a stand-alone software by Lexmark International. The fundamental func-
tionality includes capture, workflow capabilities, search and analytics technologies,
content management and a cloud-based video content management platform
[GSC+14][Lex15].
86
A.2. Analytic Hierarchy Process: Power iteration
•HP Autonomy ECM
: Autonomy ECM is an ECM Suite by HP and includes tools
for capture, process automation, records management and governance, documen-
tation and WCM [GSC+14]. More information can be found at [HP15].
•Newgen Omni Suite
: Newgen Omni Suite is a software suite by Newgen Soft-
ware, an India company. It includes several software like OmniDocs, OmniScan,
OmniFlow, records management system and ZapIn. The functional components
of Newgen Omni Suite can be divided into document management, capture and
imaging, workflow, records management, WCM, social and extended components
(for example like digital asset management, advanced searches or email archival).
More information can be found at [New15].
•Oracle WebCenter Content
: Oracle WebCenter Content is an enterprise content
management solution and includes document management, capture and imaging,
OCR, BPM, records and retention management, digital asset management and
web content publishing. The enterprise content management solution can be
completed by Oracles Portal offerings (for example Oracle ERP tools [
GSC+14
]).
More information can be found at [Ora15].
A.2. Analytic Hierarchy Process: Power iteration
The calculation of the eigenvalue uses a iterative method based on
squaring
,
normal-
ization and calculation of the weight.
Evaluation Matrix
A1. . . An
A1a11 = 1 . . . a1n
.
.
..
.
.
Anan1=1
a1n. . . ann = 1
cjc1=Pn
i=1 ai1. . . cn
Normalized Matrix
A1. . . An
a11
c1. . . a1n
cn
.
.
..
.
.
an1
c1. . . ann
cn
1. . . 1
row-sum
ri
r1
.
.
.
rn
n
Weight
w
w1=r1
n
.
.
.
wn=rn
n
1
87
A. Appending
1.
Firstly the evaluation matrix has to be normalized. Therefore, the sum of the
columns (
cj=Pn
i=1 aij
where
n
is the number of columns) have to be calculated.
The elements of the matrix have to be divided through the calculated sum of the
columns (
aij =aij
cj
with
i= 1, ..., n
and
j= 1, ..., m
) to get the normalized matrix.
Then the rows of the normalized matrix will be added summarized (
ri=Pn
j=1 aij
).
The weights of the alternatives (principal right eigenvector) are calculated by
dividing the summarized rows through the number of elements in the row (
wi=ri
n)
).
2.
In the second step the evaluation matrix of step 1 has to be squared. The square
evaluation matrix will be used to calculate the weight of the alternatives according
to step 1. The process of
squaring, normalization, calculation of the weight
will be
repeated as long as the values of the calculated weight differentiates strong.
A.3. Analytic Hierarchy Process: Criteria
Costs
In-
stallation
In-
House
Support
Scal-
ability
Docu-
mentation
Costs 1 3 1/3 1/3 1/3 1/3
Installation 1 1/3 1/3 1/3 1/3
In-House 1 1/3 5 5
Support 1 5 3
Scalability 1 1
Documentation
1
Table A.1.: Weight of the system criteria
User interface
Access to infor-
mation
User and rights
management
User interface 1 1/7 1/5
Access to information 1 3
User and rights man-
agement
1
Table A.2.: Weight of the usability criteria
88
A.3. Analytic Hierarchy Process: Criteria
Connection Workflow support Multilingualism
Connection 1 5 3
Workflow support 1 1/5
Multilingualism 1
Table A.3.: Weight of the extensions criteria
Indexing
Offline functional-
ity
Document func-
tionality
Indexing 1 3 1/5
Offline functionality 1 1/5
Document functionality 1
Table A.4.: Weight of the administration of documents criteria
System stability
Data protec-
tion
Logging
Encryption
System stability 1 3 7 3
Data protection 1 5 3
Logging 1 1/5
Encryption 1
Table A.5.: Weight of the security criteria
89
A. Appending
A.4. Analytic Hierarchy Process: Attributes
Installation MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 1 1 1
IBM Connections 1 1 1
Alfresco 1 1
Liferay 1
Scalability MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 1 1 1
IBM Connections 1 1 1
Alfresco 1 1
Liferay 1
Indexing MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 1 1 1
IBM Connections 1 1 1
Alfresco 1 1
Liferay 1
Offline functionality MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 1 1 1
IBM Connections 1 1 1
Alfresco 1 1
Liferay 1
Document functional-
ity
MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 1 1 1
IBM Connections 1 1 1
Alfresco 1 1
Liferay 1
90
A.4. Analytic Hierarchy Process: Attributes
System stability MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 1 1 1
IBM Connections 1 1 1
Alfresco 1 1
Liferay 1
Data protection MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 1 1 1
IBM Connections 1 1 1
Alfresco 1 1
Liferay 1
Logging MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 1 1 1
IBM Connections 1 1 1
Alfresco 1 1
Liferay 1
Documentation MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 1 1 3
IBM Connections 1 1 3
Alfresco 1 3
Liferay 1
Workflow support MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 3 3 3
IBM Connections 1 3 3
Alfresco 1 1
Liferay 1
User and rights man-
agement
MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 1 1 3
IBM Connections 1 1 3
Alfresco 1 3
Liferay 1
91
A. Appending
costs MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 1 9 9
IBM Connections 1 9 9
Alfresco 1 1/3
Liferay 1
Access to informa-
tion
MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 1 1 3
IBM Connections 1 1 3
Alfresco 1 3
Liferay 1
User interface MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 1 1 3
IBM Connections 1 1 3
Alfresco 1 3
Liferay 1
Encryption MS SharePoint IBM Connections Alfresco Liferay
MS SharePoint 1 1 1 1
IBM Connections 1 1 1
Alfresco 1 1
Liferay 1
92
List of Figures
2.1. Conceptual hierarchy from character to content1............... 4
2.2. Enterprise Content Life Cycle [Egg07]. . . . . . . . . . . . . . . . . . . . . 4
2.3. Enterprise Content Management components [Eur15a]. . . . . . . . . . . 6
2.4.
Relationship between Workflow Management and Business Process Man-
agement[AHW03]................................ 12
2.5. Overview of the whole process of decision-making2. ............ 14
2.6. Overview about decision-making3. ...................... 15
2.7. Hierarchy of AHP [Koo15, Gir15]. . . . . . . . . . . . . . . . . . . . . . . . 24
2.8. Process of AHP according to [CR10]. . . . . . . . . . . . . . . . . . . . . 25
3.1. HTML5 model cola example in DSA. . . . . . . . . . . . . . . . . . . . . . 32
3.2. File search in Showpad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3. User interface in Showpad. . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.1. Document release process. . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2. Use case diagram of the client application. . . . . . . . . . . . . . . . . . 37
4.3. Use case diagram of the server application. . . . . . . . . . . . . . . . . . 37
5.1. The weighted hierarchical structure of the decision problem. . . . . . . . . 48
5.2. SharePoint Hierarchy [Mic15e, Goo13]. . . . . . . . . . . . . . . . . . . . 50
5.3. IBM FileNet P8 core components [IBM15]. . . . . . . . . . . . . . . . . . . 53
5.4. Architectural components of Alfresco One [Alf15b]. . . . . . . . . . . . . . 55
5.5. Result of the AHP process. . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.1. High-level data flow of the overall IT system. . . . . . . . . . . . . . . . . . 60
6.2. General workflow of the mobile application. . . . . . . . . . . . . . . . . . 63
6.3. ER-Diagram of the mobile application. . . . . . . . . . . . . . . . . . . . . 65
7.1. Collaboration of the MVC components [Sch12]. . . . . . . . . . . . . . . . 69
7.2. Class diagram of the models in the mobile application. . . . . . . . . . . . 70
7.3. The view classes of the mobile application. . . . . . . . . . . . . . . . . . 74
93
List of Figures
7.4. Basic user interface of the mobile application. . . . . . . . . . . . . . . . . 75
7.5. General workflow of the controller classes. . . . . . . . . . . . . . . . . . . 75
7.6. Download on the mobile application. . . . . . . . . . . . . . . . . . . . . . 76
7.7. View playback on the mobile application. . . . . . . . . . . . . . . . . . . . 76
94
List of Tables
2.1. Fundamental scale according to [Saa90]. . . . . . . . . . . . . . . . . . . 27
2.2. Random consistency indices for different number of criteria n. . . . . . . . 29
5.1.Weightofthecriteria.............................. 47
5.2.
Feature-based overview of ECM systems. The ˜ means that there was
no information present via internet research nor according to a contact
person. The ∗means that there are limitations. . . . . . . . . . . . . . . . 49
A.1. Weight of the system criteria . . . . . . . . . . . . . . . . . . . . . . . . . 88
A.2. Weight of the usability criteria . . . . . . . . . . . . . . . . . . . . . . . . . 88
A.3. Weight of the extensions criteria . . . . . . . . . . . . . . . . . . . . . . . 89
A.4. Weight of the administration of documents criteria . . . . . . . . . . . . . 89
A.5. Weight of the security criteria . . . . . . . . . . . . . . . . . . . . . . . . . 89
95
Bibliography
[AG15]
AG, Comarch:
Comarch ECM - Workflow
.
https://www.comarch.
de/files/file_1581/Comarch-ECM-FactSheet-Workflow.pdf
.
Version: Aug 2015
[Ago15a]
AGORUM:
Feature-List of the DMS/ECM agorum
core
.
http://www.agorum.com/homepage/english/
features-of-agorum-core-dms-ecm.html. Version: Aug 2015
[Ago15b]
AGORUM:
Produktuebersicht
.
http://mein-dms.agorum.com/
dokumentenmanagement-produktuebersicht-agorum-core-mein-dms
.
Version: Aug 2015
[AH08]
ADAM, F. ; HUMPHREYS, P.:
Encyclopedia of Decision Making and Decision
Support Technologies
. Idea Group Reference, 2008
https://books.
google.de/books?id=CWq-MgEACAAJ. – ISBN 9781599048437
[Ahl13]
AHLERT, M.:
Einsatz des Analytic Hierarchy Process im
Relationship Marketing: Eine Analyse strategischer Optionen bei
Dienstleistungsunternehmen
. Gabler Verlag, 2013 (Basler Schriften zum
Marketing
).
https://books.google.de/books?id=IjghBgAAQBAJ
.
– ISBN 9783322964809
[AHW03]
AALST, WilM.P. van d. ; HOFSTEDE, ArthurH.M. ter ; WESKE, Mathias:
Business Process Management: A Survey. Version:2003.
http://
dx.doi.org/10.1007/3-540-44895-0_1
. In: AALST, WilM.P. van d.
(Hrsg.) ; WESKE, Mathias (Hrsg.):
Business Process Management
Bd.
2678. Springer Berlin Heidelberg, 2003. – ISBN 978–3–540–40318–0,
1-12
[Alf15a]
ALFRESCO:
The Alfresco API
.
https://developer.alfresco.com/
resources/alfresco/pdf/AlfrescoAPIReference-v1.0.pdf
.
Version: Sep 2015
97
Bibliography
[Alf15b]
ALFRESCO:
Alfresco architecture
.
http://docs.alfresco.com/4.2/
concepts/alfresco-arch-about.html. Version:Sep 2015
[Alf15c]
ALFRESCO:
Alfresco Documentation
.
http://docs.alfresco.com/
.
Version: Sep 2015
[Alf15d]
ALFRESCO:
Support Package Overview
.
http://docs.alfresco.
com/support/concepts/su-support-packages-table-PDF.
html. Version:Sep 2015
[Alf15e]
ALFRESCO:
User roles and permissions
.
http://docs.alfresco.
com/4.1/concepts/cuh-user-roles-permissions.html
.
Version: Sep 2015
[AMSA11]
AFSHAR, Amin ; MARIÑO, MiguelA. ; SAADATPOUR, Motahareh ;
AFSHAR, Abbas:
Fuzzy TOPSIS Multi-Criteria Decision Analysis
Applied to Karun Reservoirs System
.
http://dx.doi.org/10.1007/
s11269-010-9713-x. Version:2011
[App15a]
APPLE:
Core Data Programming Guide
.
https://developer.
apple.com/library/ios/documentation/Cocoa/Conceptual/
CoreData/Articles/cdTechnologyOverview.html#//apple_
ref/doc/uid/TP40009296-SW1. Version:Sep 2015
[App15b]
APPLE:
Technology Overview
.
https://developer.apple.com/
library/ios/documentation/Cocoa/Conceptual/CoreData/
Articles/cdTechnologyOverview.html. Version:Sep 2015
[BCFG06]
BRAGLIA, Marcello ; CARMIGNANI, Gionata ; FROSOLINI, Marco ; GRASSI,
Andrea: AHP-based evaluation of CMMS software. In:
Journal of
Manufacturing Technology Management
17 (2006), Nr. 5, 585-602.
http:
//dx.doi.org/10.1108/17410380610668531
[Bit15]
BITFARM:
Datenblatt
.
https://www.bitfarm-archiv.de/
downloads/infos/Datenblatt.pdf. Version:Aug 2015
98
Bibliography
[Bla15]
BLAIR, T. B.:
An Enterprise Content Management Primer
.
http://www.
kahnconsultinginc.com/images/pdfs/IMJ_ECM_Article.pdf
.
Version: August 2015
[BM94]
BRINKMEYER, Dieter ; MÜLLER, Rolf A.:
Entscheidungsunterstützung
mit dem AHP. In:
Zeitschrift für Agrarinformatik
(1994).
http:
//www.agric-econ.uni-kiel.de/Abteilungen/II/PDFs/AHP_
Brinkmeyer_Mueller.pdf
[BR15]
BISHOP RUSTY, J.:
Showpad vs. Digital Sales Aid: An In-Depth iPad Sales
Apps Review.http://goo.gl/qf4zQU. Version:Sep 2015
[Coc15]
COCOAPODS:
CocoaPods Guides
.
https://guides.cocoapods.
org/. Version:Sep 2015
[CR10]
CHAROUZ, Jaroslav ; RAMIK, Jaroslav: A MULTICRITERIA
DECISION
MAKING AT PORTFOLIO MANAGEMENT. In:
EKONOMIKA A
MANAGEMENT
(2010).
http://www.ekonomie-management.cz/
download/1331826754_2aa4/04_charouz.pdf
[Cur13]
CURRY, B.:
Microsoft SharePoint 2013 Pocket Guide
. Pearson
Education
,
2013
https://books.google.de/books?id=OYtuAAAAQBAJ
. –
ISBN 9780133496918
[Doc15a]
DOCUWARE:
DocuWare Overview
.
http://de.slideshare.net/
AtifSheikh2/docuware-overview. Version:Sep 2015
[Doc15b]
DOCUWARE:
Working with DocuWare - Functions of DocuWare Basic
Version
.
https://www.docuware.com/sites/default/files/
DocuWare_Functions_Overview_67.pdf. Version:Aug 2015
[Egg07]
EGGERT, S.:
Enterprise Content Management
. Gito, 2007
(Reihe Wirtschaftsinformatik).
https://books.google.de/books?
id=yhp919bNWscC. – ISBN 9783936771886
[ELO15]
ELO:
Comparison of the ELO product range
.
https://www.elo.com/
wcm/en/products/product-comparison. Version:Aug 2015
99
Bibliography
[EMC15]
EMC:
EMC Documentum D2
.
http://www.emc.com/collateral/
software/data-sheet/h9525-documentum-d2-ds.pdf
.
Version: Sep 2015
[Eur15a] EUROPE, AIIM: Enterprise Content Management Roadmap. 2015
[Eur15b]
EUROPE, AIIM:
What is Enterprise Content
Management (ECM)? http://www.aiim.org/
What-is-ECM-Enterprise-Content-Management
. Version:Aug
2015
[F¨
15]
FÜLÖP, János:
Decision Making Methods
.
http://www.cs.ubbcluj.
ro/~per/Dss/Dss_7.pdf. Version:Aug 2015
[FRL15]
FAVRET, Fabián ; RODRÍGUEZ, Federico M. ; LABAT, Mari-
anela D.:
Comparative Analysis of AI Techniques to Correct
the Inconsistency in the Analytic Hierarchy Process Matrix
.
http://sedici.unlp.edu.ar/bitstream/handle/10915/
42404/Documento_completo.pdf?sequence=1
. Version:August
2015
[Gir15]
GIRMSCHEID, G.:
Projektabwicklung in der
Bauwirtschaft-prozessorientiert: Wege zur Win-Win-Situation für
Auftraggeber und Auftragnehmer
. Springer Berlin Heidelberg,
2015 (
VDI-Buch
).
https://books.google.de/books?id=
djrjoQEACAAJ. – ISBN 9783662442494
[Goo13]
GOODYEAR, S.:
Practical SharePoint 2013 Enterprise Content
Management
. Apress, 2013 (SpringerLink : Bücher).
https://books.
google.de/books?id=2psQAwAAQBAJ. – ISBN 9781430261704
[GSC+14]
GILBERT, Mark R. ; SHEGDA, Karen M. ; CHIN, Kenneth ; TAY, Gavin
; KOEHLER-KRUENER, Hanns:
Magic Quadrant for Enterprise Content
Management. September 2014
100
Bibliography
[GSC+15]
GILBERT, Mark R. ; SHEGDA, Karen M. ; CHIN, Kenneth ;
TAY, Gavin ; KOEHLER-KRUENER, Hanns:
Magic Quadrant for
Enterprise Content Management
.
https://www.gartner.com/doc/
2854918/magic-quadrant-enterprise-content-management
.
Version: Sep 2015
[HM15]
HAAS, Rainer ; MEIXNER, Oliver:
An Illustrated Guide to the
ANALYTIC HIERARCHY PROCESS
.
https://mi.boku.ac.at/ahp/
ahptutorial.pdf. Version:Juli 2015
[HP15]
HP:
Efficiently manage legal department matters
.
http:
//www.ndm.net/archiving/pdf/20130528_RL_BR_HP_AUTN_
Managing_Legal_Departments_web.pdf. Version:Aug 2015
[HPMY12]
HWANG, C.L. ; PAIDY, S.R. ; MASUD, A.S.M. ; YOON, K.:
Multiple Objective
Decision Making — Methods and Applications: A State-of-the-Art Survey
.
Springer Berlin Heidelberg, 2012 (
Lecture
Notes in Economics and
Mathematical Systems).
https://books.google.de/books?id=
M0noCAAAQBAJ. – ISBN 9783642455117
[Hüb07]
HÜBNER, R.:
Strategic Supply Chain Management in Process Industries:
An Application to Specialty Chemicals Production Network Design
.
Springer Berlin Heidelberg, 2007 (Lecture Notes in Economics and
Mathematical Systems).
https://books.google.fr/books?id=
l8zN-cam8c8C. – ISBN 9783540721826
[HY81]
HWANG, C.L. ; YOON, K.:
Multiple attribute decision making: methods and
applications : a state-of-the-art survey
. Springer-Verlag, 1981 (
Lecture
notes in economics and mathematical systems).
https://books.
google.de/books?id=X-wYAQAAIAAJ
[Hyl15]
HYLAND:
OnBase
.
https://www.onbase.com/en/product/#.
VeV8MXvmdTY. Version:Sep 2015
[IBM15]
IBM:
IBM FileNet P8 Platform and Architecture
.
http://www.redbooks.
ibm.com/redbooks/pdfs/sg247667.pdf. Version:Sep 2015
101
Bibliography
[ICU15]
ICU:
Regular Expressions
.
http://userguide.icu-project.org/
strings/regexp. Version:Sep 2015
[IL15]
ISHIZAKA, Alessio ; LABIB, Ashraf:
Review of the main developments in the
Analytic Hierarchy Process
.
http://eprints.port.ac.uk/4722/1/
AHP_review_Preprint.pdf. Version:Aug 2015
[JHK+15]
JR, Rich S. ; HINKEY, Jim ; KOSTAS, Stephen ; RAO, Jesse ;
HOAG, Cody:
Using Liferay Portal
.
https://www.liferay.
com/documents/14/21661387/Using+Liferay+Portal+6.
1/a52ce3d9-92bd-4177-ad98-9821659b0c8c?version=1.1
.
Version: Sep 2015
[Jun94]
JUNIO, D.F.:
Development of an Analytical Hierarchy Process (AHP) Model
for Siting of Municipal Solid Waste Facilities
. 1994
https://books.
google.de/books?id=CmGiSgAACAAJ
[Kam15]
KAMPFFMEYER, Ulrich:
Enterprise Content Management
.
http:
//www.project-consult.de/Files/ECM_White%20Paper_kff_
2006.pdf. Version:Aug 2015
[KO14]
KUMAR, Praveen ; OSURI, Gade M.:
Evaluation of Multi Criteria Decision
Making Methods for Potential Use in Application Security
. Sweden, School
of Computing - Blekinge Institute of Technology, Master’s Thesis, Mai 2014
[Koo15]
KOOTHS, Stefan:
Entscheidungsunterstützung / Künstliche
Intelligenz Teil 3
.
http://www.kooths.de/teaching/bits-ki/
kooths-bits-ki-3.pdf. Version:Juli 2015
[Lex15]
LEXMARK:
Enterprise Software has evolved
.
http://www.lexmark.
com/en_us/products/software.html. Version:Sep 2015
[Lez06]
LEZZI, Jana:
Multi-criteria decision making in outpatient scheduling
. USA,
University of South Florida, Master’s Thesis, Oktober 2006
[Lif09]
LIFKA, S.:
Entscheidungsanalysen in der Immobilienwirtschaft
. Utz, VVF,
2009 (Wirtschaft & Raum).
https://books.google.de/books?id=
_StiUUTsC48C. – ISBN 9783831608805
102
Bibliography
[Lif15a]
LIFERAY:
Liferay Portal Performance
.
https://liferay.
mimacom.com/c/document_library/get_file?groupId=10180&
folderId=0&title=Liferay-Performance+Whitepaper.pdf
.
Version: Sep 2015
[Lif15b]
LIFERAY:
Portal Features
.
http://www.liferay.com/products/
liferay-portal/features/portal. Version:Sep 2015
[Lif15c]
LIFERAY:
Technical Specifications
.
https://www.liferay.com/en/
products/liferay-portal/tech-specs. Version:Sep 2015
[Log15]
LOGICALDOC:
Product Features
.
http://www.logicaldoc.com/
product/features.html. Version:Aug 2015
[Mat12]
MATEO, JoséRamónSanCristóbal: Weighted Sum Method and Weighted
Product Method. Version:2012.
http://dx.doi.org/10.1007/
978-1-4471-2346-0_4
. In:
Multi Criteria Analysis in the Renewable
Energy Industry
. Springer London, 2012 (Green Energy and Technology).
– ISBN 978–1–4471–2345–3, 19-22
[MF15]
M-FILES:
Manage every thing in your business
.
https://www.m-files.
com/en. Version:Sep 2015
[Mic15a]
MICROSOFT:
Determine SharePoint REST service endpoint URIs
.
https://msdn.microsoft.com/EN-US/library/office/
dn292556.aspx. Version:Aug 2015
[Mic15b]
MICROSOFT:
Get to know the SharePoint 2013 REST service
.
https://msdn.microsoft.com/en-us//library/office/
FP142380.aspx. Version:Aug 2015
[Mic15c]
MICROSOFT:
Introduction to multilingual features
.
https://goo.gl/
24ppxr. Version:Sep 2015
[Mic15d]
MICROSOFT:
Overview of profile synchronization in SharePoint
Server 2013
.
https://technet.microsoft.com/en-us/library/
gg188041.aspx. Version:Sep 2015
103
Bibliography
[Mic15e]
MICROSOFT:
Overview of sites and site collections in SharePoint 2013
.
https://technet.microsoft.com/en-us//library/Cc262410.
aspx. Version:Sep 2015
[Mic15f]
MICROSOFT:
SharePoint feature availability across on-premises
solutions
.
https://technet.microsoft.com/en-us//library/
cc262485.aspx#reqOtherCap. Version:Sep 2015
[Mic15g]
MICROSOFT:
SharePoint Updates
.
https://technet.microsoft.
com/library/dn789211%28v=office.14%29. Version:Sep 2015
[MK13]
MÜHLBACHER, AxelC. ; KACZYNSKI, Anika:
Der Analytic Hierarchy
Process (AHP): Eine Methode zur Entscheidungsunterstützung
im Gesundheitswesen
.
http://dx.doi.org/10.1007/
s40275-014-0011-8. Version:2013
[MOK07]
MOKHTARI, SOROUSH:
DEVELOPING A GROUP DECISION
SUPPORT SYSTEM (GDSS) FOR DECISION MAKING UNDER
UNCERTAINTY
. Orlando, Florida, University of Central Florida, Master’s
Thesis, 2007
[New15]
NEWGEN:
OmniDocs Enterprise Content Management
(ECM) Suite
.
http://www.newgensoft.com/products/
enterprise-content-management-omnidocs/
. Version:Aug
2015
[OL99]
OSSADNIK, Wolfgang ; LANGE, Oliver: AHP-based evaluation of AHP-
Software. In:
European journal of operational research
118 (1999), Nr. 3,
S. 578–588
[Ora15]
ORACLE:
Oracle Webcenter Content
.
http://www.oracle.com/
technetwork/middleware/webcenter/content/overview/
ds-oracle-wc-ecm-427843.pdf. Version:Sep 2015
104
Bibliography
[Oss13]
OSSADNIK, W.:
Mehrzielorientiertes strategisches Controlling:
Methodische Grundlagen und Fallstudien zum führungsunterstützenden
Einsatz des Analytischen Hierarchie-Prozesses
. Physica-Verlag HD,
2013 (
Betriebswirtschaftliche
Studien).
https://books.google.de/
books?id=asbyBQAAQBAJ. – ISBN 9783642590030
[Pro06]
PROVOOST, Lee:
A SOA-ENABLED ENTERPRISE CONTENT
MANAGEMENT SYSTEM
. Netherlands, Utrecht University, Master’s The-
sis, JUN 2006
[PZ15]
PETERS, Malte L. ; ZELEWSKI, Stephan:
TOPSIS als Technik zur
Effizienzanalyse
.
http://www.fwl.wi.tum.de/fileadmin/
Downloads/Master_Forst/TOPSIS_zur_Effizienzanalyse.
pdf. Version:Aug 2015
[RGF09]
RIEDL, R. ; GRÜNBERGER, H. ; FRÜHLING, V.:
Das Vereinshandbuch:
Recht - Steuern und Finanzen - Strategie - IT - Markting
. Linde,
2009 (Linde international).
https://books.google.de/books?id=
TxWCrDb6M2oC. – ISBN 9783709301463
[Rig09]
RIGGERT, Wolfgang:
ECM - Enterprise Content Management:
Konzepte und Techniken rund um Dokumente
. Vieweg+Teubner Ver-
lag, 2009 (Vieweg Studium).
https://books.google.de/books?id=
_krV3yC4WXcC. – ISBN 9783834895882
[Saa90]
SAATY, Thomas L.: How to make a decision: The analytic hierarchy
process. In:
European Journal of Operational Research
48 (1990), Nr. 1,
9 - 26.
http://www.sciencedirect.com/science/article/pii/
037722179090057I
[Sch12]
SCHAUDE, Jonas ; DADAM, Peter (Hrsg.) ; SCHOBEL, Johannes
(Hrsg.):
LitSys light: Entwurf und Implementierung eines webbasierten
Literaturverwaltungssystems
.
http://dbis.eprints.uni-ulm.de/
870/. Version:July 2012
105
Bibliography
[Son03]
SONG, I.Y.:
Conceptual Modeling – ER 2003: 22nd International
Conference on Conceptual Modeling, Chicago, IL, USA, October 13-
16, 2003, Proceedings
. Springer, 2003 (Lecture Notes in Computer
Science).
https://books.google.de/books?id=nUHJg0t_6ugC
. –
ISBN 9783540202998
[SSP+13]
SCHOBEL, Johannes ; SCHICKLER, Marc ; PRYSS, Rüdiger ; NIENHAUS,
Hans ; REICHERT, Manfred: Using Vital Sensors in Mobile Healthcare
Business Applications: Challenges, Examples, Lessons Learned. In:
9th
Int’l Conference on Web Information Systems and Technologies (WEBIST
2013), Special Session on Business Apps, 2013, 509–518
[Tav12]
TAVANA, M.:
Decision Making Theories and Practices from Analysis
to Strategy
. Business Science Reference, 2012 (Premier reference
source).
https://books.google.de/books?id=XGJitQAACAAJ
. –
ISBN 9781466615892
[TH11]
TZENG, G.H. ; HUANG, J.J.:
Multiple Attribute Decision Making:
Methods and Applications
. Taylor & Francis, 2011 (A Chapman &
Hall book).
https://books.google.de/books?id=_C7n1ar4f8IC
.
– ISBN 9781439861578
[Tsa08]
TSAGDIS, Angelis:
THE USE OF THE ANALYTICAL HIERARCHY
PROCESS AS A SOURCE SELECTION METHODOLOGY AND ITS
POTENTIAL APPLICATION WITHIN THE HELLENIC AIR FORCE
. MON-
ETEREY, CALIFORNIA, Naval Postgraduate School, Master’s Thesis, JUN
2008
[TSSR15]
TRIANTAPHYLLOU, E. ; SHU, B. ; SANCHES, S. N. ; RAY, T.:
Multi-Criteria
Decision Making: An Operations Research Approach
.
http://
bit.csc.lsu.edu/trianta/EditedBook_CHAPTERS/EEEE1.pdf
.
Version: Aug 2015
106
Bibliography
[WLCMJ15]
WEINTRAUB, Alan ; LECLAIR, Craig ; MCKINNON, Cheryl ; JEDINAK, Emily:
The Forrester Wave: Enterprise Content Management, Q3 2013
.
https:
//www.forrester.com/The+Forrester+Wave+Enterprise+
Content+Management+Q3+2013/fulltext/-/E-res88281
.
Version: Sep 2015
[Xer15]
XEROX:
Xerox DocuShare 6.6 delivers robust content management
capabilities at an extraordinary value
.
http://docushare.
xerox.com/global/pdfs/DS66_USletter_Data_Sheet.pdf
.
Version: Aug 2015
[ZG91]
ZIMMERMANN, H.J. ; GUTSCHE, L.:
Multi-Criteria Analyse:
. Springer, 1991
(Heidelberger Lehrtexte Wirtschaftswissenschaften).
https://books.
google.de/books?id=snZ-coXHpGYC. – ISBN 9783540544838
107
Name: Jonas Schaude Matriculation Number: 667564
Declaration
I hereby declare that I wrote the master thesis independently and used no other aids
that those cited.
Ulm, .................................................................................
Jonas Schaude