37
GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

Embed Size (px)

Citation preview

Page 1: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

GemStone/J 3.0 Objects Across the Enterprise

Paul Chambers

Chief Technical Officer (Europe)

Page 2: 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

Page 3: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

GemStone/J Overview

Page 4: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 5: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 6: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

GemStone/J Architecture Fundamentals

Page 7: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 8: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 9: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 10: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 11: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

Persistent Cache Architecture

Shared Object Memory

Java Virtual Machines

Object Repository

Page 12: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 13: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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)

Page 14: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 15: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 16: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 17: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 18: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 19: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 20: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 21: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 22: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

Multi-Machine Architecture

RDBMS

ClientsPersistent

Cache

Server 2

Server 1

Shared ObjectCache

GemStone/JVM Pool

GemStone/JVM Pool

ServiceActivator

Clients

Page 23: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

Web Integration Architecture

Page 24: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 25: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 26: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 27: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 28: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 29: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 30: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 31: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

GemStone/J Security Architecture

Page 32: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 33: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 34: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 35: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 36: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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

Page 37: GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)

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