Oracle GlassFish Server
Transcription
Oracle GlassFish Server
<Insert Picture Here> Strategie und Abgrenzung: Oracle WebLogic Server - Oracle GlassFish Server Thomas Robert Oracle Deutschland BV & Co KG The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Inhaltsverzeichnis • • • • Oracle Fusion Middleware Überblick Architektur Administration Funktionale Unterschiede: • Messaging • Dynamische Sprachen • Hochverfügbarkeit, Skalierbarkeit • IDE Unterstützung • Kaufmännische Aspekte JavaEE Entwicklung Flexibilität Web Services Ease of Development Stabilität Java JavaEE EE55 Enterprise Java Plattform J2EE J2EE1.2 1.2 Servlet Servlet JSP JSP EJB EJB JMS JMS RMI/IIOP RMI/IIOP Dez 1999 10 Specs J2EE J2EE1.4 1.4 J2EE J2EE1.3 1.3 CMP CMP Connector Connector Architecture Architecture Sep 2001 13 Specs Web Web Services Services Management Management Deployment Deployment Async. Async. Connector Connector Nov 2003 20 Specs Ease Easeofof Development Development Annotations Annotations EJB EJB3.0 3.0 Persistence Persistence New Newand and Updated UpdatedWeb Web Services Services Mai 2006 23 Specs Java JavaEE EE66 Pruning Pruning Extensibility Extensibility Profiles Profiles Ease Easeof of Development Development EJB EJBLite Lite RESTful RESTful Services Services Dependency Dependency Injection Injection Web WebProfile Profile Dez 2009 28 Specs Projekt Glassfish • Java EE Referenz Implementierung • Java EE 5.0, Java EE 6.0 • Enthalten im Java EE SDK • • • • Starke Entwickler-Akzeptanz Geeignet für produktiven Einsatz Open Source Aktive Community • Sources, Bug DBs, Discussions auf Java.Net • Roadmap und Architektur Dokumentationen GlassFish Distributionen Distribution GlassFish Server Open Source Edition 3.1 Lizenz Features CDDL & GPLv2 • • • • JavaEE 6 kompatibel Web Profile support In-Memory Replikation, Clustering Zentrale Administration GlassFish Server Open Source Edition 3.1 CDDL & GPLv2 • • • • JavaEE 6 kompatibel Vollständige JavaEE Distribution In-Memory Replikation, Clustering Zentrale Administration Oracle GlassFish Server 3.1 kommerziell • Plus Web Profile • Oracle GlassFish Server Control • Patches, Support, Knowledge Base Web Profile Oracle GlassFish Server 3.1 kommerziell • Plus • Oracle GlassFish Server Control • Patches, Support, Knowledge Base GlassFish Roadmap CY 2010 • GlassFish 3.0.1 • Branding, Patches • Mehrsprachigkeit • Interoperabilität mit Oracle Produkten CY 2011 • GlassFish 3.1 • Hochverfügbarkeit • Zentrale Administration • Coherence*Web Support • Bessere Portabilität nach WebLogic • Applikations Versionierung • GlassFish 3.2 • OSGi Enterprise • Verbesserte Administration und Monitoring • Virtualisierung CY 2012 • GlassFish 4 • Java EE 7 Kompatibilität • Mehr Komponenten die mit dem Oracle WebLogic Server geteilt werden FMW Suite Produkt Stack SOA Suite WebCenter Suite Content Identity Management Management Business Intelligence Cobol Applications WebLogic Server Java EE WS-* TopLink C/C++ Apps Tuxedo Messaging Coherence JRockit JVM Legacy Sun Hotspot Real Time Virtual Edition Commodity Databases Virtualized C, C++ und Cobol Mainframes JDeveloper/Eclipse Enterprise Manager Java EE Apps Oracle WebLogic Produkte (Stand 01/11) WebLogic Server Standard Edition Web Tier + WebLogic Server + Oracle TopLink and ADF + JDeveloper + Enterprise Pack for Eclipse WebLogic Server Enterprise Edition WebLogic Suite WebLogic Server Standard Edition + Clustering + Virtual Assembly Builder WebLogic Server Enterprise Edition + Coherence EE + iAS EE: Forms/Reports Discoverer/Portal Oracle WebLogic Produkte (Stand 01/11) Web Tier Oracle HTTP Server + Oracle iPlanet Web Server + Oracle iPlanet Web Proxy Server + Oracle Web Cache WebLogic Suite Elastic Cloud WebLogic Server Standard Edition Web Tier + WebLogic Server + Oracle TopLink and ADF + JDeveloper + Enterprise Pack for Eclipse WebLogic Server Enterprise Edition WebLogic Suite WebLogic Server Standard Edition + Clustering + Virtual Assembly Builder WebLogic Server Enterprise Edition + Coherence EE + iAS EE: Forms/Reports Discoverer/Portal Exalogic Elastic Cloud Software WebLogic Suite Coherence GE Option Coherence GE for WebLogic Suite WebLogic Server Management Pack EE Coherence Standard Edition Coherence Enterprise Edition Coherence Grid Edition Coherence Standard Edition Coherence Enterprise Edition (based on Coherence Standard Edition) Coherence Grid Edition (based on Coherence Enterprise Edition) Configuration Management Pack + Provisioning and Patch Automation Pack + Composite Application Performance Management + Enterprise Manager Diagnostics + Enterprise Manager Coherence Management Web 2.0 Portal, Rich Internet Apps, Mobile, Search, Desktop, Presence, VoIP Planning, Budgeting, Financial Management & Reporting, Scorecards Data Integration, Query & Analysis, OLAP, Dashboards, Reports, Alerts, Real-Time Provisioning, Diagnostics, Tuning, Configuration Management Web Content, Document, Records Mgmt, DAM, Capture and Imaging, Archiving, IRM Unified SOA Development Tool & Framework ESB, BPM, Workflow, BAM, Rules, B2B, MDM, Registry, SOA Governance Java EE, JVM, Web Services, TP Monitor, Complex Event Processing, XTP, SIP Application Clusters, In-Memory Data Grid, Common Metadata Services, Virtualization Provisioning, Access Management, Audit, Directory, Role Mgmt, Fraud Detection Oracle Exalogic Elastic Cloud Hochperformant, zuverlässig und einfach zu verwalten Integriertes Storage • Zentraler Speicher für System Images & Daten • Geclustert für HA • 40 TB SAS Disk • 4 TB Read Cache • 72 GB Write Cache Netzwerk EL X2-2 X2 -2 X2-2 • • • • 30 x86 Compute Nodes 360 Xeon Cores (2.93 GHz) 2.8 TB DRAM 960 GB FlashFire SSD • 40 Gb/Sek • 1,2 Mikrosekunden Latency (MPI Ping) • 10 Gigabit Ethernet Gateway nach außen Inhaltsverzeichnis • • • • Oracle Fusion Middleware Überblick Architektur Administration Funktionale Unterschiede: • Messaging • Dynamische Sprachen • Hochverfügbarkeit, Skalierbarkeit • IDE Unterstützung • Kaufmännische Aspekte GlassFish 3.1 Domain Architektur RESTful API WebLogic Domain Architektur Managed Server A Managed Server B config.xml Admin Server Node Manager config.xml Machine 1 Node Manager Managed Server C Administration Machine Managed Server D config.xml Node Manager Machine 2 Terminologie WebLogic GlassFish • Domain • Domain • Cluster • Cluster • Managed Server • Instance • Administration Server • Domain Administration Server (DAS) • config.xml • domain.xml • Node Manager • (Node Agent) • Target • Target • Machine • Node Inhaltsverzeichnis • • • • Oracle Fusion Middleware Überblick Architektur Administration Funktionale Unterschiede: • Messaging • Dynamische Sprachen • Hochverfügbarkeit, Skalierbarkeit • IDE Unterstützung • Kaufmännische Aspekte GlassFish Server • Administrations-Konsole • Browser-basiertes Werkzeug für Konfiguration von Domänen und Deployment von Anwendungen • Command Line Administrations-Interface (CLI) • Kommandozeilenbasiertes Werkzeug, um Aufgaben der Administrations-Konsole durchzuführen • API basierte Administration: JMX, AMX • Benutzung von 3rd Party Tools und eigenen Konsolen • REST Admin Interface • Diagnose • Integration mit BTrace ab Version v3, • Integration in DTrace • Oracle GlassFish Server Control (kommerzielle Version), früher Sun GlassFish Enterprise Manager Oracle WebLogic Server • Administrations-Konsole • Browser-basiertes Werkzeug für Konfiguration und Überwachung von Domänen und Deployment von Anwendungen • Erweiterbar mittels Plug-Ins • Recording von Aktionen: Ergebnis ist ein WLST Skript • WebLogic Scripting Tool (WLST) • Skriptbasiertes bzw. Kommandozeilen-basiertes Werkzeug um Aufgaben der Administrations-Konsole und der Configuration Wizards programmatisch durchzuführen • Domain Template Builder • Erzeugen/Erweitern von Domänen-Templates • Configuration Wizard • GUI/Skriptbasiertes Werkzeug zum Erzeugen/Erweitern von WebLogic Domänen • Template-basiert Oracle WebLogic Server • API basierte Administration: JMX • Benutzung von 3rd Party Tools und eigene Konsolen • weblogic.Deployer • Kommadozeilenwerkzeug zum Deployment von Anwendungen • WebLogic Diagnostics Framework • Diagnostic Archive, Code Instrumentierung, Sammeln von Runtime MBean Daten, Überwachungen und Benachrichtigungen • Oracle Enterprise Manager Packs • WebLogic Server Management Pack EE, Diagnostic Pack For Oracle Middleware Inhaltsverzeichnis • • • • Oracle Fusion Middleware Überblick Architektur Administration Funktionale Unterschiede: • Messaging • Dynamische Sprachen • Hochverfügbarkeit, Skalierbarkeit • IDE Unterstützung • Kaufmännische Aspekte Messaging • Oracle GlassFish Message Queue • JMS Clustering • HADB stellt Einhaltung der Nachrichten-Reihenfolge sicher • Foreign JMS Provider • Oracle WebLogic JMS, • • • • • • JMS Clustering JMS Store-And-Forward JMS Unit-of-Order JMS Unit-of-Work WebLogic JMS Wrappers Foreign JMS Provider WebLogic JMS: Store-and-Forward • Effizient und leicht zu administrieren Logische Ziele Tatsächliche Ziele SAF Agent Producer JTA Transaktion 2 JTA Transaktion 1 Lokaler persistenter Speicher WebLogic JMS: Unit-of-Order • Abarbeiten von Nachrichten unter strikter Einhaltung der Reihenfolge • Nicht in Spec, aber WebLogic Unterstützung mittels Unit-OfOrder • Producers markieren Nachrichten als Teil der gleichen Einheit (Unit), die dann in der vorgegebenen Reihenfolge abgearbeitet werden 4 3 2 1 FIFO GlassFish: Dynamische Sprachen • Nutzung der JVM • • • • Ausgereift Performant Multi-Threading Weit verbreitet • Nutzt GlassFish Runtime Services • HA, Connection Pooling, … • Kombiniert Java mit Skripting • Verschiedene Implementierungen: • JRuby, Jython, Groovy, Clojure, Scala, PHP Inhaltsverzeichnis • • • • Oracle Fusion Middleware Überblick Architektur Administration Funktionale Unterschiede: • Messaging • Dynamische Sprachen • Hochverfügbarkeit, Skalierbarkeit • IDE Unterstützung • Kaufmännische Aspekte WebLogic HA • Asynchrone Replikation clusterübergreifend • Cluster kann in mehreren Netzwerksegmenten liegen • DataSources • RAC „aware“ • HA „aware“ • Failover von Managed Servern und Services HA und Skalierbarkeit GlassFish Server Clustertopologie und Replikationsgruppen Cluster-Instanzen bilden Ringtopologie (Nachfolger hält Replika) State-Replikation • • Cross Cluster Replikation NetzwerkUnterstützung Servlet, JSP (HTTP Session) EJB (Stateful EJBs) In Memory Replication (über Group Management Service) nur im gleichen Subnetz WebLogic Server Freie Definition von Replikationsgruppen (ein oder mehrere Server in Replikationsgruppe) • • Servlet, JSP (HTTP Session) EJB (Stateful EJBs) Möglich für HTTP Session Status (MAN, WAN) Über Subnetzgrenzen hinaus HA und Skalierbarkeit GlassFish Server WebLogic Server RMI Clients Cluster-Aware Clients in Application Containern (ACC) Cluster-Aware Stubs Loadbalancing HTTP, RMI, JMS HTTP, RMI, JMS, Multidatasources Monitoring von Instanzen/Servern – automatischer Restart JNDI Durch Node Agent Durch Node Manager HTTP Session State Replication In-Memory, HADB In-Memory, Coherence*Web, JDBC EJB Session State Replikation In-Memory, HADB In-Memory Clusterweiter JNDI Baum HA und Skalierbarkeit GlassFish Server Automatische Service und Whole Server Migration Cloning von Instanzen/Servern Active Cache Unterstützung von Coherence*Web geplant Rolling Upgrades Manuelle GlassFish LBR Konfiguration mit Quiescing Virtualisierung WebLogic Server Ja für “Pinned Services” , wie JMS Destinations, Transaction Service oder selbst erstellte Singleton Services sowie für beliebige Managed Server Cloning per Knopfdruck in WebLogic Administrationskonsole oder per pack/unpack Volle Unterstützung von Coherence*Web und TopLink Grid Side by Side Deployment Oracle Virtual Assembly Builder und Oracle WebLogic Suite Virtualization Option Inhaltsverzeichnis • • • • Oracle Fusion Middleware Überblick Architektur Administration Funktionale Unterschiede: • Messaging • Dynamische Sprachen • Hochverfügbarkeit, Skalierbarkeit • IDE Unterstützung • Kaufmännische Aspekte Alternativen • IDEs im Oracle Java Applikationsserver Umfeld: • Oracle JDeveloper • Oracle Enterprise Pack for Eclipse (Eclipse IDE) • NetBeans JDeveloper 11g • Für alle FMW Suites • Sehr gute Unterstützung für reine Java EE Entwicklung und Deployment auf WebLogic Server ab Version 11g: • Eingebetteter Oracle WebLogic Server: FMW Development (ADF, SOA Suite etc.): “Run and Debug” • Unterstützung Oracle WebLogic Server als Remote Server • Aktuell kein OOTB GlassFish Server Deployment, aber generisches “deploy-on-demand“ (Deploymentprofile Deployment dann per Skripts etc.) Eclipse und OEPE 11.1.1.6.0 • Sehr gute Unterstützung für reine Java EE Entwicklung und Deployment auf WebLogic Server und GlassFish • Out-of-the-Box Unterstützung für Oracle WebLogic Server und GlassFish Server NetBeans • NetBeans 6.9.1 unterstützt JavaEE 6 • sehr gute Unterstützung für reine Java/Java EE Entwicklung und Deployment auf GlassFish Server • Enge Verzahnung: eingebetteter GlassFish Server “Run and Debug” • Auch Unterstützung für andere Java EE Server, wie WebLogic Server (verschieden Connection Typen) • Unterstützung von Script-Sprachen in der IDE Inhaltsverzeichnis • • • • Oracle Fusion Middleware Überblick Architektur Administration Funktionale Unterschiede: • Messaging • Dynamische Sprachen • Hochverfügbarkeit, Skalierbarkeit • IDE Unterstützung • Kaufmännische Aspekte Welche Alternativen gibt es? • Nicht-kommerzielles Angebot • GlassFish Server Open Source Edition • Blogs: The Aquarium • Enhancements: java.net • GlassFish Wiki • Kommerzielle Angebote (Lizenz- und Supportvertrag): • Oracle GlassFish Server • Support durch Oracle zu festen Kosten, Patches • Oracle GlassFish Server Control • Oracle WebLogic SE/EE/Suite • Support, Patches, Upgrades • Integration zukünftiger Technologien Was kommt für mich in Frage? • Anforderungen (funktional + nichtfunktional) • Oracle GlassFish Server • Open Source • Community Driven • Lightweight • Referenz-Implementierung für JavaEE • Oracle WebLogic Server: • Strategischer Oracle Applikations Server • Basis diverser Suites • Hochperformant • Mission Critical Monitoring über Grid Control Packs GlassFish Server WebLogic Server, WebLogic Suite Zusammenspiel mit Oracle FMW Suites Fusion Middleware Suites und ADF zertifiziert auf WebLogic Server Fusion Middleware Suites und ADF nicht zertifiziert auf GlassFish Java Applikationen und Partner Anwendungen Java Applikationen und Partner Anwendungen GlassFish WebLogic Server Performance • WebLogic 10.3: Performance-Gewinner SPEC JAppServer 2004 Benchmark * • WLS ~35% schneller als GlassFish Server • GlassFish Server nur ~25% langsamer als WLS ☺ 4000 3500 3000 2500 2000 JOPs 1500 1000 500 0 GlassFish 2 Upd 2 GlassFish 2.1 WLS 10.0 * Stand September 2010. Siehe http://www.spec.org/jAppServer2004/results/jAppServer2004.html WLS 10.3 Vergleich: GlassFish, WebLogic Editionen Feature Bereich GlassFish WebLogic SE WebLogic EE WebLogic Suite Modulare Java Runtime Umgebung OSGI Support Business Logik (JMS, JPA, EJB) Java EE 5 kompatibel Java EE 6 kompatibel Konsole und Scripting Load balancing über Web Server ADF+TopLink Unterstützung Nur EclipseLink IDE NetBeans / Eclipse JDeveloper / OEPE JDeveloper / OEPE JDeveloper / OEPE Web Tier Vergleich: GlassFish, WebLogic Editionen Feature Bereich GlassFish WebLogic SE WebLogic EE WebLogic Suite Schutz vor Überlast (Work Manager) Diagnose Tools (WLDF) Side by Side Deployment Cluster Administration * Cluster HA ** Enterprise Manager Diagnostics Pack JRockit Real Time Coherence Embeddable FMW SOA / BPM / OSB / BPEL Lizenz * Cluster Administration – Unterstützung von Deployment und Konfiguration in Cluster ** Cluster HA – Unterstützung von Cluster-Laufzeitumgebungen – State Management, JNDI Clustering, EJB State Noch Fragen?