Title: GemStoneJ 3'0 Objects Across the Enterprise
1GemStone/J 3.0 Objects Across the Enterprise
- Paul Chambers
- Chief Technical Officer (Europe)
2Scalable Enterprise Architectures
- GemStone/J Overview
- GemStone/J Architecture Fundamentals
- GemStone/J Service Activator
- Web Integration Architecture
- Security Architecture
- Architectural Issues
3GemStone/J Overview
4What is GemStone/J
- An integrated Java Application Server
- Designed for 3 tier transactional Java
applications built with components - Java 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
5GemStone/J Usage Architecture
Browsers or Java clients
Web Browser (HTML)
CORBA
Distributed JavaBeans
HTTP
(Various)
CORBA
Web Server
GemStone/J
Legacy
3 tier Java applications Complex object
models Rapidly changing applications Distributed
architectures Integration of multiple technologies
JDBC
6GemStone/J Architecture Fundamentals
7GemStone/J 3.0 Architecture
8GemStone/J System Architecture
Clients
GemStone/J
External Data Servers
IIOP
ORB
Java
Java
JDBC
Gem
Web Service
IIOP
Java
JavaVM
Service Activator
Beans
JDBC
HTTP
GemStone/J VMs
Web Server
(TCP/IP)
Transaction Monitor
Web Browser or Java VM
Garbage Collector
Extents
9GemStone/J 3.0 Java and CORBA Standards
- JDK 1.2 APIs
- JSA
- JCA
- JCE
- SSL
- X.509
- Complete EJB 1.0 container and server
- Session and Entity beans
- Container and Bean- managed persistence
Business Applications
Enterprise JavaBeans Containers
- JDBC 1.0
- JDBC 2.0
- JDBC XA
Collections
Security
Data Connect
Scaling
Management
Naming
Messaging
Transactions
Enterprise Services APIs
Object Transaction Monitor
- JTS
- JTA
- COS OTS
- OTS recovery
- XA
Service Activator
- CORBA location forwarding
- CORBA / EJBservice activation
GS/J VM
Persistent Cache
ORB
- JDK 1.2
- Java Compatible certified
- Runs any 100 Pure Java app.
- JVMDI debugger interface
- Sun.tools.debug
Planned for future release as specifications
become complete
10GemStone/J Java VM
- Java 1.2 certified Java Compatible
- Server-optimized VM
- Robust and reliable
- Large object domains
- Scalable shared memory architecture
- Multiple concurrent GS/J transactions
- Sun HotSpot technology licensed and being
integrated for later release
11Persistent Cache Architecture
Java Virtual Machines
Shared Object Memory
Object Repository
12Persistent Cache Architecture (PCA)
- Provides fault-tolerant object cache of
relational data for increased performance - Supports large object domains up to 2 billion
objects - Provides automatic EJB persistence
- Scalable 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
13Integrated 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)
14GemStone/J OTM
- Implements CORBA Object Transaction Service (OTS)
standard - Integrated recovery mechanism
- Logging for 2-phase distributed transaction
support - JTS interface
- OTS 1.1 Synchronization interface
- Provides transaction support for EJBs
- Integrates with other OTS implementations
- Provides cache coherency between persistent cache
and relational database
15Complete 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
16GemStone/J 3.0 The EJB Container
- A context within which to run Beans
- Containers exist within EJB servers
- Manage
- 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
17GemStone/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
GemStone/J 3.0 Application Server
18GemStone/J OTM
OTSCoordinator
GS/J VMs
EJBs
Recovery Coordinator
OTS Resource
OTS Resource
JDBC Pool
GS/J Session Pool
Transaction Log
RDBMS
OTSCoordinator
Other Transactional System
19Service Activator
Internet Commerce Platform Components, Workflow,
EAI
GemStone/J Application Server
Object Transaction Monitor
EJB Container
Servlet Engine
Web Server
Java 2 Security
Java 2 Services
Service Activator CORBA ORB Persistent Cache
GS/J VM
- Handles growth of application (new features,
upgrades) - Handles coordinated business transactions across
many different data sources and business
processes.
20GemStone/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
21 GemStone/J Service Activator
JDBC connection pools
GemStone/J session pools
EJBs CORBA objects
Clients
RDBMS
Service Activator
22Multi-Machine Architecture
Service Activator
Clients
Persistent Cache
Server 1
RDBMS
Clients
GemStone/JVM Pool
Server 2
23Web Integration Architecture
24Servlet Engine
Business Process Engine
GemStone/J Application Server
Object Transaction Monitor
EJB Container
Servlet Engine
Web Server
Java 2 Security
Java 2 Services
Service Activator CORBA ORB Persistent Cache
GS/J VM
- Handles Growth of users (Internet access)
- Handles growth of application (new features,
upgrades)
25J2EE 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
Java Server Pages
Servlets
26User Scaling
- Servlet engine integrated.
- Supports all major Web servers
- Standard security supported
GemStone/J 3.0 Application Server
GemStone/J VMs
Servlet Engine
Web Server
- Web servers
- Netscape
- Microsoft IIS
- Apache
27Integrated Web Scalability
GemStone/J
DNS Round-Robin
Load Balancing
RDBMS
Connection Pooling
RDBMS
Web Servers
Web Clients
- Netscape
- Microsoft IIS
- Apache
28Scalable 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 architecture
- Web integration partners
29Application 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
GemStone/J VM
OTM
JDBC Pooling
EJBs
CORBA
PCA
30GS/J VMs
DNS RR
HTTP /
TCP
Web client
Web client
Web Server
Third Tier Data
Web client
The web servers are load-
GS/J
balanced at the
Repository
internal DNS agent.
Web client
HttpSession State Business logic/Objects
The servlet engines are load
balanced in
a round-robin fashion at the
web server.
Web client
Web Server
Web client
31GemStone/J Security Architecture
32Strong Security Reduces Risks
- Authentication
- Authorization Containment
- Secure Communication
- Security Administration
- Who is accessing your data
- Restrictions
- Private exchange
- Control over system
33GemStone/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
34Strong Security Requires Thorough Integration
AUTHENTICATION Passwords Keys Digital
Signatures Message Digests Certificates
(x.509) LDAP
AUTHORIZATION Permissions - User -
Resources - Code
Containment - Sandbox - ACL - Domains - Firewalls
SECURE COMM SSL
Confidentiality - Encryption - Keys
SECURITY ADMINISTRATION
Non-Repudiation - Transaction logging and
reporting
Admin Tools - Add/modify users - Add/mod
permissions - Manage certificates - Configure -
Audit
Auditing - Error Logging - Error Reporting
35Comprehensive Security in GemStone/J
GemStone/J 3.0
System Administration
System Resources
System Resources
36Security in the Web architecture
- Basic and X509 authentication
- SSL support in all communications
- Firewall support
GemStone/J 3.0
FIREWALL
SSL
SSL
SSL
SSL
RDBMS
Web Clients
Web Servers
37Architectural Issues in the near future
- Architectural Patterns that
- realize scalability
- preserve cache coherency
- preserve component object models
- incorporate Web, CORBA, RMI JMS mechanisms
- Component to object mapping or EJB to RDB mapping