260 likes | 504 Views
Azure et les technologies non Microsoft : PHP, Java, Eclipse. 10 février 2010 Yves Yang – Soyatec Xavier Warzee – Microsoft Stephane Crozatier – Microsoft. Agenda. Windows Azure Rappel : les grandes briques Azure, une plateforme interopérable
E N D
Azure et les technologies non Microsoft : PHP, Java, Eclipse... 10 février 2010 Yves Yang – Soyatec Xavier Warzee – Microsoft Stephane Crozatier – Microsoft
Agenda • Windows Azure • Rappel : les grandes briques • Azure, une plateforme interopérable • Consommerà partir de technologies non-Microsoft • Windows Azure • SQL Azure • Exposeravec des technologies non-Microsoft • Les principes fondamentaux • PHP, MySQL, Tomcat • La boîte à outilssous Eclipse - Soyatec
Windows Azure Platform 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
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. http://www.azure.com/interop Solutions Accelerators • MemcachedSolution Accelerator • Instance Manager • TomcatSolution Accelerator • MySQL PHP Solution Accelerator • MediaWikiMySQL Solution Accelerator 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
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/1.1 200 OK Content-Type: application/xml Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 … … … <?xml version="1.0" encoding="utf-8"?> <EnumerationResultsAccountName="http://mstechdays2010.blob.core.win.. <MaxResults>5000</MaxResults> <Containers> <Container>
Communiquer avec SQL Azure • Support du protocole clientTabular Data Stream (TDS)version 7.3 ou plus • .NET Framework 3.5 SP1Data 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
Démos Azure Storage depuis Java/Eclipse SQL Azure depuis Delphi
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
Exposer des services Azure • Concept : Web Role – FastCGI *.php IIS LoadBalancer HTTP HTTPS Fast CGI php-cgi.exe php-cgi.exe Virtual Machine
Exposer des services Azure • Concept : WorkerRole – Input Endpoint Input Endpoint LoadBalancer TCP appli.exe Virtual Machine
Exposer des services Azure • Concept : RoleEntryPoint class MyRole: RoleEntryPoint { privateboolm_bIsBusy= true; public overridevoidRun() { m_bIsBusy = false; while(true) Thread.Sleep(TimeStamp.FromSeconds(30)); } public overrideboolOnStart() { RoleEnvironment.StatusCheck += StatusCheck; --> Démarrage du service <-- return true; } public overridevoidOnStop() { } voidStatusCheck(objectsender, RoleInstanceStatusCheckEventArgse) { if (m_bIsBusy) e.SetBusy(); }
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
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 SpringHibernate sur serveur Tomcat / Java
Une application Spring/Hibernate • L’application PetClinic • Exemple du Springframework • URL : • http://petclinic.cloudapp.net Worker Role Worker Role Worker Role webapp JDBC LB SQL Azure
Approche • Utilisation de la solution d’encapsulation de Tomcat • « Tomcat Solution Accelerator » • http://code.msdn.microsoft.com/winazuretomcat • http://www.microsoft.com/windowsazure/interop/ • Création d’un package Azure contenant • Tomcat • JRE (Java RuntimeEnvironment) • Applications Web (webapps) • Chargement du package (80 Mo à 150 Mo) sur le portail Azure sur un blob • Solution ligne de commande : • http://code.msdn.microsoft.com/wazt • Solution graphique : • https://www.cerebrata.com/Products/CloudStorageStudio/Download.aspx • 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 » (http://bit.ly/ay9naa)
Autres applications • Hudson : serveur d’intégration continue • http://hudson-ci.cloudapp.net • Apache Roller : moteur de blogs • http://java.cloudapp.net/roller
Windows Azure - développement environnement sous eclipse Date 8 Février 2010 Nom du speaker Yves YANGTitre du speaker CTOSociété Soyatec
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
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 (PresentationModeling 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).
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.
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
Architecture • Windows Azure PDT • Windows Azure Java SDK • Eclipse PDT • Outils • Windows Azure SDK • Eclipse Plate -forme
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 Workerrole • Gestion des déploiements dans la simulation • Support de Multiple Web roles • Serveur Web en Java • Tomcat