HOCHSCHULE FÜR TECHNIK UND WIRTSCHAFT DRESDEN (FH) Fachbereich Informatik/Mathematik
Prof. Dr.-Ing. Thomas Wiedemann
email: [email protected]
- Vorlesungsreihe Informatik-
Allgemeine Softwareentwicklung
und zukünftige Entwicklungen
in der Informatik
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 2
Allgemeine Softwareentwicklung
Aktueller Stand und Probleme
Softwareentwicklungsmodelle (UML)
Ausblick und zukünftige Entwicklungen
Internettechnologien überall
Web 2.0 … 4.0 - neue Geschäftsmodelle
Cloud-Computing und das Internet der Dinge
Industrie 4. 0
Zukünftige Herausforderungen und Risiken
Gliederung
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 3
Allgemeine Situation bei der Softwareentwicklung
Nach Statistiken (Quelle Gartner Group) sind im Durchschnitt:
• ca. 23 % aller Softwareprojekte erfolgreich,
• ca. 53 % aller Softwareprojekte über Budget und/oder über Zeit und
• ca. 24 % aller Softwareprojekte abgebrochen.
Hauptprobleme:
• Softwareentwicklung stark geprägt von Fehleinschätzungen bezüglich Zeitbedarf, für die Projektorganisation, Kommunikation und die Programmierdauer selbst
• im Schnitt produziert ein Programmierer im längerfristigen Durchschnitt:
10 –16 LOC (Lines of Code) pro Arbeitstag laut [Mayr 2005] für Team-geeigneten, dokumentierten, zuverlässigen, test- und wartbaren Code
• Es gilt folgende Näherungsformel für die optimale Teamgröße:
OptimaleMitarbeiterZahl = Wurzel aus ( ProjektdauerInPersonenMonaten )
Bei einem Projekt von 16 Personenmonate, wäre die optimale Teamgröße 4 Personen.
• Unter diesem Gesichtspunkten ist die Qualitätssicherung und Organisation bei der Softwareentwicklung von entscheidender Bedeutung für den Erfolg !
• Historisch entstanden verschiedene Modelle zur Organisation der Softwareentwicklung, welche nachfolgend kurz vorgestellt werden sollen ...
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 4
Wichtige Software - Qualitätsmerkmale
Funktionalität
• Software muß korrekt und angemessen arbeiten
Zuverlässigkeit
• Software darf nicht so sehr versagen, dass physische oder grosse ökonomische Schäden verursacht werden.
Wartbarkeit
• Software muß anpaßbar an neue Anforderungen sein.
• Software sollte möglichst plattformunabhängig sein.
Effizienz
• Software muß ökonomischen Gebrauch von Ressourcen des unterliegenden Systems machen.
Portabilität
• Software muß möglichst auf andere Betriebssysteme und Betriebs-systemversionen übertragbar sein
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 5
Software – Qualitätsmerkmale II
Benutzerfreundlichkeit • Software muß sich nach den Bedürfnissen der Benutzer
richten.
• Die Benutzerschnittstelle muß ergonomisch sein -
Anforderungen in der Norm EN ISO 9241 geregelt Aufgabenangemessenheit
Selbstbeschreibungsfähigkeit
Steuerbarkeit
Erwartungskonformität
Fehlertoleranz
Individualisierbarkeit
Lernförderlichkeit
• Dokumentation muß in allen Detaillierungsgraden ausreichend zur Verfügung stehen.
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 6
Softwareentwicklung nach dem Wasserfallmodell
• Beim Wasserfallmodell (von etwa 1970) werden iterativ die nachfolgenden Stufen durchlaufen.
• Der wesentliche Nachteil dieses Modells ist die lineare Struktur, welche nur einfache Rücksprünge erlaubt.
• Die Benennung der einzelnen Phasen hat sich generell durchgesetzt !
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 7
Softwareentwicklung mit dem Böhmschen Spiralmodell
• statt einfacher linearer Vorgehensweise mehrfache zyklische Wiederholungen mit ansteigendem Niveau
• durch frühe Prototypen geringere Gefahr von Fehlentwicklungen
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 8
Softwareentwicklung - Extreme Programing (XP) XP ist eine agile iterative Vorgehensweise mit leichtgewichtiger Methodologie und
wenig Dokumentation und Overhead.
• User Stories: Die Anforderungen werden in User Stories erfasst. User Stories beschreiben GUIs, Funktionalitäten und Testszenarien.
• On-site Customer: Ein kompetenter Vertreter des Kunden ist während der gesamten Entwicklungszeit bei den Entwicklern anwesend (schwierig).
• Pair Programming: An den Entwicklungsrechnern sitzen jeweils zwei Entwickler und entwickeln gemeinsam.
• Testing: Vor der Entwicklung eines Moduls werden automatisierbare Testfälle (Unit Tests) programmiert.
• Simple Design: Es werden keine unnötigen Features implementiert.
• Small Releases: Es werden häufige Iterationen durchgeführt mit lauffähigen Programmen als Ergebnis, welche der Kunde begutachtet.
• Refactoring: Der Sourcecode wird eher früh restrukturiert.
• Continuous Integration: Von verschiedenen Teammitgliedern produzierter Code wird sehr häufig zusammengeführt.
• Collective Ownership: Der entwickelte Sourcecode gehört dem gesamten Team, jeder ist für jeden Code verantwortlich. Die Teams rotieren zyklisch.
• Coding Standards: Es werden Konventionen zum Aufbau des Codes erstellt, um Lesbarkeit zu erleichtern.
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 9
Softwareentwicklung mit XP
• Verfahrensweise beim Extreme Programming :
Quelle: www.extremeprogramming.org
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 10
Modellierung mit UML -Unified Modeling Language
• UML (Unified Modeling Language) ist ein Standard der OMG (http://www.omg.org/uml)
• UML ist keine Methode, sondern definiert eine Notation und Semantik zur Visualisierung, Konstruktion und Dokumentation von Modellen für die Geschäftsprozessmodellierung und für die objektorientierte Softwareentwicklung.
Um UML erfolgreich zu nutzen, ist es notwendig eine passende Methode zu entwickeln, die die UML unterstützt.
Die UML wird seit 1998 als Standard angesehen.
Entwickelt wurde die UML von Grady Boch, Ivar Jacobsen und Jim Rumbaugh von RATIONAL ROSE SOFTWARE .
Viele führende Unternehmen der Computerbranche (Microsoft, Oracle, Hewlett-Packard,...) wirkten aktiv an der Entwicklung mit und unterstützen die UML.
• Die Modellierung erfolgt mit 13 verschiedenen UML-Diagramm-typen (siehe Links)
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 11
Aktuelle Tendenzen und Ausblick im Webbereich
1. Browser-Technologie - „Es lebe Chrome ?"
Opensource-Browser Firefox mit großem Aufwand gestartet
Open-Source-Community konnte gegen MS IE punkten
nach Mozilla-Boom nun Googles Chrom als neuer Marktführer
immer noch latenter Browserkrieg
Aktuell neue Herausforder- ungen durch HTML 5
2. Webserver - Apache bleibt (noch?) Marktführer
sehr guter Beweis für die Qualität von Opensource-Projekten im Rahmen von kommerziellen Anwendungen (Verfügbarkeit 10* besser als IIE von MS)
Referenz-Server für alle neuen Sprachen und Projekte
starke Konkurrenz durch Ngnix (1M-Server)
Dezember 2017 / Quelle:
www.w3counter.com/globalstats.php
1. Feb. 2018 / Quelle: https://w3techs.com/technologies/overview/web_server/all
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 12
Aktuelle Tendenzen und Ausblick
3. Neue Internet-Techniken - Mehr Intelligenz und alte Schuhe im neuen Design
• XML
hat Einsatztauglichkeit prinzipiell bewiesen
teilweise Probleme mit sehr großem Overhead bei komplexen Daten (bzgl. Speicherplatz und indirekt auch wieder Parser-Aufwand)
Zunehmende Konkurrenz durch JSON und ähnliche Formate
• 2D- und 3D-Grafiken stehen mit HTML 5 nun vor dem Durchbruch (?)
nach Flaute durch Probleme mit VRML und bei Java3D (Sun hat Entwicklergruppe sehr stark abgebaut) nun starke Aussichten durch HTML 5 und WebGL
Das Canvas-Element in HTML5 könnte neuen Schwung bringen … ?
• Netzwerktechnik
sehr gute Entwicklung der Voice-over-IP-Technologie (von einfachen, kostenlosen Tools wie Skype bis hin zu Einbau von VoIP-Module in Telefonanlagen bzw. als Beistellgerät, zunehmend auch Videotelefonie -> www.vskype.com
IP6 immer noch sehr zögerlich (2013 nur 2% aller Anfragen an Google per IP6)
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 13
Aktuelle Tendenzen und Ausblick 4. Neue Programmiersprachen und Paradigmen
• Probleme J2EE – Ansätze sind teilweise zu komplex PHP mit Designfehlern (aber noch deutlicher Spitzenreiter) Agile Entwicklung zunehmend …
• Die Programmiersprache Ruby - http://www.ruby-lang.org/de/
vielseitige höhere Programmiersprache durch Yukihiro Matsumoto entworfen (1995...)
ab 2000 auch in den westlichen Sprachraum portiert
wird interpretiert und unterstützt mehrere Programmierparadigmen (unter anderem Objektorientierte, Prozedurale und Funktionale Programmierung sowie Nebenläufigkeit), bietet dynamische Typisierung, Reflexion und Automatische Speicherbereinigung
• Immer neue JavaScript-Frameworks“
Der Erfolg von NodeJS bringt in der Folge immer neue JS-Frameworks hervor
siehe https://colorlib.com/wp/javascript-frameworks/
Aktueller Spitzenreiter Angular (eine Major-Version / Halbjahr !)
Vielzahl einzelner Frameworks wie React (von Facebook) D3.js (Grafikorientiert)
Neben dem bereits dargestellten MEAN-Stack sind auch sogenannte Fullstack- Frameworks von zunehmenden Interesse - Beispiel Meteor - https://www.meteor.com/ sehr große Resonanz in der Web-Community (Platz 1 auf Github)
unterstützt alle Ebenen der Webentwicklung
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 14
Erfahrungen und Empfehlungen
5. Konfigurieren statt Programmieren !
herkömmliche Script-Programmierung ist NICHT konkurrenzfähig gegenüber moderner Desktopentwicklung mit Komponenten (Wartung / Fehlerrate sehr schlecht)
sinnvoll ist die Bereitstellung von Basiskomponenten, welche für verschiedenste Verwendungszwecke flexibel anpassbar sind
Beispiel 1 :
HTW-Entwicklung eines datenbankgestützten Formulargenerators, welcher eine Entwicklung über das Web ermöglicht - Endziel: automatische Übersetzung einer Desktopanwendung in eine adäquate Webanwendung Entwicklung als Plugin für Typo3
Datenbanktabellen (auch verknüpfte) können ohne PHP-Programmierung in verschiedenen Ansichten (Liste / Detail / Edit / Neu / Suche) flexibel konfigurierbar angezeigt werden (siehe Folgeseiten)
Beispiel 2 :
Entwicklung einer rein Javascript-basierten Browser-IDE und View für Daten im Projektseminar WS2017/18 und weiterhin laufend analoge Aufgaben auch für Diplom- und andere Abschlussarbeiten
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 15
Konfigurieren statt Programmieren mit EasyQueries
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 16
Konfigurieren statt Programmieren mit EasyQueries II
Den einzelnen DB-Tab-Spalten können spezifische Werte oder DB-Skipte zur Berechnung zugeordnet werden.
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 17
Ergebnis: Frontendansicht Forschungsdatenbank der HTWD
Konfigurieren statt Programmieren mit EasyQueries III
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 18
Aktuelle Tendenzen und Ausblick 6. Internet-Dienstleister - Das Ende der "Kostenlos-Kultur?"
Zunehmende Bereitstellung qualitativ hochwertiger Inhalte gegen Bezahlung (auch Micropayment – 0.5 Cent / Link)
Art der Bezahlung immer noch kritisch bzw. noch kein klarer Standard erkennbar
Hauptproblem: Kosten pro Transaktion sind zu hoch bei kleinen Beträgen (teilweise 10 Cent ... 1 Euro pro Transaktion ...)
Kreditkartenbezahlung immer noch Standard bei den meisten Webshops (Sicherheit nicht 100% gewährleistet -> Datendiebstahl in letzten Monaten )
Handy-basierte Bezahlfunktionen für Kleinbeträge am aussichtsreichsten (aktuelle auch mit RFID-Lösungen in SmartPhones NFC – (Near field communication)
einige Angebote bereits wieder aufgegeben (paybox.de u.ä)
Erfolg mit Netzwerkseiten -> XING ( 5 € / Monat noch akzeptabel)
Neue Erfolge durch Apps im Smartphone-Bereich
Boom der Bitcoin-Währung - noch sinnvoll als Zahlungsmittel ??? Iota u.andere Coins noch technisch unausgereift ..,
7. Kulturraum Internet ca. 85% der deutschen Bevölkerung im Netz (Stand2017 / gegenüber 50% um 2008)
starke (kaum noch nivellierbare) Unterschiede in einzelnen Bevölkerungsgruppen (Arm/reich ; Bildungsniveau, Regionen (Stadt <-> Land)
weitere Belebung durch mobile Geräte / Smartphones Quelle: https://de.statista.com/statistik/daten/studie/13070/umfrage/entwicklung-der-internetnutzung-in-deutschland-seit-2001/
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 19
Aktuelle Tendenzen und Ausblick 8. Immer stärkerer Einfluß der Suchmaschinen bzw. Google
• starke Bedeutung der Suchmaschinenoptimierung (SEO) nur wer auf der 1. (oder max. 2 bis3. Suchpage landet, hat Erfolg !!!) - SEO ist ein Katz- und Mausspiel zwischen Webdeveloper und Suchmaschinen
• keine klaren Einzelparameter mehr, sondern ca. 200 Parameter bei Google
• siehe Goggle: „200 seo ranking factors“ -> http://backlinko.com/google-ranking-factors
• E-Book: The Art of SEO, 3rd Edition 2015!!! https://it-ebooks.info/book/6420/
Wichtigste Kategorien (und Einzelbeispiele mit Anzahl, * für sehr viele Optionen)
• Domaindaten (10: Name, Alter!!, Eigner (Spammer?)
• Page-level-Factors (51: Keywords*, Länge++, Updates++, Format, Fehler??)
• Site-level-Factors (17: Site Trust, Site structure, Nav?, YouTube?, Responsive?)
• Backlink Factors (47!!: Trust, Age , TLD? ( *.gov/*,edu++ )
• User Interaction (10: Bounce rate?? (User-Rückkehr zu SE,Chrome-Messungen))
• Special Algorithm Rules (16:, User Search History++, Local Searches++)
• Social Signals (11: #Tweets, Social Sites (Facebook, Google+)
• Brand Signals (11: LinkedIn-Links?, Tax-Payer-Business?, on News Sites?)
• On-Site WebSpam Factors (12: Bad Neighborhoods?, Ads?, LinkSpam?)
• Off Page Webspam Factors (13: Low Quality Links, ->Penguin Penalty)
Fazit: SEO ist sehr komplex und erlaubt eigene (neue) Geschäftsmodelle !
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 20
Aktuelle Tendenzen und Ausblick Neue App-Lösungsansätze : PWA von Google
Problem * bisherige App-Entwicklung für Smartphones ist aufgrund der HW/OS sehr aufwändig (IOS / Android / WindowsX / *Unix* / … ) Xamarin o.ä. Framew. * HTML-basierte Webseiten sind dagegen BISHER nicht App-like
Progressive Web Apps (PWA) von Google ab 2016
https://developers.google.com/web/progressive-web-apps/
Wichtigste Eigenschaften (by Google (siehe Link) :
Reliable - Load instantly and never show the
downasaur, even in uncertain network conditions
( by JavasScript and Cache use in offline cases).
Fast - Respond quickly to user interactions with silky
smooth animations and no janky scrolling
( JS animations and Single page prog. (Angular))
Engaging - Feel like a natural app on the device, with
an immersive user experience (Link (Button) on device
home screen / App like menu) .
Insbesondere die sehr guten Offline-Eigenschaften
könnten viele neue Web-Anwendungen erlauben
(kleiner flexibler Email-Client, DB-Form-Designer)
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 21
Entstehung des Cloud Computing
• Mit der Entwicklung großer Internetfirmen wie Amazon, Facebook oder
Yahoo entstanden auch sehr große Serverfarmen und in der Folge
Probleme bei deren Auslastung
Bei Internet-Shops wie Amazon wurde die Hauptlast nur im
Weihnachtsgeschäft benötigt. Außerhalb dieser Zeit waren
die Server meist nicht ausgelastet (tw. nur 10% Auslastung -
> 90% freie Kapazitäten)
Idee einer Verwertung der freien Kapazitäten auf dem freien
Markt unter dem Slogan „Cloud Server“ ab ca. 2006
• Ursache / Voraussetzung für den Erfolg von Cloud Computing und
Cloud Services sind auch die schnellen Internetverbindungen,
welche den Unterschied zu einem lokalen Speicher/Rechnersystem
stark verringert haben (bzw. nicht mehr sichtbar für Endanwender)
Cloud computing – Einführung und Historie
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 22
Typen des Cloud Computing nach dem Servicetyp:
Cloud Software as a Service (SaaS)
stellt eine Software zur Nutzung bereit und wird deshalb auch als Software on Demand
bezeichnet. Der Anwender muss die Software nicht selbst kaufen und installieren,
sondern nutzt diese auf Mietbasis fallweise.
Cloud Platform as a Service (PaaS)
stellt eine Programmier- und/oder Laufzeitplattform zur Verfügung und erlaubt das
Entwickeln und Ausführen von (Kunden-) Software auf dieser Plattform.
Cloud Infrastructure as a Service (IasS)
stellt eine Hardwareplattform zur Verfügung. Der Anwender muss selbst die Laufzeit-
und Anwendungssoftware installieren und administrieren.
Typen des CC nach Vertraulichkeit und Datenschutz :
• Public Clouds - meist auf fremden (weit entfernten) Servern
• Private Clouds - die Cloud wird innerhalb der eigenen Firma aufgebaut und
betrieben (im Prinzip nur Nutzung der Cloud-Managementsoftware im firmeneigenen
Rechenzentrum)
•Hybrid Clouds - Mischform: unkritische Inhalte auf Public, kritische auf private Cloud
Arten des Cloud Computing
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 23
Allgemeine Vorteile und Nachteile des Cloud Computing
Vorteile :
• sehr hohe Flexibilität bei
Performance und techn. Para-
metern, starke Automat. Der
technischen Abläufe
• starke Kosteneinsparungen bei
Aufbau und Betrieb von
Cloudcomputing-Kapazitäten
(Skaleneffekte)
• Professionelle Datensicherheit
und hohe Verfügbarkeit
• immer aktuelle Softwarestände
Nachteile :
• bei Public Clouds meist kein
direkter (lokaler) Zugriff auf den
Rechner, sondern nur über
Webmasken oder Remote-
Desktop etc.
• starke Abhängigkeit vom
Anbieter (Pleite ?, Ausfälle
[Blitzschlag Irland!])
• Bei Public clouds Probleme mit
Sicherheit / Vertraulichkeit
(Geheimnis-schutz nicht 100%
gewährleistet !)
Ausführliche BITKOM - Bewertung unter : http://www.bitkom.org/files/documents/BITKOM-Leitfaden-CloudComputing_Web.pdf
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 24
Softwaremodule:
Test von Cloud Computing – Systemen: Microsoft Azure II
Abb. - Quelle: http://www.microsoft.com/de-de/azure/entwickeln/Optimierung-mit-CDN.aspx
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 25
Bereitstellung und Upload DIREKT aus VS 2010
Test von Cloud Computing – Systemen: Microsoft Azure II
Abb.: Bereitstellung und Upload DIREKT aus VS 2010
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 26
Managementconsole
Test von Cloud Computing – Systemen: Microsoft Azure III
Screendump as MS Visual Studio
Host -Status
Host –
Webinterface
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 27
Allgemeine Charakteristika : :
starke Orientierung auf das Amazon-Shop-Geschäft
Linux und Windows-basiert, (und Amazon-eigenes Betriebssystem)
Unterstützt v.a. .NET, Java, aber auch Ruby, Python
Erste Einsatzerfahrungen
sehr umfangreich, da keine Funktionseinschränkungen und komplettes
Amazon Cloud Angebot nutzbar :
Amazon Elastic Cloud (variable Rechenleistung)
Amazon S3 Simple Storage Service
AWS Lambda on Demand Verarbeitungsservice (nur die reine Laufzeit nach einem Ereignis wird berechnet)
Aktuelle Preise für alle Dienste (mit komplexem Rabattsystem
unter http://aws.amazon.com/de/ec2/pricing/ )
gute Managementumgebung : intuitiv bedienbar, komfortabel, anfangs
unübersichtlich, guter Einblick in Vertrags- und Rechnungsdaten
Test : Amazon Elastic Compute Cloud
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 28
Generell gilt: Die aktuellen Preismodelle sind stark im Wandel, teilweise undurchsichtig
und schlecht vergleichbar und können sich je nach Konkurrenzsituation schnell ändern
(gewisse Unsicherheit und Nachteil gegenüber selbst betriebenen Rechnercluster ..)
Die Gesamtkosten ergeben sich aus
Preis_pro_h * Anzahl_Instanzen * Anzahl_h
+ Preis_pro_Gigabyte_Datenspeicher * Datenablage
+ Preis_pro_Gigabyte_Datentraffic * DatenIO
+ Preis_für_Sonderoptionen
Aktuelle Werte sind : Minimal Typisch Maximal
Preis_pro_h : $0,095 $0,38 $2,28
Preis_pro_Gbyte: <1Gb free $0,11 / GB
Preis_Traffic <1Gb free $0,12/ GB
Zum Vergleich : Die reinen Stromkosten für eine eigene
Rechnerstunde (Annahme 500 W) liegen bei ca. 0,15€ / Stunde !
Vergleich der Kosten
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 29
Schlagwort : Web 2.0 - und weiter nach Web 3.0 … Web 4.0 ?
Neue Ausrichtung des Internet in Richtung „Benutzergetriebene Entwicklung“
Begriff geprägt durch Tim O´Reilly (-> Verlag ) im Jahr 2004
Web 2.0 setzt sich zusammen aus einer Vielzahl von Konzepten und Technologien
Web 2.0
<- Bsp.
Neues
Darstellungs
mittel
„Tagcloud“
zur Darst.
des Web 2.0
selbst
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 30
Definiert durch O’Reilly und Battelle :
das Web als generelle Arbeitsplattform anstatt des lokalen Rechners
Daten-getriebene Anwendungen (Inhalte sind wichtiger als das Aussehen)
Die Vernetzung wird verstärkt durch eine „Architektur des Mitwirkens“.
(Jeder kann mitmachen.)
einfache und neue Geschäftsmodelle durch das verteilte, gemeinsame Nutzen
von Inhalten und technischen Diensten
das Ende des klassischen Softwarelebenszyklus; die Projekte befinden sich
immerwährend im Beta-Stadium -> Begriff „Software as a service (SaaS)“
Die Software geht über die Fähigkeiten eines einzelnen Verwendungszwecks
hinaus.
nicht nur auf die Vorhut der Web-Anwendungen abzielen, sondern auf die breite
Masse der Anwendungen
Web 2.0 – Grundprinzipien
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 31
SaaS – Software as a Service (früher ASP : Appli.Service Provider ) -> Cloud
Basisidee Software auf Mietbasis
- alle anfallenden Kosten werden auf eine monatliche Rate umgerechnet, ggf. auch Pay per
use (z.B. Stundenweise Bezahlung oder Kostensatz pro FEM-Berechnung )
- Dienstleister übernimmt auch Wartung und Risiko von Hardware-Ausfällen
Vorteile :
- für Gelegenheitsnutzer sehr viel günstiger als Kauf einer Dauerlizenz
- Kurzfristig auch größere Anzahl von Lizenzen nutzbar (Stoßgeschäft)
Nachteile:
- Netz muß immer vorhanden und performant sein
- Hohes Vertrauen in Dienstleister nötig ( Pleite ?, Datenschutz ?)
Web 2.0 – die interessantesten Technologien
Kosten
Nutzen Break even point
Traditionell mit Kauf mit SaaS
Kosten
$
Einarbeitung
Zeit
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 32
Long Tail : englisch für „langer Schwanz“)
Begriff geprägt von Chris Anderson (Chefred. Wired Magazine)
Konzept: Nutzung des Internet und Web 2.0 für den Vertrieb (oder auch
Beschäftigung allg. ) mit von Nischenprodukten oder exotischen Themen
Durch Internetshops kann auch mit selten verkauften Produkten in der
Gesamtsumme mehr Umsatz gemacht werden als mit wenigen Bestsellern
Basis: Lösung von geografischen und traditionellen Restriktionen
(Weltvetrieb mit UPS aus einer Scheune in den Bergen)
Auch als politisches Konzept : Demokratisierung der Produktionsmittel
(Softwareentw. durch Jedermann, Wikipedia : Lexikon für alle durch alle)
Demokratisierung des Vertriebes [Bearbeiten]
Virales Marketing :
neue Werbung mittels „Mund-zu-Mund-Propaganda“ im Web
(gewisse Ähnlichkeit mit alten Kettenbriefsystemen ohne Bezahlzwang)
auch für politische Themen und Kampagnen
setzt einen guten Mix aus gutem Inhalt und cleverer Unterhaltung
Web 2.0 – Long tail und Virales Marketing
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 33
Review des Web 2.0 - Ansatzes durch O’Reilly und Battelle
im Artikel „ Web Squared: Web 2.0 Five Years On” 2009
(Quelle: http://www.web2summit.com/web2009/public/schedule/detail/10194)
Zitat: 'web squared' is defined as "web meets world.“
Grundlegende Ideen und Änderungen im Vergleich zum Web 2.0:
- nun wirklich Implementierung des Internets der Dinge (IoT)
- Begriff seit Ende der 90 er Jahre in der Diskussion
- Ausweitung der Kommunikation und Web-Verknüpfungen über das
Internet der Computer hinaus
- Statt großer PC wird die IT (Intelligenz) in die Gegenstände selbst
integriert
- Prägung des neuen Begriffes "collective intelligence“
"collective intelligence applications are no longer being driven solely
by humans typing on keyboards but, increasingly, by sensors.” (Quelle:
Web Squared-Artikel – siehe oben)
Web Squared -> Das Internet der Dinge
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 34
Objekte des realen Lebens werden in das Web integriert :
- zuerst unter Nutzung von RFID-Techniken
zur Identifizierung von Gegenständen
- nun zusätzlich zum manuellen Erfassen durch die User
und zum RFID-Ansatz starke Integration verschiedenster
Sensordaten auf der Basis mobiler Geräte (Smartphones
und Tabletts)
Zunehmend auch Nutzung verschiedenster
Technologien zur Erkennung der Objekte durch
Bild- oder Mustererkennung
Audio-/ Spracherkennung ( Musikerkennung,
z.B. Steuerung der neuen Amazon-Firebox)
Geografisch benachbarte Inhalte oder Meldungen
(wie bei Twitter) durch Auswertung der Geodaten
Das Internet der Dinge
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 35
Integration kompletter Webserver in technische Geräte:
- bereits Angebot an Miniatur-Rechnern mit integriertem
Webserver (vgl. XPORT-Netzwerkadapter der Fa.
Lantronix www.lantronix.com/ )
- Anschluss über Ethernet oder auch WLAN
- mit integrierten Mikrocontroller (incl. 512 Kb Flash
und 256 Kb SRAM) mit externen Anschlüssen zur Kopplung
an externe Geräte , Real Time OS (RTOS)
- mit 256 bit AES –Verschlüsselung
- Vorbereitete Webmasken zur Steuerung von externen Geräten
Anwendungen (meist auf Python-Basis)
- Preis ca. 20 …50 $ (bei größeren Stkz. Billiger)
Mögliche Anwendungen
- Steuerung und Überwachung von technischen Geräten über
das Internet (Kühlschränke, Waschmaschinen,
Multimediageräte etc.) und … ? Ihr Job ?
Das Internet der Dinge - Webserver überall
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 36
- Ersatz der bisherigen, unflexiblen Technik
durch eine Vielzahl kleiner autonomer
Fahrzeuge, welche sich in Analogie zum
Routing im Internet OHNE zentrale
Steuerung und Vorausplanung bewegen
- Im Beispiel der Fraunhoferinstitutes IML
Dortmund eigenständige Koordinierung
untereinander zur freien Fahrt ohne
Leitlinien o.ä (-> Schwarmintelligenz)
- Die Transportleistung des Gesamtsystems
lässt sich mit der Anzahl der Fahrzeuge
anpassen.
- Quelle und Details unter:
http://www.internet-der-dinge.de/
Das Internet der Dinge für die Logistik
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 37
Aktueller Überblick unter
• http://www.heise.de/tr/thema/Internet-der-Dinge
http://readwrite.com/web
Einige kritische Diskussionspunkte und Ideen :
- Single-Chip-Kameras können extrem billig produziert
werden (-> auch unsichtbare Integration in Gehäuse oder
Verpackungen -> Datenschutz / Privacy ?)
- Der Datenschutz und die Netzwerksicherheit werden
generell ein sehr großes Problem werden, da Sensordaten
auch unerkannt erhoben und weitergegeben werden
können.
- Auch die Updatepolitik großer Gerätehersteller
(Einstellung der Updates nach 24 Monaten) ist als sehr
kritisch zu betrachten (-> Kauf neuer Geräte, um sicher zu
bleiben -> auch als neues Geschäftsmodell ?? )
Das Internet der Dinge - Aktueller Stand und Kritk
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 38
Ausgehend vom IoT entwickelt sich im
Industriellen Bereich das Konzept „Industrie 4.0“ :
Begriff kommt (endlich wieder einmal) aus dem deutschen Raum
erstmalig geprägt auf der Hannover-Messe 2011
Basis sind die sehr guten Erfahrungen im Aufbau komplexer Produktionssysteme
danach intensive Arbeit in einem Arbeitskreises „Industrie 4.0“ unter Vorsitz von
Siegfried Dais (Robert Bosch GmbH) und Henning Kagermann (acatech)
Übergabe von Umsetzungsempfehlungen an die Bundesregierung auf der
Hannover-Messe 2013
Einrichtung eines Arbeitsplattform der 3 Branchenverbänden Bitkom, VDMA und
ZVEI -> „Industrie 4.0“ ist eines von 10 Zukunftsprojekten im Aktionsplan zur
High-Tech-Strategie der deutschen Bundesregierung
(-> Fördermittel -> bis zu 200 Mio € - www.bmbf.de/de/9072.php !! )
Aktuell werden die deutschen Konzepte und erste Einsatzerfahrungen zur „Industrie
4.0“ weltweit stark nachgefragt.
Entwicklung in Richtung „Industrie 4.0“
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 39
Die industriellen „Revolutionen“ im Überblick
Von der Industrie 1.0 zur Industrie 4.0
Quelle Prof. Zühlke DFKI Kaiserslautern http://www.zuehlke.com/fileadmin/pdf/events/vortraege/2014-03-04-DetlefZuehlke_Industrie_4.0.pdf
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 40
digitale Veredelung von Produktionsanlagen und industriellen Erzeugnissen bis
hin zu Alltagsprodukten mit integrierten Speicher- und
Kommunikationsfähigkeiten, Funksensoren, eingebetteten Aktuatoren und
intelligenten Softwaresystemen
Dies bildet eine Brücke zwischen virtueller ("cyber space") und realer Welt
=> neuer Begriff „Cyber physical systems“ (als Weiterführung des IoT)
Führt zu einem Paradigmenwechsel in der Industrie:
das entstehende Produkt übernimmt erstmals eine aktive Rolle : Nicht eine
zentrale Steuerung, sondern quasi der Rohling für ein Produkt "sagt", wie er in
den einzelnen Fertigungsschritten bearbeitet werden muss.
Das entstehende Produkt steuert somit den Produktionsprozess selbst,
überwacht über die eingebettete Sensorik die relevanten Umgebungsparameter
und löst bei Störungen entsprechende Gegenmaßnahmen aus – es wird
gleichzeitig zum Beobachter und zum Akteur.
Neuer Begriff „
Industrie 4.0 – Grundkonzept(e)
Quelle: Industrie 4.0: Mit dem Internet der Dinge auf dem Weg zur 4. industriellen Revolution
Autoren Henning Kagermann Wolf-Dieter Lukas - VDI Nachrichten 1. April 2011
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 41
zusätzliche vertikale Vernetzung der eingebetteter Systeme (Produkte)
mit betriebswirtschaftlicher Anwendungssoftware erlaubt :
optimale Ressourcennutzung (Maschinen / Material) in allen
Prozessphasen,
dadurch erhebliche Rationalisierungs- und Optimierungspotentiale in
Logistik und Produktion.
kürzeste Reaktionszeiten bei Störungen durch lokale Autonomie (im
Gegensatz zu zentralen Störungserfassungen)
aktive digitaler Produktgedächtnisse, die direkt in der Produktions- und
Logistikkette installiert sind (entspr. Industrieprojekte) und ohne die sonst
übliche Informationsverdichtung
bessere Berücksichtigung von Fragen der Energienutzung (Produktion in
Abhängigkeit vom Strompreis steuern) -> "grüne Produktion"
neue Dienstleistungen -> "Internet der Dienste“ durch Smart Products
und Smart Services
Prinzipielle Industrie 4.0 – Vorteile
In Anlehnung an Kagermann [vgl. vorherige Folie]
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 42
In der höchsten Ebene werden sich unter Anwendung aller bekannten
Kommunikationstechnologien und Cloud-Lösungen entsprechende
komplexe intelligente (smarte) Systeme entwickeln (vgl. Grafik).
Prinzipielle Industrie 4.0 – Architektur
© Fraunhofer IOSB-INA
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 43
Prinzipielle Industrie 4.0 – Beispiele
© Zühlke DFKI Kaiserslautern
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 44
Prinzipielle Industrie 4.0 – Ziele und Vorteile
© Zühlke DFKI Kaiserslautern
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 45
Für SIE relevante Chancen :
Die gesamte Kommunikation wird auch in der Industrie auf Ethernet
und letztlich die Internet-Protokolle TCP/IP und UDP umgestellt.
Zwar mit anderer Hardware (Stecker) aber gleichen Basis-Protokoll-
rahmen bzw. auf Ethernet aufbauende Protokolle (EtherCAT) mit
Zykluszeiten unter 1 ms für schnelle Steuerungsanwendungen
vgl. http://www.networktraining.de/downloads/Warum_industrielles_Ethernet.pdf
Damit können zukünftig alle betrachteten
Internettechnologien auch im industriellen Bereich
von den Produkten (Antwort auf IP-Pakete ?)
über die Maschinen (GUI´s und Überwachung)
bis hin zu den Produktionssteuerungen
eingesetzt werden.
Sie können in ALLEN Bereichen zukünftig
mitbestimmen !
Herausforderungen und Chancen durch Industrie 4.0
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 46
Boom der „Share“ / „Rental“ - Konzepte seit 2014 / 2015 :
Webapps (meist mobile) bringen Nachfrager und Anbieter auch aus dem
nichtkommerziellen Raum zusammen
• Beispiel 1 Uber – Taxi-Konkurrenz
Nachfrage-orientierte Preisgestaltung bei Beförderungs-
angeboten durch nicht-professionelle Fahrer
Uber wird als Startup aktuell mit einigen Mrd. $ bewertet
Starker Einbruch des kommerz. Taxigeschäfts (->Rechtsstreite )
Beispiel 2 AirBnB zur Vermittlung von privaten
Übernachtungsangeboten (starke Konkurrenz für Mittelklasse-Hotel)
Beispiel 3 - www.spinlister.com zur Ausleihe von Fahrrädern und
verschiedenster anderer Dinge (Snowboards / Surfboards) von privat zu
privat
Weitere neue Geschäftsmodelle
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 47
- Die aufgezählten Beispiele von Rental-Seiten und die Entwicklung der großen
Vier - Google / Amazon / Facebook und Apple = GAFA)
zeigen eine neuen Trend hin zu Plattform-basierten Geschäftsmodellen
Details siehe https://www.kassenzone.de/2016/02/05/gafa-oekonomie/
Plattform-basierten Geschäftsmodelle
erweitern die klassischen B2C und B2B –Ansätze dahingehend, dass auch die
Anbieterseite für andere Firmen geöffnet wird und damit Geld verdient wird
Amazon erlaubt anderen Firmen, über die Amazon-Plattform ihre Produkte zu verkaufen
(auch mit Nutzung der Amazon-Logistik)
statt bisheriger Bewertungen nach Umsatz und Rendite des Geschäftsmodells zählt
bei plattformbasierten GM vor allen die Kundenzahl und dessen Wachstum
„The winner takes it all ..“
Ursache: kumulativer Vorteil über längere Zeit führt zu Dominanz
Der Ansatz ist nicht wirklich neu (nur umfassender umgesetzt), auch bisherige
Betriebssystem-Monopole (Win / IoS / Android) können als Plattformmodelle
aufgefasst werden (und zeigen aber die Vergänglichkeit …)
Platform – economy / GAFA-Ökonomie
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 48
Architektur plattform-basierter Geschäftsmodelle
Platform – economy / GAFA-Ökonomie
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 49
Arten von Plattformen
• Auktionsplattformen wie eBay oder Handelsplattformen Amazon,
• Socialmedia-Plattformen wie Facebook oder LinkedIn,
• Finanz- oder HR-Portale wie Freelancer
• Logistikplattformen Uber, Lyft oder Sidecar oder
• Vermittlungsportale für Unterkünfte wie booking.com oder Airbnb.
Verschiebungen aufgrund Plattform-basierter Geschäftsmodelle
knapp die Hälfte der Nutzer startet eine Produktsuche bei amazon
auch wegen Bewertungen und einheitlichen Bezahlfunktionen
Gefahr für das Geschäftsmodell von Google
Für kleinere Firmen rechnet sich die Erstellung eines eigenen Webshops nicht mehr
allerdings sind auch die Kosten auf Plattformen z.T. beachtlich -> genaue Analyse
ca. 40 Prozent des Umsatzes der Top-1.000 Online-Shops werden von
nur 10 Unternehmen erwirtschaftet.
Amazon liegt mit einigem Abstand an der Spitze der Top-10.
Effekte der Platform – economy / GAFA-Ökonomie
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 50
Aktuell laufen sehr viele Entwicklungen in Richtung KI - Definitionen :
• Schwache KI : Maschinen (Computer), welche mensch-
liches intelligentes Denken und Verhalten modellieren (oder
imitieren). Die Maschinen denken nicht wirklich selbst!
Diese KI haben wir bereits in Ansätzen;
Selbstlernenden Schach- und GO-Computer
Erkennung von Mustern und Situationen in der Umwelt (Musterauswertung
und statistische Ähnlichkeitsbewertungen durch künstliche neuronale Netze)
All diese Ansätze sind erfolgreich in Teilgebieten, verstehen aber noch keine
Tageszeitung !
• Starke KI : Maschinen, welche denken können wie wir.
Diese KI existiert (meiner aktuellen Kenntnis nach) noch nicht !
Sie würde die Informatik und wahrscheinlich das gesamte menschliche
Leben komplett neu definieren !
Es gibt deshalb auch warnende Stimmen (z.B. von Elon Musk) !
https://www.vanityfair.com/news/2017/03/elon-musk-billion-
dollar-crusade-to-stop-ai-space-x
• Die Entwicklung in diesem Bereich wird immer
schneller und spannender !
Künstliche Intelligenz (KI / engl. AI)
Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 51
Allgemeine Zusammenfassung zur Zukunft der IT
Die Vorteile webbasierter Systemen werden immer relevanter – zunehmend werden nur noch web-basierte Systeme verwendet !
Cloud-Computing kann auch kleineren Firmen einen Zugang zu hochwertigen IT-Services eröffnen.
HTML 5 wird speziell im Grafik-Bereich sehr viele neue Impulse setzen !
Das IoT und das Industrie 4.0 Ansatz vervielfachen die Anwendungsbereiche !
Die Programmierung von Smarthomes & Smart* sind Ihre Chance in der Zukunft – definieren Sie neue Geschäftsmodelle !
Entscheidend für den Erfolg ist die Effizienz der Anwendungsentwicklung !
Das Entstehen einer starken KI kann die Informatik und auch das gesamte menschliche Leben komplett neu definieren !
Viel Erfolg und Spass bei der Anwendung der
Informatik in Ihrem beruflichen und privaten Leben !