Application Duke s Bank Spécification

Documents pareils
Java pour le Web. Cours Java - F. Michel

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Java Naming and Directory Interface

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Dis papa, c est quoi un bus logiciel réparti?

TD3: tableaux avancées, première classe et chaînes

Création d une application JEE

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

Une introduction à la technologie EJB (2/3)

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Projet de programmation (IK3) : TP n 1 Correction

Flux de données Lecture/Ecriture Fichiers

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Création d un service web avec NetBeans 5.5 et SJAS 9

Programme Compte bancaire (code)

Cedric Dumoulin (C) The Java EE 7 Tutorial

Corrigé des exercices sur les références

Serveur d'archivage 2007 Installation et utilisation de la BD exist

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

Java Licence Professionnelle CISII,

RMI le langage Java XII-1 JMF

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle

Package Java.util Classe générique

Corrigés des premiers exercices sur les classes

ACTIVITÉ DE PROGRAMMATION

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Environnements de Développement

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Mise en œuvre des serveurs d application

Architecture Orientée Service, JSON et API REST

as Architecture des Systèmes d Information

Cahier des Charges du Projet Domotique. Choquet Mathieu Masson Jérôme Groupe 6. Domotique. p.1

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Programmation Internet en Java

OpenPaaS Le réseau social d'entreprise

Synchro et Threads Java TM

Introduction au langage Java

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Refonte front-office / back-office - Architecture & Conception -

Un ordonnanceur stupide

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Notes de cours Practical BigData

Applet pour visualiser les variables «automate» notifiées

Remote Method Invocation Les classes implémentant Serializable

JOnAS 5. Serveur d application d

Java 1.5 : principales nouveautés

Remote Method Invocation (RMI)

TP Programmation Java / JDBC / Oracle

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Derrière toi Une machine virtuelle!

LOG4430 : Architecture logicielle et conception avancée

CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Utilisation d objets : String et ArrayList

Programmer en JAVA. par Tama

Programmation client-serveur sockets - RPC

Développement Logiciel

Java DataBaseConnectivity

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Java RMI. Arnaud Labourel Courriel: Université de Provence. 8 mars 2011

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

Tp 1 correction. Structures de données (IF2)

TD2 Programmation concurrentielle

INF 321 : mémento de la syntaxe de Java

Programmation Par Objets

Plan du cours. Historique du langage Nouveautés de Java 7

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Threads. Threads. USTL routier 1

Création d objet imbriqué sous PowerShell.

J2EE - Introduction. Développement web - Java. Plan du chapitre

Premiers Pas en Programmation Objet : les Classes et les Objets

Programmation Réseau SSH et TLS (aka SSL)

Chapitre 10. Les interfaces Comparable et Comparator 1

Composants Logiciels. Le modèle de composant de CORBA. Plan

TP, première séquence d exercices.

1. Installation d'un serveur d'application JBoss:

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Interfaces graphiques avec l API Swing

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Maîtriser le menu contextuel dans un OfficeBean

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Desktop Intégration. Rémi Forax

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Introduction à Java. Philippe Genoud.

Android et le Cloud Computing

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

Auto-évaluation Programmation en Java

Transcription:

Cedric Dumoulin

Application Duke s Bank Spécification Application bancaire avec: client, compte et transaction bancaire Interface web Interface administration (client lourd)

Duke s Bank-Architecture Logicielle

Duke s Bank Architecture Logicielle présentation application domain

Duke s Bank Les beans session Utilisent des DTO (XxxDetails) pour passer des valuers entre l application et le client

Duke s Bank Les entités Uniquement accessible à l interieur du serveur par les sessions

Duke s Bank Les Objets de Transfert Data Transfer Object Utilisé pour transférer des infos entre l application et les clients Souvent similaire à l entité avec JPA, on peut utiliser une instance «non attaché» d une entité.

Duke s Bank Clients légers Ensemble de page web jsp Accèdent à l application par les bean Session Utilisent des DTO pour passer des grosses quantités d information en une seul fois entre le client et le serveur Les pages sont déployées sur un serveur WEB L utilisateur accède aux pages par un navigateur web

Duke s Bank Client lourd Application Java avec Swing Accède à l application par les bean Session Utilisent des DTO pour passer des grosses quantités d information en une seul fois entre le client et le serveur

Application Palindrome Spécification Application ayant une unique méthode. Cette méthode prend un mot en entrée, et retourne: Le mot lui-même si il est un palindrome Le mot concaténé avec lui même épelé a l envers si il n est pas un palindrome. On veut: Un serveur implémentant la méthode palindrome un client léger (page web) un client lourd (classe Java avec un main)

Palindrome Architecture logicielle

Palindrome Packaging palindromeclient.jar palindrome.jar palindromeweb.war

Palindrome Client lourd public static void main(string[] args) { // Setup for Apache Geronimo server with openejb Properties prop = new Properties(); prop.put(context.initial_context_factory, "org.apache.openejb.client.remoteinitialcontextfactory"); prop.put("java.naming.provider.url", "ejbd://localhost:4201"); // Get naming Context Context context = new InitialContext(prop); // Lookup the Session Bean PalindromeRemote palindrome=(palindromeremote)context.lookup("palindromebeanremote"); // Read input from console String str = ""; do { System.out.println("Give a name "); BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); str = in.readline(); String res = palindrome.computepalindrome(str); System.out.println("res=" + res); } while (str.length() > 0);

Palindrome Client léger lookup ejb <%!PalindromeRemote palindrome=null;%> <% try { palindrome = (PalindromeRemote)session.getAttribute("palindrome"); if(palindrome==null) { Properties prop = new Properties(); prop.put(context.initial_context_factory, "org.apache.openejb.client.remoteinitialcontextfactory"); prop.put("java.naming.provider.url", "ejbd://localhost:4201"); Context context = new InitialContext(prop); Attention! OpenEJB! palindrome = (PalindromeRemote)context.lookup("PalindromeBeanRemote"); session.setattribute("palindrome", palindrome); } } catch (NamingException e) { e.printstacktrace(); } %>

Palindrome Client léger ejb call <% String param = request.getparameter("inputtxt"); String res = null; if( param == null ) res = "enter a text!"; else { res = palindrome.computepalindrome(param); } %> <%= param%> <-> <%= res%>

Palindrome Déploiement palindrome.jar sur un serveur EJB 3 palindromeweb.war sur un serveur WEB palindromeclient application Java A noter: le serveur WEB et le serveur EJB 3 peuvent être le même ou différent. palindrome.jar et palindromeweb.war peuvent être regroupé dans un ear

Exemple d architecture matérielle

Bibliographie The Duke s Bank Application, J2ee5 Tutorial, p1021 The order Application, J2EE6 Tutorial, p379 http://www.irisa.fr/prive/jezequel/enseignement/arc hitecture%20j2ee.pdf http://www.theserverside.com/news/1369773/free- Book-The-J2EE-Architects-Handbook