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