Pflichtenheft

Werbung
Diplomarbeit: evidence goes Azure
Pflichtenheft
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Version:
1.1
Dokumentname:
Pflichtenheft_MasterThesis.docx
Abstract:
Den .net basierenden Applikationsserver „evidence application server“ in der Microsoft
Cloud „Azure“ verfügbar machen.
Student:
Manuel Kaderli
Experte:
Rolf Wenger
Glaux Soft AG
Steigerhubelstrasse 3
weroSoft GmbH
Steingrübliweg 8a
3008 Bern
3072 Ostermundigen
+41 31 388 10 14
+41 31 544 22 22
Betreuer:
Beat Kiener
Glaux Soft AG
Steigerhubelstrasse 3
3008 Bern
+41 31 388 10 33
Glaux Soft AG
Steigerhubelstrasse 3
CH-3008 Bern
Tel.
+41 31 388 10 10
[email protected]
www.glauxsoft.com
0
Inhaltsverzeichnis
1
Allgemeines ........................................................................................................................................... 3
1.1
Modifikationen und Freigaben.........................................................................................3
1.2
Abkürzungen und Begriffe ............................................................................................3
1.2.1 Abkürzungen ...........................................................................................................3
1.2.2 Begriffe .................................................................................................................3
1.3
2
Referenzierte Dokumente ..............................................................................................3
Einleitung ............................................................................................................................................... 4
2.1
Ausgangslage ............................................................................................................4
2.2
Zweck des Dokuments ................................................................................................4
2.3
Management Summary ................................................................................................5
3
Ziele....................................................................................................................................................... 7
3.1
Ziel Priorisierung ........................................................................................................8
3.1.1 Basisdienste Applikationsserver Konzept Priorisierung .........................................................8
3.1.2 Applikationsserver Prototyp Priorisierung .........................................................................9
3.2
Anforderungen ......................................................................................................... 10
3.2.1
#1 Basisdienste Applikationsserver Konzept.................................................................. 10
3.2.2
3.2.3
#2 Repository Konzept .......................................................................................... 10
#3 Kommunikation Konzept ..................................................................................... 10
3.2.4
#4 Applikationsserver Prototyp .................................................................................. 11
3.2.5
#5 Anbindung an SQL Azure Service Prototyp ............................................................ 11
3.2.6
3.2.7
#6 Einbinden von Umsystemen Prototyp ..................................................................... 11
#7 Performance Analyse Prototyp.............................................................................. 11
3.2.8
#8 Toolset Migration Konzept .................................................................................. 12
3.2.9
#9 Deployment und Maintenance Konzept .................................................................. 12
3.2.10 #10 Einbinden von Umsystemen Konzept.................................................................. 12
3.2.11 #11 Anbindung an Azure Blob Storage Prototyp ......................................................... 14
3.2.12
#12 Abgrenzung Code Basis ................................................................................. 15
3.2.13
#13 Abgrenzung Betriebswirtschaftliche Sicht .............................................................. 15
3.2.14
#14 Abgrenzung Security ...................................................................................... 15
4
Anhang.................................................................................................................................................. 16
4.1 Tabellenverzeichnis.................................................................................................... 16
4.2 Abbildungsverzeichnis ................................................................................................ 16
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Dokumentname:
Pflichtenheft
2/16
1 Allgemeines
1.1
Modifikationen und Freigaben
Die Freigabe des Projekthandbuches erfolgt durch den Experten der Diplomarbeit.
1.2
Abkürzungen und Begriffe
1.2.1
Abkürzungen
Abkürzung
Definition der Abkürzung
SDP
Software Development Plan
SAD
Software Architecture Document
SRS
Software Requirements Specification
SWS
Software Schule Schweiz
CRUD
Create, Read, Update, Delete
ORM
Objekt Relationaler Mapper
COM
Component Objetct Model
ACID
atomic, consistent, isolation, durability
CTI
Computer Telefonie Integration
ERP
Enterprise Resource Planning
1.2.2
Begriffe
Bedeutung
Begriff
Cloud Computing Bezeichnet den Ansatz, IT-Infrastruktur(Rechenleistung/Speicher/Fertige Programme) dynamisch an
den Bedarf über Netzwerk zur Verfügung zu stellen.
Windows Azure
Windows Azure Plattform(kurz Azure)ist Microsofts Cloud-Computing-Plattform
Plattform
Evidence Appli-
Kernstück des evidence Framework, stellt ORM und andere Dienste für Applikationen zur Verfügung
kationsserver
Evidence Cloud-
Der in dieser Masterthesis zu erstellende Applikationsserver, welcher ein Subset an Funktionalität des
server
evidence Applikationsserver enthalten soll
Evidence Wincli- Der Standard .net Windows Forms basierende Client mit dem auf den evidence Applikationsserver
zugegriffen wird
ent
SQL Azure Ser- Ein Cloud basierter, relationaler SQL Service. Basierend auf dem Microsoft SQL Server
vice
Ein verwaltetes Verzeichnis zur Speicherung und Beschreibung von digitalen Objekte
Repository
1.3
Referenzierte Dokumente
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Dokumentname:
Pflichtenheft
3/16
2 Einleitung
2.1
Ausgangslage
Das evidence Application Framework der Glaux Soft AG basiert auf dem Microsoft .NET Framework
und bildet die Basis für verschiedene Geschäftsanwendungen.
Azure ist Microsoft’s Could Computing Platform. Microsoft bietet damit „Plattform as a service“ an.
Der Vorteil von Cloud Computing gegenüber „On-premises“ ist einerseits Finanziell, da man keine Investitionskosten hat, und andererseits die Skalierbarkeit, da man bei Bedarf einfach zusätzliche Rechenleistung und Speicher dazukaufen kann.
2.2
Zweck des Dokuments
Das Pflichtenheft beschreibt die Anforderungen aus Sicht Auftragnehmer. Normalerweise wird das
Pflichtenheft vom Kunden geliefert, und ist daher nicht Technisch. In diesem Fall wird das Pflichtenheft
vom Studenten verfasst, und wird durch die Art der Diplomarbeit etwas mehr Technisch-Lastig ausfallen als gewöhnlich.
Die Anforderungen werden in Detaillierter form in der Software Requirements Specification(SRS) noch
einmal behandelt.
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Dokumentname:
Pflichtenheft
4/16
2.3 Management Summary
Mit Azure bietet Microsoft einen „Plattform as a Service“ an, mit dem man Kostengünstig und effizient
Applikationen betreiben kann. Der Hardware und Betriebssystem Support wird vom Cloud-Betreiber sichergestellt.
Abbildung 1: Microsoft Azure Cloud Plattform
Das evidence Framework der Firma Glaux Soft AG bietet die Grundlage um CRM, e-Government und
andere Kundenprojekte umzusetzen.
Abbildung 2: evidence Framework
Der evidence Applikationsserver ist das Kernstück des evidence Application Framework. Der Applikationsserver wird als Windows Service betrieben, und ist entweder beim Kunden auf einem Server installiert, oder wird von einem „Infrastructure as a Service“ Provider betreiben. Der Applikationsserver
ist stellt einerseits den Zugriff zur Datenbank als ORM sicher, hat darüber hinaus allerdings noch viele
Spezialisierte Aufgaben. Zu erwähnen sind insbesondere folgende Dienste:
•
Berechtigungs-Management
•
Mandant-Management
•
Reporting
•
User Settings Management
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Dokumentname:
Pflichtenheft
5/16
•
Dokumenten-Management
Abbildung 3: evidence Application Framework
Ziel der Diplomarbeit ist ein Konzept und einen Prototypen des evidence Applikationsserver zu erstellen, welcher in der Azure Cloud betrieben werden kann. Aufgrund dieser Erfahrungen kann dann entschieden werden ob der evidence Applikationsserver Cloud-Fähig gemacht werde soll oder nicht.
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Dokumentname:
Pflichtenheft
6/16
3 Ziele
Die Ziele werden in 4 unterschiedliche Typen unterteilt:
•
Musskriterien
o Für das Produkt unabdingbare Leistungen, die in jedem Fall erfüllt werden müssen.
•
Sollkriterien
o
•
Die Erfüllung dieser Kriterien wird angestrebt
Kannkriterien
o Die Erfüllung ist nicht unbedingt notwendig, sollten nur angestrebt werden, falls
noch ausreichend Kapazitäten vorhanden sind.
•
Abgrenzungskriterien
o
Diese Kriterien sollen bewusst nicht erreicht werden
Einige Ziele beinhalten Teile welche in verschiedenen Typen(Muss/Soll/Kann/Abgrenzung) einzuordnen sind. Aufgrund der Lesbarkeit der Ziele werden diese Teilanforderungen zusammengehalten, es wird wo nötig dann explizit erwähnt um welchen Typ es sich handelt.
In dieser Masterthesis gibt es zwei Arten von Lieferobjekten:
1. Konzept
2. Prototyp
Die einzelnen Kriterien werden entweder nur als Konzept erarbeitet, oder zusätzlich als Prototyp
implementiert.
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Dokumentname:
Pflichtenheft
7/16
3.1 Ziel Priorisierung
Name
Priorität
#1 Basisdienste Applikationsserver Konzept
Siehe 3.1.1
#2 Repository Konzept
Muss
#3 Kommunikation Konzept
Soll
#4 Applikationsserver Prototyp
Siehe 3.1.2
#5 Anbindung an SQL Azure Service Prototyp
Kann
#10 Einbinden von Umsystemen Konzept
Muss
#6 Einbinden von Umsystemen Prototyp
Soll
#7 Performance Analyse Prototyp
Soll
#8 Toolset Migration Konzept
Muss
#9 Deployment und Maintenance Konzept
Soll
#11 Anbindung an Azure Blob Storage Prototyp
Soll
#12 Abgrenzung Code Basis
Abgrenzung
#13 Abgrenzung Betriebswirtschaftliche Sicht
Abgrenzung
#14 Abgrenzung Security
Abgrenzung
Tabelle 1: Ziele Priorisierung
3.1.1 Basisdienste Applikationsserver Konzept Priorisierung
Name
Priorität
SessionState
Muss
Persistieren
Muss
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Dokumentname:
Pflichtenheft
8/16
Berechtigungs-Management
Soll
Mandant-Management
Soll
Reporting
Kann
User Settings Management
Kann
Dokument-Management
Soll
Scheduled und Asynchrone Tasks
Kann
Server-Plugins
Soll
Tabelle 2: Basisdienste Applikationsserver Konzept Priorisierung
3.1.2 Applikationsserver Prototyp Priorisierung
Name
Priorität
Kommunikation von Client zum Applikationsserver
Muss
Session Management
Muss
Persistieren im SQL Azure Service
Muss
Scheduling und Asynchrone Tasks
Soll
Aufzeigen eines Programmiermodels für Projektentwicklung
Muss
Tabelle 3: Applikationsserver Prototyp Priorisierung
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Dokumentname:
Pflichtenheft
9/16
3.2 Anforderungen
3.2.1 #1 Basisdienste Applikationsserver Konzept
Der evidence Applikationsserver bietet eine Vielzahl von Basisdiensten an insbesondere:
•
Persistieren
•
Berechtigungs-Management
•
Mandant-Management
•
Reporting
•
User Settings Management
•
Dokumenten-Management
•
Scheulduled und Asynchrone Tasks
•
Server-Plugins
•
SessionState
Es muss ein Dokument erstellt werden, welches aufgezeigt, welche Anpassungen nötig sind und das
evidence Server Modell mit der Oben genannten Funktionalität auf in Azure zu betreiben.
3.2.2 #2 Repository Konzept
Der evidence Applikationsserver basiert auf einer generischen Datenbank-Repositorystruktur. Diese
Repositorystruktur kann mit dem evidence Designstudio angepasst werden. Das Repository, wie auch
die Daten werden zusammengefasst in einer Microsoft SQL Server Datenbank gespeichert.
In der Azure Cloud gibt es die SQL Azure Service. Dabei handelt es sich um einen CloudBasierenden, relationale Datenbank-Service. Der SQL Azure Service basiert auf der Microsoft SQL
Server Technologie, und unterstützt Transact-SQL(T-SQL). Es gibt allerdings Unterschiede beziehungsweise Einschränkungen gegenüber dem Microsoft SQL Server.
Es muss ein Dokument erstellt werden, welches aufgezeigt welche Einschränkungen existieren, und
welche Anpassungen gemacht werden müssen, damit eine evidence Datenbank in SQL Azure Service
betrieben werden kann.
3.2.3 #3 Kommunikation Konzept
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Dokumentname:
Pflichtenheft
10/16
Im Moment Kommunizieren der evidence Winclient und der evidence Applikationsserver mittels .net
Remoting.
Es muss einerseits ein Dokument erstellt werden, welches aufzeigt was für Änderungen am evidence
Cloudserver nötig sind, um diesen in Azure anzusprechen. Weiter muss auch für den evidence Winclient ein Dokument erstellt werden, wie dieser mit dem in der Azure Cloud laufenden evidence
Cloudserver Kommunizieren kann.
3.2.4 #4 Applikationsserver Prototyp
Es muss ein lauffähiger Prototyp eines Applikationsservers(evidence Cloudserver) erstellt werden, welcher in der Cloud betrieben werden kann. Dieser Prototyp muss folgende Funktionalität bieten:
1. Kommunikation von Client zum Applikationsserver
2. Session Management
3. Persistieren im SQL Azure Service
4. Scheduling und Asynchrone Tasks
5. Aufzeigen eines Programmiermodels für Projektentwicklung
3.2.5 #5 Anbindung an SQL Azure Service Prototyp
Der evidence Cloudserver muss Daten im SQL Azure Service Persistieren. Alle CRUD Operatioinen
müssen unterstützt werden.
3.2.6 #6 Einbinden von Umsystemen Prototyp
Es muss ein Umsystem Bidirektional eingebunden werden. Das Umsystem muss Service des evidence
Cloudserver initialisieren können, und umgekehrt muss der evidence Cloudserver einen Service des
Umsystem initialisieren können.
3.2.7 #7 Performance Analyse Prototyp
Es muss analysiert werden, wie die Performance des evidence Cloudserver ist, abhängig davon ob er
in der Azure Cloud oder Lokal betrieben wird.
Die Zeit einer bestimmten Anzahl lesender und schreibender Zugriffe muss lokal und in der Azure
Cloud gemessen werden, damit eine konkrete Aussage über die Performance gemacht werden kann.
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Dokumentname:
Pflichtenheft
11/16
3.2.8 #8 Toolset Migration Konzept
Das evidence Framework besitzt ein Toolset mit welchem das evidence Datenbank Repositoy konfiguriert und verwaltet wird. Dieses Toolset besteht insbesondere aus folgenden Komponenten:
•
EvidenceDesignStudio
•
EvidenceRepositoryUpdater
•
EvidenceDBInstaller
Diese Tools kommunizieren entweder via dem nativen SQL Provider, oder via OleDB mit der Datenbank.
Es muss ein Dokument erstellt werden um aufzuzeigen, ob diese Tools mit dem SQL Azure Service
kommunizieren können. Funktioniert die Kommunikation nicht, muss in dem Dokument ein Weg aufgezeigt werden, wie diese Tools angepasst werden müssen, damit die Verbindung mit dem SQL Azure
Service funktioniert.
3.2.9 #9 Deployment und Maintenance Konzept
Ein evidence Projekt besteht aus diversen Komponenten, wovon einige vom evidence Framework gestellt werden, und andere Projektspezifisch sind.
Die Datenbank besteht aus einem Repository(Strukturdaten) und Runtime-Daten(Laufzeitdaten). Beide
können bei jeder Kundenspezifischen Installation verschieden aufgebaut sein, basieren aber immer auf
einer evidence Framework Repository Version.
Ähnlich wie die Datenbank besteht auch die eigentliche Applikation(Client und Server) einerseits aus
evidence Framework Komponenten, und andererseits aus Projektspezifischen Komponenten(dll/exe).
Es muss ein Dokument erstellt werden, welches aufgezeigt, wie diese Unterschiedlichen Komponenten
in der Azure Cloud verteilt werden, und wie man bei einem Framework oder Projektspezifischen Versionswechsel vorgehen muss.
3.2.10 #10 Einbinden von Umsystemen Konzept
In den meisten Projekten bei denen der evidence Applikationsserver verwendet wird, werden Schnittstellen zu Umsystemen integriert.
Enterprise Resource Planning
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Dokumentname:
Pflichtenheft
12/16
Computer Telefonie Integration
Legacy Systeme
Individuelle Anwendungen
Tabelle 4: Beispiele für Umsysteme
Es gibt einerseits Unidirektionale Anbindungen, bei denen der evidence Applikationsserver entweder vom
Umsystem Aufgerufen wird, oder Funktionen des Umsystem aufruft. Andererseits gibt es Bidirektionale
Anbindungen bei denen die Kommunikation von beiden Seiten initiiert werden kann.
Diese verschiedenen Umsysteme setzen Unterschiedliche Technologien zur Integration voraus. War es
früher vielfach COM, werden heute vermehrt Webservice1 eingesetzt. Weiter gibt es auch einfache
Schnittstellen bei denen nur ein Austausch von Dateien stattfindet. Eine weitere Möglichkeit zur Integration von Schnittstellen sind Enterprise Application Integration, welche technologisch aber vielfach
auch Webservice erfordern.
Es muss ein Dokument erstellt werden, welches aufgezeigt wie der evidence Applikationsserver in der
Azure Cloud mit Umsystemen Kommunizieren kann. Sowohl Unidirektional wie auch Bidirektional.
1
http://de.wikipedia.org/wiki/Webservice
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Dokumentname:
Pflichtenheft
13/16
3.2.11 #11 Anbindung an Azure Blob Storage Prototyp
Der evidence Applikationsserver besitzt Dokumenten Management Support. Damit können Dokumente
gespeichert und wieder geladen werden. Weiter können diese Dokumente dann mit beliebigen anderen
Objekten in Beziehungen gebracht werden. Die Dokumente werden dabei auf einem Filesystem gespeichert.
Mit Azure Blob Storage besteht die Möglichkeit Dokumente in der Cloud zu speichern, und von dort
wieder zu lesen.
Der evidence Cloudserver Prototyp muss die Möglichkeit bieten Dokumente zu speichern und zu laden.
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Dokumentname:
Pflichtenheft
14/16
3.2.12 #12 Abgrenzung Code Basis
Die Implementation muss nicht auf Basis des evidence Source Code erfolgen, muss jedoch Konzepte
und Modelle welche von evidence verwendet werden, so weit wie möglich berücksichtigen. Es muss
im Integrationskonzept ersichtlich sein welche Konzepte in der Cloud nicht mehr verwendet werden
können.
3.2.13 #13 Abgrenzung Betriebswirtschaftliche Sicht
Die Betriebswirtschaftliche Betrachtung der Cloud ist nicht Teil dieser Diplomarbeit. Es gibt in der Firma Glaux Soft eine andere Arbeit welche sich mit diesem Thema auseinandersetzt.
3.2.14 #14 Abgrenzung Security
Der Aspekt Security der Daten sowie der Kommunikation mit der Cloud ist nicht Teil dieser Diplomarbeit. Es gibt in der Firma Glaux Soft eine andere Masterthesis welche sich mit diesem Thema auseinandersetzt.
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Dokumentname:
Pflichtenheft
15/16
4 Anhang
4.1
Tabellenverzeichnis
Tabelle 1: Ziele Priorisierung ...............................................................................................8
Tabelle 2: Basisdienste Applikationsserver Konzept Priorisierung ...................................................9
Tabelle 3: Applikationsserver Prototyp Priorisierung ...................................................................9
Tabelle 4: Beispiele für Umsysteme .................................................................................... 13
4.2
Abbildungsverzeichnis
Abbildung 1: Microsoft Azure Cloud Plattform ..........................................................................5
Abbildung 2: evidence Framework ........................................................................................5
Abbildung 3: evidence Application Framework ..........................................................................6
Projekt:
evidence goes Azure
Thema:
evidence in der Cloud betreiben
Dokumentname:
Pflichtenheft
16/16
Herunterladen