déploiement d'une application java ee dans azure
TRANSCRIPT
![Page 1: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/1.jpg)
Déployer une application Java EE dans Azure José Paumard @JosePaumard Sébastien Pertus @SebastienPertus
![Page 2: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/2.jpg)
tech.days 2015 #mstechdays #JEEAzure
#JEEAzure
Déployer une application Java EE dans Azure
![Page 3: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/3.jpg)
tech.days 2015 #mstechdays #JEEAzure
Podcast « les casts codeurs » http://lescastcodeurs.com/2014/10/26/lcc-111-interview-sur-microsoft-azure-avec-patrick-chanezon-et-benjamin-guinebertiere/
MOOC sur MVA http://www.microsoftvirtualacademy.com/training-courses/deploiement-application-java-dans-microsoft-azure
Patterns ! https://github.com/Azure/azure-sdk-for-java
Déployer une application Java EE dans Azure
![Page 4: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/4.jpg)
tech.days 2015 #mstechdays #JEEAzure
Pourquoi vouloir déployer une application Java EE dans Azure ?
Déployer une application Java EE dans Azure
![Page 5: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/5.jpg)
tech.days 2015 #mstechdays #JEEAzure
Pourquoi vouloir déployer une application Java EE dans Azure ?
Déployer une application Java EE dans Azure
![Page 6: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/6.jpg)
tech.days 2015 #mstechdays #JEEAzure
Pour une application Java EE :
Déployer une application Java EE dans Azure
![Page 7: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/7.jpg)
tech.days 2015 #mstechdays #JEEAzure
Outils de développement pour le « Javaiste » IHM de gestion d’Azure, configuration, monitoring Gestion de données structurées / non structurées Application jouet Modes de déploiement de l’application Démo de l’application Q / R
Déployer une application Java EE dans Azure
![Page 8: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/8.jpg)
tech.days 2015 #mstechdays #JEEAzure
Eclipse Java EE « classique »
+ plugin spécifique Azure
Ressource Github https://github.com/azure
Déployer une application Java EE dans Azure
![Page 9: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/9.jpg)
tech.days 2015 #mstechdays #JEEAzure
Java EE = jeu de spécifications Java EE = du papier ! Du papier + une implémentation de référence JPA → EclipseLink JAX-RS → Jersey JSF → Mojara
Déployer une application Java EE dans Azure
![Page 10: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/10.jpg)
tech.days 2015 #mstechdays #JEEAzure
Organisation
Déployer une application Java EE dans Azure
Portable extensions
JSP 2.3 JSF 2.2 JAX RS 2 EL 3
Servlet 3.1
Managed Beans 1.0 EJB 3.2
JCA 1.7 JPA 2.1 JTA 2.1 JMS 2.0
Interceptors 1.1 CDI 1.1 Common annotations 1.1
Bean
Val
idat
ion
1.1
Concurrency utilities
Batch applications
Java API for JSON
Java API for Websocket
![Page 11: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/11.jpg)
tech.days 2015 #mstechdays #JEEAzure
Organisation
Déployer une application Java EE dans Azure
Portable extensions
JSP 2.3 JSF 2.2 JAX RS 2 EL 3
Servlet 3.1
Managed Beans 1.0 EJB 3.2
JCA 1.7 JPA 2.1 JTA 2.1 JMS 2.0
Interceptors 1.1 CDI 1.1 Common annotations 1.1
Bean
Val
idat
ion
1.1
Concurrency utilities
Batch applications
Java API for JSON
Java API for Websocket
![Page 12: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/12.jpg)
tech.days 2015 #mstechdays #JEEAzure
Organisation
Déployer une application Java EE dans Azure
Portable extensions
JSP 2.3 JSF 2.2 JAX RS 2 EL 3
Servlet 3.1
Managed Beans 1.0 EJB 3.2
JCA 1.7 JPA 2.1 JTA 2.1 JMS 2.0
Interceptors 1.1 CDI 1.1 Common annotations 1.1
Bean
Val
idat
ion
1.1
Concurrency utilities
Batch applications
Java API for JSON
Java API for Websocket
![Page 13: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/13.jpg)
tech.days 2015 #mstechdays #JEEAzure
Organisation
Déployer une application Java EE dans Azure
Portable extensions
JSP 2.3 JSF 2.2 JAX RS 2 EL 3
Servlet 3.1
Managed Beans 1.0 EJB 3.2
JCA 1.7 JPA 2.1 JTA 2.1 JMS 2.0
Interceptors 1.1 CDI 1.1 Common annotations 1.1
Concurrency utilities
Batch applications
Java API for JSON
Java API for Websocket
Bean
Val
idat
ion
1.1
![Page 14: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/14.jpg)
tech.days 2015 #mstechdays #JEEAzure
JPA, EJB, JAX-RS, JAX-WS JSF (si on l’utilise) JMS ? Java Mail ? Journalisation ? → On peut utiliser directement des services cloud
Déployer une application Java EE dans Azure
![Page 15: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/15.jpg)
tech.days 2015 #mstechdays #JEEAzure
SQL Database
Déployer une application Java EE dans Azure
![Page 16: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/16.jpg)
tech.days 2015 #mstechdays #JEEAzure
Deux versions de Java EE Tomcat implémente le « web profile »
Wildfly (JBoss), Glassfish, Weblogic, Websphere, implémentent le « full profile »
Déployer une application Java EE dans Azure
![Page 17: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/17.jpg)
tech.days 2015 #mstechdays #JEEAzure
Accès aux données (JPA) Couche de service (EJB) Services REST (JAX-RS) IHM (JSF) Stockage d’images en BLOB
Déployer une application Java EE dans Azure
![Page 18: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/18.jpg)
tech.days 2015 #mstechdays #JEEAzure
« Entité » JPA
Déployer une application Java EE dans Azure
public class Musician { private String name ; private Date dateOfBirth ; private MusicType musicType ; // getters / setters }
![Page 19: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/19.jpg)
tech.days 2015 #mstechdays #JEEAzure
« Entité » JPA
Déployer une application Java EE dans Azure
public class Musician { private Long id ; private String name ; private Date dateOfBirth ; private MusicType musicType ; // getters / setters }
![Page 20: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/20.jpg)
tech.days 2015 #mstechdays #JEEAzure
« Entité » JPA
Déployer une application Java EE dans Azure
@Entity public class Musician { @Id private Long id ; private String name ; private Date dateOfBirth ; private MusicType musicType ; // getters / setters }
![Page 21: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/21.jpg)
tech.days 2015 #mstechdays #JEEAzure
« Entité » JPA
Déployer une application Java EE dans Azure
@Entity public class Musician { @Id @GeneratedValue(strategy=GenerationType.AUTO) private Long id ; private String name ; private Date dateOfBirth ; private MusicType musicType ; // getters / setters }
![Page 22: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/22.jpg)
tech.days 2015 #mstechdays #JEEAzure
« Entité » JPA
Déployer une application Java EE dans Azure
@Entity public class Musician { @Id @GeneratedValue(strategy=GenerationType.AUTO) private Long id ; private String name ; @Temporal(TemporalType.DATE) private Date dateOfBirth ; private MusicType musicType ; // getters / setters }
![Page 23: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/23.jpg)
tech.days 2015 #mstechdays #JEEAzure
« Entité » JPA
Déployer une application Java EE dans Azure
@Entity public class Musician { @Id @GeneratedValue(strategy=GenerationType.AUTO) private Long id ; @Column(name="name") private String name ; @Temporal(TemporalType.DATE) private Date dateOfBirth ; private MusicType musicType ; // getters / setters }
![Page 24: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/24.jpg)
tech.days 2015 #mstechdays #JEEAzure
« Entité » JPA
Déployer une application Java EE dans Azure
@Entity public class Musician { @Id @GeneratedValue(strategy=GenerationType.AUTO) private Long id ; @Column(name="name") private String name ; @Temporal(TemporalType.DATE) private Date dateOfBirth ; @Enumerated(EnumType.STRING) private MusicType musicType ; // getters / setters }
public enum MusicType { JAZZ, CLASSICAL, ROCK, FOLK }
![Page 25: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/25.jpg)
tech.days 2015 #mstechdays #JEEAzure
« Entité » JPA
Déployer une application Java EE dans Azure
@Entity public class Musician { @OneToMany private List<Instrument> instruments ; // getters / setters }
![Page 26: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/26.jpg)
tech.days 2015 #mstechdays #JEEAzure
« Entité » JPA
Déployer une application Java EE dans Azure
@Entity public class Musician { @OneToMany private List<Instrument> instruments ; @ManyToMany private List<Orchestra> orchestras ; // getters / setters }
![Page 27: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/27.jpg)
tech.days 2015 #mstechdays #JEEAzure
« Entité » JPA
Déployer une application Java EE dans Azure
@Entity public class Musician { @OneToMany private List<Instrument> instruments ; @ManyToMany private List<Orchestra> orchestras ; @Embedded private Address address ; // getters / setters }
![Page 28: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/28.jpg)
tech.days 2015 #mstechdays #JEEAzure
« Entité » JPA
Déployer une application Java EE dans Azure
@Entity public class Musician { @OneToMany private List<Instrument> instruments ; @ManyToMany private List<Orchestra> orchestras ; @Embedded private Address address ; @Column(name="email", length=80) private String email ; // getters / setters }
![Page 29: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/29.jpg)
tech.days 2015 #mstechdays #JEEAzure
« Entité » JPA
Déployer une application Java EE dans Azure
@Entity public class Musician { @OneToMany private List<Instrument> instruments ; @ManyToMany private List<Orchestra> orchestras ; @Embedded private Address address ; @Column(name="email", length=80) @Email private String email ; // getters / setters }
![Page 30: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/30.jpg)
tech.days 2015 #mstechdays #JEEAzure
Gestion des relations *:* Gestion de l’héritage Génération du schéma Adaptation à un schéma existant Gestion des requêtes SQL / JPQL Configuration par annotations ou XML
Déployer une application Java EE dans Azure
![Page 31: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/31.jpg)
tech.days 2015 #mstechdays #JEEAzure Déployer une application Java EE dans Azure
Injection / production @Stateless public class EntityManagerProvider { @PersistenceContext(unitName="DataService") private static EntityManager entityManager ; }
![Page 32: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/32.jpg)
tech.days 2015 #mstechdays #JEEAzure Déployer une application Java EE dans Azure
Injection / production @Stateless public class EntityManagerProvider { @Produces @PersistenceContext(unitName="DataService") private static EntityManager entityManager ; }
![Page 33: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/33.jpg)
tech.days 2015 #mstechdays #JEEAzure Déployer une application Java EE dans Azure
Injection / production @Stateless public class EntityManagerProvider { @Produces @PersistenceContext(unitName="DataService") private static EntityManager entityManager ; }
@Stateless public class MusicianService { @Inject private EntityManager em ; }
![Page 34: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/34.jpg)
tech.days 2015 #mstechdays #JEEAzure Déployer une application Java EE dans Azure
Injection / production @Stateless public class EntityManagerProvider { @Produces @DBProd @PersistenceContext(unitName="DataService") private static EntityManager entityManager ; }
@Stateless public class MusicianService { @Inject @DBProd private EntityManager em ; }
![Page 35: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/35.jpg)
tech.days 2015 #mstechdays #JEEAzure
Implémentées par des EJB
Déployer une application Java EE dans Azure
public class MusicianService { private EntityManager em ; public Musician findById(long id) { return em.find(Musician.class, id) ; } public List<Musician> findByName(String name) { Query q = em.createNamedQuery("Musician.byName") ; q.setParam("name", name) ; return q.getResultList() ; } }
![Page 36: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/36.jpg)
tech.days 2015 #mstechdays #JEEAzure
Implémentées par des EJB
Déployer une application Java EE dans Azure
@Stateless public class MusicianService { @Inject private EntityManager em ; public Musician findById(long id) { return em.find(Musician.class, id) ; } public List<Musician> findByName(String name) { Query q = em.createNamedQuery("Musician.byName") ; q.setParam("name", name) ; return q.getResultList() ; } }
![Page 37: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/37.jpg)
tech.days 2015 #mstechdays #JEEAzure
Implémentées par des EJB
Déployer une application Java EE dans Azure
@Stateless public class MusicianService { @Inject private EntityManager em ; @Transactionnal(TxType.SUPPORTS) public Musician findById(long id) { return em.find(Musician.class, id) ; } @Transactionnal(TxType.SUPPORTS) public List<Musician> findByName(String name) { Query q = em.createNamedQuery("Musician.byName") ; q.setParam("name", name) ; return q.getResultList() ; } }
![Page 38: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/38.jpg)
tech.days 2015 #mstechdays #JEEAzure
JAX-RS
Déployer une application Java EE dans Azure
public class MusicianRestService { private MusicianService musicianService ; public Response getById( long id) { Musician musician = musicianService.findById(id) ; if (musician == null) { return Response.status(Status.NOT_FOUND).build() ; } else { return Response.ok(musician).build() ; } } }
![Page 39: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/39.jpg)
tech.days 2015 #mstechdays #JEEAzure
JAX-RS
Déployer une application Java EE dans Azure
@Path("musician") public class MusicianRestService { @Inject private MusicianService musicianService ; @Path("{id}") // /musician/23 public Response getById( long id) { Musician musician = musicianService.findById(id) ; if (musician == null) { return Response.status(Status.NOT_FOUND).build() ; } else { return Response.ok(musician).build() ; } } }
![Page 40: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/40.jpg)
tech.days 2015 #mstechdays #JEEAzure
JAX-RS
Déployer une application Java EE dans Azure
@Path("musician") public class MusicianRestService { @Inject private MusicianService musicianService ; @Path("{id}") // /musician/23 public Response getById(@PathParam("id") long id) { Musician musician = musicianService.findById(id) ; if (musician == null) { return Response.status(Status.NOT_FOUND).build() ; } else { return Response.ok(musician).build() ; } } }
![Page 41: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/41.jpg)
tech.days 2015 #mstechdays #JEEAzure
JAX-RS
Déployer une application Java EE dans Azure
@Path("musician") public class MusicianRestService { @Inject private MusicianService musicianService ; @Path("{id}") // /musician/23 @GET public Response getById(@PathParam("id") long id) { Musician musician = musicianService.findById(id) ; if (musician == null) { return Response.status(Status.NOT_FOUND).build() ; } else { return Response.ok(musician).build() ; } } }
![Page 42: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/42.jpg)
tech.days 2015 #mstechdays #JEEAzure
JAX-RS
Déployer une application Java EE dans Azure
@Path("musician") public class MusicianRestService { @Inject private MusicianService musicianService ; @Path("{id}") // /musician/23 @GET @Produces({MediaType.TEXT_XML, MediaType.APPLICATION_JSON}) public Response getById(@PathParam("id") long id) { Musician musician = musicianService.findById(id) ; if (musician == null) { return Response.status(Status.NOT_FOUND).build() ; } else { return Response.ok(musician).build() ; } } }
![Page 43: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/43.jpg)
tech.days 2015 #mstechdays #JEEAzure
JAX-RS / JAXB
Déployer une application Java EE dans Azure
@XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class Musician { @XmlAttribute private Long id ; @XmlElement private String name ; @XmlElement(name="date-of-birth") private Date dateOfBirth ; private MusicType musicType ; // getters / setters }
![Page 44: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/44.jpg)
tech.days 2015 #mstechdays #JEEAzure
Présentation de l’IHM (MVC)
Déployer une application Java EE dans Azure
![Page 45: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/45.jpg)
tech.days 2015 #mstechdays #JEEAzure
IaaS / PaaS
Déployer une application Java EE dans Azure
![Page 46: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/46.jpg)
tech.days 2015 #mstechdays #JEEAzure Déployer une application Java EE dans Azure
![Page 47: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/47.jpg)
tech.days 2015 #mstechdays #JEEAzure Déployer une application Java EE dans Azure
![Page 48: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/48.jpg)
tech.days 2015 #mstechdays #JEEAzure
Application CRUD Service REST
Déployer une application Java EE dans Azure
![Page 49: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/49.jpg)
tech.days 2015 #mstechdays #JEEAzure
Azure offre une solution de déploiement d’application Java
Techniquement très complète et « à jour » Commercialement supportée
Donc oui, évaluer Azure lorsque l’on veut déployer
du Java dans le cloud, c’est intéressant !
Déployer une application Java EE dans Azure
![Page 50: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/50.jpg)
tech.days 2015 #mstechdays #JEEAzure
Questions ? Commentaires ? Interrogations ?
@JosePaumard @SebastienPertus
Déployer une application Java EE dans Azure
![Page 51: Déploiement d'une application Java EE dans Azure](https://reader034.vdocuments.site/reader034/viewer/2022051516/55a8ec871a28abc52b8b4671/html5/thumbnails/51.jpg)
© 2015 Microsoft Corporation. All rights reserved.
tech days•2015
#mstechdays techdays.microsoft.fr