Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert
|
|
- Michaela Bergmann
- vor 8 Jahren
- Abrufe
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: o.schlicht@bitexpert.de ht@bite t Oliver Schlicht - bitexpert 24
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
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrC# 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
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrTestplan. 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
MehrKlassenentwurf. 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
MehrApplication Frameworks
Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung
MehrGrundlagen 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
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrSDD System Design Document
SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrDesign 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
MehrThemen. 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
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
MehrJava Enterprise Architekturen Willkommen in der Realität
Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen
MehrAlbert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen
Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.
MehrEclipse 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...
MehrFragen und Antworten
Fragen und Antworten im Umgang mit dem elektronischen Abfallnachweisverfahren eanv in Bezug auf die ZKS-Abfall -Allgemeine Fragen- www.zks-abfall.de Stand: 19.05.2010 Einleitung Auf den folgenden Seiten
MehrBIF/SWE - Übungsbeispiel
BIF/SWE - Übungsbeispiel Arthur Zaczek Feb 2015 1 Allgemein 1.1 Ziele Ziele dieses Übungsbeispieles ist es: GUI: Implementierung einer grafischen Oberfläche mit JavaFX oder WPF UI-Komponente: Implementierung
MehrObjektorientierte 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
MehrISA 2004 - Einrichtung einer DFUE VErbindung - von Marc Grote
Seite 1 von 10 ISA Server 2004 Einrichten einer DFÜ Verbindung - Von Marc Grote -------------------------------------------------------------------------------- Die Informationen in diesem Artikel beziehen
MehrGISA. Definition Spoolfiles
GISA Definition Spoolfiles Definition Spoolfiles 2 Inhaltsverzeichnis 1 Berechtigung Spoolfiles 3 1.1 Berechtigung der Outqueues für allgemeine Ausdrucke 4 1.1.1 EDTOBJAUT (Objektberechtigung editieren)
MehrCopyright 2014 Delta Software Technology GmbH. All Rights reserved.
Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für
MehrHow-to: Webserver NAT. Securepoint Security System Version 2007nx
Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver
MehrWEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ
WEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ HERZLICH WILLKOMMEN BEI WEBINAR@LUNCHTIME Moderation Anne K. Bogner-Hamleh SAS Institute GmbH Education Consultant Training
MehrSchluss mit langweiligen Papierexposees! Die Zukunft heißt immodisplay. Vision Displays GmbH Schnackenburgallee 41b 22525 Hamburg
Schluss mit langweiligen Papierexposees! Die Zukunft heißt immodisplay. Vision Displays GmbH Schnackenburgallee 41b 22525 Hamburg Tel.: 040-500 505 60 Fax: 040-500 505 61 E-Mail: info@visiondisplays.de
MehrSJ OFFICE - Update 3.0
SJ OFFICE - Update 3.0 Das Update auf die vorherige Version 2.0 kostet netto Euro 75,00 für die erste Lizenz. Das Update für weitere Lizenzen kostet jeweils netto Euro 18,75 (25%). inkl. Programmsupport
MehrBedienungsanleitung PC-Konfigurationssoftware des ID Inclinometers
Bedienungsanleitung PC-Konfigurationssoftware des ID Inclinometers 1. Installation und Programmstart Die Verbindung zum Inclinometer funktioniert nicht unter Windows XP, 2000. 1.1 Installation Zur Installation
MehrUniversität Zürich Informatikdienste. SpamAssassin. Spam Assassin. 25.04.06 Go Koordinatorenmeeting 27. April 2006 1
Spam Assassin 25.04.06 Go Koordinatorenmeeting 27. April 2006 1 Ausgangslage Pro Tag empfangen die zentralen Mail-Gateways der Universität ca. 200 000 E-Mails Davon werden über 70% als SPAM erkannt 25.04.06
MehrSchedulingund Thread-Ausführer
Schedulingund Thread-Ausführer Scheduling Ein Scheduler arbeitet Programmstücke nach einer festen Zeitspanne oder zu einer fixen Zeitpunkt wiederholt oder einmal ab. Notwendigkeiten für Scheduling sind
MehrFassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing
Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster
MehrOWASP 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
MehrMailUtilities: Remote Deployment - Einführung
MailUtilities: Remote Deployment - Einführung Zielsetzung Die Aufgabe von Remote Deployment adressiert zwei Szenarien: 1. Konfiguration der MailUtilities von einer Workstation aus, damit man das Control
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
Mehre-books aus der EBL-Datenbank
e-books aus der EBL-Datenbank In dieser Anleitung wird erklärt, wie Sie ein ebook aus der EBL-Datenbank ausleihen und mit dem Programm Adobe Digital Edition öffnen. Folgende Vorraussetzungen sind eventuell
MehrSE2-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
MehrRobot Karol für Delphi
Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško
MehrDas Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin
Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?
MehrDiplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008
Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen
MehrAnforderungen an die HIS
Anforderungen an die HIS Zusammengefasst aus den auf IBM Software basierenden Identity Management Projekten in NRW Michael Uebel uebel@de.ibm.com Anforderung 1 IBM Software Group / Tivoli Ein Feld zum
MehrDatabear Software Installer
Installer Der Installer ist ein -Produkt, mit dem eigene Installationen für Windows-Anwendungen erstellt werden können. Mit diesem Produkt soll jeder in der Lage sein, schnell, unkompliziert und ohne detailliertes
Mehrcrm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe
crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms: Webdesigner Handbuch Copyright 2006 crm-now Versionsgeschichte Version 01 2006-08-21 Release Version crm-now c/o im-netz Neue
MehrNeue Funktionen im GUI für PC-DMIS V3.x 4.x Seite 1 von 8
Neue Funktionen im GUI für PC-DMIS V3.x 4.x Seite 1 von 8 Neue Funktionen im GUI ab V 2.x für PC-DMIS Wie funktioniert GUI für PC-DMIS? GUI heißt Grafical User Interface. Das bedeutet grafische Benutzer
MehrIndividuelle Erweiterung des generierten Codes. 16. Januar 2013
Individuelle Erweiterung des generierten Codes 16. Januar 2013 Überblick Welche Möglichkeiten zur individuellen Erweiterung von generiertem Code gibt es? Innerhalb eines Moduls (Klasse) Auf Modulebene
MehrHaben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?
Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen? Januar 2012 CommitWork GmbH Seite 1 Info@CommitWork.de www.commitwork.de Motivation Modernisierung eines Systems mit
MehrFilemaker 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.
MehrEclipse 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
MehrWeb Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen
9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.
MehrKonfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014
Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...
Mehr6.8.4.9 Übung - Freigabe eines Ordners und Zuordnung eines Netzwerlaufwerks in Windows XP
5.0 6.8.4.9 Übung - Freigabe eines Ordners und Zuordnung eines Netzwerlaufwerks in Windows XP Einführung Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung erstellen Sie einen Ordner
MehrWarum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität
Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität Marcus Winteroll oose GmbH Agenda I. Ziele und Zusammenarbeit II. Was wir vom agilen Vorgehen lernen
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrStuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.
StuPro-Seminar Dokumentation in der Software-Wartung StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung Folie 1/xx Software-Wartung: theoretisch Ausgangslage eigentlich simpel: fertige
MehrEine Anwendung mit InstantRails 1.7
Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrKonfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung
ewon - Technical Note Nr. 004 Version 1.2 Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung 08.08.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten 3. Modemkonfiguration
MehrSoftware Engineering. Dokumentation! Kapitel 21
Martin Glinz Thomas Fritz Software Engineering Kapitel 21 Dokumentation 2005-2013 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen Gebrauch gestattet;
MehrINFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION
INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION Allgemein Infomon bietet die Architektur für das Informations-Monitoring in einer Windows- Topologie. Die Serverfunktionalität wird in einer IIS-Umgebung
MehrJavakurs 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
MehrAnlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010
1 von 6 Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010 ci solution GmbH 2010 Whitepaper Draft Anleitung Deutsch Verfasser: ci solution GmbH 2010 Manfred Büttner 16. September
MehrProseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller
Proseminar: Website-Managment-System NetObjects Fusion von Christoph Feller Netobjects Fusion - Übersicht Übersicht Einleitung Die Komponenten Übersicht über die Komponenten Beschreibung der einzelnen
MehrProf. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
MehrPrinzipien 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........................
MehrDesign 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
MehrOO 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
MehrEs sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt
MehrNAS 308 Einführung in iscsi
NAS 308 Einführung in iscsi iscsi mit Ihrem ASUSTOR NAS nutzen A S U S T O R - K o l l e g Kursziele Nach Abschluss dieses Kurses sollten Sie: 1. Ü ber ein grundlegendes Verständnis von iscsi verfügen
MehrSoftware Engineering. Dokumentation. Wintersemester 2005/06. Kapitel 21. Universität Zürich Institut für Informatik
Martin Glinz Harald Gall Software Engineering Wintersemester 2005/06 Kapitel 21 Dokumentation Universität Zürich Institut für Informatik 2006 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe
MehrRFID Lösungen Fragebogen über Ihr RFID Projekt
RFID Lösungen Fragebogen über Ihr RFID Projekt 1. Firma: Straße: Postleitzahl: Stadt: Land: Telefon: Bereich: 2. Kontakt Name: Vorname: Funktion: Durchwahl: Mobiltelefon: E-Mail: 3. In welchem Land wird
Mehr5.1.4.6 Übung - Datenmigration in Windows XP
5.0 5.1.4.6 Übung - Datenmigration in Windows XP Einführung Drucken Sie die Übung aus und führen Sie sie durch. In dieser Übung verwenden Sie Windows XP. Empfohlene Ausstattung Die folgende Ausstattung
MehrDIGITALVARIO. Anleitung Bootloader. Ausgabe 0.1 deutsch 29.11.2005. für Direkt-Digital-Vario. Firmware ab 00-06-00 Hardware 01 Seriennummer ab 0003
DIGITALVARIO Anleitung Bootloader Ausgabe 0.1 deutsch 29.11.2005 für Direkt-Digital-Vario Firmware ab 00-06-00 Hardware 01 Seriennummer ab 0003 1. Funktion Der Bootloader dient dazu Updates der Variosoftware
MehrMastermind. Testplan. Hochschule Luzern Technik & Architektur. Programmieren 2 FS12. Gruppe 10
Testplan Programmieren 2 FS12 Gruppe 10 Redzepi Iljasa Reichmuth Marco Rey Philipp Rohrer Felix Eine interdisziplinäre Projektarbeit der Studiengänge Elektrotechnik und Informatik. Horw, 11.05.2012 Autoren
MehrGrundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN
Grundzüge der Programmierung Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Inhalt dieser Einheit JAVA ist objektorientiert! Grundbegriffe der objektorientierten Programmierung:
MehrCode wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015
Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Warum
MehrAnwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI
Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun Java Projekt Schiffe Versenken mit GUI 1. Über den Autor: Name: Marija Matejic Matrikelnummer: 9352571 E-mail: marijamatejic@yahoo.com
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
MehrSEMINAR Modifikation für die Nutzung des Community Builders
20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen
MehrKurzleitfaden für Schüler
Wie melde ich mich in Schüler Online an? Geben Sie folgenden Link ein: www.schueleranmeldung.de Sie erhalten folgende Anmeldemaske: Mustermann Frank 31.05.1994 Nimmt Ihre Schule nicht an Schüler Online
MehrAnleitung zur Nutzung des SharePort Utility
Anleitung zur Nutzung des SharePort Utility Um die am USB Port des Routers angeschlossenen Geräte wie Drucker, Speicherstick oder Festplatte am Rechner zu nutzen, muss das SharePort Utility auf jedem Rechner
MehrMan liest sich: POP3/IMAP
Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und
MehrUpdatehinweise für die Version forma 5.5.5
Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x
MehrOperationalisierbare Qualitätskriterien für die Programmierung mit Erfahrungen aus PRÜ1 und PRÜ2
Operationalisierbare Qualitätskriterien für die Programmierung mit Erfahrungen aus PRÜ1 und PRÜ2 von Christoph Knabe http://public.beuth-hochschule.de/~knabe/ Ch. Knabe: Operationalisierbare Qualitätskriterien
MehrU08 Entwurfsmuster (II)
U08 Entwurfsmuster (II) Inhalt der Übung Diskussion und Implementierung von Entwurfsmustern Übungsaufgaben Aufgabe 1 (Queue) Gegeben ist das folgende Analysemodell einer Warteschlange (Queue): Eine Warteschlange
MehrDokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser
Dokumentation Black- und Whitelists Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser Inhalt INHALT 1 Kategorie Black- und Whitelists... 2 1.1 Was sind Black- und Whitelists?...
Mehr» Export von Stud.IP-Daten auf eigene Web-Seiten» Workshop Donnerstag, 18.09.2014
Elmar Ludwig, Peter Thienel» Export von Stud.IP-Daten auf eigene Web-Seiten» Workshop Donnerstag, 18.09.2014» Stud.IP-Tagung 2014 (Göttingen) A Struktur des Workshops Allgemeine Einführung Was sind externe
MehrAZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"
AZK 1- Freistil Nur bei Bedarf werden dafür gekennzeichnete Lohnbestandteile (Stundenzahl und Stundensatz) zwischen dem aktuellen Bruttolohnjournal und dem AZK ausgetauscht. Das Ansparen und das Auszahlen
MehrSoftwaretechnik (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
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrApplication Service Providing ASP - das neue Geschäftsmodell im ecommerce!
ASP - das neue Geschäftsmodell im ecommerce! Was ist ASP? Was ist ASP? Unterschiede ASP/ normale Software? Was ist ASP? Unterschiede ASP/ normale Software? Welche Vorteile bringt ASP? Was ist ASP? Unterschiede
MehrWas ist Sozial-Raum-Orientierung?
Was ist Sozial-Raum-Orientierung? Dr. Wolfgang Hinte Universität Duisburg-Essen Institut für Stadt-Entwicklung und Sozial-Raum-Orientierte Arbeit Das ist eine Zusammen-Fassung des Vortrages: Sozialräume
MehrDaniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
MehrHandbuch USB Treiber-Installation
Handbuch USB Treiber-Installation W&T Release 1.0 02/2003 by Wiesemann & Theis GmbH Microsoft und Windows sind eingetragene Warenzeichen der Microsoft Corporation Irrtum und Änderung vorbehalten: Da wir
MehrDr. 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
MehrInformationswirtschaft II Rational Unified Process (RUP)
Informationswirtschaft II Rational Unified Process (RUP) Wolfgang H. Janko, Michael Hahsler und Stefan Koch Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe Das
MehrInformationswirtschaft II
Rational Unified Process (RUP) Informationswirtschaft II Wolfgang H. Janko, Michael Hahsler und Stefan Koch Seite 1 Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
MehrLog xmllog textlog Log() start(filename) add(message) end() instance() Abbildung 7-10: Die Protokollierungs-API mit einer einfachen Fassade
HACK #76 Hack APIs mit dem Façade-Muster vereinfachen Durch die Verwendung des Façade-Entwurfsmusters können Sie die anderen Programmierern zugängliche API vereinfachen. #76 Dies ist ein Muster, von dem
MehrLimeSurvey -Anbindung
LimeSurvey -Anbindung 1 Was ist LimeSurvey Inhalt 1 Was ist LimeSurvey... 3 2 Grundeinstellungen in CommSy... 4 3 Grundeinstellungen in LimeSurvey... 5 4 LimeSurvey-Umfrage erstellen... 7 4.1 So erstellen
MehrPräsentation Von Laura Baake und Janina Schwemer
Präsentation Von Laura Baake und Janina Schwemer Gliederung Einleitung Verschiedene Betriebssysteme Was ist ein Framework? App-Entwicklung App-Arten Möglichkeiten und Einschränkungen der App-Entwicklung
MehrAuswahl alter Klausuraufgaben aus einer ähnlichen Vorlesung Maßgeblich für die Prüfung sind die Vorlesungsinhalte!
Auswahl alter Klausuraufgaben aus einer ähnlichen Vorlesung Maßgeblich für die Prüfung sind die Vorlesungsinhalte! Aufgabe 1: Grundlagen (5 Punkte) a) Definieren Sie kurz Usability und User Experience.
Mehr