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

Slides:



Advertisements
Similar presentations
J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento.
Advertisements

1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
J2EE Architecture Overview
Netscape Application Server Application Server for Business-Critical Applications Presented By : Khalid Ahmed DS Fall 98.
An architecture for webb applications, J2EE
AP 11/01 Software Components with JavaBeans The JavaBeans API discussion began with a reminder that M. D. McIlroy (1968) made a plea for catalogs of software.
Introduction to Java 2 Enterprise Edition About myself –Neutrinos, Cancer Research, IT Applications Today’s topic: J2EE –Context –Advantages –Components.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Application Server Lecture Paulo Barroso Kris Carver Todd Kitterman Eric Silva.
1 Build a Web Application on J2EE. 2 J2EE Scenario Client – Web Server – EIS Resources Client – Web Server – EIS Resources Client – Application Server.
J2EE Java2 Enterprise Edition by Damian Borth. Contents Introduction Architectures styles Components Scenarios Roles Processing a HTTP request.
Java 2 Platform, Enterprise Edition (J2EE). Source: Computer, August 2000 J2EE and Other Java 2 Platform Editions.
JMS Java Message Service Instructor Professor: Charles Tappert By Student: Amr Fouda.
July 23 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s et al. Book :: Chapter 16 Fred Durão.
J2EE vs..NET Nigam Patel. Topics Background –Web Services, J2EE and.NET Similarities Differences Conclusion –Pros and Con (J2EE and.NET)
Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support Shipping.
Nikolaos Korfiatis The Java 2 Enterprise Edition Platform Dept. of Management & Technology-Athens University of Economics and Business Java 2 Platform.
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
CS 483 Enterprise and Web Application Programming
Chapter 4: Core Web Technologies. Contents - Chapter 1 o Exchanging information over the Internet ÞHTTP, HTML ÞURI, URI ÞWeb server, web browser o Web.
© 2004 IBM Corporation BEA WebLogic Server Introduction and Training.
Apache Jakarta Tomcat Suh, Junho. Road Map Tomcat Overview Tomcat Overview History History What is Tomcat? What is Tomcat? Servlet Container.
Understanding and Managing WebSphere V5
Emmanuel Cecchet et al.  Performance Scalability of J2EE application servers.  Test effect of: ◦ Application Implementation Methods ◦ Container Design.
Distributed System Using Java 2 Enterprise Edition (J2EE)
J2EE Application Server Deployment and Performance Optimization for Enterprise Application Service Thesis presentation Author: Xiaoyang Wang.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
Distributed Multitiered Applications The J2EE platform uses a multitiered distributed application model. Application logic is divided into components 1.
Chapter 4: Core Web Technologies
Enterprise Java Beans CS-422. Application Servers In the late 1980s and though the mid 1990s a number of corporations (Broadvision, Netscape…) marketed.
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
Glink: GCOS e-business in an application server architecture Summit 2000, Jim Gallagher.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
® IBM Software Group © 2006 IBM Corporation Kick-start your Java Apps: Free Software, fast development Eclipse IDE, WASCE, DB2 Express-C.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
WebLogic Versus JBoss.
Enterprise JavaBeans. Lesson 1: Introduction to Server-Side Component Software.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
第十四章 J2EE 入门 Introduction What is J2EE ?
Enterprise Java v120131Intro to JavaEE1 Java EE 5 TM Introduction.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
J2EE Overview ver 1.0Page 1 © Wipro Technologies Talent Transformation J2EE Overview.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
1 Java EE Programming Enterprise JavaBeans. 2 Topics J2EE Overview Enterprise JavaBeans Overview Enterprise Entity Beans Case Study How to build them.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
IT 620 Enterprise Systems Integration January 31, 2002.
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
1 Distributed System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
©NIIT Introducing Enterprise JavaBeans (EJB) Lesson 1A / Slide 1 of 43J2EE Server Components Objectives In this lesson, you will learn about: The features.
Alan L. Batongbacal CS 4244 / 01 Nov 2000
EJB Enterprise Java Beans JAVA Enterprise Edition
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
2 목차 n WebLogic Architecture n J2EE Spec PreView n WebLogic Basic n Weblogic JDBC n Weblogic JNDI n Weblogic EJB Architecture n Weblogic EJB Deployment.
J2EE Platform Overview (Application Architecture)
Netscape Application Server
Introduction to J2EE Architecture
Distributed System Using Java 2 Enterprise Edition (J2EE)
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Component-based Applications
Presentation transcript:

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

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 What is GemStone/J

GemStone/J Usage Architecture Browsers or Java clients GemStone/J CORBA JDBC CORBADistributed JavaBeans Web Server Web Browser (HTML) HTTP (Various) Legacy 3 tier Java applications Complex object models Rapidly changing applications Distributed architectures Integration of multiple technologies

GemStone/J Architecture Fundamentals

GemStone/J 3.0 Architecture Service Activator Persistent Cache Architecture Java 2 Enterprise Services Scaling Management Naming Messaging Security Transactions Collections Data Connect Object Transaction Monitor CORBA ORB GS/J VM Persistent Cache J2EE Component Models EJB Java Server Pages Java Servlets GemStone/J 3.0

External Data Servers Clients CORBA Client (Java, C++, etc.) CORBA Client (Java, C++, etc.) ORB GemStone/J Garbage Collector Transactio n Monitor Shared Object Cache ORB Java JDBC Service Activator IIOP Web Browser Web Browser Java Client Java ClientBeansBeans HTTP (TCP/IP) Java Gem Java JavaV M Bean s JDBC Web Browser or Java VM Web Service Extents Transaction Log GemStone/J VMs Web 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 / EJB service activation Service Activator Business Applications Enterprise Services & APIs Scaling Management Naming Messaging Security Transactions Collections Data Connect Object Transaction Monitor Enterprise JavaBeans Containers ORB GS/J VM Persistent Cache JDNI COS Naming Service JDK 1.2 Collections

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 Shared Object Memory Java Virtual Machines 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 EJB Container Enterprise JavaBeans Container

GemStone/J 3.0 Application Server Security RDB Connect. Mainfrm. Conn State Mgmt Rsrc Mgmt Dist-Tx’l VMs ORB Object Pers. Java Services Tx 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 OTS Coordinator EJBs OTS Resource GS/J Session Pool Transaction Log Persistent Cache OTS Coordinator RDBMS GS/J VMs Other Transactional System OTS Resource JDBC Pool Recovery Coordinator

RDB Mainframe Service Activator Handles growth of application (new features, upgrades) Handles coordinated business transactions across many different data sources and business processes. Routers/Firewall Web Server GemStone/J Application Server Internet Commerce Platform Components, Workflow, EAI EJB Container Java 2 Security Servlet Engine Object Transaction Monitor Java 2 Services Service Activator CORBA 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 RDBMS Clients EJBs CORBA objects Service Activator GemStone/J VM pools CORBA services object pools GemStone/J session pools JDBC connection pools

Multi-Machine Architecture RDBMS Clients Persistent Cache Server 2 Server 1 Shared Object Cache GemStone/J VM Pool Service Activator Clients

Web Integration Architecture

RDB Mainframe Servlet Engine Handles Growth of users (Internet access) Handles growth of application (new features, upgrades) Routers/Firewall Web Server GemStone/J Application Server Business Process Engine EJB Container Java 2 Security Servlet Engine Object Transaction Monitor Java 2 Services Service Activator CORBA ORB Persistent Cache GS/J VM GemStone/J Application Server Internet Commerce Platform Components, Workflow, EAI EJB Container Java 2 Security Servlet Engine Object Transaction Monitor Java 2 Services Service Activator CORBA 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 Pages Servlets EJB

User Scaling Routers/Firewall Web Server GemStone/J 3.0 Application Server Servlet Engine Servlet engine integrated. Supports all major Web servers Standard 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 RDBMS Web Servers Connection Pooling Cached Relational Data Shared Session State Persistent Objects (EJBs) Persistent Cache Load Balancing VM SE VM SE DNS Round-Robin

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 Service Activator Persistent Cache Architecture Java 2 Enterprise Services Scalin g Managem ent Naming Messaging Security Transacti ons Collections Data Connect Object Transaction Monitor CORBA ORB GS/J VM Persistent Cache J2EE Component Models EJB Java Server Pages Java Servlets 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 SE Application Servlet Servlet Engine GsSession Application Servlet Session Multiplexer JDBC Pooling EJBs CORBA OTM PCA GemStone/J VM

Web client HTTP / DNS RR GS/J VMs GS/J Repository Web Server TCP Web Server The web servers are load- balanced at the internal DNS agent. The servlet engines are load balanced in a round-robin fashion at the web server. Application Servlet Servlet Engine GsSession Application Servlet Session Multiplexer Application Servlet Servlet Engine GsSession Application Servlet Session Multiplexer Application Servlet Servlet Engine GsSession Application Servlet Session Multiplexer Application Servlet Engine GsSession Application Servlet Session Multiplexer * 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 { Permissionname_of_resource UserName { Permissionname_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 { Permissionname_of_resource UserName { Permissionname_of_resource ACL

Strong 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 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 { Permissionname_of_resource UserName { Permissionname_of_resource ACL Secure Comm

Comprehensive Security in GemStone/J GemStone/J 3.0 System Resources System Administration UserName { Permissionname_of_resource UserName { Permissionname_of_resource ACL Secure Comm

Security in the Web architecture Basic and X509 authentication SSL support in all communications Firewall support SSL FIREWALL VM SE Web Clients VM SE RDBMS SSL Web Servers GemStone/J 3.0

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