SailFin, Serveur de communication Java

publicité
Sailfin
Serveur de
communicationJava
Alexis Moussine-Pouchkine
Sun Microsystems, Inc.
Java et Télécommunications
• Grande activité et transformation rapide
> Java ME & Java FX Mobile
> Google Android
• Opérateurs sous pression
> Besoin d'augmenter le trafic et leurs revenus
• Objectif convergence internet/téléphonie
> A la recherche d'un modèle de composition
> JSR-289? JBI/ESB/SOA? REST/Java/.Net/JavaScript?
• La plate-forme Java est capable de fournir les
fonctionnalités, les performances et la fiabilité
requises
Le rôle de Java EE (J2EE)
• Plate-forme largement utilisée
> Performance et portabilité
• Plate-forme largement simplifiée
> Annotations, JAX-WS, Java Persistence, EJB 3.0, JSF,
Sécurité, Transactions, Connecteurs
> Ecosystème
• Convergence des modèles IT et telco (enfin)
> JSR-289 (SIPServlet 1.1) pour l'intégration des mondes
télécom et Java EE
> Modèle de programmation commun pour les applications
coeur de réseau, OSS/BSS, intégrations SOA et
applications interactives Web (2.0)
Projet SailFin
• Sous-projet de la communauté
GlassFish sur java.net
• Contribution Ericsson :
Conteneur SIP Servlet
• Commercialisation sous le
nom de Sun Communications
Application Server
• Projet de développement
conjoint entre Sun et Ericsson
Une fondation GlassFish
• Serveur d'application Libre Java EE 5
• Communauté active
•
•
•
•
> 4 millions de téléchargements
> Intégré dans Ubuntu, Debian et OpenSolaris
Clustering complet intégré
Administration complète et centralisée
Web Services et ESB intégrés
Performant
> +10% vs. WebLogic
> +30% vs. WebSphere
Disclaimers: SPEC and the benchmark name SPECjAppServer 2004 are
registered trademarks of the Standard Performance Evaluation Corporation.
Competitive benchmark results stated above reflect results published on
www.spec.org as of 11/21/07. The comparison presented is based on GlassFish
v2 UR1 run on 6 Sun SPARC Enterprise T5120 (1 chip, 8 cores/chip, 8
threads/core) 1.4GHz 8,439.36 SPECjAppServer2004 JOPS@Standard. For the
latest SPECjAppServer 2004 benchmark results, visit http://www.spec.org/.
Architecture SailFin
Partage de charge
convergent
Persistance
de session
Administration
Conteneur SIP
SailFin
Applications
SIP
Conteneur Web
GlassFish
Applications
Web
Services Java EE (GlassFish)
EJB, Persistence, Web Services, JNDI,
Annotations, Transactions, Connectors,
JMS, JMX, JSF, more..
Accroches
SAF
Routeur
Applicatif
Applications
JSR 116
convergentes
Applications
Java EE
Intégration
IDE
Applications
JSR 289
convergentes
Communauté SailFin
•
•
•
•
Lancée en Mai 2007
125+ membres
45 développeurs
Compagnies tierces
>
>
>
>
Siemens Austria
AT&T Research
Telecom Italia
Startups
Messages echangés sur les listes de diffusion
600
550
500
450
400
350
300
250
200
150
100
50
0
May June July Aug Sep Oct Nov
2007 2007 2007 2007 2007 2007 2007
Row
12
Intégration GlassFish
Conteneur SIP Servlet
• Basé sur la contribution JSR 116 d'Ericsson
• Conforme au JSR 289
> Applications SIP
> Applications convergentes SIP et Java EE
> Routeur Applicatif
• Architecture en couches
> Extensibilité des couches de traitement
Un peu de code...
HttpSession httpSession=req.getSession();
ConvergedHttpSession convSession =
(ConvergedHttpSession)httpSession;
SipApplicationSession appSession =
convSession.getApplicationSession();
Iterator<SipSession> sipSessions =
appSession.getSessions("SIP");
Administration
• Basée sur GlassFish
>
>
>
>
>
Configuration dédiée conteneur et applications SIP
Administration via IHM Web, CLI et JMX
Trafic SIP analysé par “Call Flow”
Reconfiguration dynamique
MBeans de monitoring
• Extensibilité SAF
• Intégration possible
du JSR-319
Haute Disponibilité
• Partage de charge convergent
> SIP et HTTP
• Haute Disponibilité SIP
> Réplication en mémoire des artéfacts SIP
> Architecture Actif/Actif
• Partage de charge et haute disponibilité Java EE
> Réplication en mémoire des composants avec état
> Haute dispo de timers EJB et de transactions
• Objectif
> Clusters de dizaines d'instances
> Centaines de milliers de sessions par instance
Securité
• TLS pour confidentialité et intégrité messages SIP
• Authentification
> SIP Digest Authentication (MD5, Realms JDBC, LDAP)
• Authorization
> Rôles Java EE, JACC
Performance
• Utilisation Grizzly NIO dans le moteur de protocole
SailFin SIP
• Objectifs de performance et de montée en charge
dictés par Ericsson
Outillage
• Plug-in NetBeans 6.x
> Support JSR 289
> Déploiement et debug
> Assistant de création
d'applications SIP
> Client de test SIP
Démonstration
Installation,Packaging
•
•
•
•
JDK 1.6
JVM 32-bit et 64-bit
Solaris, SuSE, RedHat
Disponibles en deux profils
> “Developer” et “Cluster”
Feuille de route
• SailFin 1.0:
> Beta en Février 2008
> Final en Juin 2008
• SailFin 1.1 fin 2008
> Performance + Admin
• SailFin 2.0 mi 2009
> Standards et modularisation
Enterprise 2.0
Gestion d'identité
Services Convergents
Examples of Converged Services
Business
Mobile
Enterprise
Fixed-Mobile
Convergence
Home
- Conferencing
- Call-handling
- IP Centrex
- Push-to-talk
- Chat
- Messaging
- Private mobile
numbering
- Mobile workforce
- IPTV, VoD
- Games
- Ring-back tones
SailFin
SailFin Application Server
Technologie Communauté
GlassFish
Standards
Extensible
Performant
Libre et ouvert
aux acteurs telco
Coût
Ticket d'entrée
Choix du point de
valeur
http://sailfin.dev.java.net
[email protected]
http://blogs.sun.com/alexismp
Téléchargement