Download - Java dans Windows Azure, l'exemple de JOnAS

Transcript
Page 1: Java dans Windows Azure, l'exemple de JOnAS

palais des congrès Paris

7, 8 et 9 février 2012

Page 2: Java dans Windows Azure, l'exemple de JOnAS

Guillaume SAUTHIERDéveloppeur JOnASBullStéphane WOILLEZConsultant Cloud

ComputingMicrosoft

Java dans Windows Azurel’exemple de JOnASINT202

Page 3: Java dans Windows Azure, l'exemple de JOnAS

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

Agenda de la session

Page 4: Java dans Windows Azure, l'exemple de JOnAS

I. INTRODUCTION

Page 5: Java dans Windows Azure, l'exemple de JOnAS

Le choix du langage et de l’outil de programmation

Six Datacenters(Europe, US, Asie)

24 Points de présence du CDN

Le choix du/des Datacentersqui vous hébergent

Des services automatisés pour vos applications

Clusters applicatifsBases de donnéesMachines virtuellesStockageCDNCache distribué

VPNService BusReporting

Contrôle d’accèsMarketPlace

Votre DataCenterCLoud

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

• Un haut niveau de sécurité à vos applications et données

• Une réduction importante des couts de projets et d’hébergement

Windows Azure

Page 6: Java dans Windows Azure, l'exemple de JOnAS

www.interoperabilitybridges.com

Windows Azure SDK for JavaWindows Azure SDK for PHPWindows Azure Tools for EclipseWindows Azure Command-line Tools for PHPAppFabric SDK for JavaAppFabric SDK for PHPAppFabric SDK for Ruby

Eclipse Tools for SilverlightJava Restlet Extension for ODataOData SDK for PHPSQL Server Reporting Services SDK for PHPBing Library for PHPBing 404 plugin for WordPressEclipse Modernization for Windows

Microsoft et l’Open Source

Page 7: Java dans Windows Azure, l'exemple de 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

OW2 JOnAS

Page 8: Java dans Windows Azure, l'exemple de 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

OW2 JOnAS

Page 9: Java dans Windows Azure, l'exemple de JOnAS

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

OW2 JOnAS / Déploiements

Page 10: Java dans Windows Azure, l'exemple de JOnAS

Mise en œuvre rapide

Démonstration

Page 11: Java dans Windows Azure, l'exemple de JOnAS

II. INSTALLATION

Page 12: Java dans Windows Azure, l'exemple de JOnAS

Permet d’utiliser des fonctions d’un progiciel ou d’un moduleIl faut automatiser l’installation des composants Deux mécanismes d’installation sont disponibles :

1. L’intégration du composant dans le package applicatif2. 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

Installer des composants dans Azure

DEMONSTRATION

Page 13: Java dans Windows Azure, l'exemple de JOnAS

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 VMGénération du package avec Eclipse et le plugin Azure

Déployer JOnAS dans Azure

Page 14: Java dans Windows Azure, l'exemple de JOnAS

Package applicatif Son contenu va être disponible sur la

machine hôte

Dossier ‘approot’

Page 15: Java dans Windows Azure, l'exemple de JOnAS

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

Fichier *.csdef

Page 16: Java dans Windows Azure, l'exemple de JOnAS

Fichier *.csdef : définition de service<?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 role's 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 role's 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>

Page 17: Java dans Windows Azure, l'exemple de JOnAS

Configuration du service Nombre d’instances du/des Roles Certificats associés Configuration des plugins

Couples clé/valeur

Fichier *.cscfg

Page 18: Java dans Windows Azure, l'exemple de JOnAS

Fichier *.cscfg: config de service<?xml version="1.0" encoding="utf-8" standalone="no"?><ServiceConfiguration xmlns="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>

Page 19: Java dans Windows Azure, l'exemple de JOnAS

Script d’initialisationSET BLOB_URL=http://jonas.blob.core.windows.netIF NOT EXIST "ow2-jonas-5.2.2-light.zip" cscript /nologo "util\download.vbs" "%BLOB_URL%/demo/ow2-jonas-5.2.2-light.zip"IF NOT EXIST "jdk1.7.0_02.zip" cscript /nologo "util\download.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 JOnAS IF NOT EXIST "jdk1.7.0_02" cscript /nologo "util\unzip.vbs" "jdk1.7.0_02.zip" "%CD%"IF NOT EXIST "ow2-jonas-5.2.2" cscript /nologo "util\unzip.vbs" "ow2-jonas-5.2.2-light.zip" "%CD%"

@REM Set required environment variables SET 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 "lib\ext\*" "%JONAS_ROOT%\lib\ext"

@REM Place application's modules in the deploy/ directoryCOPY /Y "deploy\*" "%JONAS_ROOT%\deploy"

@REM Spawn a JOnAS process and exit the current shell@REM ------------------------------------------------------------%JONAS_ROOT%\bin\jonas.bat start

Page 20: Java dans Windows Azure, l'exemple de JOnAS

Déploiement sur Azure

Démonstration

Page 21: Java dans Windows Azure, l'exemple de JOnAS

III. INTEGRATION

Page 22: Java dans Windows Azure, l'exemple de JOnAS

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 …

Administration de JOnAS dans Azure

Page 23: Java dans Windows Azure, l'exemple de JOnAS

Administrer JOnAS sur Azure

Démonstration

Page 24: Java dans Windows Azure, l'exemple de JOnAS

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]

Intégration avec SQL Azure

Page 25: Java dans Windows Azure, l'exemple de JOnAS

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>

Page 26: Java dans Windows Azure, l'exemple de JOnAS

Application / SQL Azure

Démonstration

jonas-azure.cloudapp.net/pastebeanEssayez vous-même:

Page 27: Java dans Windows Azure, l'exemple de JOnAS

IV. EVOLUTION

Page 28: Java dans Windows Azure, l'exemple de JOnAS

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 clusterEvolutions / additions au plugins Eclipse Déploiement des applications sur le cloud en 1 clic

Evolutions de l’intégration de JOnAS

Page 29: Java dans Windows Azure, l'exemple de JOnAS

● 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.

http://www.microsoft.com/windowsazure/offers/http://www.microsoft.com/windowsazure/pricing-calculator/

390€par moisprix liste

Stockage 500GB1 million d’accès

2 VMs - 2 x 1.6GHz3.5 Go Mémoire

NLB

JOnAS

1 Tera Octetsde trafic

JOnAS sur Azure, Combien ca coute

Page 30: Java dans Windows Azure, l'exemple de JOnAS

Windows Azure sait héberger des environnements autres que .NETJOnAS, serveur Java EE OSGi Open Source tourne parfaitement dans AzureJOnAS bénéficie des services d’automatisation de la plate formeJOnAS fonctionne très bien avec SQL Azure

Bull délivre des services de support pour les environnements de production JOnAS sur Azure

Conclusion

http://support.bull.com/ols/product/applications/Environnement-j2ee/help/kbf/g/eofjonas

Page 31: Java dans Windows Azure, l'exemple de JOnAS

QUESTIONS ?

Page 32: Java dans Windows Azure, l'exemple de JOnAS

Des ressources Windows Azure gratuites

Testez Windows Azure gratuitement pendant 90 jours http://aka.ms/

tester-azure-90j

Abonnés MSDN, vous bénéficiez de Windows Azure http://aka.ms/

activer-azure-msdn

Page 33: Java dans Windows Azure, l'exemple de JOnAS

Chaque semaine, les DevCampsALM, Azure, Windows Phone, HTML5, OpenDatahttp://msdn.microsoft.com/fr-fr/devcamp

Téléchargement, ressources et toolkits : RdV sur MSDNhttp://msdn.microsoft.com/fr-fr/

Les offres à connaître90 jours d’essai gratuit de Windows Azure www.windowsazure.fr

Jusqu’à 35% de réduction sur Visual Studio Pro, avec l’abonnement MSDN www.visualstudio.fr

Pour aller plus loin

10 février 2012

Live Meeting

Open Data - Développer des applications riches avec le protocole Open Data

16 février 2012

Live Meeting

Azure series - Développer des applications sociales sur la plateforme Windows Azure

17 février 2012

Live Meeting

Comprendre le canvas avec Galactic et la librairie three.js

21 février 2012

Live Meeting

La production automatisée de code avec CodeFluent Entities

2 mars 2012

Live Meeting

Comprendre et mettre en oeuvre le toolkit Azure pour Windows Phone 7, iOS et Android

6 mars 2012

Live Meeting Nuget et ALM

9 mars 2012

Live Meeting Kinect - Bien gérer la vie de son capteur

13 mars 2012

Live Meeting Sharepoint series - Automatisation des tests

14 mars 2012

Live Meeting

TFS Health Check - vérifier la bonne santé de votre plateforme de développement

15 mars 2012

Live Meeting

Azure series - Développer pour les téléphones, les tablettes et le cloud avec Visual Studio 2010

16 mars 2012

Live Meeting

Applications METRO design - Désossage en règle d'un template METRO javascript

20 mars 2012

Live Meeting

Retour d'expérience LightSwitch, Optimisation de l'accès aux données, Intégration Silverlight

23 mars 2012

Live Meeting

OAuth - la clé de l'utilisation des réseaux sociaux dans votre application

Prochaines sessions des Dev Camps

Page 34: Java dans Windows Azure, l'exemple de JOnAS