JESS Presentation Francois Samarcq Steve Seminario Marc San Soucie
Download
Report
Transcript JESS Presentation Francois Samarcq Steve Seminario Marc San Soucie
GemStone/J 3.0
Objects Across the Enterprise
Paul Chambers
Chief Technical Officer (Europe)
Scalable Enterprise Architectures
GemStone/J Overview
GemStone/J Architecture Fundamentals
GemStone/J Service Activator
Web Integration Architecture
Security Architecture
Architectural Issues
GemStone/J Overview
What 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
GemStone/J Usage Architecture
Web Browser
(HTML)
Browsers or
Java clients
Distributed
JavaBeans
HTTP
CORBA
(Various)
CORBA
Web Server
GemStone/J
Legacy
3 tier Java applications
Complex object models
Rapidly changing applications
Distributed architectures
Integration of multiple
technologies
JDBC
GemStone/J Architecture Fundamentals
GemStone/J 3.0 Architecture
GemStone/J 3.0
J2EE Component Models
Collections
Java 2 Enterprise Services
Object Transaction Monitor
Service Activator
CORBA
ORB
GS/J
VM
Persistent
Cache
Persistent Cache Architecture
Data Connect
EJB
Transactions
Security
Messaging
Java
Servlets
Naming
Management
Scaling
Java
Server
Pages
GemStone/J System Architecture
Clients
CORBA
Client
(Java,
C++, etc.)
ORB
IIOP
IIOP
HTTP
Web
Browser
Web Server
ORB
Java
Java
Gem
Java
Web
Service
Service
Activator
JavaV
M
Bean
s
GemStone/J VMs
Shared Object Cache
(TCP/IP)
Java
Client
Beans
External
Data
Servers
GemStone/J
Transaction
Log
Web Browser
or Java VM
Extents
Transactio
n
Monitor
Garbage
Collector
JDBC
JDBC
GemStone/J 3.0 Java and
CORBA Standards
JDK 1.2 APIs
JSA
JCA
JCE
SSL
X.509
Service
JTS
JTA*
COS OTS
OTS recovery
XA
Data Connect
Collections
Transactions
Security
Naming
Enterprise JavaBeans Containers
Messaging
JDNI
COS Naming
container and server
Session and Entity
beans
Container and Beanmanaged persistence
Business Applications
Management
JMAPI*
JDMK*
SNMP*
Complete EJB 1.0
Scaling
JDBC 1.0
JDBC 2.0*
JDBC XA*
Enterprise Services & APIs
JDK 1.2 Collections
Object Transaction Monitor
JMS*
Service Activator
CORBA location
forwarding
ORB
GS/J
VM
CORBA 2.3
IIOP
* Planned for future release as specifications become complete
CORBA / EJB
Persistent
Cache
service activation
JDK 1.2
“Java Compatible™” certified
Runs any 100% Pure Java™ app.
JVMDI debugger interface
Sun.tools.debug
GemStone/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
Persistent Cache Architecture
Java
Virtual Machines
Shared Object Memory
Object Repository
Persistent 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
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 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
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 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
Enterprise JavaBeans Container
EJB Container
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
GemStone/J 3.0
Application Server
Enterprise JavaBeans Container
Security
Dist-Tx’l VMs
RDB Connect.
ORB
Object Pers. Mainfrm. Conn
Java Services State Mgmt
Tx Services Rsrc Mgmt
GemStone/J OTM
OTS
Coordinator
Recovery
Coordinator
GS/J VMs
EJBs
OTS
OTS
Resource
GS/J
Session Pool
Resource
JDBC
Pool
Transaction
Log
Persistent
Cache
RDBMS
OTS
Coordinator
Other Transactional System
Service Activator
Internet Commerce Platform
Components, Workflow, EAI
Web Server
Routers/Firewall
RDB
GemStone/J Application Server
Servlet
Engine
Object
Transaction
Monitor
Java 2 Security
EJB
Container
RDB
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.
Mainframe
Mainframe
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
Clients
EJBs
CORBA objects
JDBC connection
pools
GemStone/J session
pools
GemStone/J Service Activator
CORBA services
object pools
GemStone/J VM
pools
Service Activator
RDBMS
Multi-Machine Architecture
Service
Activator
Clients
Server 1
GemStone/J
VM Pool
Persistent
Cache
RDBMS
Shared Object
Cache
Clients
GemStone/J
VM Pool
Server 2
Web Integration Architecture
Servlet Engine
RDB
GemStone/J Application Server
Web Server
Routers/Firewall
Internet Commerce Platform
Components, Workflow, EAI
Business Process Engine
Servlet
Engine
Object
Transaction
Monitor
Java 2 Security
EJB
Container
RDB
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)
Mainframe
Mainframe
J2EE Component Models Today
EJB 1.0 Today
Full EJB 1.0 Server and Container capabilities
integrated
Enterprise JavaBeans Container
Session and Entity beans
DD Utilities
IDE DD and JAR file support
Java Server Pages and Servlets
TodayJava Server Pages
Servlets
Integrated Servlet engine
Servlet Engine
Comprehensive load balancing
VM
Connectivity to standard Web servers
Access to all GemStone/J services
User Scaling
Web Server
Routers/Firewall
Servlet engine integrated.
Supports all major Web servers
Standard security supported
GemStone/J 3.0
GemStone/J VMs
Application Server
SE
SE
SE
Web servers
• Netscape
• Microsoft IIS
• Apache
VM
VM
VM
Servlet
Engine
Integrated Web Scalability
GemStone/J
SE
DNS
Round-Robin
VM
RDBMS
SE
VM
Web Clients
Web Servers
• Netscape
• Microsoft IIS
• Apache
Persistent Cache
•Cached Relational Data
•Shared Session State
•Persistent Objects
(EJBs)
RDBMS
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 architecture
Web integration partners
GemStone/J 3.0
VM
VM
VM
Java 2 Enterprise Services
Object Transaction Monitor
Service Activator
CORBA
ORB
GS/J
VM
Persistent
Cache
Persistent Cache Architecture
Data
Connect
Collections
EJB
Transacti
ons
Security
Messaging
Naming
Java
Servlets
Managem
ent
SE
SE
SE
J2EE Component Models
Java
Server
Pages
Scalin
g
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
Application
Servlet
Application
Servlet
Session Multiplexer
SE
Servlet Engine
GemStone/J VM
GsSession
GsSession
GsSession
OTM
JDBC Pooling
EJBs
GsSession
GsSession
CORBA
PCA
Web client
The servlet engines are load
balanced in
a round-robin fashion at the
web server.
Web client
Application
Servlet
Application
Servlet
Application
Servlet
Application
Servlet
Web client
ServletEngine
Web Server
Application
Servlet
Application
Servlet
Session Multiplexer
Session Multiplexer
The web servers are loadbalanced at the
internal DNS agent.
Application
Servlet
Session Multiplexer
Web client
Servlet Engine
Web Server
Servlet Engine
Web client
Application
Servlet
Session Multiplexer
TCP
Servlet Engine
HTTP /
DNS RR
Web client
GS/J VMs
GsSession
GsSession
GsSession
GsSession
GsSession
GsSession
GsSession
GsSession
GsSession
GsSession
GsSession
GsSession
GsSession
GsSession
GsSession
GsSession
GsSession
GsSession
GsSession
GsSession
Third Tier Data
GS/J
Repository
* HttpSession State
* Business logic/Objects
GemStone/J Security Architecture
Strong Security Reduces Risks
Authentication:
Who is accessing your data
ACL
Authorization &
Restrictions
Containment:
Secure Communication:
Private exchange
Security Administration:
Control over system
UserName {
Permission
Permission
UserName {
Permission
Permission
name_of_resource
name_of_resource
name_of_resource
name_of_resource
Secure Comm
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,
ACL
system processes, administrative components
UserName {
Permission
Permission
UserName {
Permission
Permission
name_of_resource
name_of_resource
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
name_of_resource
name_of_resource
Strong Security Requires Thorough
Integration
AUTHENTICATION
Passwords
Keys
Digital Signatures
Message Digests
Certificates (x.509)
LDAP
AUTHORIZATION
Permissions
- User
- Resources
- Code
ACL
UserName {
Permission
Permission
UserName {
Permission
Permission
Containment
- Sandbox
- ACL
- Domains
- Firewalls
SSL
name_of_resource
name_of_resource
name_of_resource
name_of_resource
SECURITY ADMINISTRATION
Admin Tools
- Add/modify users
- Add/mod permissions
- Manage certificates
- Configure
- Audit
SECURE COMM
Non-Repudiation
- Transaction logging
and reporting
Auditing
- Error Logging
- Error Reporting
Confidentiality
- Encryption
- Keys
Secure Comm
Comprehensive Security in
GemStone/J
GemStone/J 3.0
System
Administration
Secure Comm
Secure Comm
Secure Comm
System Resources
ACL
UserName {
Permission
Permission
UserName {
Permission
Permission
name_of_resource
name_of_resource
name_of_resource
name_of_resource
System Resources
Security in the Web architecture
Basic and X509 authentication
SSL support in all communications
Firewall support
GemStone/J 3.0
FIREWALL
SE
SSL
Web Clients
SSL
SSL
SE
VM
SSL
VM
Web Servers
RDBMS
Architectural 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