Upload
kathryn-long
View
220
Download
0
Embed Size (px)
Citation preview
GemStone/J 3.0 Objects Across the Enterprise
Paul Chambers
Chief Technical Officer (Europe)
Scalable Enterprise Architectures
GemStone/J OverviewGemStone/J Architecture FundamentalsGemStone/J Service ActivatorWeb Integration ArchitectureSecurity ArchitectureArchitectural Issues
GemStone/J Overview
An integrated Java Application ServerDesigned for 3 tier transactional Java applications
built with componentsJava VM and runtime with significant value added Implicit Java object persistence
For application control and meta-data For shared data caches For extending relational and mainframe data
Integrates middleware and component technologies such as J2EE, EJB and CORBA
Supports development and deployment of large, complex business applications in Java
What is GemStone/J
GemStone/J Usage Architecture
Browsers or Java clients
GemStone/J
CORBA
JDBC
CORBADistributedJavaBeans
Web Server
Web Browser(HTML)
HTTP
(Various)
Legacy3 tier Java applicationsComplex object modelsRapidly changing applicationsDistributed architecturesIntegration of multipletechnologies
GemStone/J Architecture Fundamentals
GemStone/J 3.0 Architecture
Service Activator
Persistent Cache Architecture
Java 2 Enterprise Services
Sca
ling
Man
agem
ent
Nam
ing
Mes
sag
ing
Sec
uri
ty
Tra
nsa
ctio
ns
Co
llect
ion
s
Dat
a C
on
nec
t
Object Transaction Monitor
CORBAORB
GS/JVM
PersistentCache
J2EE Component Models
EJBJava
ServerPages
JavaServlets
GemStone/J 3.0
ExternalData
Servers
Clients
CORBAClient (Java,
C++, etc.)
CORBAClient (Java,
C++, etc.)
ORBORB
GemStone/JGemStone/J
GarbageCollector
Transaction
Monitor
Shared Object Cache
ORB JavaJDBC
Service Activator
IIOP
WebBrowser
WebBrowser
JavaClient
JavaClient BeansBeansBeansBeans
HTTP
(TCP/IP)
JavaGemJavaJavaV
MBeanBeanss
JDBC
Web Browser or Java VM
Web Service
Extents
Transaction Log
GemStone/J VMsWeb Server
IIOP
GemStone/J System Architecture
GemStone/J 3.0 Java and CORBA Standards
JTS JTA* COS OTS OTS recovery XA
JDK 1.2 APIs JSA JCA JCE SSL X.509
JMAPI* JDMK* SNMP*
CORBA 2.3 IIOP
JMS*
JDK 1.2 “Java Compatible™” certified Runs any 100% Pure Java™ app. JVMDI debugger interface Sun.tools.debug
Complete EJB 1.0 container and server
Session and Entity beans
Container and Bean- managed persistence
JDBC 1.0 JDBC 2.0* JDBC XA*
* Planned for future release as specifications become complete
CORBA location forwarding
CORBA / EJBservice activation
Service Activator
Business Applications
Enterprise Services & APIs
Sca
ling
Man
agem
ent
Nam
ing
Mes
sag
ing
Sec
uri
ty
Tra
nsa
ctio
ns
Co
llect
ion
s
Dat
a C
on
nec
t
Object Transaction Monitor
Enterprise JavaBeans Containers
ORBGS/JVM
PersistentCache
JDNI COS Naming
Service JDK 1.2 Collections
GemStone/J Java VM
Java 1.2 certified “Java Compatible™” Server-optimized VM
Robust and reliableLarge object domainsScalable shared memory architectureMultiple concurrent GS/J transactions
Sun HotSpot technology licensed and being integrated for later release
Persistent Cache Architecture
Shared Object Memory
Java Virtual Machines
Object Repository
Persistent Cache Architecture (PCA™)Provides fault-tolerant object cache of
relational data for increased performanceSupports large object domains up to 2
billion objects Provides automatic EJB persistenceScalable implementation of Java 1.2
collection interfaces Dynamic growth to millions of elements High-performance sorted collections and
maps Classes for multiple-writer concurrent update
Integrated All Java CORBA Implementation CORBA 2.3 ORB Load-balanced service activation Persistent Name Service
COS Naming Service and JNDI interfaces IDL generation for CORBA client access to
EJBs IDL compiler OTS implementation (GemStone/J OTM)
GemStone/J OTM
Implements CORBA Object Transaction Service (OTS) standard Integrated recovery mechanismLogging for 2-phase distributed transaction
supportJTS interfaceOTS 1.1 Synchronization interface
Provides transaction support for EJBs Integrates with other OTS implementationsProvides cache coherency between
persistent cache and relational database
Complete Enterprise JavaBeans 1.0 Server Session and Entity Beans Container-managed persistence and Bean-managed
persistence Tunable load-balanced EJB activation mechanisms Declarative and client-initiated distributed
transactions through GemStone/J OTM Java, CORBA and Web clients can create and invoke
EJBs Java 1.2 security APIs tightly integrated
GemStone/J 3.0 The EJB ContainerA context within which to run Beans
Containers exist within EJB serversManage
Pools of Beans Bean lifecycles Interfaces between clients and beans Manages state (bean managed) Threads for beans Communication to EJB server for lower-level services
EJB Container
Enterprise JavaBeans Container
GemStone/J 3.0Application Server
SecurityRDB Connect.Mainfrm. Conn
State MgmtRsrc Mgmt
Dist-Tx’l VMsORB
Object Pers.Java ServicesTx Services
GemStone/J 3.0 The EJB Server
Low-level infrastructure to manage containers
Services provided by server Distributed, transactional VMs ORB Java object persistence Java services Security RDB connectivity Mainframe connectivity State management Resource management
Enterprise JavaBeans Container
GemStone/J OTM
OTSCoordinator
EJBs
OTS
Resource
GS/J
Session Pool
TransactionLog
Persistent Cache
OTSCoordinator
RDBMS
GS/J VMs
Other Transactional System
OTS
ResourceJDBC
Pool
Recovery Coordinator
RDB
RDB
Mainframe
Mainframe
Service Activator
Handles growth of application (new features, upgrades)
Handles coordinated business transactions across many different data sources and business processes.
Ro
ute
rs/F
irew
all
Web
Ser
ver GemStone/J Application Server
Internet Commerce PlatformComponents, Workflow, EAI
EJB Container
Java 2 Security
Servlet Engine
Object Transaction
Monitor
Java 2 Services
Service ActivatorCORBA ORB Persistent Cache GS/J VM
GemStone/J Service Activator: Central to Scalability Dynamically activated service objects
EJB Session and Entity beans CORBA server objects GemStone/J sessions
Pooled resources VMs, including multiple machines GemStone/J sessions JDBC connections Service object instances
Configurable, tunable operation Location of services in VMs Size and dynamics of pools Loading of VMs
Integrated Java security
GemStone/J Service Activator
RDBMSClients
EJBs
CORBA objects
Service Activator
GemStone/J VM
pools
CORBA services
object pools
Gem
Sto
ne/
J se
ssio
np
oo
ls
JDB
C c
on
nec
tio
np
oo
ls
Multi-Machine Architecture
RDBMS
ClientsPersistent
Cache
Server 2
Server 1
Shared ObjectCache
GemStone/JVM Pool
GemStone/JVM Pool
ServiceActivator
Clients
Web Integration Architecture
RDB
RDB
Mainframe
Mainframe
Servlet Engine
Handles Growth of users (Internet access)Handles growth of application (new features,
upgrades)
Ro
ute
rs/F
irew
all
Web
Ser
ver
GemStone/J Application Server
Business Process Engine
EJB Container
Java 2 Security
Servlet Engine
Object Transaction
Monitor
Java 2 Services
Service ActivatorCORBA ORB Persistent Cache GS/J VM
GemStone/J Application Server
Internet Commerce PlatformComponents, Workflow, EAI
EJB Container
Java 2 Security
Servlet Engine
Object Transaction
Monitor
Java 2 Services
Service ActivatorCORBA ORB Persistent Cache GS/J VM
J2EE Component Models Today
EJB 1.0 Today Full EJB 1.0 Server and Container capabilities
integrated Session and Entity beans DD Utilities IDE DD and JAR file support
Java Server Pages and Servlets Today Integrated Servlet engine Comprehensive load balancing Connectivity to standard Web servers Access to all GemStone/J services
VM
Servlet Engine
Enterprise JavaBeans Container
Java Server PagesServlets
EJB
User Scaling
Ro
ute
rs/F
irew
all
Web
Ser
ver
GemStone/J 3.0Application Server
Servlet Engine
Servlet engine integrated.Supports all major Web serversStandard security supported
Web servers• Netscape• Microsoft IIS• Apache
VM
SE
VM
SE
VM
SE
GemStone/J VMs
Integrated Web Scalability
RDBMS
Web Clients
GemStone/J
• Netscape• Microsoft IIS• Apache
RDBMSWeb Servers
Co
nn
ecti
on
Po
oli
ng
•Cached Relational Data•Shared Session State•Persistent Objects(EJBs)
Persistent CacheL
oa d
Bal
anci
ng
VM
SE
VM
SE
DN
S R
ou
nd
-Ro
bin
Scalable Web Architecture
Servlet engine integrated (JSP, Java Servlet API)
Supports all major Web servers and operating systems (Netscape, Microsoft IIS, Apache)
Standard security in the Web architectureWeb integration partners
Service Activator
Persistent Cache Architecture
Java 2 Enterprise Services
Sca
ling
Man
age
me
nt
Na
min
g
Mes
sag
ing
Sec
uri
ty
Tra
ns
act
io
ns
Co
llect
ion
s
Da
ta
Co
nn
ect
Object Transaction Monitor
CORBAORB
GS/JVM
PersistentCache
J2EE Component Models
EJBJava
ServerPages
JavaServlets
GemStone/J 3.0
VM
SE
VM
SE
VM
SE
GemStone/J VMs
Application Scaling Provides comprehensive load balancing
Distributed HTTP session state Web server to GS/J load balancing Server-side JDBC connection pools
Provides access to all GS/J coordinated transaction services
JDBC, EJB, CORBA, PCA, OTM, Pooling mechanisms
VM
SEApplication
Servlet
Ser
vlet
Eng
ine GsSession
GsSession
GsSession
GsSession
GsSession
ApplicationServlet S
essi
on M
ultip
lexe
r
JDBC Pooling
EJBs
CORBA
OTM
PCA
GemStone/J VM
Web client
Web client
Web client
Web client
Web client
Web client
HT
TP
/D
NS
RR GS/J VMs
GS/JRepository
Web Server
TCP
Web Server
The web servers are load-balanced at theinternal DNS agent.
The servlet engines are loadbalanced ina round-robin fashion at theweb server.
ApplicationServlet
Ser
vlet
Eng
ine GsSession
GsSession
GsSession
GsSession
GsSession
ApplicationServlet S
essi
on M
ultip
lexe
r
ApplicationServlet
Ser
vlet
Eng
ine GsSession
GsSession
GsSession
GsSession
GsSession
ApplicationServlet S
essi
on M
ultip
lexe
r
ApplicationServlet
Ser
vlet
Eng
ine GsSession
GsSession
GsSession
GsSession
GsSession
ApplicationServlet S
essi
on M
ultip
lexe
r
ApplicationServlet
Ser
vlet
Eng
ine GsSession
GsSession
GsSession
GsSession
GsSession
ApplicationServlet S
essi
on M
ultip
lexe
r
* HttpSession State* Business logic/Objects
Third Tier Data
GemStone/J Security Architecture
Strong Security Reduces Risks
Authentication:
Authorization & Containment:
Secure Communication:
Security Administration:
Who is accessing your data
Restrictions
Private exchange
Control over system
Secure Comm
UserName {Permission name_of_resourcePermission name_of_resource
UserName {Permission name_of_resourcePermission name_of_resource
ACL
GemStone/J Security End-to-end Enterprise Java Security Authentication embedded in all communications
Standard X.509 digital certificates
Public Key Infrastructure supported
Authorization built into EJB server, ORB, name services, system processes, administrative components
Access Control Lists for secure resources
User-, method-, code-level containment, based on industry standards, EJB, and Java 2
NA and International SSL 3.0 is supported
Console tool and utilities for configuring security
UserName {Permission name_of_resourcePermission name_of_resource
UserName {Permission name_of_resourcePermission name_of_resource
ACL
Strong Security Requires Thorough Integration
AUTHENTICATION
PasswordsKeysDigital SignaturesMessage DigestsCertificates (x.509)LDAP
AUTHORIZATION
Permissions- User- Resources- Code
Containment- Sandbox- ACL - Domains- Firewalls
Auditing- Error Logging- Error Reporting
Non-Repudiation- Transaction logging
and reporting
Admin Tools- Add/modify users- Add/mod permissions- Manage certificates- Configure- Audit
SECURE COMM
SSL
Confidentiality- Encryption- Keys
SECURITY ADMINISTRATION
UserName {Permission name_of_resourcePermission name_of_resource
UserName {Permission name_of_resourcePermission name_of_resource
ACL
Secure Comm
Comprehensive Security in GemStone/J
GemStone/J 3.0
System Resources
System Resources
SystemAdministration
UserName {Permission name_of_resourcePermission name_of_resource
UserName {Permission name_of_resourcePermission name_of_resource
ACL
Secure Comm
Secure Comm
Secure Comm
Security in the Web architecture
Basic and X509 authenticationSSL support in all communicationsFirewall support
SSL
FIREWALL
VM
SE
Web Clients VM
SERDBMS
SSLSSLSSL
Web Servers
GemStone/J 3.0
Architectural Issues in the near futureArchitectural Patterns that
realize scalabilitypreserve cache coherencypreserve component & object models incorporate Web, CORBA, RMI & JMS
mechanismsComponent to object mapping or EJB to RDB
mapping