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?