Durant cette session, venez découvrir comment construire une appli Java EE 7 pour Azure : JPA, EJB, le tout construit sur CDI. Nous y ajouterons une interface web JSF et un accès REST. Dans un deuxième temps, nous déploierons cette application dans Azure via un serveur Glassfish ! Nous détaillerons toute l'installation, la configuration et l'interfaçage de tous ces éléments.
Conduire un projet de GED: Concepts de base, points de repère pour la mise en...Baba Kourouma
Ce exposé apportera aux lecteurs (archivistes, documentalistes, responsable du SI ou futur chef de projet GED) les informations nécessaires pour :
- Comprendre les principes fondamentaux de la GED et les différents domaines d’application possibles;
- Situer les différentes solutions possibles et les composants nécessaires pour développer un projet de dématérialisation et l’intégrer dans le système d’information existant;
- Construire un plan d’actions rationnel pour concevoir et réussir son projet
Support Complet sur la technologie EJB 3.1. Ce cours Traite l'architecture JEE. Les différents types EJB (Session, Entity, MDB). Des exemple complets sont aussi présentés.
Conduire un projet de GED: Concepts de base, points de repère pour la mise en...Baba Kourouma
Ce exposé apportera aux lecteurs (archivistes, documentalistes, responsable du SI ou futur chef de projet GED) les informations nécessaires pour :
- Comprendre les principes fondamentaux de la GED et les différents domaines d’application possibles;
- Situer les différentes solutions possibles et les composants nécessaires pour développer un projet de dématérialisation et l’intégrer dans le système d’information existant;
- Construire un plan d’actions rationnel pour concevoir et réussir son projet
Support Complet sur la technologie EJB 3.1. Ce cours Traite l'architecture JEE. Les différents types EJB (Session, Entity, MDB). Des exemple complets sont aussi présentés.
Les technologies web sont en évolution constante et de nombreux frameworks JavaScript sont régulièrement créés afin de répondre à de nouveaux besoins. Dans sa stratégie d'ouverture, Microsoft intègre régulièrement les principaux framework dans ses outils.
Dans cette session, nous vous proposons de faire un tour d'horizon des frameworks les plus utilisés par la communauté Web: de KnockoutJS à AngularJS en passant par Bootstrap et Cordova. Puis nous verrons leurs intégrations dans Visual Studio.
Quand java prend de la vitesse, apache maven vous garde sur les railsArnaud Héritier
Le rythme d’évolution (et donc de support) de Java s’accélère ces dernières années (et nous n’allons pas nous plaindre). Désormais une nouvelle version de Java est dépréciée tous les deux ans!
* Java 5 : Octobre 2009
* Java 6 : Février 2013
* Java 7 : Avril 2015 (QUOI ? DEJA ? MAINTENANT ?)
* Java 8 : Mars 2017 (incompatibilité source vs binaire, vous allez découvrir...)
Mais vous, ou plutôt vos applications, comment gérez vous leurs transitions d’une version de Java à une autre ?
Découvrez dans cette session comment Apache Maven, et son outillage (toolchain, animal-sniffer, …) vous aident à jongler entre différentes versions de Java sans douleur pour vos projets.
Présentation d\'introduction à GWT dans le cadre du cours combiné GTI780 / MTI780, Sujets spéciaux en TI, donné par Claude Coulombe, à l\'Ecole de technologie supérieure, Montréal, Automne 2008
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
"Après une période de calme relatif, la Terre du Milieu est à nouveau en proie à l’émoi : Un seul code pour les gouverner tous, tel semble être le nouveau crédo des bâtisseurs des contrées d’UWP, depuis que le peuple Xamarin a créé de nouveaux passages vers les terres d’Android et d’iOS.
Avec de nouvelles forges et de nouvelles armes permettant aux guerriers de s’aventurer sur tablette, PC et même en Holographie, le régent Windows 10 est devenu le symbole de l’universalité du royaume.
Il est donc temps de passer en revue vos troupes ! Armez C#, Windows Inking, Microsoft Composition, Centenial !
Découvrez comment Xamarin, grande cité récemment conquise, propose d’intégrer de nouvelles techniques de combat pour faire du language .Net le verbiage parfait des mondes mobiles, quelle que soit votre contrée d’origine (Android, IOS, ou Windows)"
Venez comprendre le concept de la Blockchain, ses bénéfices et scénarios d’usage ainsi que les outils et la plateforme proposés par Microsoft pour vous permettre de démarrer, rapidement et à moindre coût, des projets de développement et d’extension de vos solutions existantes dans ce domaine.
Contenu connexe
Similaire à Développez et déployez votre application Java dans Azure
Les technologies web sont en évolution constante et de nombreux frameworks JavaScript sont régulièrement créés afin de répondre à de nouveaux besoins. Dans sa stratégie d'ouverture, Microsoft intègre régulièrement les principaux framework dans ses outils.
Dans cette session, nous vous proposons de faire un tour d'horizon des frameworks les plus utilisés par la communauté Web: de KnockoutJS à AngularJS en passant par Bootstrap et Cordova. Puis nous verrons leurs intégrations dans Visual Studio.
Quand java prend de la vitesse, apache maven vous garde sur les railsArnaud Héritier
Le rythme d’évolution (et donc de support) de Java s’accélère ces dernières années (et nous n’allons pas nous plaindre). Désormais une nouvelle version de Java est dépréciée tous les deux ans!
* Java 5 : Octobre 2009
* Java 6 : Février 2013
* Java 7 : Avril 2015 (QUOI ? DEJA ? MAINTENANT ?)
* Java 8 : Mars 2017 (incompatibilité source vs binaire, vous allez découvrir...)
Mais vous, ou plutôt vos applications, comment gérez vous leurs transitions d’une version de Java à une autre ?
Découvrez dans cette session comment Apache Maven, et son outillage (toolchain, animal-sniffer, …) vous aident à jongler entre différentes versions de Java sans douleur pour vos projets.
Présentation d\'introduction à GWT dans le cadre du cours combiné GTI780 / MTI780, Sujets spéciaux en TI, donné par Claude Coulombe, à l\'Ecole de technologie supérieure, Montréal, Automne 2008
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
"Après une période de calme relatif, la Terre du Milieu est à nouveau en proie à l’émoi : Un seul code pour les gouverner tous, tel semble être le nouveau crédo des bâtisseurs des contrées d’UWP, depuis que le peuple Xamarin a créé de nouveaux passages vers les terres d’Android et d’iOS.
Avec de nouvelles forges et de nouvelles armes permettant aux guerriers de s’aventurer sur tablette, PC et même en Holographie, le régent Windows 10 est devenu le symbole de l’universalité du royaume.
Il est donc temps de passer en revue vos troupes ! Armez C#, Windows Inking, Microsoft Composition, Centenial !
Découvrez comment Xamarin, grande cité récemment conquise, propose d’intégrer de nouvelles techniques de combat pour faire du language .Net le verbiage parfait des mondes mobiles, quelle que soit votre contrée d’origine (Android, IOS, ou Windows)"
Venez comprendre le concept de la Blockchain, ses bénéfices et scénarios d’usage ainsi que les outils et la plateforme proposés par Microsoft pour vous permettre de démarrer, rapidement et à moindre coût, des projets de développement et d’extension de vos solutions existantes dans ce domaine.
Tester, Monitorer et Déployer son application mobileMicrosoft
"Permis de tester
Disclaimer : Cette session ne s’adresse pas à ceux qui pensent que c’est une bonne idée d’affirmer :
• « On testera si on a le temps »,
• « Les utilisateurs nous remonteront les bugs »
• « Les développeurs testent et débuguent ce qu’ils ont conçu, c'est suffisant pour garantir la qualité de l‘application mobile »
• « Un test réussi sur un smartphone garantit que l’application fonctionne sur tous les autres appareils du même OS »
• « Le test d'application mobile, c'est comme le test de site web »
Cette session « Tester, Monitorer et Déployer son application mobile » est pour ceux qui ont conscience qu’une application offrant une expérience décevante est synonyme :
• D’abandon pur et simple par +60% de ses utilisateurs
• D’un changement immédiat pour la concurrence pour 34% d’entre eux
• D’un impact négatif pour la marque (réseau sociaux, rating, bouche à oreilles) par la moitié des utilisateurs
Au final, pas besoin de s’appeler Bond pour éliminer les bugs de votre app !
Inscrivez vous pour découvrir quels sont les usages du « testing mobile » et comment Visual Studio Team Services, Xamarin Tests Cloud & Hockey App, vous permettront d’améliorer la qualité de vos applications mobiles pour iOS, Android & Windows."
Windows 10, un an après – Nouveautés & Démo Microsoft
"Windows 10 célèbre sa première bougie avec une mise à jour « Anniversary Update » dont nous présenterons les principales nouveautés.
Retour également en démo sur les nouveaux scénarios proposés par l’OS dans un monde « Cloud First & Mobile First ».
Enfin nous terminerons cette session par un rapide aperçu des possibilités offertes par Bash et les conteneurs sous Windows 10.
"
Prenez votre pied avec les bots et cognitive services.Microsoft
"Cette session vous propose de découvrir comment mettre le pied dans le monde des bots.
Microsoft Bot Framework offre une solution complète pour créer et connecter votre bot aux principales plateformes de messagerie, notamment Skype, Slack et Facebook Messenger.
Nous vous proposons également de découvrir Cognitives Services pour interagir en language naturel et enrichir les scenarios de votre futur Bot !"
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
"Vous voulez apprendre comment gérer votre tenant Office 365 : SharePoint Online, Power BI, Services Azure avec PowerShell ?
Venez découvrir les bonnes pratiques et comprendre comment utiliser « Office 365 Developer Patterns and Practices (PnP) » & Microsoft Graph (API).
Dans cette session, vous apprendrez comment administrer les fonctionnalités de votre tenant Office 365 en utilisant PowerShell.
De nombreuses démos ! "
"Les bots aujourd’hui c’est très concret. Dans cette session nous aborderons les cas les plus courants de création de bots.
Vous comprendrez comment Recast.AI utilise le bot framework pour publier les bots des développeurs qui utilisent leur plateforme. Pour comprendre toutes les étapes de la création d’un bot en Node.js, du code au déploiement, c’est par la !"
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
"Microsoft Composition est une librairie permettant de créer des effets graphiques de haut niveau pour les applications UWP. C'est le chaînon manquant entre les développeurs et les designers d'interfaces.
Voyons comment ajouter le fameux et recherché effet Wahou, en faisant travailler de concert un designer et un développeur."
"Avec l'arrivée de SQL Server 2016 une session de présentation des nouveautés s'impose !
Au menu : Streched Database, Always Encrypted, Row Level Security, Live Query Statistics, Les Temporal Tables , PolyBase, Et le reste ?"
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
Après une rapide introduction au concept de conteneurs et à leur intégration dans une IT agile, nous allons nous intéresser, dans cette session, à leur mise en œuvre depuis le poste du développeur ou de l'administrateur, jusqu'aux clusters apportant un niveau de disponibilité et de montée en charge nécessaires aux environnements de production. Les démonstrations couvriront donc Docker sur Windows 10 et Windows Server 2016, ainsi qu'Azure Container Service pour l'orchestration de conteneurs dans Azure avec Docker Swarm ou DC/OS, et Docker Datacenter dans Azure pour une solution complète et hybride en entreprise.
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
Azure Log Analytics est un service d’Operations Management Suite (OMS) qui vous permet de collecter et d’analyser les données générées par les ressources de votre Cloud et de vos environnements locaux. Il vous fournit des informations en temps réel à l'aide d’une recherche intégrée et de tableaux de bord personnalisés permettant d’analyser facilement des millions d'enregistrements. Cette session sera l'occasion de découvrir ce service.
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
Suite à la réalisation de plusieurs projets Azure IoT, place aux retours d'expériences. Entre des migrations de M2M/IoT Amazon vers Azure, jusqu'à la création de projet nécessitant de « scaler » jusqu'à 1 million d'objets SigFox, en passant par des projets plus modestes, mais avec des problématiques de santé, nous verrons comme les patterns Cloud, l'ASP.Net Core, et les MicroServices, etc... mais aussi les Juristes, les méthodologies de gestion de projets Agile et IoT … sont devenus incontournables.
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
Et si les datacenters d'Azure devenaient vos centres de données de secours en cas de défaillance majeure ? Avec Azure Site Recovery, vous disposez d'une solution capable de répliquer vos serveurs physiques ou virtuels (VMware et Hyper-V) directement dans Azure et vous avez la possibilité de redémarrer votre production en quelques minutes le cas échéant. Cette session fera le tour de la solution avec des démonstrations.
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
"Fini l'artisanat, place à l'industrialisation !
Dans cette session, nous aborderons les différentes méthodes de déploiement d’applications dans Azure.
Nous ferons un rappel sur le nouveau modèle ARM (IaaS v2) et les « Resource Manager providers ».
Puis nous passerons aux différentes méthodes de déploiement : de la plus simple jusqu’aux plus élaborées comme par exemple, PowerShell, CLI, Custom Script, fichiers de configuration JSON, installation post-installation d’applications, solutions tierces. "
Transformation de la représentation : De la VR à la RA, aller & retour.Microsoft
Les nouvelles interfaces seront augmentées ou virtuelles ou ne seront pas. Faisons le tour des solutions existantes, des outils et des méthodes de la réalité alternative et connectée.
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
La plateforme Microsoft Azure offre différentes possibilités pour l’hébergement d’applications modernes. Dans cette session, nous passerons en revue les différents choix d’architectures possibles pour ces applications : machines virtuelles, services de plateformes comme Azure Service Fabric et Azure App Services, solutions d’hébergement de conteneurs Docker sont autant de possibilités qui s’offrent à vous dès aujourd’hui !
"ASP.NET Core est le nouveau framework Open Source et Cross Platform pour développer des applications connectées modernes : applications webs, backends mobiles ou applications IoT.
ASP.NET Core peut tourner sur .NET Core ou sur le .NET Framework complet. Son architecture a été complètement revue depuis la précédente génération du framework afin de fournir une expérience de développement plus moderne, plus flexible et plus performante.
Venez découvrir les bases d'ASP.NET Core afin de pouvoir l'envisager dans vos futurs projets !"
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
"Node.JS, MariaDb, MongoDb, Python, Ruby on Rails, PHP... toutes ces technologies et beaucoup d'autres ont deux points commun : elles sont Open Source et fonctionnent sur Microsoft Azure.
Faisons un point rapide sur la stratégie de Microsoft sur le sujet et démontrons les atouts d'Azure à travers l'exemple d'un projet web professionnel.
Celui-ci s’appuiera sur des technologies ouvertes : Drupal pour le CMS, PHP pour le langage, Linux pour le système d'exploitation, MariaDB pour la base de données ou encore Redis pour le cache distribué.
En plus d’aborder des nouveautés de l’offre Azure, cette session sera également l’occasion d’aborder les différents types de services disponibles dans Azure (infrastructure, plateforme, applicatif) et les questions à se poser pour choisir entre ceux-ci."
Comment développer sur la console Xbox One avec une application Universal Win...Microsoft
"Après avoir développé une application Universal Windows Platform (UWP) pour mobile et desktop, est-il possible de porter facilement son application sur Xbox One ?
Quels sont les problèmes que nous avons rencontré à Dailymotion pour le développement de notre application ?
Dans cette session, nous regarderons les différents éléments dont il faudra bien penser lorsqu’on développe pour la console Xbox One comme la taille de l’écran de la TV, le gamepad ou encore la remote. Je vous expliquerais les choix que nous avons fait à Dailymotion sur notre application Xbox One.
Quels sont les problèmes que nous avons rencontré à Dailymotion pour le développement de notre application ?"
Azure Service Fabric pour les développeursMicrosoft
"Venez découvrir comment Service Fabric va déverrouiller le potentiel de vos applications et de vos équipes : élasticité, modularité, scalabilité.
A travers de multiples démonstrations techniques, les secrets du développement pour Service Fabric vous seront révélés (Micro Services, Actor Model, Reliable storage, gestion des ressource).
"
7. 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
8. 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
9. 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
10. 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
BeanValidation1.1
Concurrency
utilities
Batch
applications
Java API
for JSON
Java API
for Websocket
11. 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
BeanValidation1.1
Concurrency
utilities
Batch
applications
Java API
for JSON
Java API
for Websocket
12. 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
BeanValidation1.1
Concurrency
utilities
Batch
applications
Java API
for JSON
Java API
for Websocket
13. 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
BeanValidation1.1
14. 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
16. 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
17. 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
18. 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
}
19. 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
}
20. 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
}
21. 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
}
22. 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
}
23. 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
}
24. 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
}
25. 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
}
26. 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
}
27. 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
}
28. 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
}
29. 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
}
30. 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
31. tech.days 2015#mstechdays #JEEAzureDéployer une application Java EE dans Azure
Injection / production
@Stateless
public class EntityManagerProvider {
@PersistenceContext(unitName="DataService")
private static EntityManager entityManager ;
}
32. tech.days 2015#mstechdays #JEEAzureDéployer une application Java EE dans Azure
Injection / production
@Stateless
public class EntityManagerProvider {
@Produces
@PersistenceContext(unitName="DataService")
private static EntityManager entityManager ;
}
33. tech.days 2015#mstechdays #JEEAzureDé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 ;
}
34. tech.days 2015#mstechdays #JEEAzureDé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 ;
}
35. 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() ;
}
}
36. 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() ;
}
}
37. 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() ;
}
}
38. 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() ;
}
}
}
39. 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() ;
}
}
}
40. 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() ;
}
}
}
41. 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() ;
}
}
}
42. 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() ;
}
}
}
43. 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
}
49. 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
50. tech.days 2015#mstechdays #JEEAzure
Questions ? Commentaires ? Interrogations ?
@JosePaumard
@SebastienPertus
Déployer une application Java EE dans Azure