D©veloppez et d©ployez votre application Java dans Azure

download D©veloppez et d©ployez votre application Java dans Azure

of 51

  • date post

    16-Jul-2015
  • Category

    Technology

  • view

    202
  • download

    0

Embed Size (px)

Transcript of D©veloppez et d©ployez votre application Java dans Azure

  • Dployer une application Java EE dans Azure Jos Paumard @JosePaumard Sbastien Pertus @SebastienPertus

  • tech.days 2015 #mstechdays #JEEAzure

    #JEEAzure

    Dployer une application Java EE dans Azure

  • 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

    Dployer une application Java EE dans Azure

  • tech.days 2015 #mstechdays #JEEAzure

    Pourquoi vouloir dployer une application Java EE dans Azure ?

    Dployer une application Java EE dans Azure

  • tech.days 2015 #mstechdays #JEEAzure

    Pourquoi vouloir dployer une application Java EE dans Azure ?

    Dployer une application Java EE dans Azure

  • tech.days 2015 #mstechdays #JEEAzure

    Pour une application Java EE :

    Dployer une application Java EE dans Azure

  • tech.days 2015 #mstechdays #JEEAzure

    Outils de dveloppement pour le Javaiste IHM de gestion dAzure, configuration, monitoring Gestion de donnes structures / non structures Application jouet Modes de dploiement de lapplication Dmo de lapplication Q / R

    Dployer une application Java EE dans Azure

  • tech.days 2015 #mstechdays #JEEAzure

    Eclipse Java EE classique

    + plugin spcifique Azure

    Ressource Github https://github.com/azure

    Dployer une application Java EE dans Azure

  • tech.days 2015 #mstechdays #JEEAzure

    Java EE = jeu de spcifications Java EE = du papier ! Du papier + une implmentation de rfrence JPA EclipseLink JAX-RS Jersey JSF Mojara

    Dployer une application Java EE dans Azure

  • tech.days 2015 #mstechdays #JEEAzure

    Organisation

    Dployer 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

    Vali

    datio

    n 1.1

    Concurrency utilities

    Batch applications

    Java API for JSON

    Java API for Websocket

  • tech.days 2015 #mstechdays #JEEAzure

    Organisation

    Dployer 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

    Vali

    datio

    n 1.1

    Concurrency utilities

    Batch applications

    Java API for JSON

    Java API for Websocket

  • tech.days 2015 #mstechdays #JEEAzure

    Organisation

    Dployer 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

    Vali

    datio

    n 1.1

    Concurrency utilities

    Batch applications

    Java API for JSON

    Java API for Websocket

  • tech.days 2015 #mstechdays #JEEAzure

    Organisation

    Dployer 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

    Vali

    datio

    n 1.1

  • tech.days 2015 #mstechdays #JEEAzure

    JPA, EJB, JAX-RS, JAX-WS JSF (si on lutilise) JMS ? Java Mail ? Journalisation ? On peut utiliser directement des services cloud

    Dployer une application Java EE dans Azure

  • tech.days 2015 #mstechdays #JEEAzure

    SQL Database

    Dployer une application Java EE dans Azure

  • tech.days 2015 #mstechdays #JEEAzure

    Deux versions de Java EE Tomcat implmente le web profile

    Wildfly (JBoss), Glassfish, Weblogic, Websphere, implmentent le full profile

    Dployer une application Java EE dans Azure

  • tech.days 2015 #mstechdays #JEEAzure

    Accs aux donnes (JPA) Couche de service (EJB) Services REST (JAX-RS) IHM (JSF) Stockage dimages en BLOB

    Dployer une application Java EE dans Azure

  • tech.days 2015 #mstechdays #JEEAzure

    Entit JPA

    Dployer une application Java EE dans Azure

    public class Musician { private String name ; private Date dateOfBirth ; private MusicType musicType ; // getters / setters }

  • tech.days 2015 #mstechdays #JEEAzure

    Entit JPA

    Dployer une application Java EE dans Azure

    public class Musician { private Long id ; private String name ; private Date dateOfBirth ; private MusicType musicType ; // getters / setters }

  • tech.days 2015 #mstechdays #JEEAzure

    Entit JPA

    Dployer 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 }

  • tech.days 2015 #mstechdays #JEEAzure

    Entit JPA

    Dployer 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 }

  • tech.days 2015 #mstechdays #JEEAzure

    Entit JPA

    Dployer 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 }

  • tech.days 2015 #mstechdays #JEEAzure

    Entit JPA

    Dployer 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 }

  • tech.days 2015 #mstechdays #JEEAzure

    Entit JPA

    Dployer 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 }

  • tech.days 2015 #mstechdays #JEEAzure

    Entit JPA

    Dployer une application Java EE dans Azure

    @Entity public class Musician { @OneToMany private List instruments ; // getters / setters }

  • tech.days 2015 #mstechdays #JEEAzure

    Entit JPA

    Dployer une application Java EE dans Azure

    @Entity public class Musician { @OneToMany private List instruments ; @ManyToMany private List orchestras ; // getters / setters }

  • tech.days 2015 #mstechdays #JEEAzure

    Entit JPA

    Dployer une application Java EE dans Azure

    @Entity public class Musician { @OneToMany private List instruments ; @ManyToMany private List orchestras ; @Embedded private Address address ; // getters / setters }

  • tech.days 2015 #mstechdays #JEEAzure

    Entit JPA

    Dployer une application Java EE dans Azure

    @Entity public class Musician { @OneToMany private List instruments ; @ManyToMany private List orchestras ; @Embedded private Address address ; @Column(name="email", length=80) private String email ; // getters / setters }

  • tech.days 2015 #mstechdays #JEEAzure

    Entit JPA

    Dployer une application Java EE dans Azure

    @Entity public class Musician { @OneToMany private List instruments ; @ManyToMany private List orchestras ; @Embedded private Address address ; @Column(name="email", length=80) @Email private String email ; // getters / setters }

  • tech.days 2015 #mstechdays #JEEAzure

    Gestion des relations *:* Gestion de lhritage Gnration du schma Adaptation un schma existant Gestion des requtes SQL / JPQL Configuration par annotations ou XML

    Dployer une application Java EE dans Azure

  • tech.days 2015 #mstechdays #JEEAzure Dployer une application Java EE dans Azure

    Injection / production @Stateless public class EntityManagerProvider { @PersistenceContext(unitName="DataService") private static EntityManager entityManager ; }

  • tech.days 2015 #mstechdays #JEEAzure Dployer une application Java EE dans Azure

    Injection / production @Stateless public class EntityManagerProvider { @Produces @PersistenceContext(unitName="DataService") private static EntityManager entityManager ; }

  • tech.days 2015 #mstechdays #JEEAzure Dployer une application Java EE dans Azure

    Injection / production @Stateless public class EntityManag