• Aucun résultat trouvé

Présentation J2EE. Stéphane Croisier, Directeur Serge Huber, Directeur Technique. 13 Juin Jahia Ltd. All rights reserved.

N/A
N/A
Protected

Academic year: 2022

Partager "Présentation J2EE. Stéphane Croisier, Directeur Serge Huber, Directeur Technique. 13 Juin Jahia Ltd. All rights reserved."

Copied!
38
0
0

Texte intégral

(1)

Présentation J2EE

Stéphane Croisier, Directeur

Serge Huber, Directeur Technique

13 Juin 2002

(2)

Table des Matières

; Qui sommes-nous?

; Introduction J2EE

; Architecture J2EE

; Avantages / Désavantages

(3)

Le Projet Jahia

But: Développer un logiciel de Gestion de

Contenu (CMS) et de Portail d’Entreprise (EIP) Historique:

- Version 1 basée en C++ multi-plateformes Résultat: 300’000 lignes de code pour moins de fonctionnalités que prévues

- Version 2 - Migration sur plateforme J2EE Même taille de code pour beaucoup plus de fonctionnalités

Critères: Portabilité (Unix, Linux; NT), Stabilité, Performance, Standardisation, Parts de marché potentiels les plus grandes, Réduction de la complexité, Concurrence…

(4)

Jahia: Architecture logiciel

Portal Server

Java Application Server (J2EE) CMS

SGBDR

Admin Center Jahia Foundation Server

Portlets Content

LDAP

(5)

Pourquoi développer sur un Framework?

Les systèmes d’information deviennent:

; De plus en plus complexes (transactionnel; SGBD/LDAP; XML…)

; Hétérogénité des systèmes propriétaires ou dédiés (Legacy Systems)

; Demandes fortes d’interconnexions (passage d’une architecture « par silo » à une architecture par « couches de services interopérables »)

; Changements technologiques permanents

; Souci de rationalisation économique

– Investissements et équipes de développement de plus en plus lourds – Arriver à tout recoder soit-même est devenu impossible

(6)

Conséquences:

Similaire à des incubateurs pour les start-ups, il y a des avantages et des désavantages

; S’appuyer sur une tuyauterie et des composants génériques existants et stables

; Volonté de réduire la complexité du projet

; Souci de se baser sur des standards afin d’assurer la pérennité des développements effectués

; Recentrage sur la logique métier et la valeur ajoutée fonctionnelle et métier

; Stabilité du système/ Performance / Portabilité laissé autant que possible à des tiers.

; Culture globale homogène qui facilite le transfert des compétences

Le choix d’un framework est devenu incontournable pour tout projet de développement conséquents et donc, de facto, pour l’ensemble du système d’information.

Pourquoi développer sur un Framework?

(7)

Approche orientée composants

Volonté de:

1) Ne pas réinventer la roue

2) D’utiliser des composants tiers

réutilisable, stables et standardisés 3) Créer sa propre bibliothèque de

composants réutilisables afin de réduire les coûts à moyen et long terme.

« La réutilisation logiciel peut réduire les coûts de développements de 15 à 75%.

La réutilisation d’un composant coûte 30 à 75% moins chère que son re-

développement. En 2003, au moins 70 pourcent de toutes les applications seront construites à partir de

composants. » Gartner, 2001

(8)

J2EE Intro

Introduction à J2EE

(9)

J2EE

(10)

Produit versus Spécification

J2EE n’a pas la même signification que .NET

1) J2EE est une spécification avec de multipes implémentations 2) .NET est un mélange de produits et de spécifications

Avant de détailler les deux solutions, il s’agit donc de comparer ce qui est comparable.

(.NET à considérer comme architecture de développement et comme

langage(s)/Runtime et non pas comme couches logiciels supplémentaires (base de données; progiciel de gestion de contenu; de portails d’entreprise, d’EAI…).

(11)

J2EE: un standard

J2EE = Ensemble de spécifications issues de la collaboration entre différents éditeurs logiciels, développeurs et vendeurs hardware (JCP - www.jcp.org)

- Java Community Process (environ 200 JSR en cours sur quasiment tous les thèmes possibles)

~40 vendeurs officiels implémentent tout ou partie de la spécification (app servers + outils de dév.)

- No single -vendor lock-in

; Basé sur le language Java - JRE interprète du bytecode

; Compatibility Test Suite

; Une implementation de référence de chaque JCP est fournie

; J2EE Blueprints Design Guidelines sont également fournis

(12)

J2EE/Tools Players (~40)

Free / Open Source Development

Framework Complex Enterprise System

Apache

BEA Oracle

IBM

> 5K USD Enhydra

JBoss

Resin

HP

Silverstream

Macromedia

JOnAS

Borland Iona

SUN

Orion

Pramati

> 15K USD > 25K USD

(13)

Evolution MS/J2EE

Microsoft J2EE

1996 1997 1998 1999 2000 2001

MSXML

JAXP

ASP

JSP

MTS/COM+

EJB

ODBC JDBC

Mar 1992

WinDNA

J2EE

SOAP .NET

(14)

Parts de marché

(15)

J2EE = une commodité?

Constat: J2EE devient une commodité.

Conséquence:

Les vendeurs s’attaquent aux couches logiciels supérieures.

Entre autres:

; Outils de développements

; SysAdmin/Load Balancing/…

; CMS/Portails d’entreprise/Serveur de Personalisation

; Calendar/Emails/Collaboration

; Ecommerce

; EAI / Intégration

(16)

Couches logiciels

Application Server Application Server

Tools Tools Management Management

Integration / EAI Integration / EAI

Content Mgmt Content Mgmt Wireless/Mobile Wireless/Mobile

Database Database Commerce Commerce Cache / Proxy /

Cache / Proxy / Fwall Fwall

Collaboration

Collaboration

(17)

Couches Logiciels

WebSphere

WebSphere Commerce Commerce SrvrSrvr

WebSphere

WebSphere Integration Integration

Lotus /

Lotus / WebSphereWebSphere PortalPortal

Content Mgmt Server Content Mgmt Server

Mobile Info Server Mobile Info Server

DB2 UDB DB2 UDB

WebSphere

WebSphere Edge Server Edge Server

Visual Visual

AgeAge forfor JavaJava WebSphere WebSphere

Studio Studio WebSphere WebSphere

Business Business Components Components

Tivoli Tivoli

Multiple Operating Systems Multiple Operating Systems

IBM Extras:

IBM Extras:

Voice ServerVoice Server

Translation ServerTranslation Server

Site AnalyzerSite Analyzer

Personalization ServerPersonalization Server

WebSphere

WebSphere App Server App Server

((TXSeriesTXSeries, CICS, , CICS, EncinaEncina))

(18)

Stack Complet J2EE/Tools (IDE) GRATUIT

Operating System Operating System

Framework/Components Framework/Components

Application Server Application Server

Database Database

IDE IDE

Linux Linux

Apache / Open Source Apache / Open Source

Tomcat /

Tomcat / JBoss JBoss MySQL

MySQL / / PostgreSQL PostgreSQL / / Interbase Interbase SUN NetBeans SUN NetBeans / IBM Eclipse / IBM Eclipse

Un serveur J2EE complet avec un environnement de développement performant peuvent désormais être installé gratuitement. En outre, la totalité du code source est disponible (open source)

(19)

J2EE Architecture

Architecture J2EE

(20)

J2EE Containers

« The shared vision between J2EE and .NET is that there is an incredible amount of

« plumbing » that goes into building web services, such as XML interoperability, load balancing and transactions.Rather than writing all that plumbing yourself, you can write an application that runs within a container that provides thus tricky

services for you. »

The Middleware Company, June 2001

(21)

Architecture trois tiers

(22)

J2EE et .NET: Même Concept

httpany server

Browser Browser

Containers Containers EJB Server

EJB Server

DataData

JDBCJDBC

App Server App Server

Entity Entity BeanBean

HOMEHOME REMOTE REMOTE

Device

Device HTTPHTTP

JVMJVM

JDBCJDBC

HTML, XML HTML, XML

any OS

Servlet Servlet

oror JSP

JSPRMI/IIORMI/IIOPP

Session Session

BeanBean Context

Context

Security Security Transactions Transactions Concurrency Concurrency

IIS

Browser

Browser ADO.NETADO.NET DataData

Device Device

HTTP HTTP

ADO.NET ADO.NET

HTML, XML HTML, XML

ASP.NET

ASP.NET .NET Rem.NET Rem.. Security Security Transactions Transactions Concurrency Concurrency

Managed Managed

Object Object Managed Managed

Object Object

(23)

Architecture trois tiers - J2EE

Le tiers intermédiaire permet d’assurer la disponibilité, la

montée en charge et la stabilité.

Les containers offrent des services de

sécurité, de

transactionnel ou de connectivité.

(24)

Architecture trois tiers - Microsoft

Offre Microsoft:

Très similaire du

moins dans le design architectural.

(25)

J2EE Containers

(26)

Containers and Components

(27)

EJB

(28)

Types d’EJB

Ecoute des messages envoyés à travers l’interface JMS (Java Messaging Service), en les traitant de manière asynchrones Message

Représente un objet métier stocké dans une base de données

Entity

Effectue une tâche pour un processus client

Session

Utilité Type d’EJB

EJB

Session Entity Message

Stateless Stateful BMP CMP

(29)

XML

XML/Web Services et J2EE

; Java XML Pack Summer 02 Release

– Java API for XML Messaging (JAXM) v1.1 – Java API for XML Processing (JAXP) v1.2 – Java API for XML Registries (JAXR) v1.0_01 – Java API for XML-based RPC (JAX-RPC) v1.0 – SOAP with Attachments API for Java (SAAJ) v1.1

; Java API for XML Binding (JAXB)

; Implementing Enterprise Web Services

; Java APIs for WSDL

; Java Services Framework

; Web Services Security Assertions

; XML Transactioning API for Java (JAXTX)

; Java Process Component API (JPC)

(30)

Stockage

JDBC

– « Low-level » database access in Java

– Drivers avaible for all major database vendors, including MS SQL Server, Oracle,

– Connection Pooling

– Result set navigation, updating – Batch updates

– Savepoints

JDO

; What is JavaTM Data Objects (JDO)?

– JDO (Java Data Objects) is an API for transparent database access.

The programmer can write code in the Java programming language that transparently accesses the underlying data store, without using database-specific code.

(31)

La fondation Apache (1)

; Offre d’excellents outils de développement open source en Java

; Quelques exemples :

Ant, outils de build, similaire aux Makefile mais en XML

Tomcat, container de servlet à la norme 2.3, utilisé dans l’implémentation de référence de J2EE

Turbine, framework de développement d’applications web

Log4J, librairie et outils pour afficher et gérer des messages de logs Lucene, moteur de recherche en Java

Struts, implémentation MVC pour le développement rapide d’application web

; Certains de ces outils sont utilisés dans des environments de

productions, voire même livrés avec des produits commerciaux (ie Borland Enterprise Server, JBuilder,…)

(32)

La fondation Apache (2)

; Projets XML de la fondation Apache

AXIS - An implementation of the SOAP ("Simple Object Access Protocol") submission to W3C.

Batik - A Java based toolkit for Scalable Vector Graphics (SVG).

Cocoon - XML-based web publishing, in Java.

FOP - XSL formatting objects, in Java.

SOAP - Simple Object Access Protocol.

Xalan - XSLT stylesheet processors, in Java and C++.

Xerces - XML parsers in Java, C++ (with Perl and COMbindings).

Xindice - A native XML database.

XML-RPC - A Java implementation of XML-RPC, a popular protocol that uses XML over HTTP to implement remote procedure calls.

XML Security - Create and verify arbitrary forms of XML Signatures.

(33)

Autres standards J2EE

JMS - Java Message Service

JNDI - Java Naming and Directory Interface JTA - Java Transaction API

JavaMail API

JCA - J2EE Connector Architecture

JAAS - Java Authentification and Autorisation Service

Et encore beaucoup d’autres « J* »

(34)

What’s coming next in J2EE?

Peer to Peer – Projet JXTA Java Server Faces

Portlet API Content API

(35)

J2EE Moins et Plus

Avantages et

Désavantages de

J2EE

(36)

Moins et Plus de J2EE

Moins:

; Indépendance par rapport au vendeur

- Vraiment? Interprétations différentes des standards et lock-in par rapport aux couches logiciels supplémentaires

; Encore des manquements pour certaines fonctionnalités clés (ex: ACL;

batch jobs;…)

; Problématique de formation et d’utilisation (valable pour tous les frameworks)

La plateforme est immensément riche mais qui peut se vanter de la connaître à fond. Pas assez de « guidance » et d’outils

WYSIWYG

; Manquement actuel au niveau du front-end (particulièrement Web)

; Pris par surprise par .NET

; Java Community Process multi-vendeurs sont parfois trop lents et pas assez ambitieux (politique du compromis et du plus petit dénominateur

(37)

Moins et Plus de J2EE

Plus:

; Politique du choix (choix du vendeur, du framework, des outils, des solutions)

; Idéal pour des environnements hétérogènes

; Mature et éprouvé (scalable, available, reliable)

; Evolution du framework issue du travail d’un consortium ouvert (JCP) où tous le monde peut participer

; Forte culture Java existante - Forte pénétration chez les développeurs seniors et les architectes logiciels

; Force de Java dans le domaine éducatif (formation des futurs ingénieurs sur plate-forme J2EE)

; Bonne image de Java dans la presse (côté anti-monopolistique, anti- grand méchant loup)

; Plus longue expérience côté Serveur, Transactionnel et Web

; Devant en matière de « Wireless » et de « Peer-to-Peer »

(38)

Conclusion Intro Général

1) J2EE n’est plus l’unique solution pour le développement en entreprise

a) « Competition is good » bien qu’il y ait toujours eu une vive compétition au sein de Java entre les différents vendeurs.

b) Regret pour les développeurs qu’il y ait deux plateformes très, très similaires, qui pour des raisons politiques, vont entraver les initiatives d’intégration en entreprise.

2) Une architecture orientée composants réutilisables est devenu une base minimum de développement

a) Rôle de plus en plus primordial de l’Architecte (choix des standards et assemblage des meilleurs composants)

b) Le vaste choix de solutions offert en Java est excellent mais demande plus d’analyse et une meilleure compréhension des problématiques techniques 3) Choix d’une plate-forme= facteur stratégique déterminant

Dans notre cas, si .Net prend la moitié des parts de marché = moitié de clients

Références

Documents relatifs

 Mais qu'en est-il de la manipulation des sessions ou bien du changement du contexte de l'exécution afin de détourner des contrôles de sécurité par exemple.  Des

(beginning, student or initial teachers, tutors or cooperating teachers and University6. supervisors) and the relative importance of the three essential elements

A cet égard, Hintikka distingue deux formes de stratégies dans le jeu : (i) les stratégies déductives, qu'on peut rattacher à celles qui montrent la satisfiabilité d'une

As consequence, in aqueous phase of fresh cement paste, which is highly alkaline (pH ≈ 12.5), the PCEs can strongly chelate with Ca 2+ ions as counter-ions on the mineral

All Rights Reserved.... All

Champ : structures de l’IAE conventionnées en 2010 et n’ayant pas cessé leur activité à la date de l’enquête. Sources : ASP et Dares, enquête auprès des structures

 Avec J2EE, Sun essaie de faire de Java un langage à part entière, mais surtout une plate-forme viable de développement dans le cadre de l ’entreprise..  J2EE n’est pas

C’est un grand poète, philosophe, historien, homme d’Etat... se réunir – собираться–yig’ilmoq