2.7 MB
Transcrição
2.7 MB
Di 1.1 January 22th-26th, 2007, Munich/Germany IT-Trends (nicht nur) für Manager Gernot Starke Peter Hruschka Matthias Bohlen Organized by: Lindlaustr. 2c, 53842 Troisdorf, Tel.: +49 (0)2241 2341-100, Fax.: +49 (0)2241 2341-199 www.oopconference.com andromda.com IT-Trends (nicht nur) für Manager Matthias Bohlen, Peter Hruschka, Gernot Starke www.mbohlen.de, www.arc42.de Ihre „Trendscouts“ Matthias Bohlen, www.mbohlen.de Peter Hruschka, www.systemsguild.com, www.arc42.de Gernot Starke, www.gernotstarke.de, www.arc42.de IT-Trends 2007 Seite 2 Agile Methoden Was ist das? Eine Familie neuer Methoden, denen ein geändertes Wertesystem zugrunde liegt (www.agilemanifesto.org) Motivation / Kontext Unsere Vorgehensmodelle und Methoden wurden zu schwergewichtig eXtreme Programming (Kent Beck) 2000 Agiles Manifest, 2002 Viele konkrete Methodenvorschläge 2000 - 2006 (XP, ASD, Crystal, RUP, ARTE, Lean Development, FDD, DSDM, SCRUM, ...) IT-Trends 2007 Seite 3 Agile Methoden - Status Nach dem Hype 2000 - 2003 langsame Konsolidierung Konferenzen in den USA immer noch überlaufen SCRUM als einzige namentlich genannte Methode mit größerer Verbreitung, nicht zuletzt wegen Zertifizierungsprogramm zum „SCRUM Master“ Viele Projekte, die - unabhängig von einem bestimmten Methodennamen oder Guru - agile Grundprinzipien stärker übernommen haben. IT-Trends 2007 Seite 4 Agile Methoden - Fazit Probleme Die Wirkung agiler Methoden kann nur mit gut ausgebildeten, motivierten Mitarbeitern erreicht werden, die Risiken eigenständig beurteilen können und danach zu handeln wagen. Die Suche nach der Sammlung der Best Practices hat noch nicht ganz aufgehört. Empfehlungen / Maßnahmen Bringen Sie Ihre Organisation auf einen Reifegrad, der agile Methoden zulässt und fördert. Halten Sie formale Prozessverbesserungsinitiativen so schlank, dass darunter agile Ansätze Platz haben IT-Trends 2007 Seite 5 Quellen Peter Hruschka, Chris Rupp, Gernot Starke: Agility kompakt Spektrum akademischer Verlag, 2004 Barry Boehm, Richard Turner: Balancing Agility and Discipline: A Guide for the Perplexed Addison Wesley, 2003 IT-Trends 2007 Seite 6 Was ist das? SysML - System Modeling Language ein Derivat der UML (Unified Modeling Language) initiiert von INCOSE (International Council on System Engineering) Status: angenommen Mai 2006, im Finalisierungsprozess Motivation / Kontext System Engineers haben keine gemeinsame Sprache (quer über HW, SW, Mechanik, Elektrik, Elektronik, ....) UML ist für Software ziemlich populär Deshalb UML adaptieren für System Engineering Projekte IT-Trends 2007 Seite 7 SysML ist 80% UML UML IT-Trends 2007 SysML UML = SysML Seite 8 Diagrammarten Behalten von der UML: Use Case Diagram State Charts Sequence Diagram Package Diagram Erweitert Activity Diagram Umbenannt und modifiziert (vgl. Bausteinsicht von Arc42) Klassendiagramm -> Block Definition Diagram Composite Structure Diagram -> Internal Block Diagram NEU Anforderungsdiagramm Parametric Diagram (Zusicherungsdiagramm) als Spezialisierung des Blockdiagramms IT-Trends 2007 Seite 9 Anforderungsdiagramm <<requirement>> Name <<requirement>> Name <<deriveReqt>> id = ...... text = „......... ...............“ <<trace>> <<requirement>> Name <<satisfy>> <<verify>> <<design>> Name <<requirement>> Name <<copy>> <<requirement>> Name1 IT-Trends 2007 <<refine>> <<uc>> name <<test case>> Name Seite 10 - Fazit Probleme Neuer Standard, dessen Akzeptanz noch nicht erwiesen ist Viel Freiheitsgrade für Toolhersteller in der Umsetzung -> wenig Austauschbarkeit Empfehlungen / Maßnahmen Einlesen und relevante Teile ausprobieren bzw. UML-Subset sinnvoll für System Engineering einsetzen Quellen www.omgsysml.org Tim Weilkiens: System Engineering mit SysML/UML dpunkt Verlag, 2006 IT-Trends 2007 Seite 11 RIF Was ist das? Requirements Interchange Format unabhängig von Tools und lokalen Formaten Eine Initiative der HIS-Group (Herstellerinitiative Software) Audi, BMW, Daimler, Porsche, Volkswagen In Zusammenarbeit mit Open, Conti Temic, Carmeq, HOOD Standard seit 11/05 Motivation / Kontext Mehr und mehr Einsatz von Requirements Management Tools in der Automotive Industrie und bei den Zulieferern Toolspezifische Lösungen sind unbefriedigend Ziel: Requirements Management-Daten zwischen Herstellern und Zulieferern austauschen IT-Trends 2007 Seite 12 RIF-Funktionsweise IT-Trends 2007 Seite 13 RIF- Das Prinzip Vorgehen Ein Hersteller (OEM) verwaltet seine Requirements in einem Tool (Datenbank mit proprietärem Format) Einzelne, für den Austausch bestimmte Requirements können ausgewählt werden und werden in das RIF-Format exportiert Die RIF-Datei wir an den Zulieferer übergeben (FTP, email, ...) Dort werden die Requirements aus der RIF-Datei in die Datenbank eines (andere) RM-Tools übernommen. Eine weitere Bearbeitung basierend auf dem nun aktuellen Stand kann wieder an den Hersteller zurück gesendet werden. Vorteile Requirements bleiben durch eindeutige Kennzeichnung im RIF-Format identifizierbar Vorteile durch RM-Tools (Traceability, etc.) bleiben erhalten IT-Trends 2007 Seite 14 RIF - Fazit Probleme Die Toolhersteller haben Support zugesagt, aber es dauert Empfehlungen / Maßnahmen Automotive-Initiative unterstützen Als Anwender Druck auf Hersteller ausüben Quelle www.automotive-his.de IT-Trends 2007 Seite 15 andromda.com Metadatenmanagement Was ist das? Metadaten = Daten, die andere Daten beschreiben Beispiele Ein Repository enthält Informationen (Metadaten) über Data Warehouses (Daten), z.B. Schemata, Reports, Verantwortliche... Ein SOA-Serviceverzeichnis enthält Metadaten über Services (Anbieter, Versionen, SLAs, usw.) Motivation / Kontext Metadaten sind genauso wichtig wie die Daten selbst Metadaten können geschäftskritische Angaben enthalten Beispiel Ad-hoc-Meldung für die Börse: „Die Firma Hightech Medicals hat ein neu zugelassenes Medikament und steigert damit den Umsatz um 50%!“ Meldung íst an der Börse nutzlos ohne die Meta-Information Veröffentlichungsdatum IT-Trends 2007 Seite 16 andromda.com Metadaten Standardisiert durch OMG MOF = Meta Object Facility: Repräsentation und Zugriff XMI = XML Metadata Interchange: Archivierung und Austausch Repräsentiert oder abgelegt in einem Repository Open Source: Eclipse EMF, Netbeans MDR kommerziell (als Beispiel): Adaptive, infonea Abstrahiert als Modell Strategiemodell, Geschäftsprozessmodell, Anwendungsmodell, Datenmodell, SOA-Servicemodell, Deploymentmodell, usw. Metamodelle: UML, CWM, BPMN, WSDL, vom Unternehmen selbst definierte Metamodelle, usw. IT-Trends 2007 andromda.com Seite 17 Metadatenmanagement Fazit Probleme Tools erzeugen unterschiedliche Metadatenformate (Beispiel XMI 1.x, 2.x, darin UML 1.3, 1.4, 2.0, 2.1) Prozesse: Metadaten werden heute meist noch nicht systematisch modelliert, versioniert und gemanagt Unternehmenskultur: Wissen über die im Untenehmen vorhandenen Metadaten im Unternehmen selbst wenig verbreitet Æ Arbeit wird mehrfach anders gemacht Empfehlungen / Maßnahmen Analysieren Sie vorhandene Metadaten systematisch! Stellen Sie Modelle dafür auf und standardisieren Sie! Versionieren Sie Metadaten in einem Repository! Pflegen Sie die Qualität, erhalten Sie das Kapital! IT-Trends 2007 Seite 18 andromda.com Metadatenmanagement – Quellen 1. MOF = Metaobject Facility: www.omg.org/mof 2. XMI = XML Metadata Interchange: www.omg.org/xmi 3. EMF = Eclipse Modeling Framework: www.eclipse.org/emf 4. MDR = Netbeans Metadata Repository: mdr.netbeans.org 5. Adaptive Repository: www.adaptive.com 6. infonea: www.infonea.de IT-Trends 2007 andromda.com Seite 19 Modellbasierte Kontinuierliche Integration Was ist das? Kontinuierliche Integration Ein Server läuft im Hintergrund baut nach jeder Änderung des Quellcodes das System neu lässt alle automatisierten Tests durchlaufen Schlägt sofort Alarm, wenn die Entwickler Fehler einbauen Modellbasierte kontinuierliche Integration Dasselbe, nur ist diesmal das Modell der Quellcode! Motivation / Kontext Das Modell ist als Metadaten abgelegt Codegenerator auf dem Server übersetzt es in Quelltext Generierter Quelltext und handgeschriebener Quelltext werden gemeinsam übersetzt und gepackt Automatisierte Tests werden ausgeführt und protokolliert IT-Trends 2007 Seite 20 Modellbasierte Kontinuierliche Integration andromda.com Beste Lösung Das Modellierungswerkzeug speichert das Modell nativ in dem Format, das der Codegenerator verarbeiten kann (idealerweise XMI) Benutzer checkt das Modell in die Versionsverwaltung ein K.I.-Werkzeug checkt wieder aus und startet den Build Build-Werkzeug startet Codegenerator Codegenerator verarbeitet das ausgecheckte Modell im Batch Zweitbeste Lösung Das Modellierungswerkzeug exportiert das Eingabeformat für den Generator… …auch im Batch, ohne dass der Benutzer involviert ist! IT-Trends 2007 andromda.com Seite 21 Modellbasierte kontinuierliche Integration – Fazit Probleme Nicht alle Tools können im Batch exportieren! Exportieren ist umständlich und wird beim interaktiven Arbeiten gelegentlich vergessen! Empfehlungen / Maßnahmen Wenn Sie einen Entwicklungsprozess für Ihr Team formulieren wollen, denken Sie auch an das „maschinelle Teammitglied“, den Build-Server, der unsichtbar im Hintergrund arbeitet Untersuchen Sie, ob sich Modellierungstool, Codegenerator, Continuous-Integration-Tool und Build-Tool zu einer lückenlosen Kette verknüpfen lassen! Falls nicht, denken Sie über einen Toolwechsel nach. IT-Trends 2007 Seite 22 andromda.com Modellbasierte kontinuierliche Integration – Quellen 1. Modellierungstool MagicDraw: www.magicdraw.com 2. Codegenerator AndroMDA: www.andromda.org 3. Buildtool Maven: maven.apache.org 4. Continuous Integration Tools: CruiseControl oder Continuum: cruisecontrol.sourceforge.net maven.apache.org/continuum 5. Grundlagen zu Continuous Integration: www.martinfowler.com/articles/continuousIntegration.html IT-Trends 2007 Seite 23 andromda.com UPMS Was ist das? UPMS = UML Profile and Metamodel for Services OMG Request for Proposal Dokument soa/2006-09-09 Motivation / Kontext Einheitliches Vokabular und Metamodell für die ServiceModellierung in einer serviceorientierten Architektur (SOA) zur Vereinheitlichung der diversen Service-Definitionen zur plattform-unabhängigen Modellierung von Services UML-Profil Satz von Stereotypen und Tagged Values, um Servicemodellierung in UML zu ermöglichen (nicht jeder hat ein Metamodellierungs-Tool) IT-Trends 2007 Seite 24 andromda.com UPMS-Fazit Absicht Plattform-unabhängige Modellierung von Services Konzentration auf das Business, nicht auf Technologien Plattform-spezifische Implementierungen werden später generiert Empfehlungen / Maßnahmen Abwarten: Der RFP bei der OMG ist gerade erst herausgekommen (September 2006) Mit Reaktionen wird im Juni 2007 gerechnet Verfolgen: Unterwegs können daraus gute Konzepte für die Service-Modellierung entstehen, die Sie in Ihrer Organisation verwenden können Reaktionen der großen Hersteller und der Open SourceCommunity beobachten IT-Trends 2007 Seite 25 andromda.com MDA Tool Components Was ist das? Kommender Vorschlag für ein standardisiertes Aussehen von MDA-Toolkomponenten OMG RFP ad/2006-06-09 Motivation / Kontext Heutige MDA-Tools (z.B. Codegeneratoren) bestehen aus immer wieder gleichartigen Komponenten Metamodelle, Transformationen, Templates, usw. Komponenten sind jedoch zwischen den Tools nicht austauschbar heterogene Schnittstellen und Datenformate unterschiedliche Philosophien Schön wäre es, wenn man ein Metamodell oder eine Transformation aus Tool A auch in Tool B verwenden könnte IT-Trends 2007 Seite 26 andromda.com MDA Tool Components Heutiger Status RFP bei der OMG ist veröffentlicht Erste Implementierung im Rahmen des MODELWAREProjektes (dort bekannt als „ModelBus“) Weiterpflege im Eclipse-Projekt MDDi (Model Driven Development integration) Empfehlungen / Maßnahmen Anschauen: Eclipse MDDi steht zum Herunterladen bereit Überprüfen: Prüfen Sie, ob die Konzepte zu Ihrer MDA-ToolLandschaft passen Einfluss nehmen: Senden Sie Feedback an das MDDi-Projekt, damit die Ergebnisse wirklich praktisch anwendbar werden IT-Trends 2007 andromda.com Seite 27 MDA Tool Components Quellen 1. Eclipse MDDi: www.eclipse.org/mddi 2. Modelware-Projekt: www.modelware-ist.org 3. OMG RFP: www.omg.org/cgi-bin/doc?ad/2006-6-9 IT-Trends 2007 Seite 28 Push-Information Was ist das? CONSUMER erhalten Informationen von PROVIDERN übermittelt (anstatt sie dort periodisch abzurufen) Manifestationen: Blogosphäre „customized“ Newsletter oder Portale, beispielsweise infoQ Motivation / Kontext Anzahl verfügbarer Informationsquellen übersteigt handhabbares Maß für Leser IT‘ler wollen und müssen (spezielle) Informationen erhalten IT-Trends 2007 Seite 29 Beispiel: Custom Info Portal „InfoQ“ Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (LZW)“ benötigt. IT-Trends 2007 Seite 30 Push-Information: Fazit Probleme Hunderte (gute!) Blogs verfügbar - Lektüre dauert für Einzelne zu lange. Newsletter heutzutage oftmals produkt-/herstellerorientiert, schlechtes Verhältnis von Signal/Noise Empfehlungen / Maßnahmen Informations-Kondensation & -Aufbereitung wird zu Mehrwert und Dienstleistung Zeitlich kontrolliert Blogs zu spezifischen Themen lesen IT-Trends 2007 Seite 31 Web 2.0 & AJAX Was ist das? Interaktives Web (Benutzer bearbeiten Inhalte) „Web 2.0“ Begriff geprägt vom O‘Reilly-Verlag Als Dienstleistungsmarke in USA angemeldet :-( Charakteristika Web-als-Plattform (anstatt lokaler Rechner) „Architektur des Mitwirkens“ Alle Arten von Anwendungen Beispiele: FlickR, BackpackIT, Motivation / Kontext Bisheriges Web sehr statisch, Benutzer wenig einbezogen Ständig verfügbarer („pervasive“) Internetzugang IT-Trends 2007 Seite 32 „The State of Web 2.0“ (Dion Hinchcliffe) Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. http://web2.wsj2.com/the_state_of_web_20.htm IT-Trends 2007 Seite 33 Web 2.0 Mindmap (Markus Angermeier, wikipedia) Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. IT-Trends 2007 Seite 34 Beispiel: Dabble-DB Browser-basierte relationale Datenbank Daten liegen vollständig serverseitig Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (LZW)“ benötigt. IT-Trends 2007 Seite 35 Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. AJAX (1) AJAX steht für „Asynchronous JavaScript & XML“ Technologie für interaktive Webanwendungen Motivation: bisherige Webseiten kennen nur reload, kein update Störend bei kleinen Änderungen Bestandteile von AJAX (X)HTML & CSS: Informationen darstellen DOM: Dynamische Darstellung und Interaktion mit Daten XMLHttpRequest Objekt: Lese Daten asynchron von Webserver JavaScript: hält alles zusammen Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Teilweise nach: AJAX-Tutorial von Anubhav Kale, [email protected] IT-Trends 2007 Seite 36 AJAX (2) Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Einsatz von AJAX Plausibilisierung und Validierung von Daten in Masken Daten in einem HTML-Form können vor einem „submit“ validiert werden Automatische Vervollständigung von Daten („convenience“) Master-Detail Aktionen Eine HTML-Seite kann auf Basis einer Benutzeraktion Daten „nachladen“ „Sophisticated UI-Controls“ ... Rich-Client Gefühle in Browser-Anwendungen Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Teilweise nach: AJAX-Tutorial von Anubhav Kale, [email protected] IT-Trends 2007 Seite 37 Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Web-Anwendungen und AJAX (3) AJAX Engine Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Nach: AJAX-Tutorial von Anubhav Kale, [email protected] IT-Trends 2007 Seite 38 AJAX (4) Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. XMLHttpRequest Erlaubt HTTP Request „im Hintergrund“ (asynchron) Callbacks „landen“ in JavaScript-Code Von (fast) allen Browsern unterstützt Aber: i.d.R. erste Anweisung var firefox = document.getElementById && !document.all; Benutzung: Requester-Objekt erzeugen Mit open() eine Verbindung zu Server aufbauen Mit send() Daten/Anfrage an Server senden: Requester.open(„POST“, „query.cgi“) Requester.send(„name=Bob&id=mumbo“); Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Teilweise nach: AJAX-Tutorial von Anubhav Kale, [email protected] IT-Trends 2007 Seite 39 Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. AJAX (5) XMLHttpRequest kontaktiert Server und erhält Antwortdaten Hhm - kann beliebig lange dauern EventListener (speziell: readyState-Variable) um festzustellen, wann Antwort vollständig ist requester.readyState 4: completed requester.status 200: success Antwort des XMLHttpRequest auswerten responseXML: DOM-strukturiertes Objekt responseText: ein einzige Zeichenkette Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Teilweise nach: AJAX-Tutorial von Anubhav Kale, [email protected] IT-Trends 2007 Seite 40 AJAX (6) Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Teilweise nach: AJAX-Tutorial von Anubhav Kale, [email protected] IT-Trends 2007 Seite 41 AJAX (7) Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. DOM und HTML HTML-Snippet <div id=„sample“> This is a <b>sample of HTML</b> <br> to demonstrate the DO M </div> Korrespondierende DOM-Struktur Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Abbildungen ach: http://www.musestorm.com/developers/tutorials/ad_tutorial2.jsp IT-Trends 2007 Seite 42 AJAX (8) Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Mögliche Probleme Back-Button funktioniert (evtl.) nicht mehr Browser merken sich nur statische Seiten - keine dynamischen Updates Bookmarks funktionieren (evtl.) nicht mehr wie erwartet Grund: JavaScript erzeugt die Webseite, NICHT der Server! Code auf Client und Server erschwert Fehlerdiagnose JavaScript Source ist öffentlich Willkommen,Plagiateure! Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Teilweise nach: AJAX-Tutorial von Anubhav Kale, [email protected] IT-Trends 2007 Seite 43 Web 2.0 - Fazit Probleme „Anwendungen“ im Web sind potenziell unsicher Daten liegen auf öffentlich erreichbaren Internet-Servern Potenzielles Risiko des Missbrauchs Völlig ungeeignet für kommerziellen Einsatz! Hohe Verbreitung von kostenfreien Diensten Aber: there is no free lunch... Empfehlungen / Maßnahmen Für „privaten“ Einsatz besitzt Web 2.0 hohen Cool-Faktor Für kommerziellen Einsatz: Risiken bedenken IT-Trends 2007 Seite 44 Trend: Online Communities Was ist das? Internet-Interessengemeinschaften Nicht ganz neu, aber gerade „hipp“ Siehe auch: Web 2.0 Motivation / Kontext Unternehmen entdecken „Communities“ als Geschäftsmodell YouTube Videoportal: für 1.6 Mrd. US-$ an Google FlickR Fotoportal: für >> 40 Mil. US-$ an Yahoo SecondLife: kommerzielles Online-Spiel Mehr als 2.200.000 Spieler (Stand: 27.12.2006) In 24h werden dort > 830.000 US$ ausgegeben (Echte!) Firmen wie Addidas, Toyota kaufen dort (virtuelles) Land und werben für ihre Produkte IT-Trends 2007 Seite 45 Communities: SecondLife „Metaversum“: Online-Spiel, in dem SpielerInnen ein virtuelles „Leben“ führen und konsumieren Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. IT-Trends 2007 Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Seite 46 Quellen zu „Communities“ SecondLife www.secondlife.com http://www.bild.t-online.de/BTO/tipps-trends/digitalleben/aktuell/2006/specials/second-life/artikel/erklaerstueckaufmacher/art-second-life.html http://gigagamez.com/2006/12/18/second-life-hype-vs-antihype-vs-anti-anti-hype/ Web 2.0 Communities Hilfe - es gibt zuviele :-) Beispiel: www.qype.com IT-Trends 2007 Seite 47 Communities - Fazit Probleme Online-Communities kennen kein „Lieferantentreue“ Höchste Volatilität Empfehlungen / Maßnahmen Auf klassische „Enterprise“ IT besitzen Online-Communities auch weiterhin keinen Einfluss Für (risikofreudige) Unternehmer bieten sie Potenzial Aber: Auf diesen Zug sind bereits viele aufgesprungen IT-Trends 2007 Seite 48 Virtualisierung und Emulation Was ist das? Virtualisierung: „Resourcenverteilung“ in einem Computer Betriebssystemvirtualisierung Emulation: „So-tun-als-ob“ Beispiel: „Mono“-Framework stellt .NET unter Linux bereit Trendy aufgrund verbesserter Hardware/Softwareunterstützung Motivation / Kontext Beispiel 1: (Einige) Windows-Programme unter Mac OS nutzen Beispiel 2: Programm-Installationen unter Windows testen Beispiel 3: Bestehende.NET Software unter Linux verwenden IT-Trends 2007 Seite 49 Beispiel für Virtualisierung Diverse unterschiedliche Betriebssysteme unter MacOS booten Jeweils in eigenem Fenster Parallels, VM-Ware oder VirtualPC IT-Trends 2007 Seite 50 Virtualisierung - Fazit Probleme Lizenzanforderung beachten Beispiel: Microsoft fordert für Vista-Installation innerhalb einer VM eine „große“ Lizenz Empfehlungen / Maßnahmen Virtualisierte Betriebssysteme als „Sandbox“ betreiben Verringert Konsequenzen von Sicherheitsproblemen Neuinstallation funktionsfähiger Stände „in Sekunden“ Mein (GSt) Tipp: Windows XP innerhalb einer VM unter MacOS X betreiben IT-Trends 2007 Seite 51 (Dynamische) Was ist das? Programmiersprachen Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Dynamisch getypte (&interpretierte) Programmiersprachen Insbesondere: Ruby, Groovy & JavaScript Inklusive zugehörige (Web-)Frameworks, etwa Ruby-on-Rails Motivation / Kontext Trend: „language matters“ Projekte benutzen >1 Sprache zur Implementierung „Skriptsprachen“ offiziell als Java-Ergänzung (JSR 223) Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. IT-Trends 2007 Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Seite 52 Ruby on Rails (1) Was ist das? Ruby-Framework für Web-Anwendungen Immenses Echo & Anerkennung in Internet & Fachpresse Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. Highlights MVC & DRY (don‘t repeat yourself), minimale Konfiguration Scaffolding: Basierend auf DB-Schema generiert Rails lauffähige M, V & C-Klassen Fokus auf Testbarkeit Drei zentrale Bestandteile: ActiveRecord als Verbindung zwischen Model (DomainObjekte, jeweils eine Ruby-Klasse) und DB ActionController, ActionView Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (Unkomprimiert)“ benötigt. IT-Trends 2007 Seite 53 Programmiersprachen - Fazit Probleme Vorwurf: (manche) Skriptsprachen nicht „Enterprise-Ready“ Fehlende Erfahrung, Empfehlungen / Maßnahmen „Java-Shops“: Integration z.B. durch regelbasierte Sprachen (Drools, JBoss-Rules) evaluieren Siehe auch: JRuby & Groovy Web-Shops: Ruby-on-Rails evaluieren Von zahlreichen Web 2.0 Unternehmen produktiv eingesetzt IT-Shops: Know-How in mehreren Programmiersprachen aufbauen Einsatz: Prototyping, Verfeinerung von Anforderungen IT-Trends 2007 Seite 54 Programmiersprachen - Quellen Ruby & Rails 12 Top-Tutorials: www.digitalmediaminute.com/article/1816/top-ruby-on-rails-tutorials Ruby-on-Rails on Mac OS X: developer.apple.com/tools/rubyonrails.html IBM-Tutorial - gut wie immer: www-128.ibm.com/developerworks/linux/library/l-rubyrails/ Lisp: Practical Common Lisp, Peter Seibel, Apress, 2005 DAS Buch zu Lisp - für mich das beste Programmierbuch JavaScript: Christian Wenz: JavaScript & AJAX, Video-Training Neue Medien, mal gut eingesetzt. IT-Trends 2007 Seite 55 REST als Architekturmuster Was ist das? Representational State Transfer Architekturmuster für hochgradig skalierende WebAnwendungen Motivation / Kontext Idee: Architekturkonzept analog dem Web aufbauen Minimale und uniforme Schnittstelle: CRUD Analog HTTP Alle „Resourcen“ sind per URI auffind- und manipulierbar IT-Trends 2007 Seite 56 REST - Fazit Probleme Völlige Abkehr von OO-Designprinzipien Einheitliche (CRUD) Schnittstelle zu Resourcen Bisher keine kommerziellen Beispielprojekte Empfehlungen / Maßnahmen REST als (zusätzliches) Architekturmuster kennen lernen „Wait-and-see“ IT-Trends 2007 Seite 57 (IT &) SOA Governance Was ist das? Governance = „Regierung“: Maßnahmen & Prozesse zur systematischen Entscheidungsfindung („zum Wohle der Organisation“) Motivation / Kontext Aufsichtsbehörden & Aktionäre fordern höhere Transparenz in Unternehmen U.a. für IT-bezogene Entscheidungen IT-Governance in großen Organisationen etabliert Gartner bezeichnet SOA Governance als zentralen Erfolgsfaktor IT-Trends 2007 Seite 58 Governance - Fazit Probleme SOA-Governance benötigt Werkzeuge (Registry, Repository) Unterstützung zur Entwicklungszeit Überwachung/Monitoring zur Laufzeit Konventionelle IT-Organisationen sind anwendungs- und nicht service-orientiert! Hohes Konfliktpotenzial bei SOA Einführung NUR durch Governance lösbar Empfehlungen / Maßnahmen SOA Governance als Teilprojekt von SOA einführen IT Governance parallel optimieren IT-Trends 2007 Seite 59 Governance: Quellen Whitepaper „Rule your SOA“: (komplett produktneutrale Aufarbeitung des Themas): http://www.softwareag.com/Corporate/Images/200612_WP_SO AGovernance_tcm16-22130.pdf Weill-Ross]: Peter Weill, Jeanne W. Ross: IT Governance: How Top Performers Manage IT Decision Rights for Superior Results, Harvard Business School Press, 2004: DAS Buch zum Thema IT-Governance IT-Trends 2007 Seite 60 Komplexität und Spezialisierung Was ist das? „Zeitalter der Unüberschaubarkeit Auch (scheinbar) einfache Dinge werden schwierig Zeitalter galoppierender Spezialisierung ([Schmalenberg]) Motivation / Kontext Allgemein: Viele Produkte nur noch für Teile der Bevölkerung geeignet Softwareentwicklung: Methodische Grundlagen (z.B. „Architektur“) besitzt hohe Bedeutung, zusätzlich immer höher spezialisiertes Detailwissen erfordlich. Beispiele: XML, XSL, HTML, CSS, JavaScript ASP, JSP, JSF, RCP SOAP, WSDL, WS-* Produkte, Frameworks, Betriebssysteme IT-Trends 2007 Seite 61 Quellen Detlef Schmalenberg: Kölner Stadt-Anzeiger Ralf Westphal: Quo Vadis, Fachzeitschriften IT-Trends 2007 Seite 62