Javaforum Stuttgart 2011 #jfs2011 Live Blogging Vortrag 4

Vortrag 4:

Java in der Cloud – Aktuelle Möglichkeiten und Entwicklungen

Was ist die Cloud?
Infrastructure as Service
Virtuelle Server, vergleichbar mit Virtualisierung

Manage Everything yourself
Player sind z.B. Amazon Webservices
VMWare
Platform as a Service
Virtual App Server
werden meist von den Providern gemanagt.
Skalierung wird vom Anbieter gemanagt.
Beispiele Cloudfoundry oder Google App Engine

Software as a service

Software aus der Cloud meist ebenso relevant für User wie Entwickler
Beispiele: Salesforce
Google Mail

Cloud Modelle:

Public -> Für die Öffentlichkeit verfügbar

Private -> Nur für eine Organisation verfügbar

Community -> Für mehrere Organisationen verfügbar

Hybrid -> Kombination verschiedener Modelle

Warum Cloud überhaupt machen

Public Cloud: Zahl nur, was du brauchst
Billige Art, Lastspitzen zu behandeln
Transparentes Kostenmodell

Private Cloud:
Besser Verwendung der Ressourcen
Kosten können abgerechnet werden
Der nächste Schritt nach der Virtualisierung

Business Agility
Deployment von Anwendungen per Maus Klick
Testumgebungen sehr einfach und günstig. Zahlen nur beim Testen.
Die Anwendung skaliert automatisch

Werner Vogels (CTO Amazon) sagt: Ihre Ingenieure brauchen 70% der Zeit für Skalierbarkeit und Technologie-> Deshalb Cloud

Plattform der Zukunft
Ausfallsicherheit, Automatische Verteilung, neue Computer einzurichten wird trivial
Günstige Systeme mit hoher Verfügbarkeit und Datenhaltungssicherheit
Sieht so aus wie Google, Amazon, Facebook

Wie sieht das für den Java Entwickler aus

Wie gehe ich mit Lastspitzen um? Ich brauche mehr App Server Instancen
Nach dem Peak müssen sie auch wieder gestoppt werden
Elastic Scaling als Stichwort
Was der Entwickler am Ende hat:
Eine Werkzeug, das eine Anwendung nimmt und daraus eine VM erzugt, mit der gesamten nötigen Infrastruktur.
Diese kann dynamisch hoch und runter skalieren.

Wir benötigen Werkzeuge zur Installation der Software
Die Infrastruktur verwalten
Benutzer einrichten

Tools sind z.B. Puppet, Chef etc.
Quasi eine Factory für VMs
Für lokale Installationen existiert „Vagrant“
Vorteile: Sehr flexibel
Arbeitet für jetwede Infrastruktur und Anwendung
Arbeitet auf komplexen Installationen mit versch. Komponenten
Verschiedene Anwendungen können auf verschiedene Knoten deployt werden.

Aber noch besser geht es:

Anwendung auf einer PaaS Umgebung also Plattform as a Service deployen
Vorteil: Nützlicher, da ein Server sowieso installiert werden müssten
Automatische Skalierung
Zusätzliche Dienste im Angebot

Aber:
Weniger flexibel
Vordefiniertes Entwicklungsmodell
Lernkurve für das Programmiermodell
Existierender Code ggf. schwer zu migrieren.

Mogliche PaaS Plattformen
Google App Engine
Java Unterstützung aber sehr restriktive Umgebung mit Java Classes White List
Fokus auf NoSQL

Begrenzung der startbaren Applikationen
Limit auf Antwortzeit (30sec)
Kein Zugriff auf OS oder Server

Daher wurden spezielle Frameworks entwickelt
(Gaelyk for Groovy)

Aber besser laut Vortragendem

Amazon Elastic Beanstalk

Basierend auf der EC2 Infrastruktur
plus Auto Scaling und S3
Dazu Linux, OpenJDK und Tomcat

Zur Zeit im Betatest im Osten der USA
Es gibt Eclipse Plugin
Es unterstützt Versionsverwaltung für Applications, sowie Elastic Scaling
Einfaches Monitoring ist eingebaut
Detailierte Kontrolle über die Umgebung ist möglich.
Zugang aufs OS und Tomcat Logs

Spring basierte Demoanwendung ist vorhanden und es existiert ein Relational Database Service (RDS) für enterprise scale MySQL und andere Amazon Web Services
Skalierungseinheit 1 VM = 1 Server

Weiterer Ansatz
VMWare Cloud Foundry
Open Source Projekt bei GitHub unter der Apache2 Lizenz

Sehr neu, noch ohne kommerzielle Angebote

Kann Ruby, Java und Node.js laufen lassen
Verschiedene Frameworks werden unterstützt
Kann überall gehostet werden, wird von der Community erweitert, z.B. Support für Erlang, PHP, Python

Es existiert ein Eclipse Plugin
Es unterstützt elastic scaling…. Ok, man kann es bauen.
Aehnlich normalen EJB Umgebungen mit Tomcat und MySQL
Läuft auf ubuntu
es teilen sich n Server eine virtuelle Maschine, damit geht die Skalierung feingranularer.
Angebotene Dienste sind
RDB Service
Key Value Store
Document Store
Messaging Service
Mehr kommt
Es gibt auch eine API zum Erstellen der eigenen Services

Zusammenfassend
Cloud wird aus drei Gründen kommen: Kosten, Business Agility, Platform of the Future
Google App Engine Pionier aber veraltet

Amazon Beanstalks: Standing on the shoulde of Giants

Cloudbees: Für Entwickler

Spannend scheint CloudFoundry: Open Source mit einer grossen aktiven Community, lauffähig auf ubuntu!

Javaforum Stuttgart 2011 #jfs2011 Live Blogging Vortrag 3

Vortrag 3:

Das nächste große Ding
Programmiersprachen für die JVM

Java ist in gewissem Sinne bereits Legacy.

Was ist eine große Programmiersprache?

C, C++, Java sind groß -> Pascal eher nicht, Modula auch nicht
Große Sprachen erlauben große Projekte

Sprachen, die sich modernisieren werden nicht zwangsweise besser, eher komplexer.

Eine große Sprache ist wichtig, weit verbreitet, berufsentscheidend und etabliert.

Es kommt aber NICHT auf die Syntax an.
Wichtig ist auch die Community!

Das nächste große Ding läuft vermutlich auf der JVM.

Konkurriert mit Java.
Und ersetzt Java und macht möglicherweise noch andere überflüssig.

Die guten Seiten von Java sind heute nicht mehr relevant. Objektorientierung, Threads, Packages, Sandbox etc. sind zwar gut aber „old school“.

Bestimmte Probleme lassen sich mit Objektorientierung sehr gut lösen, aber nur die. Mit einem Löffel kann man auch eine Baugrube ausheben.

Auch sonst gute Aspekte wie: kein goto, Kein Überladen von Operatoren, kein typedef, kein Präprozessor
Schönes Zitat: „Die jungen Leute kennen keine Pointer mehr“

Technologie-Sprung
NICHT alles ist aber ein Objekt. Dinge, die wir für alle Datentypen machen müssen, müssen wir auch für alle Datentypen tun.

Die primäre Weisung es muss rückwärtskompatibel sein

Sekundäre Weisung
Das Java „Feeling“ sichern
Die konzeptuelle Integrität sichern.

Java hat Probleme mit Generics und Closures

Anderungswünsche
foreach auch für Maps
Switch-break-fix
Abfangen von unmoglichen Checked Exceptions
und diverse moderne Elemente anderer Sprachen.
Die Frage ist nicht die Menge an zu schreibendem Code, sondern wie lesbar ist der Code der „zukünftigen“ Sprache.

gewünscht:
Sprachorientierte Programmierung
Unveränderlichkeit
Funktionale Programmierung
Nebenläufigkeit und Parallelität

Auf jeden Fall eine Art Paradigmenwechsel

Javaforum Stuttgart 2011 #jfs2011 Live Blogging Vortrag 2

Vortrag 2:

Funktionieren agile und dynamische Entwicklungsprozesse nur in dynamischen und agilen Unternehmen?

Entwicklungsprozess funktionieren, wenn die Ziele erreicht werden, das berühmte Dreieck Qualität, Kosten und Termin wird präsentiert.

Der Prozess bei Gebit ist iterativ, inkrementell, mehrfach paralleler Entwicklungsprozess, also Modell-Driven
Interpreter Framework, kein Generatorenframework, also interpretieren des Modells zur Laufzeit.

Gebit setzt agile Methoden wie
Parrprogrammierung, Testgetriebene Entwicklung und Refactoring

Auch hier fällt das Stichwort Continous Integration wieder.

Erstes Fallbeispiel: Projekt Entwicklung Kassensystem, Ablösung von Standardsoftware mit zahlreichen Schnittstellen zu Backend Systemen.
Bei GEBIT lag auch die Testverantwortung.
Die Beauftragung erfolgte immer in Monatssteps->Gefiel das Ergebnis bis dann->Nächster Step.
Die Entwicklung erfolgte alleine durch GEBIT.
Insgesamt 15 Monate bis zu ersten produktiven Implementierung.
Schlüssel zum Erfolg:
-Paarweise Spezifikation
-Volle Konzentration von Auftraggeber und Nehmer auf das Projekt
-Eskalierte Themen wurden ernst genommen
-Betroffene zu Beteiligten machen.

Zweites Fallbeispiel: Sachbearbeiteranwendung in einer Behörde.
Ablösung von 2 Altverfahren, 12,3kg Specs von mehr als 50 Autoren (Projekt lief bereits lange)

Testautomatisierung in hohem Mß durch MA des Kunden

Problem bei diesem Projekt, keine wirklichen ITler in der IT Abteilung der Behörde

Keine Projektleitung beim Kunden, da Mitarbeiter maximal 20-30% der Zeit für Projektleitung
Projekt für Einführung und Betrieb fehlte aber völlig.
Keiner der beteiligten Mitarbeiter war Vollzeit im Projekt, maximale Zuordnung war 50% im Projekt.
D.h. Oft laufen IT Projekte in IT fernen Unternehmen, ohne das Bewußtsein für die Bedürfnisse eines IT-Projektes.

Herausforderungen: Agile Methoden waren gesetzt
Es wurde sich am V-Modell orientiert
Umfangreiche Mitwirkungsleistungen des Auftraggebers wegen Budget

Hoher Headcount auf Kundenseite
aber Teilzeitkräfte, Tagesgeschäft, Altverfahren

Projektteams ohne Projekterfahrung. Das ist oft ein grosse Problem. Order by Mufti funktioniert hier nicht.

Die IT Affinität fehlte bei 90% des Projektteams, auch keine Seltenheit, leider oft sogar eine gewisse versteckte Aversion.

Es gab oft Spannungen zwischen den Linientätigkeiten und dem Projekt, oder wie ich immer sage, ENTWEDER Projekt ODER Linie, beides GEHT NICHT!
(Sorry, hier muss ich schreien)

Es wurde nur verwaltet, nicht proaktiv gesteuert. Auch dies kein seltenes Phänomen, meist wird mehr Wert auf Excel Schlachten und Statusberichte gelegt, als auf die aktive in Angriff Nahme der Entwicklungsherausforderungen. Der Entwickler ist meist das kleinste Rädchen, das das ganze einfache Programmierzeugs macht. Hierarchische Strukturen fressen gerade in grossen IT Projekten oft wichtige PT und Ressourcen.
Hier wurde die Agilität „ausgelagert“ zu den GEBIT Entwicklern.
Das Kernteam war mit dem Projektverlauf sehr zufrieden, aber die Mitwirkungsleistungen waren nicht in time. Es gibt immer noch Aufgaben, obwohl das Projekt zu Ende ist.

Kein Vorgehensmodell kann einen Erfolg erzwingen. Auch das Umfeld muss stimmen. Und da krankt es meist. IT Projekte ohne Mitarbeiter mit „Lust an der IT“ werden grausam!

Lessons learned:
Veränderung der Kommunikationskultur schwierig
Prozesse in Behörde dauern länger als lange.
Steuerung des Projektes notwendig
Spezifikationsänderungen nachvollziehbar dokumentieren
Stimmige Chemie kompensiert vieles
Betroffene zu Beteiligten machen
Spannungsfeld Fakten und Zahlen < -> Zweckoptimismus

Javaforum Stuttgart 2011 #jsf2011 Live Blogging Vortrag 1

Vortrag 1:

Top 10 Tools für mehr Spass beim Entwickeln

Inhaltlich ein Querschnitt über die Tools aus der Community für Clean Code, mehr Spass bei der Arbeit (Dilbert, Comics Fun bei der Arbeit), das sind Punkte, die zwar in freien Arbeitsenvironments sinnvoll sind, dann aber verlangen, dass der Entwickler selbstgesteuert arbeiten darf. Oft ist dies in grossen Unternehmen aber nicht möglich.
Auch die Tools sind eher dann realistisch, wenn man als Entwickler die Freiheit hat, Tools, die man selbst schätzt zu installieren. Auch dies ist in den typischen Grossunternehmen mit angehängter IT Abteilung nur bedingt realistisch.

Spannend, Eclipse Mousefeed-Plugin empfiehlt passende Tastenkürzel
Weiteres Werkzeug-> Continous Integration, da sind wir gerade dran, also auf einem guten Weg. Phyllis ist als Testtool interessant um Regressiontests zu automatisieren.
Auch in diesem Vortrag zeigt sich wieder, Gamification muss nicht auf das Alltagsleben und die Freizeit beschränkt sein. Auch in der Arbeitswelt kann ein gewisses Maß an Gamification die Motivation, speziell in den kreativen und den wissenbasierten Jobs erhöhen. Stichwort z.B. TDGotchi um die Testerstellungsmotivation zu erhöhen.

Und letztlich, aber wirklich nicht sehr überraschend. Weiterbildung auf allen Kanälen. Hackathons/Hackergarten, Blogs etc. Wir müssen offener sein, mehr berücksichtigen, dass nicht alle gleich arbeiten. Gute Arbeit hat auch sehr viel mit einem guten Arbeitsumfeld zu tun.

Das Javaforum Stuttgart am 7. Juli 2011, live blogging und Twitter Updates

Es ist bald wieder so weit. Am 7. Juli wage ich mich nicht nur in die Fänge der Bahn, um die Reise von Schwäbisch Hall nach Stuttgart anzutreten, man findet mich auch wieder einen Tag auf dem Javaforum Stuttgart, wo sich Entwickler, Manager, Architekten treffen, um sich über die neuen Entwicklungen rund um Java auszutauschen. Dieses Jahr sind für mich vor allem die Themen rund um die Cloud und Mobile Computing spannend, zudem hoffe ich, auch den einen oder anderen Follower dort zu treffen (@elektrojunge ist auf jeden Fall auch dort).
Es wird also wieder Live Blogging von dort geben.

Und so erkennt ihr mich:

 

 

 

 

 

 

 

 

 

 

 

 

Hab ichs nicht gesagt? Die Senioren IT kommt….

Gerade bei ZEIT Online gelesen: „Sensoren für Senioren

Vom Teppich, der Stürze meldet, bis zum Spiegel, der das Kämmen anmahnt: Vernetzte Heimtechnik soll selbstbestimmtes Leben ermöglichen und Pfleger unterstützen.

Tja, das ist für mich der Markt der Zukunft. Senior IT. EDV, die Menschen das Leben erleichtert, die zu hause bleiben wollen. Von bionischen Erweiterungen (Gehhilfe XXL) bis hin zu Überwachung der korrekten Einnahme von Tabletten. Da wird ein ganz grosser Markt entstehen.

Aber dafür gilt es eines zu berücksichtigen. Bedienbarkeit. Nicht nur grosse Schrift und grosse Knöpfe. Viele Senioren brauchen das gar nicht. Aber sie haben auch keine Lust, sich tiefgehend mit Technik zu befassen. Was auch der richtige Ansatz ist, denn letztlich soll die Technik uns helfen, und uns nicht noch mehr beschäftigen. Da sehe ich ein Konzept gewinnen, das wohl am besten Apple demonstriert. Einfache, funktionale Geräte, die einfach nur gehen, die ggf. auch Funktionen weglassen, schlicht um gut bedienbar zu sein. Bei all dem „creeping featurism“ vergessen wir ITler nämlich oft, dass viele der Features einen sehr grossen Teil der Nutzer gar nicht interessieren. Also, einfache, gut bedienbare Devices, die das Leben im Alter erleichtern. DAS ist ein grosser Zukunftsmarkt.

Facebook oder Google+, ein ungleiches Rennen mit einem überraschenden Favoriten

Also was mir bei den ersten Experimenten mit Google+ aufgefallen ist, es besteht sehr hohes Interesse in meinem Netzwerk nach Einladungen zu Google+. Und die Features von Google+ gerade im Hinblick auf die „Circles“ kommen ausgesprochen gut an.


Es hängt wohl auch davon ab, wie schnell Google seine Api freigibt und es erste Lösungen gibt, die parallele Postings auf Google+ UND Facebook ermöglichen. Wie schnell eine Userbase abwandern kann, konnte man an MySpace ja live erleben, und je mehr Facebook sich mit Clickjacking und spammenden Apps herumschlagen muss, um so grösser die Chance für Google, hier zu punkten.

Außerdem darf man die Möglichkeiten der „All in One“ Lösung Google+ nicht vernachlässigen. Das bedenkt das Apple affine Universum oft. Potentiell hat Google jetzt schon sehr viele Google+ Nutzer, nämliche jeden, der einen der bisherigen Dienste nutzt. Denn sie alle sind über das gemeinsame Frontend quasi mit Google+ integriert. Somit habe ich eine zentrale Anlaufstelle für Mail, Docs, News, Reader UND Social Networking. Für mich sehr elegant und angenehm.

Und übrigens, netter Seiteneffekt zum Start von Google+. Auch das Design von Goggle Mail ist deutlich besser geworden und bei Picasa Web hat man jetzt unbegrenzten Speicherplatz! Dem Backup meiner Bildersammlung steht also nichts mehr im Wege. Außer vielleicht einer gewissen typisch deutschen Datenschutzpanik.

Mein Fundstück der Woche:So postet man gleichzeitig auf Google+ und Facebook

Google hat Google+ gestartet. Bis vor kurzem konnte man noch über einen Trick Freunde einladen, dieser Weg ist jetzt aber wohl auch versperrt.

Dafür habe ich jetzt für Google Chrome, meinen Browser Nummer eins ein Plugin gefunden, das es ermöglicht, neben Google+ auch gleich noch in Facebook und Twitter zu posten.

Einfach unter der Adresse: https://chrome.google.com/webstore/detail/oenpjldbckebacipkfbcoppmiflglnib das Plugin  installieren. Danach werden alle Postings in Google+ um den Menüpunkt „send to“ ergänzt. Damit lassen sich die Artikel gleich noch auf Facebook und Twitter posten.

Meine Meinung zu Google+ bislang. Sehr vielversprechend. Vor allem das Konzept der Circles überzeugt mich. So kann ich Gruppen eröffnen und selektieren, wer was von mir lesen kann. Naheliegenste Gruppen: Freunde, Beruf, Privat

 

Es wird spannend sein, zu sehen, wie Google+ angenommen wird. Von heute morgen bis gerade eben hat sich die Zahl meiner Kontakte in Google+ von 0 auf knapp 30 erhöht. Es gibt also schon eine gewisse Wanderungsbewegung.