Advanced Lectures on knowledge Engineering

Similar documents
Distributed Objects. Object-Oriented Application Development

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Today: Distributed Middleware. Middleware

IIOP: Internet Inter-ORB Protocol Make your code accessible even in future, with the next universal protocol

Distributed Environments. CORBA, JavaRMI and DCOM

CORBA (Common Object Request Broker Architecture)

Appendix A - Glossary(of OO software term s)

1.264 Lecture 16. Legacy Middleware

Today: Distributed Objects. Distributed Objects

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Application Servers in E-Commerce Applications

CHAPTER 2. Introduction to Middleware Technologies

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

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

Mohsin Qasim Syed Abbas Ali

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

Distributed Systems Principles and Paradigms

Distributed Technologies - overview & GIPSY Communication Procedure

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform.

(9A05803) WEB SERVICES (ELECTIVE - III)

Architecting a Network-Centric M&S Application

Chapter 16. Layering a computing infrastructure

Distributed Middleware. Distributed Objects

UNIT 4 CORBA 4/2/2013 Middleware 59

System types. Distributed systems

Distributed Object-based Systems CORBA

DS 2009: middleware. David Evans

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

CPE731 Middleware for Distributed Systems

Communication. Distributed Systems Santa Clara University 2016

presentation DAD Distributed Applications Development Cristian Toma

The Umbilical Cord And Alphabet Soup

Electronic Payment Systems (1) E-cash

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

Chapter 10 Web-based Information Systems

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems

presentation DAD Distributed Applications Development Cristian Toma

Distributed Systems Middleware

RIKA: Component Architectures

Verteilte Systeme (Distributed Systems)

As related works, OMG's CORBA (Common Object Request Broker Architecture)[2] has been developed for long years. CORBA was intended to realize interope

Advanced Topics in Operating Systems

Chapter 4 Communication

CSCI 3130 Software Architectures 1/3. February 5, 2013

FIPA-OS Feature Overview. Agent Technology Group Nortel Networks February 2000

Performance Evaluation of Java And C++ Distributed Applications In A CORBA Environment

Basic Web Applications. Extreme Java G Web Server. Enterprise Data. Client Browser

Software. Networked multimedia. Buffering of media streams. Causes of multimedia. Browser based architecture. Programming

B. Assets are shared-by-copy by default; convert the library into *.jar and configure it as a shared library on the server runtime.

Implementation of GDMO to IDL Translator and CORBA/CMIP Gateway for TMN/CORBA Integration

3C05 - Advanced Software Engineering Thursday, April 29, 2004

Lecture 5: Object Interaction: RMI and RPC

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

ANSAweb: A Web of Distributed Objects

RPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call

SAI/ST course Distributed Systems

DISTRIBUTED COMPUTING

ID2208 Programming Web Services

CapeConnect Three. Concepts

Computational Web Portals. Tomasz Haupt Mississippi State University

Overview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36

Oracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010

Distributed Computing

Module 1 - Distributed System Architectures & Models

On the Use of CORBA in High Level Software Applications at the SLS

AQUILA. Project Defense. Sandeep Misra. (IST ) Development of C++ Client for a Java QoS API based on CORBA

Distributed Programming with RMI. Overview CORBA DCOM. Prepared By: Shiba R. Tamrakar

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

CORBA vs. DCOM. Master s Thesis in Computer Science

RPC and RMI. 2501ICT Nathan

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints

Cloud Computing Chapter 2

Distributed Object-Based. Systems. Chapter 9

Communication. Overview

JAVA S ROLE IN DISTRIBUTED COMPUTING

JAYARAM. COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli (An approved by AICTE and Affiliated to Anna University)

CAS 703 Software Design

Introduction to Web Services & SOA

Client/Server-Architecture

Licence Technique (LT) Client / Server Architectures. By: Dr. Jaber M. Jaber

The convergence of network computing and telecommunications

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Oracle Tuxedo. Interoperability 12c Release 1 (12.1.1) June 2012

CORBA and DCOM: Side by Side

Protecting the Hosted Application Server

Introduction to Web Services & SOA

DISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: Lecture 7: Middleware. Slide 1. Slide 3. Message-oriented: MIDDLEWARE

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

ibaan OpenWorld Adapter Suite 2.3 Installation and Configuration Guide for Connector for CORBA

(D)COM Microsoft s response to CORBA. Alessandro RISSO - PS/CO

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

Advanced Distributed Systems

FIPA Agent Software Integration Specification

CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University

May Gerd Liefländer System Architecture Group Universität Karlsruhe (TH), System Architecture Group

Chapter 15: Distributed Communication. Sockets Remote Procedure Calls (RPCs) Remote Method Invocation (RMI) CORBA Object Registration

Network Computing (EE906) Part 4: Distributed Object Technology

Transcription:

TI-25 Advanced Lectures on knowledge Engineering Client-Server & Distributed Objects Platform Department of Information & Computer Sciences, Saitama University B.H. Far (far@cit.ics.saitama-u.ac.jp) http://www.cit.ics.saitama-u.ac.jp/~far/lectures/ke2/ke2-06/ 2000 年度前期 B.H. Far@Saitama University 1

Contents 1. Basic Concepts and Definitions 2. Architecture 3. Client-Server Objects 4. Business Objects 5. CORBA & JAVA ORBs 6. CORBA & Agents 7. Developing Tools and Languages 8. Discussion and Conclusion 2000 年度前期 B.H. Far@Saitama University 2

Section 1 Basic Concepts & Definitions 2000 年度前期 B.H. Far@Saitama University 3

WWW Technologies 2000 年度前期 B.H. Far@Saitama University 4

Basic Idea: Simple & Powerful An architecture for interoperability: Allowing intelligent components find each other on a common bus Intelligent Component interface Another Object Bus Object Bus Intelligent Component interface interface Intelligent Component 2000 年度前期 B.H. Far@Saitama University 5

Distributed Object Platform Distributed Objects Object Request Broker (ORB) Client-Server Computing: IIOP, CORBA Style HTML HTML & Forms HTML & JAVA HTTP IIOP CORBA Internet TCP/IP HTTP IIOP CORBA CGI Doc. Apps Apps CORBA ORB DBMS Notes WWW Server Client Network Server Application 2000 年度前期 B.H. Far@Saitama University 6

Definitions Common Object Request Broker Architecture (CORBA) CORBA allows intelligent components (agents) find each other and coordinate their behavior on a common object bus Advantages: Client-server architecture middleware Using objects as a metaphor for using existing applications Ideal for component-based applications 2000 年度前期 B.H. Far@Saitama University 7

Confusing Terminology OMG: Object Management Group IDL: Interface Definition Language ORB: Object Request Broker CORBA: Common Object Request Broker Architecture Component (distributed object) : An object with its interface defined in IDL IIOP: Internet Inter ORB Protocol 2000 年度前期 B.H. Far@Saitama University 8

Distributed CORBA Object -1 IDL defines components boundary, i.e., interface with other components All components on ORB use IDL as their interface Every object (distributed object) is a component C C++ Java Ada C C++ Java Ada IDL IDL IDL IDL IDL IDL IDL IDL Client Server ORB 2000 年度前期 B.H. Far@Saitama University 9

Distributed CORBA Object -2 OMG providers who supply components describe the interface and structure of their products An object requesting something from another object knows the target object s interface All the interfaces are defined in CORBA interface repository. The definition helps objects find each other dynamically The OMG providers, specify which objects and methods are available, and which interface adapters are supported 2000 年度前期 B.H. Far@Saitama University 10

Other Object Models? CORBA Supported by OMG (Object Management Group) including over 700 companies, including IBM, SUN, HP, Apple, Digital, Oracle, Netscape, Hitachi, etc. DCOM Distributed Component Object Model, supported by Microsoft Co. 2000 年度前期 B.H. Far@Saitama University 11

Client-Server Middleware Other client-server middleware Remote Procedure Call (RPC) Peer-to-Peer Services (PPP) Message-Oriented Middleware (MOM) etc. CORBA offers more than the other methods e.g., Polymorphism: the same function call on a target object has different effects, depending on the object that receives it 2000 年度前期 B.H. Far@Saitama University 12

Benefits of CORBA Coexistence with existing systems Binding with any high level language of your choice Connectivity to every other ORB objects using Internet Inter ORB Protocol (IIOP) service Built-in security Built-in transaction handling mechanism Polymorphism 2000 年度前期 B.H. Far@Saitama University 13

Section 2 Architecture 2000 年度前期 B.H. Far@Saitama University 14

Object Management Architecture 2000 年度前期 B.H. Far@Saitama University 15

Object Request Broker (ORB) ORB is the object bus ORB allows local or remote objects request to and receive responses from the other objects ORB allows runtime discovery and invocation of other objects services Compatibility and interoperability 2000 年度前期 B.H. Far@Saitama University 16

Common Facilities A collection of IDL-defined frameworks that provide services of direct use to application objects Examples of common facilities OpenDoc: Distributed Component Document Facility Data interchange Mobile agents Business objects framework Internationalization 2000 年度前期 B.H. Far@Saitama University 17

Common Object Services CORBAservices are generic, application domain independent and mono-functional services Services can be combined in any application in many different ways There are currently 15 services: Naming, Events, Life Cycle, Persistence, Relationships, Externalization, Transactions, Concurrency Control, Licensing, Query, Properties, Security, Time, Collections, and Trading Services 2000 年度前期 B.H. Far@Saitama University 18

Application Objects Application objects stand on top of the structure Application (business) objects are build and maintained by individual companies 2000 年度前期 B.H. Far@Saitama University 19

Section 3 Client-Server Objects 2000 年度前期 B.H. Far@Saitama University 20

Client-Server Objects - 1 Services are defined using IDL Client IDL stubs define how clients invoke corresponding services on the server Interface repository holds description of all the registered components interfaces, their methods and parameters (method signatures) 2000 年度前期 B.H. Far@Saitama University 21

Client-Server Objects - 2 ORB interface A few APIs useful to local services Server IDL Skeletons (stubs) Static interface to services exported by servers Dynamic Skeleton Interface Runtime binding mechanism for incoming method calls Object Adapter Accepting requests for service on behalf of server 2000 年度前期 B.H. Far@Saitama University 22

Client-Server Objects - 3 ORB allows portable object applications IIOP allows interoperability 2000 年度前期 B.H. Far@Saitama University 23

Client-Server Objects - 4 IIOP: Internet Inter ORB Protocol IIOP is basically TCP/IP with some CORBA-defined message exchanges Any ORB can connect with the universe of ORBs by translating requests to and from the IIOP backbone ORB A ORB C Backbone ORB (IIOP) ORB B 2000 年度前期 B.H. Far@Saitama University 24

Client-Server Objects - 5 Static and Dynamic methods Two types of client-server invocation: Static and dynamic The server is not aware whether the invoked method is static or dynamic Object Implementation Client Dynamic invocation Client IDL stubs Server IDL Skeletons + Object Adapter ORB 2000 年度前期 B.H. Far@Saitama University 25

Create Server Classes How to Create server classes, provide interface stubs, store definitions in Interface Repository, instantiate objects at run time and record them with the Implementation Repository 2000 年度前期 B.H. Far@Saitama University 26

Section 4 Business Objects 2000 年度前期 B.H. Far@Saitama University 27

Business Objects - 1 A business object exposes its interfaces to its clients via IDL and communicates with other objects using the ORB 2000 年度前期 B.H. Far@Saitama University 28

Business Objects - 2 A business object is composed of 3 objects: Business object Business process object Presentation Object 2000 年度前期 B.H. Far@Saitama University 29

Business Objects - 3 Client Server interaction 2000 年度前期 B.H. Far@Saitama University 30

Section 5 Corba & Java ORBS 2000 年度前期 B.H. Far@Saitama University 31

CORBA-Java ORBs With a Java ORB, an applet can invoke methods on CORBA objects using the IIOP protocol over the internet There is no need to use HTTP and CGI ORBlets: CORBA enabled applets Use client-side ORBlets in any Java enabled browser Java ORBs Sun s Joe and NEO Netscape s VisiBroker 2000 年度前期 B.H. Far@Saitama University 32

Joe and NEO Joe: A Client-side Java ORB Client-side Java Static method Dynamic method Interface Repository Server callbacks Native Java over IIOP Server-side Java Wide market support Yes Yes No No Yes No No Yes 2000 年度前期 B.H. Far@Saitama University 33

VisiBroker VisiBroker: A client and server ORB Client-side Java Static method Dynamic method Interface Repository Server callbacks Native Java over IIOP Server-side Java Wide market support Yes Yes Yes Yes Yes Yes Yes Yes 2000 年度前期 B.H. Far@Saitama University 34

Section 6 Developing Tools and Languages 2000 年度前期 B.H. Far@Saitama University 35

Developing Tools : ABE ABE Agent Building Environment (ABE) from IBM written in C++ and Java. agents in ABE have rule-based reasoning and interfaces to HTTP, NNTP and SMTP Description Communication Infrastructure Directory service Message Protocol Mediation Service Security Service Property Message based Connectionless Multicast Push Asynchronous None HTTP, NNTP, SMTP None None 2000 年度前期 B.H. Far@Saitama University 36

Developing Tools : JAT JAT The Java Agent Template (JAT) and JAT-Lite from Stanford University enable Java agents to communicate over a LAN via KQML Description Communication Infrastructure Directory service Message Protocol Mediation Service Security Service Property Message based Connected Point-to-point Push Synchronous Nameserver KQML None None 2000 年度前期 B.H. Far@Saitama University 37

Developing Tools : JESS JESS Java Expert System Shell (JESS) is basically CLIPS in Java; it enables solitary reasoning agents to be constructed Description Communication Infrastructure Directory service Message Protocol Mediation Service Security Service Property None None None None None 2000 年度前期 B.H. Far@Saitama University 38

Developing Tools : VOYAGER VOYAGER Voyager from ObjectSpace Inc. provides an Object Request Broker (ORB) for Java agents Description Communication Infrastructure Directory service Message Protocol Mediation Service Security Service Property Message based Connectionless Point-to-point Push Asynchronous ORB IIOP None None 2000 年度前期 B.H. Far@Saitama University 39

Developing Tools : OAA OAA Open Agent Architecture (OAA) from SRI enables the construction of agents that based on a logic-based InterAgent Communication Language and run on top of CORBA Description Communication Infrastructure Directory service Message Protocol Mediation Service Security Service Property Message based Connected Point-to-point Push Synchronous ORB IIOP Facilitator None 2000 年度前期 B.H. Far@Saitama University 40

Section 7 Corba & Agents 2000 年度前期 B.H. Far@Saitama University 41

CORBA & Agents - 1 A client-server information system is a collection of collaborating distributed components (distributed objects) A multi-agent system is a collection of intelligent agents whose models of message passing (i.e., interfaces) and services (i.e., methods) are defined and implemented in IDL and CORBA terms 2000 年度前期 B.H. Far@Saitama University 42

CORBA & Agents - 2 Agents are assumed to have a mental state that dictate agents actions and which are affected by messages they receive Agent s action depends on the incoming message, history (Belief) and the future (Capability) Interfaces and services to be defined: Belief: Agent believes things at certain times Obligation: Agent makes an Obligation to take an action at certain times Decision: An obligation towards oneself Commitment etc. 2000 年度前期 B.H. Far@Saitama University 43

Section 8 Conclusion 2000 年度前期 B.H. Far@Saitama University 44

Advantages Server viewpoint Scalable server-to-server infrastructure Distributed object infrastructure Reuse of existing applications Client viewpoint Remote method invocation Built-in services: Transactions, security, naming, etc. 2000 年度前期 B.H. Far@Saitama University 45