\input{../settings/settings}

\begin{document}

  \klausur{ISDL-SOA Governance and Evaluation}
        {Dr. Jochen Malinowski}
        {Wintersemester 16/17}
        {90}
        {Keine}

  \section*{Pflichtteil}

  \begin{enumerate}
  \item SOA und SOA Governance (30 Punkte)
      \begin{enumerate}
      \item Erläutern Sie das Konzept einer serviceorientierten Architektur (SOA) und legen Sie dar, durch welche Merkmale sich eine SOA von bisherigen Ansätzen komponentenbasierter Softwareentwicklung unterscheidet. (8 Punkte)
      \item Welche Geschäftsvorteile können durch eine erfolgreich umgesetzte SOA potenziell erreicht werden? Die folgende Tabelle enthält mögliche realisierbare \emph{quantitative} Vorteile. Beschreiben Sie je aufgeführtem Vorteil, was im Kontext einer SOA hierunter zu verstehen ist! Veranschaulichen Sie Ihre Erläuterungen anhand von Beispielen! (12 Punkte) \\ \\
      \begin{tabular}[h]{p{.35\textwidth}p{.5\textwidth}}
        \hline
        \textbf{Quantitative Vorteile}
          & Beschreibung und Beispiele, wie dies durch eine SOA erreicht werden kann (die Tabelle gibt nur die Struktur vor; bitte benutzen Sie zur Beantwortung ein separates Blatt) \\
        \hline
        Kostenverhinderung \\
        Kostenreduktion \\
        Erlössteigerung (Revenue increase) \\
        Operationelle Effizienzsteigerungen \\
        \hline \\
      \end{tabular}
      \item Um in traditionellen Systemlandschaften zwei Systeme miteinander zu verbinden, müssen sich diese auf ein Ad-hoc-Protokoll einigen (siehe Grafik). Erläutern Sie, warum dies der Fall ist, warum es bei einer Vielzahl an Systemen zu Problemen führt und wie eine Lösung gemäß SOA-Prinzipien aussieht! Auf welche Aspekte müssen sich zwei Systeme in einer SOA nur noch einigen? (10 Punkte) \\
      \includegraphics[width=.9\textwidth]{WS1617_1c.png}
      \end{enumerate}
  \end{enumerate}

  \section*{Wahlteil (2 von 4 Aufgaben)}

  \begin{enumerate}
  \item[2.] Analyse und Design einer SOA (30 Punkte)
      \begin{enumerate}
      \item In der Design-Phase für eine SOA-Applikation werden oftmals Service Layer Models und Sequence Diagrams eingesetzt. Beschreiben Sie, zu welchem Zweck diese beiden Diagrammtypen jeweils eingesetzt werden. Sikizzieren Sie anschließend anhand eines selbstgewählten Beispiels ein Service Layer Model und das dazu passende Sequence Diagram. Erläutern Sie Ihre Grafiken stichpunktartig. (15 Punkte)
      \item Nennen und erläutern Sie die fünf Guidelines, die man beim Design von Services bachten sollte. (7 Punkte)
      \item Um Business Services zu idenzifizieren, kann top-down oder bottom-up vorgegangen werden. Beschreiben Sie die beiden Vorgehensweisen stichwortartig. Erläutern Sie anschließend anhand der Vor- und Nachteile der beiden Ansätze, warum in den meisten Fällen ein kombinierter Top-down-\,/\,Bottom-up-Ansatz vorzuziehen ist! (8 Punkte)
      \end{enumerate}
  \item[3.] Implementierung und Test einer SOA (30 Punkte)
      \begin{enumerate}
      \item Erläutern Sie, warum die häufige und frühe Integration der einzelnen Code-Komponenten in die gesamte Code-Basis (\emph{continuous integration}) in einer SOA-Umgebung besonders wichtig ist! (5 Punkte)
      \item Nennen Sie Gründe, warum das Testen einer SOA-basierten Anwendung im Vergleich zu traditionellen Nicht-SOA-Systemen besonders herausfordernd ist! (5 Punkte)
      \item In der Softwareentwicklung – unabhängig von SOA – folgt der Test häufig dem sogenannten V-Modell. Stellen Sie das V-Modell grafisch dar und beschreiben Sie die einzelnen Phasen! (10 Punkte)
      \item In einer SOA muss neben dem Gesamtsystem (\emph{composite application}) jeder veröffentlichte (Business-)Service unabhängig von möglichen Consumer-Anwendungen vollständig getestet werden. Hierdurch wird aus dem V-Modell das W-Modell. Beschreiben Sie anhand der nachfolgenden Tabelle, welche Art von Tests für die einzelnen Business-Services sowie für das Gesamtsystem je Test-Phase (\emph{test stage}) durchgeführt werden müssen! (10 Punkte)\\ \\
      (die Tabelle gibt nur die Struktur vor; bitte benutzen Sie zur Beantwortung ein separates Blatt)
      \begin{tabular}[h]{p{.25\textwidth}p{.275\textwidth}p{.275\textwidth}}
        \hline
        \textbf{Test Stage} & \textbf{Individual Business Service (``Little Vs'')} & \textbf{System as a Whole (``Big~V'')} \\
        \hline
        Component Test \\
        Assembly Test \\
        Product Test \\
        Performance Test \\
        User Acceptance Test \\
        \hline \\
      \end{tabular}
      \end{enumerate}

  \item[4.] Technische Architektur und Sicherheitsaspekte einer SOA (30 Punkte)
      \begin{enumerate}
      \item Aus technischer Architektursicht können die nachfolgend aufgelisteten SOA-Architekturtypen unterschieden werden. Erläutern Sie diese Typen mit Hilfe von Grafiken und stichwortartigen Beschreibungen! (15 Punkte)
          \begin{enumerate}
          \item Basic Service Architectures
          \item Service-Consuming Architectures and Service-Providing Architectures
          \item Systems Decoupling Architectures
          \item Legacy Wrapping Architectures
          \item Process Orchestration Architectures
          \end{enumerate}
      \item Beschreiben und Erläutern Sie die Funktionsweise eines Enterprise Service Bus (ESB)! (10 Punkte)
      \item Im Rahmen eines SOA-Sicherheitskonzeptes sollen die Risiken anhand eines »Risk Management Plans« erfasst und behandelt werden. Erläutern Sie, was ein »Risk Management Plan« ist und wie dieser genutzt werden sollte, um die Risiken zu managen! (5 Punkte)
      \end{enumerate}

  \item[5.] Umsetzung von SOA Governance in Organisationen (30 Punkte)
      \begin{enumerate}
      \item Es gibt verschiedenste Organisationsformen, welche die Einführung von SOA in der Organisation unterstützen. Grundsätzlich können die drei Organisationsformen Centralized/Center of Excellence, SOA Program und Decentralized unterschieden werden. Beschreiben Sie diese drei Ansätze und nennen Sie die jeweiligen Vor- und Nachteile. Erläutern Sie außerdem, wann sich welcher Ansatz eignet! (14 Punkte)
      \item Erläutern Sie die grundsätzliche Idee von Service Level Agreements (SLAs) im Umfeld von SOA Services. Nennen Sie stichpunktartig die Zielsetzung solcher SLAs! (8 Punkte)
      \item Erläutern Sie die Beziehung zwischen dem SOA-Konzept und aktuellen Trends wie: Agile, DevOps, »Everything as a service«, »Cloud first«, Digitalization und »Mobile First«. Warum spielt SOA in diesen Trends eine wichtige Rolle? (8 Punkte)
      \end{enumerate}
  \end{enumerate}

\end{document}