Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert"

Transkript

1 Komponentenbasierte Softwareentwicklung mit PHP Oliver Schlicht - bitexpert

2 Überblick 1. Was ist eine Komponente? 2. Entwicklung eines Beispieldesigns 3. Dependency Injection 4. DI Container Garden 5. Demo 6. FAQ 7. Zusammenfassung ng 8. Ausblick Oliver Schlicht - bitexpert 2

3 1. Was ist eine Komponente Beispiel: Wohnraumkomponente ;) Oliver Schlicht - bitexpert 3

4 1. Was ist eine Komponente? Angebote Funktionalität von Fernseher ein- und ausschalten Sender wählen Funktionalitätsumfang basiert auf dem Interface Fernseher nicht auf dem eigentlichen Gerät Fernseher, nicht auf dem eigentlichen Gerät Oliver Schlicht - bitexpert 4

5 1. Was ist eine Komponente? Benötigte Funktionalität: Strom Fernsehanschluss es wird nur spezifiziert WAS benötigt wird, nicht WIE das Benötigte arbeitet es können verschiedene Geräte an den Fernsehanschluss angeschlossen werden, solang sie die benötigte Spezifikation erfüllen Oliver Schlicht - bitexpert 5

6 1. Was ist eine Komponente? Zusammenfassung: Angebotene Funktionalität (Provided Interface, PI) Benötigte Funktionalität (Required Interface, RI) Black Box austauschbar Übertragung in (PHP)OO-Welt Komponente == Klasse? Angebotene Funktionalität -> Klassenschnittstelle Benötigte Funktionalität ->? Oliver Schlicht - bitexpert 6

7 2. Entwicklung eines Beispieldesigns Ratingsystem - Anforderungen Ausgangspunkt: Ebay ohne Bewertungssystem Kunden sollen Anbieter nach erfolgter Geschäftsabwicklung bewerten können Anbieter tragen ein Rating mit sich, welches durch abgegebene g Reviews beeinflusst und verändert wird Komponente RatingManager Datentypen: BOCustomer, BOReview DAO: DAOCustomer, DAOReview Oliver Schlicht - bitexpert 7

8 2. Entwicklung eines Beispieldesigns Erster Entwurf Service Layer Komponente service::ratingmanager Business Objects (Datentypen) «interface» bo::ibo +bookreview(ein ireviewid : int) DAO Layer dao::dao +readbyprimarykey(ein iprimarykey : int) +save(ein pobo : IBO) dao::daocustomer dao::daoreview bo::bocustomer -icustomerid : int -sname : string -icustomernumber : int bo::boreview -ireviewid : int -icustomerid : int -iproviderid : int Abhängigkeiten Oliver Schlicht - bitexpert 8

9 2. Entwicklung eines Beispieldesigns Analyse Probleme Schritt 1 Kein PI Nutzende Komponenten binden sich direkt an die Implementierung Kein RI Benutzer der Komponente weiß nichts über versteckte Abhängigkeit direkte Kopplung an Implementierung von benötigten Komponenten Feste Bindung sorgt für schlechte Austauschbarkeit und Untestbarkeit Programmieren gegen Interfaces Oliver Schlicht - bitexpert 9

10 2. Entwicklung eines Beispieldesigns Interfaces für Komponenten einführen Service Layer «interface» service::iratingmanager +bookreview(ein ireviewid : int) impl::ratingmanager Business Objects (Datentypen) «interface» bo::ibo «interface» dao::idaocustomer DAO Layer impl::dao +readbyprimarykey(ein iprimarykey : int) +save(ein pobo : IBO) «interface» dao::idaoreview bo::bocustomer -icustomerid : int -sname : string -icustomernumber : int bo::boreview -ireviewid : int -icustomerid : int -iproviderid : int impl::daocustomer impl::daoreview Oliver Schlicht - bitexpert 10

11 2. Entwicklung eines Beispieldesigns Analyse Probleme Keine PI Nutzende Komponenten binden sich direkt an die Implementierung Kein RI Benutzer der Komponente weiß nichts über versteckte Abhängigkeit direkte Kopplung an Implementierung Feste Bindung sorgt für schlechte Austauschbarkeit und Untestbarkeit WiekommtdieKomponenteanInstanzenbenötigter Klassen? Oliver Schlicht - bitexpert 11

12 2. Entwicklung eines Beispieldesigns Analyse Probleme Kein RI Schritt 2 Benutzer der Komponente weiß nichts über versteckte Abhängigkeit Wie kommt die Komponente an Instanzen benötigter Klassen? Dependency Injection Oliver Schlicht - bitexpert 12

13 3. Dependency Injection Objekt erzeugt Referenzen nicht selbst sondern bekommt sie zugewiesen ( Inversion of Control ) Folge: Abhängigkeiten sind an der Schnittstelle erkennbar (RI) Objekt bleibt passiv Referenzen können ausgetauscht werden (bessere Testbarkeit Oliver Schlicht - bitexpert 13

14 3. Dependency Injection Constructor Injection Vorteil Nach dem Instanziieren der Komponente weiß ich, dass ich ein fertig konfiguriertes Objekt habe Nachteil Im Nachhinein ist keine Umkonfiguration mehr möglich Setter Injection Vorteil Komponente wird zur Laufzeit umkonfigurierbar Nachteil evtl. Nullpointer durch nicht initialisierte Referenzen Oliver Schlicht - bitexpert 14

15 4. DI Container - Garden Problem Wer instanziiert die Komponente bzw. steuert den Lebenszyklus? Woher weiß derjenige, welche Instanz er einsetzen soll? Lösung: Container Stück Software, dass Komponenteninstanzen erzeugt, zerstört und Funktionalität für K. anbietet ermöglicht das Eingreifen in den Zyklus über Callbackinterfaces Oliver Schlicht - bitexpert 15

16 4. DI Container - Garden Garden ( angelehnt an Spring ( Zugriff auf Komponenten über ApplicationContext im Prinzip eine Factory Beschreibung der Komponenten per XML Oliver Schlicht - bitexpert 16

17 4. DI Container - Garden Komponentenkonfiguration <beans> <! - Services --> <bean id= RatingManager class= service.ratingmanager > <constructor-arg ref= DAOCustomer /> <constructor-arg ref= DAOReview DAOReview /> </bean> <! DAOs --> <bean id= DAOCustomer class= dao dao.daocustomer DAOCustomer >.. </bean> <bean id= DAOReview class= dao.daoreview >.. </bean> </beans> Oliver Schlicht - bitexpert 17

18 4. DI Container - Garden Zugriff auf die Komponente <?php?> // Initialisieren des AC // XML File wird geparst $octx = ApplicationContext::getInstance(); // Komponente holen // (wird instanziiert oder aus dem Cache geladen) $oratingmanager = $octx->getbean( RatingManager ); $oratingmanager->bookreview(1); -> 5. Demo Oliver Schlicht - bitexpert 18

19 6. FAQ Welche Klassen werden Komponenten? Im allgemeinen Klassen die Dienste erbringen Keine Klassen die Datenstrukturen beschreiben Entwicklungsaufwand Overhead an XML Beschreibungsdaten Vorteile Klare Trennung von Komponentenschnittstelle, - implementierung und konfiguration (SOC) Komponente lässt sich durch einfaches Umkonfigurieren mehrfach nutzen Oliver Schlicht - bitexpert 19

20 6. FAQ Wie groß ist der Parsingaufwand? XML sollte nicht jedes Mal neu geparst werden -> Serialisieren i und din Datei ilegen Aktuelles Projekt (20000 Zeilen Code) -> ms Globale Abhängigkeit vom ApplicationContext ACs sollten möglichst selten instanziiert werden Konfigurationsdaten über configvalue setzen Zugriff auf den AC über IApplicationContextAware Oliver Schlicht - bitexpert 20

21 7. Zusammenfassung Methodische Aspekte Trennung von Interface und Implementierung Deklarierung von PI und RI (zumindest durch Doku) Mit DI / Garden möglich Offenlegung des RI an der Schnittstelle der Klasse Trennung von Implementierung und Konfiguration Bessere (Unit) Testbarkeit der Komponenten Bessere Wartbarkeit / Wiederverwendung Oliver Schlicht - bitexpert 21

22 8. Ausblick Erweiterte Features des bitframework DI gesteuertes MVC Framework (ähnlich Spring MVC) ActionResolver, ViewResolver, Validatoren FormActions Vorgefertigte Komponenten / Basisklassen Authentifiziertung, Authorisierung, Transaktionshandling Geschäftsobjekte (BO), DataAccessObjects (DAO) Integration für PHPUnit Unittest, Integrationstest, transaktionale Integrationstests Utilities Mail, Datumsklassen, Logging usw. Oliver Schlicht - bitexpert 22

23 8. Fragen? Oliver Schlicht - bitexpert 23

24 Quellen Martin Fowler Dependency Injection Steve MC McConnell Code Complete Second/dp/ X/sr=8-2/qid= /ref=pd 8 pd_ka_2/302 2/ ?ie=UTF8&s=books Kontakt: t Oliver Schlicht - bitexpert 24

Application Frameworks

Application Frameworks Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

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

Business Objekte. Der Schlüssel für Applikationen mit Zukunft. 2001 TMN Systemberatung GmbH www.tmn-systemberatung.de. Folie 1

Business Objekte. Der Schlüssel für Applikationen mit Zukunft. 2001 TMN Systemberatung GmbH www.tmn-systemberatung.de. Folie 1 Business Objekte Der Schlüssel für Applikationen mit Zukunft 2001 TMN Systemberatung GmbH Folie 1 Agenda Kurze Vorstellung Die Theorie hinter Business Objekten Business Objekte (BOs) in der Praxis Anbindung

Mehr

G s e a s m a t m ar a ch c i h tek e tur u I und IoC

G s e a s m a t m ar a ch c i h tek e tur u I und IoC Gesamtarchitektur I und IoC Schichten einer Web-Anwendung Initiiert durch J2EE und Spring: Strukturierte Sicht auf UI und Fachlogik (Domäne) Ergibt 5 Schichten: Man unterscheidet Präsentations- und Domänenmodell!

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Mufid Sulaiman mufidsulaiman@web.de

Mufid Sulaiman mufidsulaiman@web.de Mufid Sulaiman mufidsulaiman@web.de Überblick Frameworks Applikationsentwicklung mit Frameworks Komponentenbasierte Frameworks Einführung in Enterprise JavaBean Einführung in SanFrancisco Vergleich Enterprise

Mehr

Hivemind Ein leichtgewichteter Container

Hivemind Ein leichtgewichteter Container Hivemind Ein leichtgewichteter Container Manfred Wolff, wolff@manfred-wolff.de, www.manfred-wolff.de Container sind Laufzeitumgebungen für Objekte. Der mächtigste Container im Java-Umfeld der EJB Container

Mehr

Architektur und Qualität. Tjard Köbberling

Architektur und Qualität. Tjard Köbberling Architektur und Qualität Tjard Köbberling Gliederung Überblick Architektur und Qualität? Architekturentwurf Anforderungsanalyse Strukturierung Architekturbeschreibungen - Sichten Fallbeispiel 2 Architektur

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

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

REST-Services mit Dropwizard ruck-zuck erstellt, dokumentiert und getestet

REST-Services mit Dropwizard ruck-zuck erstellt, dokumentiert und getestet .consulting.solutions.partnership REST-Services mit Dropwizard ruck-zuck erstellt, dokumentiert und getestet Alexander Schwartz, Principal IT Consultant Berlin Expert Days 2015 REST-Services ruck-zuck

Mehr

Annotations in PHP. Von Dokumentation bis Funktionalität. Thorsten Hallwas, Software Engineer Florian Sonnenburg, Project Lead

Annotations in PHP. Von Dokumentation bis Funktionalität. Thorsten Hallwas, Software Engineer Florian Sonnenburg, Project Lead Annotations in PHP Von Dokumentation bis Funktionalität Thorsten Hallwas, Software Engineer Florian Sonnenburg, Project Lead 1 Über uns Thorsten Hallwas Software Engineer ICANS GmbH Dipl.-Inf. (FH) Zend

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

Dependency Injection in der Praxis: Spring, PicoContainer und Eclipse im Vergleich

Dependency Injection in der Praxis: Spring, PicoContainer und Eclipse im Vergleich Dependency Injection in der Praxis: Spring, PicoContainer und Eclipse im Vergleich Dipl.-Informatiker Martin Lippert Senior IT-Berater martin.lippert@it-agile.de http://www.it-agile.de/ Überblick Motivation

Mehr

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Überblick 1.Einfürung in die Multi-Tier Architektur 2.Ausgangspunkt und Probleme 3.Rundgang durch die Architektur 4.Architektur

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

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

Strategische Flexibilität durch komponentenbasierte Software-Entwicklung Prof. Dr. Frank Thiesing

Strategische Flexibilität durch komponentenbasierte Software-Entwicklung Prof. Dr. Frank Thiesing Strategische Flexibilität durch komponentenbasierte Software-Entwicklung Prof. Dr. Frank Thiesing Das Forschungsprojekt Das Forschungsprojekt Strategische t Flexibilität durch komponentenbasierte t Software-Entwicklung

Mehr

Hibernate Das Praxisbuch für Entwickler

Hibernate Das Praxisbuch für Entwickler Sebastian Hennebrüder 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Hibernate Das Praxisbuch für Entwickler Galileo

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps Projekt: Intern Softwareprojekt FH Furtwangen Status: Draft Ersteller: Kai Grabfelder Datum: 11.02.2007 Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps 1 Beschreibung... 2 Semesterprojekt...

Mehr

Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung

Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung Jan Düttmann Archimedon Software + Consulting GmbH & Co. KG Marienstraße 66 32427 Minden Stephan Kleuker Hochschule

Mehr

Komponentenbasierte Softwareentwicklung

Komponentenbasierte Softwareentwicklung Seminar WS04 Komponentenbasierte Softwareentwicklung Karl Pauls Software-Komponente A software component is a unit of composition with contractually specified interfaces and explicit context dependencies

Mehr

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen

Mehr

Artikel Test-Organisation in grösseren Magento(1)-Projekten

Artikel Test-Organisation in grösseren Magento(1)-Projekten Artikel Test-Organisation in grösseren Magento(1)-Projekten Ein Tipp von unserem Entwickler Claudio Kressibucher Köln/Bergisch Gladbach Münster Aachen Kapstadt/Südafrika www.kennziffer.com GmbH Friedrich-Ebert-Straße

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

aseaco Central Master Data Management Framework - Whitepaper -

aseaco Central Master Data Management Framework - Whitepaper - aseaco Central Master Data Management Framework - Whitepaper - Autor: Udo Zabel Das aseaco Central Master Data Management Framework (CMDMF) ermöglicht erfolgreiches kollaboratives Stammdatenmanagement

Mehr

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013 Software Komponenten FS13 Gruppe 03 Horw, 16.04.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Estermann Michael

Mehr

1. Motivation 2. Begriffsklärung 3. Komponententests 4. Integrationstests 5. Integrationsstrategien 6. Zusammenfassung

1. Motivation 2. Begriffsklärung 3. Komponententests 4. Integrationstests 5. Integrationsstrategien 6. Zusammenfassung Übersicht s s Gregoire Kemgne 1 Motivation Problem: Software wird immer größer und komplexer, dadurch ist diese immer schwerer zu überschauen Ein Projekt benötigt mehr Zeit und/oder Entwickler. Lösung:

Mehr

Security in.net 2.0. Thomas Stanek

Security in.net 2.0. Thomas Stanek Security in.net 2.0 2 Content 1. Verwendung 2. Überblick 3. Features im Detail a. Windows Accounts und SIDs b. Sichere Datenübertragung (SSL) c. X509 -Zertifikate d. Data Protection API (DPAPI) e. SecureStrings

Mehr

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services Themen Web Services und SOA Wer kennt den Begriff Web Services? Was verstehen Sie unter Web Services? Die Idee von Web Services Ausgangspunkt ist eine (evtl. schon bestehende) Software Anwendung oder Anwendungskomponente

Mehr

6 Architektur-Mittel (WOMIT)

6 Architektur-Mittel (WOMIT) 6 Architektur-Mittel (WOMIT) Abb. 6-1: Positionierung des Kapitels im Ordnungsrahmen. Dieses Kapitel befasst sich mit der WOMIT-Dimension des architektonischen Ordnungsrahmens, indem es grundlegende Konzepte

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

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

Metadata Service Respository (MDS) - Sehen, lernen, verstehen!

Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Carsten Wiesbaum esentri AG Schlüsselworte Metadata Service Repository, MDS, Oracle Fusion Middleware Einleitung Früher oder später wird jeder

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

Einführung in C# Teil 1. Matthias Nübling

Einführung in C# Teil 1. Matthias Nübling Einführung in C# Teil 1 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,

Mehr

Software-Entwurfsmuster

Software-Entwurfsmuster Software-Entwurfsmuster Prinzip von Entwurfsmustern und einige elementare Beispiele Malte Spiess malte@mathematik.uni-ulm.de Seminar Bildanalyse und Simulation mit Java im WS 2003/2004 Universität Ulm

Mehr

Komponentenbasierte Client-Architektur. Bernd Olleck, IT Beratung Olleck Dr. Martin Haft, sd&m AG München,

Komponentenbasierte Client-Architektur. Bernd Olleck, IT Beratung Olleck Dr. Martin Haft, sd&m AG München, Komponentenbasierte Client-Architektur Bernd Olleck, IT Beratung Olleck Dr. Martin Haft, sd&m AG München, 5.5.2008 Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche

Mehr

Inhaltsverzeichnis. Vorwort...XIII. Aufbau des Buches...

Inhaltsverzeichnis. Vorwort...XIII. Aufbau des Buches... Inhaltsverzeichnis Vorwort...XIII Aufbau des Buches............................................... XV 1 Von der Idee zur Software..................................... 1 1.1 Beispielanwendung... 1 1.2 Schritte

Mehr

Skalierbare Webanwendungen mit Python und Google App Engine

Skalierbare Webanwendungen mit Python und Google App Engine Skalierbare Webanwendungen mit Python und Google App Engine Oliver Albers 03. Juli 2008 1/32 Einführung Worum geht es? Pro und Contra Technik Genereller Aufbau Anwendungskonfiguration Verarbeitung von

Mehr

Design Patterns 2. Model-View-Controller in der Praxis

Design Patterns 2. Model-View-Controller in der Praxis Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden

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

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Übungsaufgabe Transaktion als Middleware

Übungsaufgabe Transaktion als Middleware Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung

Mehr

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG Unit-Test Theorie und Praxis Stephan Seefeld, INGTES AG Inhalt Was sind Unit-Test? NUnit für.net Demo Seite 2 Quellen Für diesen Vortrag verwendete Quellen: dotnet User Group Berlin Brandenburg http://www.dotnet-berlinbrandenburg.de/

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Dr. Simon Giesecke Falko Basner Dr. Jörg Friebe. Bad Honnef, 3. Mai 2010

Dr. Simon Giesecke Falko Basner Dr. Jörg Friebe. Bad Honnef, 3. Mai 2010 Architekturentscheidungen für große langlebige Softwaresysteme: Vendor-Lock-in- und Netz-Effekte Menschen beraten Menschen beraten BTC zeigt Wege auf - Sie entscheiden BTC zeigt Wege auf - Sie entscheiden

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

OSGi-basierte Webapplikationen Ein Erfahrungsbericht

OSGi-basierte Webapplikationen Ein Erfahrungsbericht OSGi-basierte Webapplikationen Ein Erfahrungsbericht Zürich, 18. März 2009 Pascal Nüesch, Software Engineer 1 www.namics.com Zu meiner Person» Lehre als Elektroniker mit Schwerpunkt SW-Entwicklung» Java

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

.NET-Networking 2 Windows Communication Foundation

.NET-Networking 2 Windows Communication Foundation .NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering Agenda Grundproblem Bestandteile

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

Java-Objekte mit SQL verheiraten

Java-Objekte mit SQL verheiraten ITMAGAZINE Java-Objekte mit SQL verheiraten 24. November 2006 - ibatis ermöglicht die Abstraktion von SQL-Datenbanken, ohne dass man auf von Hand geschriebene SQL-Abfragen verzichten muss. Entwickelt man

Mehr

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere

Mehr

Enterprise Softwarearchitekturen in Java

Enterprise Softwarearchitekturen in Java Enterprise Softwarearchitekturen in Java Dauer: 5 Tage 1. Tag: Vorbereitungstag...2 Der erste Tag richtet sich an alle, die bislang wenig Praxiserfahrung mit der Programmiersprache Java haben. Die Teilnehmer

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

Dieser Artikel bietet eine Einführung in die Konzepte der Lightweight Container und beschreibt das grundlegende Konzept, das Inversion of Control.

Dieser Artikel bietet eine Einführung in die Konzepte der Lightweight Container und beschreibt das grundlegende Konzept, das Inversion of Control. Betrifft: Abnehmen leicht gemacht - Lightweight Container auf dem Vormarsch Autor: Guido Schmutz Art der Info: Whitepaper (Juni 2005) Quelle: Aus unserem TechnoCircle und TTC (Trivadis Technology Center)

Mehr

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

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

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Newspaper Online Publishing einer Tageszeitung

Newspaper Online Publishing einer Tageszeitung Newspaper Online Publishing einer Tageszeitung TYPO3Camp Potsdam, Newspaper: Eine Lösung zur Online-Präsentation für Verlage und Zeitungen Newspaper Teil 1: Die Extension Newspaper Referent: Samuel Talleux

Mehr

WIE MAN MIT LOCALDB, FAKES UND ANDEREN ZUTATEN TESTBARERE.NET SYSTEME BEKOMMT. Entwicklertag 2014 von Andreas Bräsen

WIE MAN MIT LOCALDB, FAKES UND ANDEREN ZUTATEN TESTBARERE.NET SYSTEME BEKOMMT. Entwicklertag 2014 von Andreas Bräsen WIE MAN MIT LOCALDB, FAKES UND ANDEREN ZUTATEN TESTBARERE.NET SYSTEME BEKOMMT Entwicklertag 2014 von Andreas Bräsen ZIEL DES VORTRAGES Es soll gezeigt werden, wie man ein auf.net basiertes System so erweitert,

Mehr

Mapbender3 Workshop. Christian Wygoda. FOSSGIS Dessau 2012

Mapbender3 Workshop. Christian Wygoda. FOSSGIS Dessau 2012 Mapbender3 Workshop Christian Wygoda FOSSGIS Dessau 2012 Christian Wygoda Mapbender3 Developer Team PSC (Project Steering Commitee) WhereGroup Bonn http:///www.wheregroup.com Mapbender3 Einführung in Mapbender

Mehr

Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen

Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- entwicklung von Fahrzeugen Martin Jaensch, Dr. Bernd Hedenetz, Markus Conrath Daimler AG Prof. Dr. Klaus D. Müller-Glaser

Mehr

Szenario 3: Service mit erweiterter Schnittstelle

Szenario 3: Service mit erweiterter Schnittstelle 2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich

Mehr

Anwendungsentwicklung mit Spring

Anwendungsentwicklung mit Spring Anwendungsentwicklung mit Spring Eberhard Wolff Managing Director Interface21 GmbH Interface21 - Spring from the Source Interface21 Produkte u.a. Spring Framework Spring from the Source Consulting, Training,

Mehr

OO Softwareentwicklung

OO Softwareentwicklung OO Softwareentwicklung Objektorientierung Prof. Dr. Bernhard Schiefer 1 OO als Ansatz zur Verbesserung der Software-Qualität Modellierung der Welt als selbständig agierende Objekte. Gemeinsame Beschreibung

Mehr

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges Komponentenbasierte Client-Architektur Hamburg, 16.11.2007 Bernd Olleck IT-Beratung Olleck Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche Sicht Aufgaben eines Clients

Mehr

Zend Framework MVC Applikationen testen

Zend Framework MVC Applikationen testen Zend Framework MVC Applikationen testen Jan Burkl, System Engineer, Zend Technologies Wer bin ich? Jan Burkl jan.burkl@zend.com PHP Entwickler seit 2001 Projektarbeit Bei Zend seit 2006 System Engineer

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

INTEGRATION TEST HELL ODER WIE INTEGRATIV SOLL ICH TESTEN?

INTEGRATION TEST HELL ODER WIE INTEGRATIV SOLL ICH TESTEN? INTEGRATION TEST HELL ODER WIE INTEGRATIV SOLL ICH TESTEN? David Völkel XPDays Germany 14.11.2013 ÜBER MICH David Völkel IT-Consultant für codecentric Twitter: @davidvoelkel Schwerpunkte: Test-Driven Development

Mehr

IT-Projekt-Management

IT-Projekt-Management IT-Projekt-Management email: vuongtheanh@netscape.net http: www.dr-vuong.de 2005 by, Bielefeld Seite 1 Vorgehensmodell 2005 by, Bielefeld Seite 2 Was ist ein Vorgehensmodell? Strukturbeschreibung über

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

Qualitätsmanagement im Projekt

Qualitätsmanagement im Projekt Software-Engineering Qualitätsmanagement im Projekt Vorlesung im Wintersemester 2008/2009 Fakultät Wirtschaftsinformatik Klaus Mairon, M.Sc. Inhalte Messen und Bewerten: Metriken in der Qualitätssicherung

Mehr

CLICK TO EDIT MASTER TITLE STYLE

CLICK TO EDIT MASTER TITLE STYLE CLICK TO EDIT MASTER TITLE STYLE AUTOMATISCHE ERZEUGUNG VON BENUTZEROBERFLÄCHEN UND DATENHALTUNG FÜR DIE KONFIGURATION VON FELDGERÄTEN Diplomverteidigung Betreuer (Firma ubigrate): Dipl.-Inform. Falk Hartmann

Mehr

EIN BRANCH FÜR JEDEN KUNDEN?

EIN BRANCH FÜR JEDEN KUNDEN? EIN BRANCH FÜR JEDEN KUNDEN? WIE INDIVIDUALISIERUNG UND STANDARDISIERUNG IN EINKLANG GEBRACHT WERDEN KÖNNEN AIT GmbH & Co. KG Ihre Software effizienter entwickelt. 2 AGENDA Die Unternehmen und ihre Produkte

Mehr

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen <henning@apache.org>

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen <henning@apache.org> Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen Henning P. Schmiedehausen Turbine - ein berblick Open Source unter Apache License 100% pure Java, Java 2 (JDK 1.2+) Servlet-basiertes

Mehr

Dependency Injection mit dem Unity Container

Dependency Injection mit dem Unity Container 1 Dependency Injection mit dem Unity Container Vom Problem zur Lösung unter Anwendung des Unity Containers W3L AG info@w3l.de 2015 2 Inhalt Problemstellung Einführung Dependency Injection Manuelle Objektkomposition

Mehr

Absicherung von Grid Services Transparenter Application Level Gateway

Absicherung von Grid Services Transparenter Application Level Gateway Absicherung von Grid Services Transparenter Application Level Gateway Thijs Metsch (DLR Simulations- und Softwaretechnik) Göttingen, 27.03.2007, 2. D-Grid Security Workshop Folie 1 Überblick Gliederung

Mehr

Unit Testing mit JUnit. Dr. Andreas Schroeder

Unit Testing mit JUnit. Dr. Andreas Schroeder Unit Testing mit JUnit Dr. Andreas Schroeder Überblick Was dieses Video behandelt Warum Testen? Was sind Unit Tests? Der Teufelskreis des Nicht-Testens JUnit Unit Test Vorteile Test-Inspiration Wann aufhören?

Mehr

Ruby on Rails. Thomas Baustert Ralf Wirdemann www.b-simple.de. Alternative zur Web-Entwicklung mit Java? 27.06.2005 www.b-simple.

Ruby on Rails. Thomas Baustert Ralf Wirdemann www.b-simple.de. Alternative zur Web-Entwicklung mit Java? 27.06.2005 www.b-simple. Ruby on Rails Alternative zur Web-Entwicklung mit Java? Thomas Baustert Ralf Wirdemann www.b-simple.de 27.06.2005 www.b-simple.de 1 Überblick Was ist Ruby on Rails? Weblog Demo Rails Komponenten Controller,

Mehr

Filemaker Module. Einführung in die Vorteile modularer Filemaker Programmierung. Karsten Risseeuw, Kursiv Software

Filemaker Module. Einführung in die Vorteile modularer Filemaker Programmierung. Karsten Risseeuw, Kursiv Software Einführung in die Vorteile modularer Filemaker Programmierung, Kursiv Software karsten@kursiv.com, www.kursiv-software.com Ansatz zu einer modularen Filemaker Programmierung nach Ideen von Todd Geist.

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

Klassenbeziehungen & Vererbung

Klassenbeziehungen & Vererbung Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in

Mehr

Markus Wichmann. Testen von Java Code mit. JUnit

Markus Wichmann. Testen von Java Code mit. JUnit Markus Wichmann Testen von Java Code mit JUnit Demotivation... Am Anfang war der Zeitdruck... Hilfe, ich habe doch keine Zeit zum Testen! Ich schreibe einfach keine Tests, dadurch werde ich schneller fertig

Mehr

Vorstellung. Wie entsteht Architektur in Scrum

Vorstellung. Wie entsteht Architektur in Scrum Vorstellung Thema Architektur - Begriffsdefinition Eine Architektur (vοn griechisch αρχή = Anfang, Ursprung und lateinisch tectum = Haus, Dach) beschreibt in der Informatik im Allgemeinen das Zusammenspiel

Mehr

-Technische Dokumentation-

-Technische Dokumentation- -Technische Dokumentation- Dokumenthistorie Version Datum Autor Erläuterungen 0.1 17.06.2008 Thomas Bretzke Initialversion 0.2 26.06.2008 Thomas Bretzke Diagramme eingefügt Christian Rösike 0.9 28.06.2008

Mehr

Oliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring?

Oliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring? oliver@code-project.org 7. Februar 2006 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2

Mehr

Mapbender3 nimmt Fahrt auf

Mapbender3 nimmt Fahrt auf 2013 Mapbender3 nimmt Fahrt auf Astrid Emde Where2B 2013 Bonn Mapbender3 Astrid Emde Where2B 12. 12. 2013 Bonn Was macht Mapbender? WebGIS Client Suite mit Administrations Webinterface 3 / 64 Erzeugen

Mehr

Java Beans Enterprise Java Beans. Eine kurze Einführung in die Welt der Bohnen

Java Beans Enterprise Java Beans. Eine kurze Einführung in die Welt der Bohnen Java Beans Enterprise Java Beans Eine kurze Einführung in die Welt der Bohnen Java Beans Einführung Stefan Sauer Was ist ein Java Bean? Beans sind Komponenten. Einmal schreiben Überall wiederverwerten

Mehr

Projekt: Requirements Engineering Sommersemester 2002. Anforderungsspezifikation im X-Treme Programming

Projekt: Requirements Engineering Sommersemester 2002. Anforderungsspezifikation im X-Treme Programming Projekt: Requirements Engineering Sommersemester 2002 Vortrag von Bernd Simmchen Anforderungsspezifikation im X-Treme Programming Gliederung 1 XP Eine kurze Einführung 2 Anforderungsspezifikation Klassisch

Mehr

Softwareengineering. Schwerpunkt Software Engineering Ausbildung

Softwareengineering. Schwerpunkt Software Engineering Ausbildung Softwareengineering Schwerpunkt Software Engineering Ausbildung Agenda Vgl. alte/neue Stundentafel für PR u. SE Kompetenzbereiche im neuen Lehrplan Geplante Lehrstoffverteilung PR u. SE (neu) Zusätzliche

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

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

Architektur und Implementierung von Apache Derby

Architektur und Implementierung von Apache Derby Architektur und Implementierung von Apache Derby Das Zugriffssystem Carsten Kleinmann, Michael Schmidt TH Mittelhessen, MNI, Informatik 16. Januar 2012 Carsten Kleinmann, Michael Schmidt Architektur und

Mehr

SE2-10-Entwurfsmuster-2 15

SE2-10-Entwurfsmuster-2 15 Architektur und Skalierbarkeit SE2-10-Entwurfsmuster-2 15 Skalierbarkeit Skalierbarkeit bedeutet die Anpassung einer Software an wachsende Last: Interaktionsfrequenz Nutzerzahl Anpassung durch Hinzufügen

Mehr

Die Alternative zum Web-Form Modell

Die Alternative zum Web-Form Modell Marc André Zhou Solution Architect www.dev -sky.net www.just -sp.net Die Alternative zum Web-Form Modell dotnet Cologne 03.05.2013 Agenda Web Forms vs. MVC ASP.NET MVC Features Web API ODATA Eine ASP.NET

Mehr