Applikationsarchitektur modularer Rich Client-Anwendungen am Beispiel der Windows Presentation Foundation

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Applikationsarchitektur modularer Rich Client-Anwendungen am Beispiel der Windows Presentation Foundation"

Transkript

1 Applikationsarchitektur modularer Rich Client-Anwendungen am Beispiel der Windows Presentation Foundation Jörg Jooss MTC Architect OOP 2009

2 Das Szenario Rich Client-Anwendung (WPF, C#) von geringer Software-Qualität Design Patterns, Composite Application Library (CAL) Modulare Anwendung mit deutlicher höherer Software-Qualität überführen 2

3 Hintergrund: Qualitätsmerkmale Maintainability: A set of attributes that bear on the effort needed to make specified modifications (ISO 9126) Stability Analyzability Changeability Testability 3

4 Iteration 0: Die Applikation Demo

5 Iteration 0: Bestandsaufnahme Beobachtungen Autonomous View (Anti-)Pattern: Applikationslogik und Präsentationslogik sind vermischt Fehlende Abstraktionen 95% der Applikationslogik liegen in einer Methode Unit Testing sehr schwierig Code bietet kaum Möglichkeiten zur Aufteilung zwischen Teams Erweiterungen nach dem gleichen Entwicklungsansatz führen unweigerlich zum Big Ball of Mud Software-Qualität 5

6 Iteration 1: Separate Presentation Um den Big Ball of Mud zu verhindern, müssen wir die Präsentation vom Rest der Anwendung trennen Konkrete Design Patterns: Model-View-Controller Model-View-Presenter Presentation Model WPF und CAL geben jeweils keinen Ansatz vor aber in WPF ist Presentation Model sehr einfach zu realisieren 6

7 Hintergrund: Presentation Model Benutzerinteraktion View Commands Data Binding Businessness Logic API Presentation Model Business Logic Events 7

8 Hintergrund: Commands Invoker In CAL ICommand +Execute +CanExecute +CanExecuteChanged DelegateCommand +Execute +CanExecute +CanExecuteChanged In WPF Receiver +Action<T> +Func<T, bool> 8

9 Iteration 1: Shell und Presentation Model Code

10 Iteration 1: Bestandsaufnahme Beobachtungen View enthält keine Anwendungslogik und ist vom Presentation Model entkoppelt Unit Testing des PM möglich (Unit Test als alternativer View) Applikationslogik kann nach Belieben realisiert werden Die Features von WPF (Datenbindung, Commands etc.) werden genutzt Mehr als ein leeres Fenster haben wir jetzt aber nicht Software-Qualität 11

11 Iteration 2: File Open? Wie zeigen wir ein Dialogfenster an, ohne das Presentation Model ad absurdum zu führen? Einfachste Lösung: Indirektion Auslagern in eine andere Komponente Service = Interface + Implementierung(en) 12

12 Iteration 2: File Open? (cont d) Vermeide Abhängigkeiten zwischen Shell und Applikationskomponenten wie aber werden Informationen aus der Shell propagiert? C#-Events helfen nicht der Subscriber kennt den Publisher bereits zur Buildtime CAL stellt den Event Aggregator als Publish/Subscribe-Mechanismus bereit 13

13 Hintergrund: Event Aggregator Publisher Event Aggregator Subscriber CompositeWpfEvent<T> CompositeWpfEvent<U> Subscriber Publisher Subscriber 14

14 Iteration 2: Events und Services Code

15 Iteration 2: Bestandsaufnahme Beobachtungen Konsumenten von Ereignissen in der Shell bleiben durch Publish/Subscribe lose gekoppelt Bereitstellung technischer Funktionen als Services erhöht Testbarkeit FILECHANGEDEVENT ist momentan die einzige Gemeinsamkeit zwischen Provider (Shell) und potentiellen Konsumenten Es fehlt jedoch die Integration der Services Software-Qualität 17

16 Iteration 3: Connecting the Dots Wir wollen die losen Teile (Shell, Presentation Model, Services) verbinden, zugleich aber die Verbindungen leicht ändern können Dependency Injection-Container erlauben die Konstruktion von Objekten und deren Abhängigkeiten CAL bietet Dependency Injection-Container (Unity) Bootstrapper 18

17 Hintergrund: Dependency Injection Client <<creates>> Kern eines Depedency Injection Containers IService Builder ServiceImpl <<injects>> 19

18 Iteration 3: Bootstrapper und Dependency Injection Code

19 Iteration 3: Bestandsaufnahme Beobachtungen Abhängigkeiten zwischen den Komponenten sind nicht hart codiert, sondern über Dependency Injection flexibel änderbar Testkonfigurationen können so das System entsprechend rekonfigurieren und Stubs, Fakes etc. verwenden Wir haben immer noch nur ein leeres Fenster Software-Qualität 22

20 Iteration 4: Module für die Massen Wir wollen ein Konstrukt bereitstellen, das die eigentliche Anwendungslogik über alle Schichten kapselt Module Solche Module können auf verschiedene Weise geschnitten werden: Infrastrukturkomponenten Anwendungsfeatures Subsysteme CAL bietet die Infrastruktur zur Bereitstellung von Assemblies als Module 23

21 Iteration 4: Views und Services in einem Modul Code

22 Iteration 4: Bestandsaufnahme Beobachtungen Ein Modul ist ein mehrschichtiger, in sich abgeschlossener Applikationsbaustein Wie die Shell verwendet es PM, Commands, Pub/Sub und User Controls als Views Hohe Kohäsion, niedrige Kopplung Event Aggregator erleichtert Thread Marshalling Die Implementierung verschiedener Module kann auf mehrere Teams aufgeteilt werden Aber was macht eine Assembly eigentlich zum Modul? Software-Qualität 26

23 Iteration 5: I, Module Uns fehlt eine Möglichkeit das Modul zu initialisieren (Bootstrapper?) Kennzeichnung von Modulkomponenten Attribute Interfaces Basisklassen Konvention CAL sucht in einer Assembly nach Typen, die IMODULE implementieren 27

24 Iteration 5: Das IModule Code

25 Iteration 5: Bestandsaufnahme Beobachtungen Ein IMODULE agiert wie ein modulspezifischer Bootstrapper Wie in der Shell können so Abhängigkeiten im Modul per DI konfiguriert werden Abhängigkeiten des Moduls werden von CAL injiziert Wie aber bringen wir Module zur Ausführung? Software-Qualität 30

26 Iteration 6: How to Be Found and Seen Die Shell benötigt Mechanismen zum Finden von Modulen und Platzhalter zur Anzeige von Views Direkte Referenzen zwischen Shell und Modulen führen zu enger Kopplung CAL bietet Module Enumerators Regions 31

27 Hintergrund: Regions ContentControls, Selectors, und ItemControls können mit Regionen dekoriert werden <ContentControl cal:regionmanager.regionname= "{x:static fx:regionnames.mainregion}" /> Name der Region Tipp: Binden statt hart codieren 32

28 Iteration 6: Die modulare Anwendung Demo

29 Iteration 6: Bestandsaufnahme Beobachtungen Die Shell muss Regionen zur Anzeige von Views vorsehen und benennen Shell und Module/Views sind komplett entkoppelt, kennen jeweils nur Regionenbezeichner und Ereignisse Die Strategie zum Finden von Modulen ist austauschbar Software-Qualität 35

30 Zusammenfassung Modulare WPF-Anwendungen mit der Composite Application Library Commands/ Events Services/ Container Bootstrapper Module Regions/ Views 36

31 Ressourcen Composite Application Guidance und CAL patterns & practices Developer Center MTC München Team Blog (Code zur Session) 37

32

Prism. Martin Hey Unique Software e.k.

Prism. Martin Hey Unique Software e.k. Prism Martin Hey Unique Software e.k. Einleitung Überblick Framework zur Modularisierung von Anwendungen Trennung von Aufgaben und Zuständigkeiten für WPF, Silverlight und Windows Phone 7 verwendet dazu

Mehr

Die S.O.L.I.D-Prinzipien für C# Entwickler Thomas Claudius

Die S.O.L.I.D-Prinzipien für C# Entwickler Thomas Claudius Die S.O.L.I.D-Prinzipien für C# Entwickler Thomas Claudius Huber @ThomasClaudiusH BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH

Mehr

Skalierbare Enterprise Architekturen für Universal Windows Platform Apps

Skalierbare Enterprise Architekturen für Universal Windows Platform Apps Agenda Ziele Portable Class Libraries Projektaufbau MVVM Databinding #1 MVVM Light Inversion of Control & Dependency Injection Repository Pattern Databinding #2 Skalierbare Enterprise Architekturen für

Mehr

Norbert. Eder. Windows Presentation Foundation 4. Einführung und Praxis. inklusive CD-ROM

Norbert. Eder. Windows Presentation Foundation 4. Einführung und Praxis. inklusive CD-ROM Norbert Eder Windows Presentation Foundation 4 Einführung und Praxis inklusive CD-ROM 5936.book Seite 5 Mittwoch, 10. November 2010 5:50 17 Vorwort................................................... 11

Mehr

MVVM in Windows 8 und Windows Phone 8

MVVM in Windows 8 und Windows Phone 8 Basel MVVM in Windows 8 und Windows Phone 8 Thomas Claudius Huber Trivadis AG Thomas Claudius Huber Principal Consultat bei Trivadis www.trivadis.com www.thomasclaudiushuber.com Trainer, Coach, Developer,

Mehr

Architecture Blueprints

Architecture Blueprints Architecture Blueprints Daniel Liebhart, Peter Welkenbach, Perry Pakull, Mischa Kölliker, Michael Könings, Markus Heinisch, Guido Schmutz Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET,

Mehr

Client-Architektur. in Angular. Philipp Burgmer

Client-Architektur. in Angular. Philipp Burgmer Client-Architektur in Angular Philipp Burgmer Über mich Philipp Burgmer Entwickler, Trainer, Speaker Web-Technologien TypeScript, Angular 1 Über uns W11K GmbH - The Web Engineers Gegründet 2000

Mehr

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE

Mehr

Textbausteine. C# WPF-Framework Model-View-Viewmodel-Architektur Blog-Client-Applikation

Textbausteine. C# WPF-Framework Model-View-Viewmodel-Architektur Blog-Client-Applikation Entwicklung einer C-Sharp- Applikation auf Basis des WPF- Frameworks und der Model-View- Viewmodel-Architektur am Beispiel einer Blog-Client-Applikation Von Mirko Jungblut Textbausteine C# WPF-Framework

Mehr

Überblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio

Überblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio Entwurfsmuster Eine Einführung Botond Draskoczy Marcus Vitruvius Pollio Überblick Historie, Literatur Das Flugapparat-Bildschirmschoner-Projekt (FBP) Das internetbasierte Solar-Netzwerk (SNW) Zusammenfassung

Mehr

Prism. Martin Hey Unique Software e.k.

Prism. Martin Hey Unique Software e.k. Prism Martin Hey Unique Software e.k. Zielsetzung Dieser Workshop liefert einen Überblick darüber: was Prism ist und wo die Vorteile liegen wie man Anwendungen unter der Verwendung von Prism aufbaut was

Mehr

Eclipse Rieh Client Platform

Eclipse Rieh Client Platform Heiko Sippel, Jens Bendisposto, Michael Jastram Eclipse Rieh Client Platform Entwicklung von erweiterbaren Anwendungen mit RCP ntwickier.press V E E.l E.2 E.3 E.4 Teil 1 1 1.1 1.2 1.3 1.4 1.5 2 2.1 2.2

Mehr

Model-View-ViewModel (MVVM)

Model-View-ViewModel (MVVM) 1 Model-View-ViewModel (MVVM) Grundlagen und Einsatz des GUI-Architekturmusters W3L AG info@w3l.de 2011 2 Agenda Motivation Architekturmuster MVVM-Pattern Fazit Aufbau & Komponenten Technische Grundlagen

Mehr

VON MVC ZU MODEL-VIEW-VIEWMODEL

VON MVC ZU MODEL-VIEW-VIEWMODEL VON MVC ZU MODEL-VIEW-VIEWMODEL Wissenschaftliche Vertiefung von Lukas Jaeckle Studiengang Softwaretechnik und Medieninformatik Folie 1 von 18 Agenda 1. Architekturmuster 2. Architekturmuster für interaktive

Mehr

8 Design Patterns. Events

8 Design Patterns. Events 8 Design Patterns. Events Jörn Loviscach Versionsstand: 20. März 2012, 15:01 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.j3l7h.de/videos.html

Mehr

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs... Auf einen Blick Auf einen Blick 1 Einleitung... 15 2 Die Basis der Objektorientierung... 29 3 Die Prinzipien des objektorientierten Entwurfs... 41 4 Die Struktur objektorientierter Software... 67 5 Vererbung

Mehr

Model-View-Controller

Model-View-Controller Software Design Pattern Model-View-Controller Michael Lühr Gliederung Einführung und Problemstellung Ansatz durch MVC Detaillierte Darstellung der Komponenten Model View Controller Vor- und Nachteile Zusammenfassung

Mehr

8 Design Patterns. Events

8 Design Patterns. Events 8 Design Patterns. Events Jörn Loviscach Versionsstand: 21. März 2014, 22:58 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

Verbesserung der Architektur der DPP- Software Saros (Vortrag 2) Slawa Belousow Institut für Informatik FU Berlin

Verbesserung der Architektur der DPP- Software Saros (Vortrag 2) Slawa Belousow Institut für Informatik FU Berlin Verbesserung der Architektur der DPP- Software Saros (Vortrag 2) Slawa Belousow Institut für Informatik FU Berlin 03.02.2011 Inhalt der Präsentation 1.Arbeit und Vortrag 1 2.Aktuelle Saros-Architektur

Mehr

Portal-Entwicklung mit ADF und PDK

Portal-Entwicklung mit ADF und PDK Portal-Entwicklung mit ADF und PDK 19. Deutsche Anwenderkonferenz Mannheim 16. November 2006 Jürgen Trumpfheller beck et al. projects Theresienhöhe 13, 80339 München, T 089/54 42 53-0, F 089/54 42 53-99,

Mehr

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05. Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational

Mehr

Architecture Blueprints Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET, ADF, Forms und SOA

Architecture Blueprints Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET, ADF, Forms und SOA Daniel Liebhart, Guido Schmutz, Marcel Lattmann, Markus Heinisch, Michael Könings, Mischa Kölliker, Perry Pakull, Peter Welkenbach Architecture Blueprints Ein Leitfaden zur Konstruktion von Softwaresystemen

Mehr

Thomas Schissler MVP Visual Studio ALM, artiso AG

Thomas Schissler MVP Visual Studio ALM, artiso AG Thomas Schissler MVP Visual Studio ALM, artiso AG Kurs-Übersicht Moderne Softwareentwicklung 01 Überblick Was macht moderne Software-Entwicklung aus? 02 Projektmanagement Wie funktioniert modernes Projektmanagement

Mehr

MSE/SWF - API Design. Arthur Zaczek. Feb 2015

MSE/SWF - API Design. Arthur Zaczek. Feb 2015 Arthur Zaczek Feb 2015 1 Einleitung Dieses Dokument ist eine Zusammenfassung des Buches Practical API Design: Confessions of a Java Framework Architect. [@Tulach2012] 1.1 Cluelessness Je einfacher eine

Mehr

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Komponentenorientierte Software-Entwicklung. Seite 1 / 42 Seite 1 / 42 Wiederholung Messaging Java Messaging Service (JMS) Pub/Sub P2P Messaging Middleware XMPP-Protokoll Java API for XML-Processing (JAXP) Java API for XML-Binding Webservices / SOA Simple Object

Mehr

SOLID für.net und JavaScript

SOLID für.net und JavaScript SOLID für.net und JavaScript www.binarygears.de Stefan Dirschnabel Twitter: @StefanDirschnab #dncgn SOFTWARE ENTWICKLUNG BERATUNG SCHULUNG 5 Prinzipien für das Design von Software Wartbarer Code Leicht

Mehr

Eberhard Wolff. Spring. Framework für die Java-Entwicklung. "BJ dpunkt.verlag

Eberhard Wolff. Spring. Framework für die Java-Entwicklung. BJ dpunkt.verlag Eberhard Wolff Spring Framework für die Java-Entwicklung "BJ dpunkt.verlag -^1 1 Einleitung 1 1.1 Warum Spring? 1 1.2 Was ist Spring? 1 1.3 Spring und Java EE 3 1.4 Woher kommt Spring? 4 1.5 Warum dieses

Mehr

Schlankheitskur. Andreas Hartmann

Schlankheitskur. Andreas Hartmann Schlankheitskur Lean Web Architecture mit JSF 2.0, CDI & Co. Andreas Hartmann adesso AG Schlankheitskur Lean Web Architecture mit JSF 2.0, CDI & Co. Andreas Hartmann 05.09.2012 Agenda Architecture Vision

Mehr

Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept

Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java Software-Architektur basierend auf dem Plug-in-Konzept Aufteilung: Probleme mit normaler/alter Software Ziele des Software Engineerings Die

Mehr

MVC-Architektur am Beispiel von OLAT

MVC-Architektur am Beispiel von OLAT MVC-Architektur am Beispiel von OLAT Marvin Frommhold 12. Januar 2009 Gliederung Begriffe Entwurfsmuster Umsetzung in OLAT Aufbau des Brasato-Frameworks Quellen Begriffe I MVC bezeichnet ein Architekturmuster

Mehr

RAMI 4.0 Toolbox: Vom Konzept zum Modell

RAMI 4.0 Toolbox: Vom Konzept zum Modell CMG-AE Tagung Big Data & Industrie 4.0 RAMI 4.0 Toolbox: Vom Konzept zum Modell Christoph Binder Hintergrund Die RAMI Toolbox Modellbasierte entwicklung von Industrie 4.0 Systemen Erweiterung von Enterprise

Mehr

Visual Studio 2010 Jetzt auch für Architekten

Visual Studio 2010 Jetzt auch für Architekten TeamConf 2010 Visual Studio 2010 Jetzt auch für Architekten 06. Mai 2010 München Thomas Hemmer Chief Technology Officer thomas.hemmer@conplement.de Daniel Meixner Consultant daniel.meixner@conplement.de

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Bernhard Lahres, Gregor Rayman Objektorientierte Programmierung Das umfassende Handbuch Galileo Press 1.1 Was ist Objektorientierung? 13 1.2 Hallo liebe Zielgruppe 14 1.3 Was bietet dieses Buch (und was

Mehr

Indigo vs. Juno. Was ist neu für Eclipse 4.x RCP Entwickler? Hauptseminar 2012

Indigo vs. Juno. Was ist neu für Eclipse 4.x RCP Entwickler? Hauptseminar 2012 Fakultät Informatik, Institut für Angewandte Informatik, Professur für Technische Informationssysteme Indigo vs. Juno Was ist neu für Eclipse 4.x RCP Entwickler? Hauptseminar 2012 Thomas Pischulski (Thomas.Pischulski@mailbox.zih.tu-dresden.de)

Mehr

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Sommersemester 2018 Michael Theis, Lehrbeauftragter 2 Servlet API Websockets JSF JAX-WS JAX-RS JMS JAXB JSON-P JEE Enterprise Application

Mehr

Head First Design Patterns. FALLBEISPIEL: SimUDuck

Head First Design Patterns. FALLBEISPIEL: SimUDuck Head First Design Patterns FALLBEISPIEL: SimUDuck 1 SimUDuck Fallbeispiel aus Head First Design Patterns [1] SimUDuck: Simulationsspiel wo verschiedenen Entenarten (Stockente, Rotschopfente, Schnatterente

Mehr

SE Besprechung. Übung 4 Architektur, Modulentwurf

SE Besprechung. Übung 4 Architektur, Modulentwurf SE Besprechung Übung 4 Architektur, Modulentwurf SE, 22.11.11 Mengia Zollinger 2.1 Architekturstile (6 Punkte) 2.1.A Ausgabe eines Monatsabos an Angestellte Lösung: Pipe-and-Filter Beispiel Lösung [Benz,

Mehr

Kapitel 5: Das Design

Kapitel 5: Das Design Nach der Analyse kommt... Kapitel 5: Das Design SoPra 2008 Kap. 5: Das Design (1/20) Kapitel 5.1: Überblick Was ist Design? Ergebnis der Analyse: abstrakte Definitionen Objektmodell: Klassen, Assoziationen,

Mehr

VAADIN, SPRING BOOT & REST

VAADIN, SPRING BOOT & REST VAADIN, SPRING BOOT & REST Ein Einstieg für Domino Entwickler Stephan Kopp 1 STEPHAN KOPP Software & Solutions Development Tel.: +49 6182 7869420 Mobil: +49 173 3089806 E-Mail: stephan.kopp@axians.de 2

Mehr

Architecture Blueprints

Architecture Blueprints Daniel Liebhart, Guido Schmutz, Marcel Lattmann, Markus Heinisch, Michael Könings, Mischa Kölliker, Perry Pakull, Peter Welkenbach Architecture Blueprints Ein Leitfaden zur Konstruktion von Softwaresystemen

Mehr

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail.

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail. Rich Internet Applications, Flex & Mate (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail.com Überblick Mein Thema im Überblick 1. Definitionen 2. Rich Internet Applications

Mehr

Langlebige Softwarearchitekturen - technische Schulden beherrschen und abbauen

Langlebige Softwarearchitekturen - technische Schulden beherrschen und abbauen Langlebige Softwarearchitekturen - technische Schulden beherrschen und abbauen Dr. Carola Lilienthal, cl@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG 1 Business-Software

Mehr

ASP.NET Web-API - Grundlagen

ASP.NET Web-API - Grundlagen ASP.NET Web-API - Grundlagen Kompakt-Intensiv-Training In unserer Schulung "ASP.NET Web API - Grundlagen" werden Ihnen die Grundkenntnisse des REST-Modells vermittelt. So können Sie nach Abschluss der

Mehr

WPF und Silverlight Architektur

WPF und Silverlight Architektur Stefan Lange empira Software GmbH WPF und Silverlight Architektur Tipps zur Struktur von Anwendungen Stefan.Lange@empira.de 25.02.2010 Agenda Schichtenmodell Silverlight und WPF Code Sharing Typische Architektur

Mehr

8 Design Patterns. Events

8 Design Patterns. Events 8 Design Patterns. Events Jörn Loviscach Versionsstand: 28. März 2015, 19:13 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

Umstellung eines ERP-Systems von Oracle Forms 6i auf.net/wpf. Stefan Basler / Tobias Lachmann schrempp edv GmbH

Umstellung eines ERP-Systems von Oracle Forms 6i auf.net/wpf. Stefan Basler / Tobias Lachmann schrempp edv GmbH Umstellung eines ERP-Systems von Oracle Forms 6i auf.net/wpf Stefan Basler / Tobias Lachmann schrempp edv GmbH Die Firma schrempp edv GmbH Rainer-Haungs-Str.7 77933 Lahr www.schrempp-edv.de Gründung 1980

Mehr

Software Engineering. 10. Entwurfsmuster. Franz-Josef Elmer, Universität Basel, WS 2006/07

Software Engineering. 10. Entwurfsmuster. Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering 10. Entwurfsmuster Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering: 10. Entwurfsmuster 2 Entwurfsmuster (engl. Design Patterns) Definition: A Bewährte Codevorlagen

Mehr

Eine technische Plattform für Smart-Client-Systeme. Alexander Ziegler

Eine technische Plattform für Smart-Client-Systeme. Alexander Ziegler Eine technische Plattform für Smart-Client-Systeme Alexander Ziegler Agenda Ausgangssituation Smart Client Ansatz Technische Kernthemen Erfahrungen 1 Agenda Ausgangssituation Smart Client Ansatz Erfahrungen

Mehr

Business Applika-onen schnell entwickeln JVx Framework - Live!

Business Applika-onen schnell entwickeln JVx Framework - Live! Business Applika-onen schnell entwickeln JVx Framework - Live! - Enterprise Applica-on Framework h&p://www.sibvisions.com/jvx JVx ermöglicht in kürzester Zeit mit wenig Source Code hoch performante professionelle

Mehr

FORTGESCHRITTENE ANDROID ENTWICKLUNG Max Wielsch 27.05.2015

FORTGESCHRITTENE ANDROID ENTWICKLUNG Max Wielsch 27.05.2015 FORTGESCHRITTENE ANDROID ENTWICKLUNG Max Wielsch 27.05.2015 WAS LETZTES MAL GESCHAH... Eine Notitz App 2 Ansichten entwickelt: 1. Übersicht (Anlegen, Details anzeigen / bearbeiten) 2. Detailansicht (Bearbeiten):

Mehr

Tutorium Softwaretechnik I

Tutorium Softwaretechnik I Tutorium Softwaretechnik I Moritz Klammler 27. Juni 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA 3.0 1 27. Juni 2017 Moritz Klammler - Tutorium Softwaretechnik

Mehr

NotesSession.GetPropertyBroker( )

NotesSession.GetPropertyBroker( ) Bestandteile von CA Laufen im Rich Client (Notes oder Expeditor) oder via Portal Server im Browser NSF-Komponenten sind Notes-Designelemente Eclipse Komponenten sind Eclipse ViewParts lokale oder Websphere

Mehr

ML Deployment. Vom Prototyp zur Produktion

ML Deployment. Vom Prototyp zur Produktion ML Deployment Vom Prototyp zur Produktion Marcel Spitzer Karlsruhe, 15.3.2018 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment

Mehr

Bekannte Lösungen für bekannte Probleme benutzen. Entwurf auf höherer Abstraktionsebene als bei Programmiersprachen

Bekannte Lösungen für bekannte Probleme benutzen. Entwurf auf höherer Abstraktionsebene als bei Programmiersprachen Michael Saecker Bekannte Lösungen für bekannte Probleme benutzen Entwurf auf höherer Abstraktionsebene als bei Programmiersprachen Gemeinsames Vokabular für Designer 2 http://www.clickpix.de/sommer/architektur.jpg

Mehr

Raber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version. Schimon.Mosessohn@microsoft.

Raber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version. Schimon.Mosessohn@microsoft. Raber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version Schimon.Mosessohn@microsoft.com Herzlich Willkommen 1996 2004 2010 2014 Navision 3.7 Microsoft

Mehr

Praxisbuch Objektorientierung

Praxisbuch Objektorientierung Bernhard Lahres, Gregor Rayman Praxisbuch Objektorientierung Von den Grundlagen zur Umsetzung Galileo Press 1.1 Was ist Objektorientierung? 11 1.2 Hallo liebe Zielgruppe 12 1.3 Was bietet dieses Buch (und

Mehr

Zukunft der Oracle Applikationsentwicklung: BC4J & XML

Zukunft der Oracle Applikationsentwicklung: BC4J & XML 2 Jahre Niederlassung in München Trivadis GmbH Zukunft der Oracle Applikationsentwicklung: BC4J & XML Markus Heinisch 1 Agenda Tägliches Brot BC4J DEMO Applikation BC4J XML DEMO Applikation XML Fazit 2

Mehr

Windows Presentation Foundation

Windows Presentation Foundation Windows Presentation Foundation WS 2013/14 Gliederung Literatur Einführung Inhalt Architektur von Windows Presentation Foundation und das Programmiermodell XAML Steuerelemente und Layout Ressourcen Data

Mehr

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi Design Pattern - Strukturmuster CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi Agenda Einleitung Strukturmuster Fassade Model View Controller Vergleich 2 Einleitung Strukturmuster

Mehr

Model-View-Controller

Model-View-Controller Model-View-Controller Seminar Software-Entwurf Leif Singer Gliederung Einordnung Überblick & Geschichte Aufgabenverteilung & Beispiel Model View Controller Zusammenspiel Web Anwendungen

Mehr

<Insert Picture Here> Generierung von ADF-Applikationen aus Metadaten des Oracle Designer

<Insert Picture Here> Generierung von ADF-Applikationen aus Metadaten des Oracle Designer Generierung von ADF-Applikationen aus Metadaten des Oracle Designer Jürgen Menge Oracle Deutschland Oracle Designer - Metadaten Investment vieler Anwender liegt in den Metadaten des

Mehr

Multi-Tool Testlandschaft mit DDS

Multi-Tool Testlandschaft mit DDS Multi-Tool Testlandschaft mit DDS MATLAB UND SIMULINK ALS ENABLER FÜR RAPID TOOL PROTOTYPING SEBASTIAN BEWERSDORFF ASSYSTEM GERMANY MATLAB EXPO 2017 MÜNCHEN 27.06.2017 EINFÜHRUNG Tools in Unternehmensprozessen

Mehr

Design Patterns. 3. Juni 2015

Design Patterns. 3. Juni 2015 Design Patterns 3. Juni 2015 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Taentzer Softwarequalität 2015 138 Was sind Design Patterns?

Mehr

Entwicklung einer Mobile Application mit ADF Mobile

Entwicklung einer Mobile Application mit ADF Mobile Entwicklung einer Mobile Application mit ADF Mobile Markus Neubauer, Thomas Feldmeier Fürth Schlüsselworte ADF Mobile, ADF, Mobile, Middleware, JDeveloper Einleitung Vor kurzem hat Oracle das Application

Mehr

Heiko Barth und Thorsten Schenkel, compeople AG. Databinding in Eclipse

Heiko Barth und Thorsten Schenkel, compeople AG. Databinding in Eclipse Heiko Barth und Thorsten Schenkel, compeople AG Databinding in Eclipse Folie 2 Agenda Vorstellung der grundlegenden Konzepte von Databindings Ansatz von Eclipse DataBinding Die Kernkomponenten von Eclipse

Mehr

EREIGNISGESTEUERTES WASSERRESSOURCENMANAGEMENT

EREIGNISGESTEUERTES WASSERRESSOURCENMANAGEMENT EREIGNISGESTEUERTES WASSERRESSOURCENMANAGEMENT AUF BASIS VON SENSORMESSUNGEN Matthes Rieke 1, Simon Jirka 1, Christian Malewski 2, Christian Förster 2, Thomas Tscheu 2 1 52 North GmbH, Münster 2 Wupperverband,

Mehr

Contexts and Dependency Injection. W3L AG info@w3l.de

Contexts and Dependency Injection. W3L AG info@w3l.de 1 Contexts and Dependency Injection W3L AG info@w3l.de 2015 2 Inhaltsverzeichnis Teil 1: Motivation Teil 2: Inversion of Control Teil 3: Contexts and Dependency Injection Teil 4: Beispiel zurück 3 Motivation

Mehr

Komponenten & Frameworks Seite 1

Komponenten & Frameworks Seite 1 Ausgangssituation Wir wollen eine einfache Windowsanwendung mit einem Fenster erstellen. Dieses Fenster enthält (Container!) einen Button der beim klicken das Schreiben in ein Textfeld bewirkt. Was ist

Mehr

Spring & OSGi: Plattform der Zukunft. Bernd Kolb (Kolbware) Martin Lippert (akquinet agile GmbH) Gerd Wütherich (comdirect bank AG)

Spring & OSGi: Plattform der Zukunft. Bernd Kolb (Kolbware) Martin Lippert (akquinet agile GmbH) Gerd Wütherich (comdirect bank AG) Spring & OSGi: Plattform der Zukunft Bernd Kolb (Kolbware) Martin Lippert (akquinet agile GmbH) Gerd Wütherich (comdirect bank AG) 0 Inhalt Warum Spring & OSGi? Die Grundidee Der Stand der Dinge Ein praktisches

Mehr

Dr. Jens Hündling Senior Sales Consultant. DOAG Apps 2011 Berlin, 05. Mai 2011

Dr. Jens Hündling Senior Sales Consultant. DOAG Apps 2011 Berlin, 05. Mai 2011 Business Management: Grundlagen, Business Process Life Cycle, Überblick Oracle BPM Suite 11g Dr. Jens Hündling Senior Sales Consultant DOAG Apps 2011 Berlin, 05. Mai 2011

Mehr

CAIRO if knowledge matters

CAIRO if knowledge matters CAIRO if knowledge matters Monitoring mit Microsoft Operations Manager 2007 Ein Überblick Johann Marin, Inhalt if knowledge matters Warum Monitoring? Was soll überwacht werden? SCOM Key Features Das SCOM

Mehr

Creating OpenSocial Gadgets. Bastian Hofmann

Creating OpenSocial Gadgets. Bastian Hofmann Creating OpenSocial Gadgets Bastian Hofmann Agenda Part 1: Theory What is a Gadget? What is OpenSocial? Privacy at VZ-Netzwerke OpenSocial Services OpenSocial without Gadgets - The Rest API Part 2: Practical

Mehr

MVVM (Model View ViewModel) in JavaFX

MVVM (Model View ViewModel) in JavaFX MVVM (Model View ViewModel) in JavaFX SEP Sommersemester 2019 Nicolas Brauner 30.04.2019 DBS Wissenschaftlicher Betreuer: Maximilian Hünemörder, Ludwig Zellner Verantwortlicher Professor: Prof. Dr. Peer

Mehr

Architektur Pattern. Organisation und Interaktion zwischen den Komponenten

Architektur Pattern. Organisation und Interaktion zwischen den Komponenten Architektur Pattern Organisation und Interaktion zwischen den Komponenten Einteilung Es gibt verschiedenste Architekturmuster welche abhängig vom Projektumfang und -umfeld sinnvoll verwendet werden: Model-View-Controller,

Mehr

Inhaltsverzeichnis. TeiM. V E E.l E.2 E.3 E.4. Vorwort von Stefan Tilkov Einleitung Zielgruppe Über dieses Buch Konventionen Dank

Inhaltsverzeichnis. TeiM. V E E.l E.2 E.3 E.4. Vorwort von Stefan Tilkov Einleitung Zielgruppe Über dieses Buch Konventionen Dank V E E.l E.2 E.3 E.4 TeiM 1 1.1 1.2 1.3 1.4 1.5 2 2.1 2.2 2.3 2.4 2.5 2.6 3 3.1 3.2 3.3 3.4 3.5 Vorwort von Stefan Tilkov Einleitung Zielgruppe Über dieses Buch Konventionen Dank Überblick Die Entwicklungsumgebung

Mehr

Java Message Service im J2EE-Kontext

Java Message Service im J2EE-Kontext Java Message Service im J2EE-Kontext Im Folgenden soll kurz das Konzept der nachrichtenorientierten Kommunikation mit Hilfe von Messaging Services vorgestellt, und im Anschluss deren Einsatzmöglichkeiten

Mehr

Forms Desktop Kooperation

Forms Desktop Kooperation Forms Desktop Kooperation Oracle Forms in Integration & Interaktion Forms Day 2019 Motivation Kennen Sie diese Argumente? Kein modernes GUI.. fehlende Komponenten Forms zu starr und wird als Insel empfunden

Mehr

Introduction to Azure for Developers MOC 10978

Introduction to Azure for Developers MOC 10978 Introduction to Azure for Developers MOC 10978 In dem MOC Kurs 10978: Introduction to Azure for Developers lernen Sie, wie Sie die Funktionalität einer vorhandenen ASP.NET MVC Applikation so erweitern,

Mehr

Design Patterns. (Software-Architektur) Prof. Dr. Oliver Braun. Letzte Änderung: :12. Design Patterns 1/26

Design Patterns. (Software-Architektur) Prof. Dr. Oliver Braun. Letzte Änderung: :12. Design Patterns 1/26 Design Patterns (Software-Architektur) Prof. Dr. Oliver Braun Letzte Änderung: 11.07.2017 15:12 Design Patterns 1/26 Standardwerk Gang of Four: Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides:

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

Grundlagen und Best Practices bei der SharePoint Entwicklung

Grundlagen und Best Practices bei der SharePoint Entwicklung Grundlagen und Best Practices bei der SharePoint Entwicklung Peter Kirchner Consultant ITaCS GmbH Fabian Moritz Senior Consultant, MVP ITaCS GmbH Themen Entwicklungsumgebung vorbereiten SharePoint Objektmodell

Mehr

Empfehlungen für erfolgreiche ADF-Projekte. Volker Linz Oracle Deutschland B.V. & Co. KG

Empfehlungen für erfolgreiche ADF-Projekte. Volker Linz Oracle Deutschland B.V. & Co. KG Empfehlungen für erfolgreiche ADF-Projekte Volker Linz Oracle Deutschland B.V. & Co. KG Empfehlungen für erfolgreiche ADF-Projekte Architektur & Design Team & Skills Organisation & Entwicklungsprozess

Mehr

Micro Focus Unit Testing Framework in Visual COBOL 3.0. Rolf Becking 29.August 2017

Micro Focus Unit Testing Framework in Visual COBOL 3.0. Rolf Becking 29.August 2017 Micro Focus Unit Testing Framework in Visual COBOL 3.0 Rolf Becking 29.August 2017 Unser heutiges Webinar Wozu dient das Micro Focus Unit Testing Framework? Welches Konzept steckt dahinter? Wie wird ein

Mehr

TM1 in der Cloud. Motivation, Konzepte, Lösungsansätze. OLAPLINE GmbH

TM1 in der Cloud. Motivation, Konzepte, Lösungsansätze. OLAPLINE GmbH TM1 in der Cloud Motivation, Konzepte, Lösungsansätze 1 AGENDA Warum Cloud IBM Cloud MS Azure CLOUDIA Cloud Based Clients PALADIN Raptor Aussichten 2 Improvement in Cloud Übersicht Gründe für die Nutzung

Mehr

Unter Beobachtung. von Werner Eberling. Events in CDI. Das Magazin rund um Software-Entwicklung ISSN X 10/2017

Unter Beobachtung. von Werner Eberling. Events in CDI. Das Magazin rund um Software-Entwicklung ISSN X 10/2017 Das Magazin rund um Software-Entwicklung ISSN 1865-682X 10/2017 Unter Beobachtung Events in CDI von Werner Eberling Copyright 2017 Bookware 1865-682x/17/10/002 KaffeeKlatsch Jahrgang 10 / Nr. 5 / Mai 2017

Mehr

Moderne Android-App - Aber wie?

Moderne Android-App - Aber wie? Moderne Android-App - Aber wie? Daniel Bälz Karlsruhe, 21.11.2016 Greetings, Exalted One. Allow me to introduce myself. Star Wars: Episode VI - Return of the Jedi 2 waipu.tv Fernsehen wie noch nie Produkt

Mehr

PS Software Engineering WS 2018/19

PS Software Engineering WS 2018/19 PS Software Engineering WS 2018/19 Wöchentlich Dienstag 08:00-10:00 Start: 8:15 Termine: PLUSonline Homepage zum PS: Allgemeines www.softwareresearch.net Teaching Programmieren im Großen Die Entwicklung

Mehr

- Architektur & Integration -

- Architektur & Integration - - Architektur & Integration - ADF und BI Integration Jürgen Menge Sales Consultant, Oracle Deutschland B.V. & Co. KG E-Mail: juergen.menge@oracle.com +++ Bitte wählen Sie sich in die Telefonkonferenz entweder

Mehr

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire Integration von Web Services in J EE Anwendungen mit XFire 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire univativ : = Umsetzung durch Studenten und Young Professionals.

Mehr

Model View Controller Pattern

Model View Controller Pattern Christian Vogt HAW Hamburg 19. Dezember 2011 Inhaltsverzeichnis 1 Prolog Einleitung Entwurfsmuster andere Muster 2 Model-View-Controller Hintergrund Konzept Umsetzung 3 Beispiele Überblick Beispiel in

Mehr

Ein UI in zwei Welten - Controls in HTML5 und WPF. Timo Korinth

Ein UI in zwei Welten - Controls in HTML5 und WPF. Timo Korinth Ein UI in zwei Welten - Controls in HTML5 und WPF Timo Korinth Timo Korinth Lead Developer HTML5 bei maximago Zuvor.NET / WPF Entwicklung Warum überhaupt HTML5 und WPF? Was bedeutet Control-Entwicklung

Mehr

Inhaltsverzeichnis. Verwendung von TConnector in VC++.NET...4 Microsoft.NET Framework Tools - Anmerkung...5

Inhaltsverzeichnis. Verwendung von TConnector in VC++.NET...4 Microsoft.NET Framework Tools - Anmerkung...5 Inhaltsverzeichnis TConnector in Visual C++.Net einfügen (MFC Dialog)...2 1. MFC Projekt anlegen...2 2. TConnector in die Toolbox einfügen...2 3. TConnector im Customize Toolbox Dialog wählen...2 4. TConnector

Mehr

bsc Education Center bsc solutions GmbH & Co. KG Industriestr. 50 b, Walldorf Tel:

bsc Education Center bsc solutions GmbH & Co. KG Industriestr. 50 b, Walldorf Tel: bsc Education Center bsc solutions GmbH & Co. KG Industriestr. 50 b, 69190 Walldorf education@bsc-solutions.com Tel: +49 6227 384 85-100 www.bsc-solutions.com SCHULUNGSÜBERSICHT: SAPUI5 / SAP Fiori BSC-UI-300

Mehr

Langlebige Softwarearchitekturen der Weg aus den technischen Schulden

Langlebige Softwarearchitekturen der Weg aus den technischen Schulden Langlebige Softwarearchitekturen der Weg aus den technischen Schulden Dr. Carola Lilienthal, cl@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG 1 Business-Software, die Spaß

Mehr

DotNetNuke. Komplexe Websites erstellen und verwalten. von Daniel N. Egan, Hauser-Wenz Partnerschaftsgesellschaft. 1. Auflage. Hanser München 2005

DotNetNuke. Komplexe Websites erstellen und verwalten. von Daniel N. Egan, Hauser-Wenz Partnerschaftsgesellschaft. 1. Auflage. Hanser München 2005 DotNetNuke Komplexe Websites erstellen und verwalten von Daniel N. Egan, Hauser-Wenz Partnerschaftsgesellschaft 1. Auflage Hanser München 2005 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 40444

Mehr

Praxisbericht Oracle JDeveloper 11g ADF Rich Client Entwicklung

Praxisbericht Oracle JDeveloper 11g ADF Rich Client Entwicklung Praxisbericht Oracle JDeveloper 11g ADF Rich Client Entwicklung Ulrich Gerkmann-Bartels TEAM GmbH Paderborn Schlüsselworte: Oracle ADF, Best Practices Development, Erfahrungen Einleitung Durch das Release

Mehr

Modul Software Komponenten 01 Komponenten

Modul Software Komponenten 01 Komponenten Modul Software Komponenten 01 Komponenten Martin Jud Inhalt 1. Begriff 2. Bedeutung 3. Nutzen 4. Entwurf mit Komponenten HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 2 1. Begriff Definition

Mehr

Modernisierung der Schalterapplikation im laufenden Betrieb

Modernisierung der Schalterapplikation im laufenden Betrieb Modernisierung der Schalterapplikation im laufenden Betrieb Dieter Funk - Die Schweizerische Post Paolo Bazzi - BSI Business Systems Integration AG BSI Business Systems Integration AG Inhaltsverzeichnis

Mehr