Holger Sirtl Microsoft Deutschland GmbH Microsoft Azure für Java Entwickler Ein Überblick
Agenda Cloud Computing Die Windows Azure Platform Anwendungen auf Windows Azure Datenspeicherung mit SQL Azure Kommunikation über die Azure AppFabric Werkzeuge für Java-Entwickler
Cloud Computing Software-as-a-Service (SaaS) Platform-as-a-Service (PaaS) Infrastructure-as-a-Service (IaaS) Public Cloud Dedicated Cloud Sicherer Cloud Verbund Private Cloud interne IT Unternehmen
Windows Azure Platform 3 Dienstgruppen Windows Azure SQL Azure Azure AppFabric Bereitstellung in Microsofts Rechenzentren Einzeln oder in Kombination einsetzbar Kostenlose Entwicklerwerkzeuge
Entwicklung für Windows Azure Bekannte Entwicklertools Visual Studio Eclipse Lokale Entwicklungsund Testumgebung Interoperabilität Webservices.NET, Java, PHP MySQL SDKs verfügbar
Windows Azure Microsofts Cloud Betriebssystem Ausführung von Cloud Services Einfache Speicherdienste Automatisiertes Anwendungsmanagement
Windows Azure Storage Services Storage Tables Strukturierte Daten Menge von Entitys Entity = Menge von Props Queues Verlässlicher Speicher für Nachrichten Garantierte Zustellung Account Blobs Speicherung von Dateien Metadaten zu Dateien möglich Drives Persistiertes NTFS Dateisystem für Windows Azure Anwendungen
Entwicklung für Windows Azure SDK Porta l Hosted Servic e Storag e Code cspkg cscfg csrun.exe cspkg.exe Entwicklung und Test Visual Studio Eclipse Kommandozeile Development Fabric (mit Debugging) Installation und Konfiguration Standort Skalierung Steuerung zur Laufzeit Etc. Betrieb und Überwachung Automatisiertes Anwendungs-management Logfile-Auswertung
DEMO Development Fabric Windows Azure Portal Tools für Windows Azure Storage (inkl. Eclipse)
Windows Azure und Java 1. Ausführen von Java-Anwendungen auf Windows Azure Compute http(s) / REST 2. Aufruf von Azure basierten Services Storage Management http(s) / REST http(s) / REST SDK 3. Zugriff auf Windows Azure Storage (via SDK oder direkt via REST)
DEMO Zugriff auf Windows Azure Storage
Java-Anwendungen auf Windows Azure Worker Role Externer Port 80 Interner Port 5100 Run() WorkerRole.dll Run() { initjavaproc(); while(true){ }; } 1.Konfiguriere internen Port server.xml 2.Setze Umgebungsvariablen CATALINA_HOME JRE_HOME 3.Starte Tomcat bin\startup.bat Process.Start() Tomcat JRE.NET CLR VM Setup VM Instanz
DEMO Apache Tomcat auf Windows Azure
SQL Azure Microsofts Cloud Datenbank SQL Server-kompatibel Bekannte Werkzeuge Bestehende Zugriffstechnologien Datenintegration über Sync Service
Datenbankreplikate Single Database Multiple Replicas Replica 1 Single Primary DB SQL Azure TDS Replica 2 Replica 3 Single Primary Replica 4
DEMO SQL Azure Portal Zugriff auf SQL Azure
Windows Azure Platform AppFabric Integrations- und Kommunikationsplattform in der Cloud Service Bus zur Vernetzung verteilter Cloud Services Zugriffskontrolle für REST-basierte Webservices
Herausforderung in verteilten Anwendungen Service A (Receiver) Inbound Call? Nein. Outbound Call? Ja. Client B (Sender)
Herausforderung in verteilten Anwendungen Authentifizierung (wer bist Du?) Autorisierung (was darfst Du tun?) Service A (Receiver) Single-Sign-On (Federated Identity) Client B (Sender) Benutzername/ Passwort Client C Client D Windows Live ID Active Directory
Funktionsweise der Azure AppFabric 1) Registrierung eines Endpoints mit Claims Anforderungen (bidirektionale Verbindung) Gesamtmechanismus ist REST-basiert! Service A (Receiver) 5) Aufruf des Service 4) Aufruf des Endpoints mit Token Client B (Sender) 3) Beschaffung eines Security Tokens 2) Ermitteln des Endpoints und der Claims Anforderungen
Funktionsweise der Azure AppFabric 1) Registrierung eines Endpoints mit Claims Anforderungen (bidirektionale Verbindung) Gesamtmechanismus ist REST-basiert! Service A (Receiver) 5) Aufruf des Service 4) Aufruf des Endpoints mit Token Client B (Sender) 3) Beschaffung eines Security Tokens 2) Ermitteln des Endpoints und der Claims Anforderungen
Azure Werkzeuge für Java Entwickler Eclipse Java SDKs Windows Azure SDK for Java http://www.windowsazure4j.org/ AppFabric SDK for Java Developers http://www.jdotnetservices.com/ Storage Tools Storage Explorer for Eclipse Cloud Berry Explorer for Windows Azure Blob Storage Cerebrata Cloud Storage Studio Windows Azure Storage Explorer Diagnostics Tools Cerebrata Diagnostics Manager SQL Azure Tools SQL Azure Migration Wizard SQL Server Management Studio (Express Edition)
Zusammenfassung und Ausblick Die Windows Azure Platform ist Microsofts Platform-as-a-Service Angebot für die Public Cloud Windows Azure und Java Automatisiertes Speicher- und Anwendungsmanagement Ausführung von Java-Anwendungen in der Cloud Zugriff auf Windows Azure Services und Storage (via REST oder SDK) SQL Azure und Java Schnelle Verfügbarkeit eines vollautomatisierten RDBMS Zugriff über bekannte Technologien (JDBC) und Tools Azure AppFabric und Java Abgesicherte Kommunikation in verteilten Anwendungen (REST-Svc) Standards- und Claims-basierte Zugriffskontrolle Werkzeuge zur Entwicklung und Anwendungsmanagement verfügbar
Ressourcen Windows Azure Platform http://www.azure.com/ http://www.microsoft.de/windowsazure Java SDKs Windows Azure SDK for Java http://www.windowsazure4j.org/ AppFabric SDK for Java Developers http://www.jdotnetservices.com/ Cloud Computing mit der Windows Azure Platform Entwicklung, Integration und Betrieb Cloud-basierter Software Verlag: Microsoft Press Auflage: 1., Aufl. (18. November 2009) ISBN-10: 386645533X ISBN-13: 978-3866455337 Aktualisierungskapitel zum kostenlosen Download: http://www.microsoft.com/germany/msdn/knowhow/press/azure_special.mspx