22 Azure et les technologies non Microsoft : PHP, Java, Eclipse février 2010 Yves Yang – Soyatec Xavier Warzee – Microsoft Stephane Crozatier – Microsoft
33 Agenda Windows Azure Rappel : les grandes briques Azure, une plateforme interopérable Consommer à partir de technologies non-Microsoft Windows Azure SQL Azure Exposer avec des technologies non-Microsoft Les principes fondamentaux PHP, MySQL, Tomcat La boîte à outils sous Eclipse - Soyatec
44 Windows Azure est une plateforme de services à l'échelle d'Internet, hébergée et opérée par Microsoft dans des centres de données à travers le monde. Il s'agit d'une plateforme simple, fiable et performante pour créer des applications et services Web. eclipse SOAP / REST / XML Tabular Data Stream Windows Azure Platform
55 Azure Platform – Interopérable Conçue sur les principes d’interopérabilité depuis la conception, Windows Azure est une plateforme ouverte et bâtie sur des standards internet. Outils et SDKs Windows Azure SDK for Java Windows Azure SDK for PHP Windows Azure Tools for Eclipse AppFabric SDK for Java™ Developers AppFabric SDK for Ruby Developers AppFabric SDK for PHP Developers Solutions Accelerators Memcached Solution Accelerator Instance Manager Tomcat Solution Accelerator MySQL PHP Solution Accelerator MediaWiki MySQL Solution Accelerator
66 Consommer des services Azure Azure Storage Service REST API Azure Management Service REST API Requête GET /?restype=container&comp=list HTTP/1.1 Host: mstechdays2010.blob.core.windows.net Connection: Keep-Alive … … … Réponse HTTP/ OK Content-Type: application/xml Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 … … … <EnumerationResults AccountName=" 5000
77 Communiquer avec SQL Azure Support du protocole client Tabular Data Stream (TDS) version 7.3 ou plus.NET Framework 3.5 SP1 Data Provider for SQL Server (System.Data.SqlClient) SQL Server 2008 Native Client ODBC driver SQL Server 2008 Driver for PHP version 1.1 Microsoft SQL Server JDBC Driver 2.0
88 Démos Azure Storage depuis Java/Eclipse SQL Azure depuis Delphi
99 Exposer des services Azure Limitations techniques Que peut-on déployer dans un service Azure ? Application installée via xcopy Application exécuté en standard-user Pas d’accès aux machines virtuelles Physiquement Ouverture de session Remote Desktop Tout autre utilitaire d’administration nécessitant des droits administrateur
10 Exposer des services Azure Concept : Web Role – FastCGI IIS *.php php-cgi.exe Virtual Machine Load Balancer HTTP HTTPS
11 Exposer des services Azure Concept : Worker Role – Input Endpoint appli.exe Virtual Machine Load Balancer TCP Input Endpoint
12 class MyRole : RoleEntryPoint { private bool m_bIsBusy = true; public override void Run() { m_bIsBusy = false; while (true) Thread.Sleep(TimeStamp.FromSeconds(30)); } public override bool OnStart() { RoleEnvironment.StatusCheck += StatusCheck; --> Démarrage du service <-- return true; } public override void OnStop() { } void StatusCheck(object sender, RoleInstanceStatusCheckEventArgs e) { if (m_bIsBusy) e.SetBusy(); } Exposer des services Azure Concept : RoleEntryPoint
13 Exposer des services Azure Concept : Azure Drive Disque VHD Attaché via driver NTFS Azure Depuis un Page Blob Lecture/Ecriture sur instance unique Lecture sur instance multiple VHD / NTFS
14 Démo Héberger un serveur Web PHP via Fast-CGI Héberger un serveur MySQL avec stockage sur disque Azure Drive Héberger une application Spring Hibernate sur serveur Tomcat / Java
15 Une application Spring/Hibernate L’application PetClinic Exemple du Springframework URL : SQL Azure JDBC webapp
16 Approche Utilisation de la solution d’encapsulation de Tomcat « Tomcat Solution Accelerator » Création d’un package Azure contenant Tomcat JRE (Java Runtime Environment) Applications Web (webapps) Chargement du package (80 Mo à 150 Mo) sur le portail Azure sur un blob Solution ligne de commande : Solution graphique : Création d’une base de données SQL Azure : petclinic Configuration de l’application Petclinic Driver JDBC 2.0 Type 4 pour « SQL Server » (
17 Autres applications Hudson : serveur d’intégration continue Apache Roller : moteur de blogs
18 Windows Azure - développement environnement sous eclipse Date8 Février 2010 Nom du speakerYves YANG Titre du speakerCTO SociétéSoyatec
19 Soyatec Une société française dans le monde du logiciel libre sous l’environnement Eclipse. Son équipe constituée en 2002 confirme une maitrise approfondie des logiciels d’IHM déclarative de Modélisation d’IHM Des outils de développement visuels d’IHM Membre de la fondation Eclipse Acteur de plusieurs projets Open Source Reconnu comme l’un des contributeurs de référence. Partenariat avec Microsoft
20 Projets chez eclipse XWT – e4 Une solution d’IHM innovante dans le monde Java & eclipse, qui est en train de devenir le standard. Il s’agit d’un moteur d’IHM déclarative en XAML PMF (Presentation Modeling Framework). Un génie logiciel en IHM a pour but de fournir un ensemble d'outils de génération d’application. EGF (Eclipse Generation Framework) L’objectif est de fournir un environnement industriel de génération logiciel basés sur les modèles (Usine Logicielle).
21 Projets chez eclipse VE (Visual Editor) Outil permettant le développement d’IHM en mode visuelle. XWT Designer E4 Workbench Designer ESL Environnement de développement pour Microsoft Silverlight sur la plateforme Eclipse.
22 Objectif Principaux Un environnement de développement complète pour Windows Azure Gestion et configuration de projet Conversion de Projet Outils de développement en PHP Outils d’édition de code Template Code complétion Exploreur des données Exécution en mode de simulation Debugging en mode de simulation Déploiement dans le Cloud
23 Architecture Windows Azure PDT Eclipse PDT Eclipse Plate -forme Windows Azure SDK Windows Azure Java SDK Outils
24 Démo
25 Plan de développment Java DSK Gestion de compte Nouvelles APIs sur le stockage support de xDrive Exploreur des données DnD support Windows Azure PDT Déploiement en un clique Support de Worker role Gestion des déploiements dans la simulation Support de Multiple Web roles Serveur Web en Java Tomcat