Trading Services for Distributed Enterprise Communications. Dr. Jean-Claude Franchitti. Presentation Agenda

Similar documents
Page 1. Extreme Java G Session 8 - Sub-Topic 2 OMA Trading Services

Agenda. Summary of Previous Session. Extreme Java G Session 3 - Main Theme Java Core Technologies (Part I)

A Tutorial on The Jini Technology

Designing a Distributed System

History of Enterprise Java

The Jini Architecture Bruno Souza Java Technologist, Sun Microsystems

Application Servers in E-Commerce Applications

Jini Architecture Specification

Jini Technology Overview

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Application Servers G Session 5 - Main Theme Object Management Architectures. Dr. Jean-Claude Franchitti

Wendy Lee CHAPTER 1 INTRODUCTION. Jini which is based on Java platform is a network technology from Sun

Ubiquitous Computing Summer Supporting distributed applications. Distributed Application. Operating System. Computer Computer Computer.

Appendix A - Glossary(of OO software term s)

J2EE Interview Questions

PLATFORM TECHNOLOGY UNIT-5

Application Servers G Session 5 - Sub-Topic 1 Java Naming and Directory Interface (JNDI) Dr. Jean-Claude Franchitti

Introduction to componentbased software development

Agenda. Naming & Directory Services. Extreme Java G Naming and directory services JNDI naming directory service provider interface Q & A

Course title: ADVANCED WEB TECHNOLOGIES AND SERVICES

Computer and Automation Research Institute Hungarian Academy of Sciences. Jini and the Grid. P. Kacsuk

Jini Connection Technology Architecture Overview

Distributed Systems/Middleware JavaSpaces

Philadelphia Area Java Users' Group December 12, 2001

Outline. Project Goal. Overview of J2EE. J2EE Architecture. J2EE Container. San H. Aung 26 September, 2003

(9A05803) WEB SERVICES (ELECTIVE - III)

Deccansoft Software Services. J2EE Syllabus

index_ qxd 7/18/02 11:48 AM Page 259 Index

T NAF: Jini & EJB

Distributed Multitiered Application

An Event Service Implemented with J2EE for Integration of Enterprise Systems

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

presentation DAD Distributed Applications Development Cristian Toma

Enterprise JavaBeans. Layer:01. Overview

Support Readiness Document Jini Technology Starter Kit 1.1

A General ecommerce Platform with Strong International and Local Aspects

Enterprise Java Unit 1-Chapter 2 Prof. Sujata Rizal Java EE 6 Architecture, Server and Containers

Multi-tier architecture performance analysis. Papers covered

Electronic Payment Systems (1) E-cash

Component-Based Software Engineering. ECE493-Topic 5 Winter Lecture 26 Java Enterprise (Part D)

The Jini architecture. Johan Petrini and Henning Sundvall

Oracle9iAS Tech nicaloverview

WebSphere 4.0 General Introduction

Contents at a Glance. vii

Open Source. in the Corporate World. JBoss. Application Server. State of the Art: Aaron Mulder

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

Interconnection of Distributed Components: An Overview of Current Middleware Solutions *

Java 2 Platform, Enterprise Edition: Platform and Component Specifications

Distributed Middleware. Distributed Objects

GemStone Systems. GemStone. GemStone/J 4.0

BEAWebLogic. Platform. Introducing WebLogic Platform. Version 8.1 Document Date: July 2003 Part Number:

Oracle 10g: Build J2EE Applications

Chapter 2 Introduction

Advanced Java Programming

JDBC Today C HAPTER 1 INTRODUCTION

Problems in Scaling an Application Client

1Z Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions

What we need. Agenda. What s J2EE. Challenges of Enterprise Application Development

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc.

Oracle Fusion Middleware

Chapter 6 Enterprise Java Beans

CptS 464/564 Lecture 18

Application Servers G Session 11 - Sub-Topic 2 Using Enterprise JavaBeans. Dr. Jean-Claude Franchitti

Outline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform

Enterprise JavaBeans (I) K.P. Chow University of Hong Kong

BEAWebLogic. Server. Introduction to WebLogic Server and WebLogic Express. Version 8.1 Revised: June 28, 2006 Part Number:

Enterprise Java and Rational Rose -- Part I

Essential Software Architecture

Developing Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation

Advanced Lectures on knowledge Engineering

Enterprise JavaBeans Technology

J2EE for Glast. Matthew D. Langston (SLAC) 4/25/2004

K L M N O P Q R S T U V W X Y Z

Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture

ICENI: An Open Grid Service Architecture Implemented with Jini Nathalie Furmento, William Lee, Anthony Mayer, Steven Newhouse, and John Darlington

Distributed Programming in Java

Enterprise JavaBeans. Layer 05: Deployment

BEA WebLogic Server. and BEA WebLogic Express. Introduction to BEA WebLogic Server 6.1

Introduction To Web Architecture

Selecting Enterprise JavaBeans Technology

THE JINI ARCH NETWORK-CENT

Architecting a Network-Centric M&S Application

Professional JSP : Using JavaServer Pages, Servlets, EJB, JNDI, JDBC, XML, XSLT, And WML By Karl Avedal, Danny Ayers

Teamcenter Global Services Customization Guide. Publication Number PLM00091 J

JavaOne Topics. Keynotes Talks overview Interoperability, jini Real-time and Embedded XML and Java Cool Recommendations

Database Binding Component User's Guide

Virtual Credit Card Processing System

Component models. Page 1

JavaSpaces technology for distributed communication and collaboration. Chih-Yao Hsieh

Experiences in the management of an EJB-based e- commerce application. Abstract

Introduction and Overview Socket Programming Lower-level stuff Higher-level interfaces Security. Network Programming. Samuli Sorvakko/Nixu Oy

Enterprise Java Security Fundamentals

Jini and Universal Plug and Play (UPnP) Notes

Distributed Technologies - overview & GIPSY Communication Procedure

Introduction and Overview Socket Programming Higher-level interfaces Final thoughts. Network Programming. Samuli Sorvakko/Nixu Oy

Exam Actual. Higher Quality. Better Service! QUESTION & ANSWER

MONitoring Agents using a Large Integrated Services Architecture. Iosif Legrand California Institute of Technology

Using JavaSpaces to create adaptive distributed systems

the Corba/Java Firewall

Transcription:

Page 1 Trading Services for Distributed Enterprise Communications Dr. Jean-Claude Franchitti Presentation Agenda Enterprise Systems Technology Classifications Naming, Directory, and Trading Services in a Nutshell CORBA as a Trading Service Microsoft Active Directory Services Jini as a Trading Service Jini Component Architecture Jini Programming Model Jini Infrastructure Jini Class Architecture and Development Process Jini Service Example From the Logical Infrastructure to a Physical Solution Physical Solution Implementation Steps Conclusions 1

Page 2 Enterprise Systems Technology Classifications User Interfacing AWT, Swing, JMF, JavaBeans Distributed Communications Enabling TCP/IP, HTTP, CORBA, RMI/IIOP, COM+ Services for Distributed Communications JNDI, CORBA Trading, JINI, Activation, JMS, JavaMail, JTA, JTS, etc. Systems Assurance Security, Reliability, Availability, Maintainability, Safety Data Enabling JDBC, RDBMs, ODBMSs Web Enabling HTML, XML, Applets, Servlets, JSPs Applications Enabling EJB, EAI 2 Services for Distributed Communications Naming DNS, JNDI Directory NIS, NDS, LDAP, Microsoft Active Directory Trading CORBA Trading Service, JINI Activation CORBA LifeCycle Service, Java Activation Framework Messaging JMS, JavaMail, CORBA Event Service, CORBA Messaging Service, CORBA Notification Service Transaction CORBA OTS, JTS, JTA 3

Page 3 Naming Service Provides the ability to bind names to objects, and lookup objects by names (~ telephone white pages) e.g., COSNaming, DNS, LDAP, NIS, JNDI 4 Directory Service Provides a way to manage the storage and distribution of shared information (~ telephone yellow pages) e.g., NIS, NDS, LDAP, Microsoft Active Directory 5

Page 4 Trading Service Provide a framework for objects to identify themselves in a distributed system Provides facilities for looking up and discovering other services Provides services to remote objects e.g., CORBA Trading, Jini, Microsoft Active Directory 6 CORBA as a Trading Service Provides a sophisticated directory service in which the directory objects contain: Attributes and service type information on distributed objects Distributed objects Handles APIs: Admin, Link, Lookup, Proxy Register Microsoft Active Directory Service (ADS) Maintains user, security, and network resource information used on a Windows 2000 network DCOM components can store their activation and connection information in the ADS COM objects can be exposed as APIs to ADS 7

Page 5 Introducing Jini as a Trading Service What is Jini Technology? Who Developed Jini? What are the Claimed Benefits? What are the Limitations? What is the Jini system architecture? 8 Jini Technology Architecture Jini provides underware (not middleware) Jini helps services, clients, and users find other services (via lookup, registration, and leasing services) 9

Page 6 What is Jini Technology? Jini provides an infrastructure to federate services in a distributed system Enable spontaneous networking Simplify delivery of network services Simplify access to network services Jini provides a programming model for reliable, secure distributed services Jini provides several basic services 10 Who Developed Jini? Jim Waldo (CORBA, RMI, JavaSpaces) Bill Joy (BSD Unix, SunOS) Ken Arnold (JavaSpaces) Ann Wollrath (Java RMI) Bob Sheifler (X Window System) 11

Page 7 What are the Claimed Benefits? Makes using a network more like using a phone Allows software and hardware components to more easily provide network services Makes adding and managing network services easier 12 What are the Limitations? Intended for workgroups of 2-100 nodes/services Implies some agreement regarding trust, identity and policy within a single Jini federation Requires Java, 48KB of memory Licensing (SCSL new licensing model) 13

Page 8 Key Concepts Services Discovery and Lookup Extended RMI Distributed Security Leasing Transactions Distributed Events 14 Services Services may be added or withdrawn from a Jini federation at any time Jini provides mechanisms for service registration, lookup, and use Services communicate by using a service protocol (i.e., a set of Java interfaces) Set of services is open-ended 15

Page 9 Discovery and Lookup Lookup service provides mapping: Interfaces to objects Hierarchical lookup: Lookup service may include entry for other lookup services Discovery is registering a new service with a lookup service (Jini federation discovers service) 16 Extended RMI Communication among services uses Java RMI Extended with leases RMI provides Activation Distributed garbage collection Multicast Replication 17

Page 10 Distributed Security Principal: entity on behalf of which a service is accessed Access control list: associates access privileges with each object implementing a service 18 Leasing A lease is a grant of access over a time period Negotiated as part of service protocol (~ CORBA licensing service role) If lease expires without renewal, user and provider can free associated resource Leases handle client and network failures, removal of services, Exclusive lease says service cannot be shared 19

Page 11 Transactions A series of operations may be wrapped in a transaction Insure changes made atomically: all or none Jini transaction interfaces supply service protocol for a two-phase commit 20 Distributed Events Jini supports distributed events (~ CORBA events) Objects register interest in other object s events Notifications delivered to interested objects 21

Page 12 Java + Jini Base Java Infrastructure: Java VM, RMI, Java Security Model Programming Model: Java APIs, Java Beans, etc. Services: JNDI, EJBs, JTS, etc. Java + Jini Infrastructure: Extended RMI, Discovery, Distributed Security, Lookup Programming Model: Leasing, Transactions, Distributed Events Services: JavaSpaces, Two-Phase Commit Manager 22 Discovery Protocol Service Joins a Jini Lookup Service Provider uses multicast to locate Lookup service Registers Interfaces Loads Proxy object into Lookup Service 23

Page 13 Lookup Protocol Client looks up service when needed Looks up by Java type, attributes Copy of proxy moved to client Uses proxy to invoke services 24 Client / Service Interaction Client uses service through proxy Proxy might be complete service object or RMI stub Or mixture of local/remote methods Service protocol may be private to sender 25

Page 14 Jini Component Architecture Logical Component Architecture Storage, JavaSpaces, Printing, TM Jini Discovery, Join, and Lookup Java 2 platform (RMI, security, networking) Physical Component Architecture JSTK JavaSpaces Starter Kit Jini Starter Kit Jini Software Kit (JSK) - com.sun.jini.* Jini Extended Platform (JXP) - net.jini.* Jini Core Platform (JCP) - net.jini.core.* J2SE 26 Jini Programming Model Distributed Events API Interface extending the JavaBeans event model Distributed Leasing Interfaces to obtain leases for use of distributed resources Distributed Transactions 27

Page 15 Jini Infrastructure Service Discovery Jini Community Joining Services provide service items (meta-data attribute information, and proxy object) Jini Lookup Services Clients fill out a service template Clients receive a set of service matches Clients can extract the service proxy item to start using the service 28 Jini Tools and Configuration JSK: Jini System Software Starter Kit JCP (jini-core.jar), JXP (jini-ext.jar), JSK (subset included in sun-util.jar) JSK provides a lookup service with the codename reggie JSK also provides a transaction management service with the codename mahalo Sun provides a Jini service called JavaSpaces used to store and retrieve Java objects in a distributed network (codename is outrigger ) 29

Page 16 Jini Class Architecture and Development Process Server side Jini service implementation Jini service proxy Connectivity needed to a back-end device or process Client side Discover a lookup service Create a Jini service template Look up a Jini service Handle Jini Service Lookup Matches Use the Jini Service 30 Jini Service Examples Jini[TM] Technology Starter Kit (starter kit) and the Jini Technology Core Platform Compatibility Kit (TCK) are available to download under the Sun Community Source License v 3.0/Jini Technology Specific Attachment v 1.0 (SCSL3/Jini TSA v 1.0) program Sample applications are provided with the Starter Kit 31

Page 17 Conclusions CORBA Trading Service provides support for associating distributed CORBA object references in a directory service CORBA Trading Service is a somewhat complicated framework to use ADS provides a directory service implementation and standard interfaces for COM/DCOM applications ADS is platform dependent Jini adds support for dynamic discovery of lookup services by servers and clients Jini s API is simple Configuring Jini s runtime infrastructure can be somewhat tedious. 32 Links to more information Jini home Jini FAQs Jini white papers Jini specs Jini licensing 33