Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment. Henning Blohm 5.7.2012

Ähnliche Dokumente
Make-loses Java für mehr Produktivität: Das z 2 -Environment. Henning Blohm

Buildfrei skalieren für Big Data mit Z2

Continuous Delivery in der Realität eines Großunternehmens

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Java Entwicklung für Embedded Devices Best & Worst Practices!

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

Reporting Services und SharePoint 2010 Teil 1

Internet Explorer Version 6

Build-Pipeline mit Jenkins

Summer Workshop Mehr Innovationskraft mit Change Management

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Einreichung zum Call for Papers

Consultant & Geschäftsführer, enpit consulting OHG ugb@enpit.de

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Senioren helfen Junioren

In die Cloud kann jeder. In Ihre nicht. TGA Systems. Spezialisiert in Private Cloud Communication

Mercurial. or how I learned to stop worrying and love the merge. Ted Naleid IAIK

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

Einführung in Subversion

Was ist Sozial-Raum-Orientierung?

Abacus Formula Compiler (AFC)

Continuous Database Integration mit Flyway

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Was ich als Bürgermeister für Lübbecke tun möchte

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Professionelle Seminare im Bereich MS-Office

Der Kopf ist rund, damit das Denken die Richtung

Eine Anwendung mit InstantRails 1.7

Titel. System Center Configuration Manager 2012 R2 Anleitung Installation Softwareupdatepunkt und WSUS Integration

Thema: Microsoft Project online Welche Version benötigen Sie?

Die Post hat eine Umfrage gemacht

Was meinen die Leute eigentlich mit: Grexit?

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Worum geht es in diesem Projekt?

Landes-Arbeits-Gemeinschaft Gemeinsam Leben Gemeinsam Lernen Rheinland-Pfalz e.v.

Adventskalender Gewinnspiel

Wir machen neue Politik für Baden-Württemberg

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Git in großen Projekten

Generative Prozessmodelle Patrick Otto MDD Konferenz

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Social Media Monitoring Was wird über Sie und Ihre Wettbewerber gesagt?

Versionsverwaltung mit SVN

Ökonomik der Agrar und Ernährungswirtschaft in ILIAS

Softwareentwicklung aus Sicht des Gehirns

Installation der SAS Foundation Software auf Windows

Informationen als Leistung

VIP-Programm. Herzlich Willkommen!

Die Rückgabe kann über folgende, von uns getestete Programme / Apps vorgenommen werden: Adobe Digital Editions Sony Reader for PC Bluefire Reader

! " # $ " % & Nicki Wruck worldwidewruck

9 Auto. Rund um das Auto. Welche Wörter zum Thema Auto kennst du? Welches Wort passt? Lies die Definitionen und ordne zu.

Oracle 9i Real Application Clusters

Holiday plans: ein Gespräch über Urlaubspläne

1 Was ist das Mediencenter?

Frage und Antworten zum Webcast: Virtual Server 2005 :

DOKUMENTATION VOGELZUCHT 2015 PLUS

Spring Dynamic Modules for OSGi Service Platforms

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Internet online Update (Internet Explorer)

boniup das BackOffice Einstiegsmöglichkeiten: Was be.findet sich im BackOffice? oder

Hilfe-Blatt: Ausgabenkontrolle

Idimager ein Bildverwaltungsprogramm-DAM Software

Vorarlberger Standardschulinstallation Anbindung von Android Mobile Devices

Konzentration auf das. Wesentliche.

Benachrichtigungsmöglichkeiten in SMC 2.6

Bürgerhilfe Florstadt

mit attraktiven visuellen Inhalten

Flowy Apps. Wolfgang-Heilmann-Preis another kind of working Flowy Apps GmbH Fraunhoferstraße Kiel flowyapps.

Business Application Framework für SharePoint Der Kern aller PSC-Lösungen

.NET Code schützen. Projekt.NET. Version 1.0

Pflegende Angehörige Online Ihre Plattform im Internet

Evangelisieren warum eigentlich?

Mein Recht. im Netz. Der Ratgeber für die digitale Selbstbestimmung

Torsten Flatter inovex GmbH. "Git.NET" gibt's nicht?

WinCVS Version 1.3. Voraussetzung. Frank Grimm Mario Rasser

Zukunft der WfbM Positionspapier des Fachausschusses IV

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Was versteht man unter Softwaredokumentation?

Safer Internet Day 2014: DER KLASSEN HANDYCHECK

Anleitung über den Umgang mit Schildern

Mit OSGi Webanwendungen entwickeln Was geht, was nicht?

PHPNuke Quick & Dirty

Vorgehensweise bei der Installation Bob50SQL für einen unabhängigen PC.

:: Anleitung Hosting Server 1cloud.ch ::

easysolution GmbH easynet Bessere Kommunikation durch die Weiterleitung von easynet-nachrichten per nach Hause

Abhängigkeiten und Git

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Das Leitbild vom Verein WIR

Risikomanagement bei PPP Projekten: Erfahrungen aus Deutschland

Webseiten und Web-Apps grafisch gestalten mit HTML5 Canvas ohne Flash und sonstige Tools

Solarstrom selbst erzeugen und speichern so geht s!

Online Newsletter III

Lizenzen auschecken. Was ist zu tun?

Leit-Bild der Sonnenhofschule

Transkript:

Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment Henning Blohm 5.7.2012 1

Z2 ist ein radikal neuer* Ansatz für System Life-Cycle Management in Java * jedenfalls für Java

Ein Builtool? Ein Deploy-Tool? Ein Byte Code Replacement Tool?

Nein! Viel einfacher: Laufzeit trifft Source Verwaltung

Warum Z2? Aus einfach und klein wird groß und modular Wir wollen modular sein, um zu skalieren Lösung!=Infrastruktur: verteilte Komplexität Lokale updates sind mühsam Es gibt ein ständiges Integrationsproblem 5

Das Integrationsleck Laufzeit Du Wahrheit Laufzeit!=Wahrheit => Integration erforderlich Modularität => Push Deployment wird immer komplizierter Schlechte Integration + Komplexe Lösung + Team => R.I.P Integrationsleck liegt in der Entwicklungsumgebung Was tun? 6

Was tun? 1. Gegen anpumpen: Infrastruktur zum Nachbauen und Testen aufstellen Z. B. Continuous Integration + ANT / Maven Es sieht aber eher so aus: 2. Leck Stopfen: Z2-Environment 7

Wie funktioniert Z2? Laufzeit lädt updates nach Bedarf aus SCM Kompilation (Java und mehr) nach Bedarf in der Laufzeit Lokales Overlay zum Entwickeln as fits Eine Struktur, die das System vollständig definiert Sytemzentrischer Ansatz 8

Oder anders gesagt: Kein Deployment: Yippie! Kein Build: Hurra! Nur auschecken woran man arbeitet: Oh ja! Systemstruktur im Ganzen verstehen: Danke! Die Quelle ist das System 9

Was bringt das? Einfachstes Aufsetzen der Dev-Umgebung Keine Build-Umgebung, keine Build-skripte Schnelle Roundtrips Systemskalierung mit minimalem Aufwand Jedes System ist immer patchbar Keine Unklarheiten, welcher Code wo läuft Weniger Infrastruktur und weniger Waste 10

Aufsetzen und Starten (ca. 250kLoC) Modifikation und Synchronisation DEMO 11

Was ist drin in Z2? z2@base: Z2 Basis nur das Essenzielle Jetty als Web Container z2@spring: Spring für Z2 Spring 3.0.5 und integrationen z2@hadoop: (noch) nicht OSS Hadoop config und Map/Reduce Programmierung 12

ARCHITEKTUR 13

Core Z2 core kennt wenige grundlegende Konzepte Alles weitere sind spezifische Komponententypen Komponententypen sind Grundlage der Erweiterbarkeit Bsp: Java, Worker Processes, Data Sources, Web Apps,. Siehe Component Type Reference in Dokumentation 14

Modularisierung Konvention: <modul>/<name> == Component Name Konvention: Mein Java ist <modul>/java Java: Separation in API und IMPL class loading + refs Modul ist Hülle für mehr als Java: Web App, Data Source, Einfache aber effektive Isolation, gezieltes Sharing 15

Betrieb Ein Z2 <home> entsteht durch check out des Z2 core Alles andere ergibt sich daraus Core updates (selten) per svn up o.ä Z2 kann im server mode oder embedded benutzt werden Einfaches Ausskalierung 16

Entwicklung Projekte (==Modul) in IDE auschecken und armen Eclipsoid plugin löst classpath von lokalem <home> auf Lokales Projekt hat Präferenz gegenüber Repo Entwicklung auf Modulebene mit sofortiger Integration 17

Beispiel: Echte Landschaft 18

INTEGRATIONEN & FEATURES 19

z2@spring Spring Application Contexts und Beans als Component Type Voller support von Annotation-based config und Spring/AspectJ Z2 verlängert Spring wiring über Modulgrenze Spring beans konsumieren oder exponieren services der Lösung Viel besser als Java EE, viel offener als SCA jemals wäre 20

z2@hadoop Map/Reduce Job als Component Type Ausführung per embedded mode als Hadoop task M/R Job benutzt identische Modularisierung wie alles andere Einfachstes Job scheduling, ohne build und programmatisch Hadoop wird natürlicher Teil der Lösung 21

UND SCHLIEßLICH 23

Was ist Z2 nicht? Z2 ist primär kein Buildtool Man kann sich aber Binaries abholen Nützlich für automatisierte Tests etc. Deployer als Sync-Extension angedacht Z2 ist ganz anders als Maven Hier Systeme, dort Communities 24

Wo geht s weiter? WWW Doku Blog Forum Kontakt http://www.z2-environment.eu http://www.z2-environment.eu/v20doc http://www.z2-environment.net/blog In Arbeit. henning.blohm@zfabrik.de 25

2012 ZFabrik Software KG HERZLICHEN DANK! 26