Realisierung eines web-basierten service- gestützten

Werbung
Bachelor-Kolloquium
Realisierung eines web-basierten servicegestützten Ideenmanagementsystems für Metriken
Frederic Evers
Inhalt
1.
Basis der Realisierung
Namen Kapitel
überarbeiten
Ggf. Abschnitte
entfernen
1.1. Metriken
1.2. GQM/GAM
1.3. Metrikspezifikationsprozess
2.
Realisierung
2.1. Anforderungen
2.2. Technologie
2.3. Architektur
2.4. Domänenmodell
2.5. Screenshots
3.
Erkenntnisse
3.1. Evaluation
3.2. Erfahrungen
4.
Frederic Evers
Zusammenfassung
2
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
Metriken
Modellbildung = Grund
für Homomorphismus
Übergang: Wie kommt
man zu Metriken? A:
Über Metrikprozesse
•
•
„To measure is to know“, Clerk Maxwell
•
•
Attribute werden auf Größen abgebildet
„Abbildung einer Software oder eines Prozesses der SoftwareBearbeitung auf eine skalare oder vektorielle Größe“ (Ludewig, Lichter:
Software Engineerung - Grundlagen, Menschen, Prozesse, Techniken)
Metriken müssen Homomorphismen, d.h. relationserhaltend, sein:
(x,y)⊆R
•
Frederic Evers
(M(x),M(y))⊆P
Beispiel: Höhenabbildung von Schränken auf Zentimeter zum
Vergleich. Neuformulierunge
3
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
GQM/GAM
Ziele des Ziels!
Motivation für GAM!
Verklausulierung durch Frage
•
•
•
•
GQM = Goal Question Metric
•
Ziele bestehen aus:
•
Übergang zum
Metrikspezifikationsprozess
= Anforderungsphase in
Metrikent wicklung
Initial: Zieldefinition
Zerlegung durch Fragen
Abstraktionsniveau gering
genug: Metriken
•
•
•
•
Zweck
Thema
Objekt
Perspektive
Abwandlung: GAM
Goal Attribute Metric
Frederic Evers
4
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
Metrikspezifikationsprozess
Was machen die Rollen?
Wer ist das?
Iterativer Prozess
Idee des Prozesses
erklären
Frederic Evers
5
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
Frederic Evers
Prozess 2
6
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
Frederic Evers
Prozess 3
7
Anforderungen = Definition der
systematischen Unterstützung dieses
Prozesses
Zusammenfassung!
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
•
klar spezifizierter Prozess
iterative Verbesserung der Metrikvorschläge
E-Mails zur Information der Benutzer
Nicht-Funktionale
•
•
•
•
Frederic Evers
EJB 3.0 =
zukunftsweisende
Technologie
Funktionale Anforderungen
•
•
•
•
Anforderungen
IBM WebSphere 6.1
IBM DB 2
möglichst flexibel (verschiede Laufzeitumgebungen)
Enterprise JavaBeans 3.0
8
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
Frederic Evers
Webservice
Dienstleistungsbeziehung
Häufig AnbieterKonsument-Beziehung
Aus Anforderungen folgt
EJB3 -> Was ist das?
•
Ermöglicht starke
Entkopplung des
Konsumenten und Anbieters
•
WSDL-Dokumente
deklarieren Schnittstelle
•
UDDI (Universal Description,
Discovery and Integration) =
Verzeichnisdienst zur
Registrierung von
Webservices
•
Konsumenten und Anbieter
kommunizieren per XML-Files
z.B. über SOAP
9
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
Enterprise JavaBeans 3.0
(A)synchron erklären
•
-Stateful super wegen
HTML ist nicht statefull
-> Sessioncontext
benutzt werden
Komponententechnologie im
Java-EE-Anwendungsserver
!"#"
•
Es werden 3
Hauptkomponenten
unterschieden:
•
Frederic Evers
Session Beans (stateless
oder stateful) für
synchrone Kommunikation
•
Message-Driven Beans für
asynchrone
Kommunikation
•
Persistent Entities
$%&&'()*+%,)
$-,-%.%&&*$%&&'()*+%,)
10
!%1&'&-%)-*2)-'-3
$-,-%/0.*$%&&'()*+%,)
4%&&,5%671'8%)*+%,)
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
Session Beans
Konsument statt Kunde
des
Frederic Evers
•
•
•
Ermöglichen eine synchrone Kommunikation
•
•
Alternativ: Deklaration in Deployment-Deskriptor ejb-jar.xml
Können zustandslos und -behaftet sein
POJOS werden durch die Annotationen @Stateless oder
@Statefull zu Session Beans
Implementieren Local Business Interface und/oder Remote Business
Interface
11
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
Frederic Evers
Persistent Entities
Technologie vorgestellt=>
Daraus ergibt sich
folgende Architektur
•
•
•
Persistent Entities sind persistierbare Klassen
•
Ohne weitere Annotationen wird eine Tabelle mit dem Namen der PE in
der Datenbank gespeichert
•
•
Die Spalten entsprechen den Attributen der PE
•
Vererbung ist ebenfalls möglich
POJOs werden durch Annotation mit @Entity zu Persistent Entities
Persistent Entities benötigen eine ID, die u.a. durch @Id annotiert
werden kann
Für Beziehungen zwischen PEs werden Annotationen wie @OneToOne
oder @ManyToOne benutzt (Alternative Deklaration in orm.xml)
12
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
Architektur
Das ist die Realisierung
MVC im Serviceanbieter
Farben ändern Schrift
Frederic Evers
13
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
Domänenmodell
Von Metrikvorschlag
ausgehend beschreiben
Client
#
!""$
*+'),-.(/0123
MetricProposal
#
#""$
ProposalVersion
%&'()*)
!""$
#
%&'()*)
Expert
Frederic Evers
!""#
*+'),-.(/0123
!""#
Rating
14
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
Architektur
Zurück zur Architektur
Wie sieht die
Visualisierung aus?
Frederic Evers
15
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
Frederic Evers
Metrikvorschlagsübersicht
16
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
Frederic Evers
Metrikvorschlag bearbeiten
17
Zusammenfassung!
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
Evaluationsergebnisse
Verbesserungsvorschläge aus Anwendungsstudie
•
•
•
farbige Markierung der Änderungen in Vorschlägen
Kommentare
Wie ist die
Anwendungsstudie
erfolgt?
Noch nicht beim
Kooperationspartner!
keine Endzustände
sonstige Verbesserungsmöglichkeiten
•
•
•
Frederic Evers
Zugriffsbeschränkungen
Suchfunktion
Administratoroberfläche
18
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
•
Erfahrungen
Webservices immer über
Feature-Packs
EJB 3.0 nicht vollständig kompatibel mit WebSphere 6.1, z.B. keine
Unterstützung von Session Beans als JAX-WS-Webservices
(Java API for XML - Webservices)
Frederic Evers
•
Deployment-Deskriptoren häufig fehlerfreier als Annotationen (z.B.
orm.xml statt Annotationen)
•
Interfaces werden im Domänenmodell durch den Persistence Provider
OpenJPA nicht unterstützt
•
„Field“-Zugriff ist bei privaten gettern und settern in Persistent Entities
obligatorisch alle Attribute per „Field“-Zugriff
•
In Webservices keine Klassen ohne Default-Konstruktor verwenden, da
JAXB (Java Architecture for XML Binding)
•
Keine Collection-Typen als Rückgabewerte eines Webservice unter
WebSphere Version 7.0.0.9
19
Basis der Realisierung
Realisierung
Erkenntnisse
Zusammenfassung
•
•
•
•
•
Zusammenfassung
Es wurde ein iterativer Metrikspezifikationsprozess definiert
Der Prozess wird durch das entwickelte System unterstützt
Das System bietet einen Webservice an. Der Serviceanbieter wurde
durch EJB 3.0 realisiert. Der Servicekonsument wurde durch JSPs und
Servlets realisiert.
Das System basiert auf einem fünfelementigen Domänenmodell
Die Anwendungsstudie lieferte einige Verbesserungsvorschläge (z.B.
Markierung von Änderungen)
Vielen Dank für Ihre Aufmerksamkeit!
Frederic Evers
20
Zustände eines Metrikvorschlags
Frederic Evers
21
Message-Driven Beans
Frederic Evers
•
•
Ermöglichen eine asynchrone Kommunikation
•
•
•
Es müssen keine Interfaces implementiert werden
POJOS werden durch die Annotation @MessageDriven zur MessageDriven Bean
MDBs kommunizieren per JMS (Java Message Service)
Bei Erhalt einer Nachricht wird die obligatorische onMessage-Methode
aufgerufen
22
Startbildschirm
Frederic Evers
23
Herunterladen