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