Java dans Windows Azure: l'exemple de Jonas

399 vues

Publié le

Jonas, serveur d'application J2EE, a récemment été porté par Bull, avec l'aide de Microsoft, sur Windows Azure. Au-delà de la mixité des environnements Java et Microsoft, cette session démontrera par l'exemple la grande ouverture de Windows Azure à des technologies peu habituées à s'éxécuter en environnement Windows.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
399
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
2
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Géo DRP = Capacité de construire une application répartie sur plusieurs datacenters Azure, permettant la continuité de service, même si un datacenter disparait.CDN = Content Delivery Network. Un réseau de serveurs de cache répartis sur le globe, et permettant la réplication géographique des applications et données pour une très grande montée en charge.
  • Java dans Windows Azure: l'exemple de Jonas

    1. 1. palais descongrèsParis7, 8 et 9février 2012
    2. 2. Java dans WindowsAzurel’exemple de JOnASINT202Guillaume SAUTHIER Stéphane WOILLEZDéveloppeur JOnAS Consultant Cloud ComputingBull Microsoft
    3. 3. Agenda de la session Introduction  Quelques rappels sur Windows Azure  Introduction à JOnAS  JOnAS: install, config et lancement Démo Installation  Installer des composants logiciels dans Azure  Déployer JOnAS dans Windows Azure Démo Intégration  Administration de JOnAS dans Azure Démo  Intégration avec SQL Azure Démo Evolutions  Evolutions prévues de l’intégration de JOnAS dans Azure  Conclusion  Questions
    4. 4. I. INTRODUCTION
    5. 5. Windows Azure Windows Azure, c’est quoi ? • Une plate forme de cloud computing public à l’échelle mondiale • L’hébergement d’ applications internes, B2B, ou publiques • Des SLA de production en très haute disponibilité • Des services d’interconnectivités applicatives multiples Votre DataCenter • Un haut niveau de sécurité à vos applications et données CLoud • Une réduction importante des couts de projets et d’hébergement Clusters applicatifs Des services automatisés Le choix du/des Datacenters pour vos applications Bases de données qui vous hébergent Machines virtuelles Stockage Six Datacenters CDN (Europe, US, Asie) 24 Points de présence du Cache distribué CDN VPN Service Bus Le choix du langage et de l’outil de programmation Reporting Contrôle d’accès MarketPlace
    6. 6. Microsoft et l’Open Source www.interoperabilitybridges.com
    7. 7. OW2 JOnAS Serveur d’application Java EE / OSGiTM  Certifié Java EE 5  Preview Java EE 6  Preview OSGi Enterprise R4.3  OpenSource : LGPL Consortium OW2  Principal contributeur : Bull  Partenariats
    8. 8. OW2 JOnAS Dédié aux applications d’entreprise  3 Tiers : Présentation/Métier/Données  Présentation : Servlet 3.0 / JSP 2.2 / JSF 2.0  Métier : EJB 3.0  Données : JPA 2.0 / JDBC 4.0 / JCA 1.5 (EIS)  Transactions : JTA 1.1  Sécurité : LDAP, … Interopérabilité  Webservices SOAP, REST Utilisabilité  Serveur à la bonne taille (modularité)  Support IDE : Eclipse / Netbeans
    9. 9. OW2 JOnAS / Déploiements Grands comptes  Groupe France Telecom  Ministère de l’intérieur  Ministère de l’écologie Intégrations  Ubuntu 11.10 Projets collaboratifs  Compatible One  4CaaST
    10. 10. DémonstrationMise en œuvre rapide
    11. 11. II. INSTALLATION
    12. 12. Installer des composants dansAzure Permet d’utiliser des fonctions d’un progiciel ou d’un module Il faut automatiser l’installation des composants Deux mécanismes d’installation sont disponibles : 1. L’intégration du composant dans le package applicatif 2. La création d’un master de VM personnalisé (VMROLE) Si l’installateur du composant supporte l’automatisation et n’est pas trop long, on l’intègre dans le package applicatif Si le composant est compliqué à installer, ou nécessite une intervention humaine, on utilise le VMRole DEMONSTRATION
    13. 13. Déployer JOnAS dans Azure Les indispensables  Une Java Virtual Machine  Un JOnAS  Une application  Un script d’initialisation En quelques lignes  Le package applicatif contient les binaires (JVM, …)  La définition de service fournit les méta-données  Description des Roles, Endpoints et Environnement  Le script initialise et lance JOnAS dans la VM Génération du package avec Eclipse et le plugin Azure
    14. 14. Dossier ‘approot’ Package applicatif  Son contenu va être disponible sur la machine hôte
    15. 15. Fichier *.csdef Définition du service  Nommage  Description des Roles  Nommage  Taille de la machine virtuelle  Pointeur sur le script de démarrage  Variables d’environnement  Description des Endpoints  Activation de modules/plugins
    16. 16. Fichier *.csdef : définition deservice<?xml version="1.0" encoding="utf-8" standalone="no"?><ServiceDefinition xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" name="WindowsAzureProject"> <WorkerRole name="Main" vmsize="Medium"> <Startup> <!-- Sample startup task calling startup.cmd from the roles approot folder --> <Task commandLine="util/.start.cmd startup.cmd" executionContext="elevated" taskType="background"/> </Startup> <Runtime executionContext="elevated"> <EntryPoint> <!-- Sample entry point calling run.cmd from the roles approot folder --> <ProgramEntryPoint commandLine="run.cmd" setReadyOnProcessStart="true"/> </EntryPoint> <Environment> <Variable name="YOUR_ENV_VARIABLE" value="[unused]"/> </Environment> </Runtime> <Imports> <Import moduleName="RemoteAccess"/> <Import moduleName="RemoteForwarder"/> </Imports> <Endpoints> <InputEndpoint localPort="9000" name="http" port="80" protocol="tcp"/> </Endpoints> </WorkerRole></ServiceDefinition>
    17. 17. Fichier *.cscfg Configuration du service  Nombre d’instances du/des Roles  Certificats associés  Configuration des plugins  Couples clé/valeur
    18. 18. Fichier *.cscfg: config deservice<?xml version="1.0" encoding="utf-8" standalone="no"?><ServiceConfigurationxmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="2" osVersion="*" serviceName="WindowsAzureProject"> <Role name="Main"> <Instances count="1" /> <ConfigurationSettings> <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true"/> <Setting name="Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled" value="true"/> <!-- NOTE: replace the following settings with your own --> <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername" value="bull"/> <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" value="...."/> <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" value="2039-12-31T23:59:59.0000000-08:00"/> </ConfigurationSettings> <Certificates> <Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="E05B79E3F7DFA2AD1D7845A7A8CC2A5F43D073A4" thumbprintAlgorithm="sha1"/> </Certificates> </Role></ServiceConfiguration>
    19. 19. Script d’initialisationSET BLOB_URL=http://jonas.blob.core.windows.netIF NOT EXIST "ow2-jonas-5.2.2-light.zip" cscript /nologo "utildownload.vbs" "%BLOB_URL%/demo/ow2-jonas-5.2.2-light.zip"IF NOT EXIST "jdk1.7.0_02.zip" cscript /nologo "utildownload.vbs" "%BLOB_URL%/demo/jdk1.7.0_02.zip"@REM Prepare directory (shorter names)rd "C:%ROLENAME%"mklink /D "C:%ROLENAME%" "%ROLEROOT%approot"cd /d "C:%ROLENAME%"@REM Unpack Java SDK + OW2 JOnASIF NOT EXIST "jdk1.7.0_02" cscript /nologo "utilunzip.vbs" "jdk1.7.0_02.zip" "%CD%"IF NOT EXIST "ow2-jonas-5.2.2" cscript /nologo "utilunzip.vbs" "ow2-jonas-5.2.2-light.zip" "%CD%"@REM Set required environment variablesSET JONAS_ROOT=C:%ROLENAME%ow2-jonas-5.2.2SET JAVA_HOME=C:%ROLENAME%jdk1.7.0_02SET PATH=%PATH%;%JAVA_HOME%bin;%JONAS_ROOT%bin@REM Overwrite some JOnAS filesCOPY /Y "conf*" "%JONAS_ROOT%conf"COPY /Y "libext*" "%JONAS_ROOT%libext"@REM Place applications modules in the deploy/ directoryCOPY /Y "deploy*" "%JONAS_ROOT%deploy"@REM Spawn a JOnAS process and exit the current shell@REM ------------------------------------------------------------%JONAS_ROOT%binjonas.bat start
    20. 20. DémonstrationDéploiement sur Azure
    21. 21. III. INTEGRATION
    22. 22. Administration de JOnAS dansAzure Rencontre avec jonas-admin  La console d’administration web de JOnAS  Expérience utilisateur améliorée avec Flex  Modulaire et évolutive  Gestion des Classloaders  Gestion des fuites de connexions  Système d’audit des applications  Console OSGi  Documentation  …
    23. 23. DémonstrationAdministrer JOnAS sur Azure
    24. 24. Intégration avec SQL Azure Une application gère son modèle de donnée avec JPA  C’est la couche ORM  Independence vis-à-vis de la base sous jacente avec JDBC JOnAS a besoin d’un driver JDBC  SQL Server JDBC Driver v4 supporte SQL Azure Fourniture d’une DataSource (XML)  Connectée sur l’URL de la base de donnée  Utilisant le driver JDBC adéquat  Avec informations de connexion  Gestion du pool de connexions Notes  Penser à créer une nouvelle base en plus de ‘master’ (droits)  Configurer le firewall pour pouvoir accéder à la base  Username de la forme: [login]@[server]
    25. 25. Exemple de DataSource<datasources xmlns="http://jonas.ow2.org/ns/datasource/1.0"> </datasource> <datasource-configuration> <name>jdbc_1</name> <url>jdbc:sqlserver://rvdzir6adn.database.windows.net:1433;database=pastebean; encrypt=true;hostNameInCertificate=*.database.windows.net</url> <classname>com.microsoft.sqlserver.jdbc.SQLServerDriver</classname> <username>jonas@rvdzir6adn</username> <password>*****</password> <mapper>rdb.sqlserver</mapper> </datasource-configuration> <connectionManager-configuration> <connchecklevel>0</connchecklevel> <connteststmt>SELECT 1</connteststmt> <connmaxage>1440</connmaxage> <maxopentime>60</maxopentime> <initconpool>10</initconpool> <minconpool>10</minconpool> <maxconpool>100</maxconpool> <pstmtmax>100</pstmtmax> <maxwaittime>5</maxwaittime> <maxwaiters>100</maxwaiters> <samplingperiod>30</samplingperiod> </connectionManager-configuration> </datasource></datasources>
    26. 26. DémonstrationApplication / SQL AzureEssayez vous-même:
    27. 27. IV. EVOLUTION
    28. 28. Evolutions de l’intégration deJOnAS Windows Azure Market Place  OW2 JOnAS disponible sur étagère Administration  Module jonas-admin dédié à Azure  Topologie du cluster  Interactions avec le portail de management Azure  JOnAS/Azure Manager  Déploiement et mises à jour d’applications Java EE  Synchronisées sur l’ensemble du cluster Evolutions / additions au plugins Eclipse  Déploiement des applications sur le cloud en 1 clic
    29. 29. JOnAS sur Azure, Combien cacoute ● Modèle de facturation à la consommation ● Il existe aussi des forfaits et des accords entreprise ● Tous les prix sont publics, il existe un outil d’estimation de coût en ligne ● Un exemple : Un cluster de 2 serveurs JOnAS, bi-cœurs 3.5Go de mémoire, utilisant 500Go de stockage avec 1 million de transactions et 1 To de bande passante coute 390€ par mois, prix liste. JOnAS 390€ NLB par mois prix liste 1 Tera Octets 2 VMs - 2 x 1.6GHz Stockage 500GB de trafic 3.5 Go Mémoire 1 million d’accès http://www.microsoft.com/windowsazure/offers/ http://www.microsoft.com/windowsazure/pricing-calculator/
    30. 30. Conclusion Windows Azure sait héberger des environnements autres que .NET JOnAS, serveur Java EE OSGi Open Source tourne parfaitement dans Azure JOnAS bénéficie des services d’automatisation de la plate forme JOnAS fonctionne très bien avec SQL Azure Bull délivre des services de support pour les environnements de production JOnAS sur Azurehttp://support.bull.com/ols/product/applications/Environnement-j2ee/help/kbf/g/eofjonas
    31. 31. QUESTIONS ?
    32. 32. Des ressources Windows Azuregratuites Testez Windows Azure Abonnés MSDN, vous gratuitement pendant bénéficiez de 90 jours Windows Azure  http://aka.ms/  http://aka.ms/ tester-azure-90j activer-azure-msdn
    33. 33. Pour aller plus loin Prochaines sessions des Dev Camps Chaque semaine, les 10 Live Open Data - Développer des applications riches avec le février DevCamps 2012 16 Meeting protocole Open Data ALM, Azure, Windows Phone, HTML5, OpenData février Live Meeting Azure series - Développer des applications sociales sur la plateforme Windows Azure 2012 http://msdn.microsoft.com/fr-fr/devcamp 17 Live Comprendre le canvas avec Galactic et la librairie février Meeting three.js 2012 Téléchargement, ressources 21 février Live La production automatisée de code avec CodeFluent Meeting Entities et toolkits : RdV sur MSDN 2012 2 mars Live Comprendre et mettre en oeuvre le toolkit Azure pour http://msdn.microsoft.com/fr-fr/ 2012 Meeting Windows Phone 7, iOS et Android 6 mars Live Nuget et ALM 2012 Meeting Les offres à connaître 9 mars 2012 Live Meeting Kinect - Bien gérer la vie de son capteur 90 jours d’essai gratuit de Windows 13 mars 2012 Live Meeting Sharepoint series - Automatisation des tests Azure 14 mars Live TFS Health Check - vérifier la bonne santé de votre www.windowsazure.fr 2012 Meeting plateforme de développement 15 mars Live Azure series - Développer pour les téléphones, les 2012 Meeting tablettes et le cloud avec Visual Studio 2010 Jusqu’à 35% de réduction sur Visual 16 mars Live Applications METRO design - Désossage en règle dun Studio Pro, avec l’abonnement MSDN 2012 Meeting template METRO javascript 20 mars Live Retour dexpérience LightSwitch, Optimisation de www.visualstudio.fr 2012 Meeting laccès aux données, Intégration Silverlight 23 mars Live OAuth - la clé de lutilisation des réseaux sociaux dans 2012 Meeting votre application

    ×