Corba. Corba services. The (very) global picture. Corba. Distributed Object Systems 3 CORBA/IDL. Corba. Features. Services

Size: px
Start display at page:

Download "Corba. Corba services. The (very) global picture. Corba. Distributed Object Systems 3 CORBA/IDL. Corba. Features. Services"

Transcription

1 Distributed Systems 3 CORBA/ Piet van Oostrum Sep 11, 2008 Corba Common Request Broker Architecture Middleware for communicating objects Context Management Group (OMG) Consortium of computer companies (Sun, HP, IBM,...) Defines standards (interfaces) for support of (distributed) OO applications Also for example UML Based on concrete available technology, propositions by consortium members Status Many services defined But not all implemented by all distributions yet Many commercial and open source implementations New services invented occasionally (e.g. Corba Components) Corba Corba The (very) global picture Corba services Piet van Oostrum 1 OMG To make collaboration Management go Architecture well Common Facilities Vertical Common Facilities Application s Horizontal Common Facilities Bus Services "System Frameworks" Common Facilities "Application Frameworks" Business s User Information Management Request Broker (ORB) Systems Management Task Management Naming Life Cycle Query Time Trader Licensing Events Transactions Properties Collections Security Interoperability Collaboration Persistence Externalization Concurrency Relationships Change Management The (very) global picture Common Services - Not OMG all services yetmanagement defined Architecture Piet van Oostrum 2 - Not all services yet defined Piet van Oostrum 3 Services Features Naming Referencing by name Naming schemes Events Sending events Registering interest in events Persistence Storing objects Distributed Life Cycle Systems 03/02/98 Atze Dijkstra Java RMI Creating, copying, moving, 3 deleting Dept. components of Comp.Science, on the bus UU Transactions Two-phase commit, rollback Static and dynamic method invocation Compile time or runtime definition of method invocation High-level language bindings Definition Language () Independent of language (C, C++, Smalltalk, Java, Python) Translates to language code Self-describing system Distributed Systems 03/02/98 Atze Dijkstra Java RMI 6 Dept. of Comp.Science, UU Contains information describing interfaces, methods (+ parameters), etc. a server provides Can be interrogated at runtime Many more... Piet van Oostrum 4 Piet van Oostrum 5 slides3.pdf September 11,

2 Example Quoter Looking like normal use of service Notation used: C++ int main( void ) // Use a factory to bind to any quoter Quoter_var quoter = find_quoter_service("quoter") ; const char *stock_name = "ACME ORB, Inc." ; long value = quoter->get_quote(stock_name) ; cout << stock_name << " = " << value << endl ; return 0 ; Quoter interface Functionality defined in OMG interface Quoter exception Invalid_Stock ; long get_quote( in string stock_name ) raises (Invalid_Stock) ; Description Language Used by both clients and servers Language independent With compilers to specific languages Location transparent Piet van Oostrum 6 Piet van Oostrum 7 CORBA structure Dynamic Invocation Requests Stubs Client ORB ORB Core Dynamic Skeleton Adapter identical for all ORB implementations May be multiple object adaptors Stubs and a skeleton for each object type ORB dependent interface Implementation Static Skeleton Impl CORBA core components An Request Broker (ORB) Basic or Portable Adapter (BOA/POA) An Definition Language () A Static Invocation (SII) A Dynamic Invocation (DII) A Dynamic Skeleton (DSI) and Implementation Repositories Programming language mappings An Interoperability Spec (GIOP, IIOP) GIOP (General Inter-ORB Protocol) = protocol between local ORBs IIOP (Internet Inter-ORB Protocol) = GIOP through Internet (TCP/IP) Piet van Oostrum 8 Piet van Oostrum 9 Core components Request Broker (ORB) Central component location, creation, activation Message exchange Has its own interface for local services Local ORBs + G/IIOP = object bus NB. ORB is a distributed thing, but each local part is also called ORB Usually implemented as a library inside the process (e.g. DLL or Java package) Static Invocation (SII) Client stubs (proxy pattern) Static interface to object services Dynamic Invocation (DII) is runtime variant, interface repository is used for construction of calls Core components Static skeleton Framework through which calls are passed to object service Dynamic Skeleton (DSI) is dynamic variant adapter Provides mapping of object identifiers to implementation instances Uses implementation repository identifiers ORB translates local identifier to Interoperable References (IOR) and vice-versa IOR contains all information to locate the remote object Piet van Oostrum 10 Piet van Oostrum 11 slides3.pdf September 11,

3 Adaptor Adapter Tasks of an object adapter Tasks of an object adaptor Up-call to method A skeleton Handle incoming requests Implementation ID ID B skeleton ID Adapter Broadcast services Manage object references Instantiate new objects Register new classes Impl. Basic Adapter (BOA) Basic service Barebones ORB Variety of server kinds Server kinds Single process accepting calls, blocking while handling Server per object starts at first call on object Server per method starts for each call Persistent server already exists BOA is deprecated adapter maps object ID s to object instances Skeleton maps methods names to method implementations Piet van Oostrum 12 Piet van Oostrum 13 Portable Adapter (POA) BOA is too restricted E.g. no support for moving objects or objects that are sleeping in a database. BOA is underspecified Vendors made their own extensions non-portable POA solves this Many different ways to create/revive objects Distributed Systems 03/02/98 Atze Dijkstra Java RMI 19 Dept. of Comp.Science, UU Will be treated in a later lecture. Corba implementations There are many Corba implementations: Several commercial implementations Open source implementations (see selection below) C++: TAO (The Ace ORB) OmniORB Orbit (used in Linux/Gnome) Java: built-in implementation in Java (called Java ) is not very good JacORB is a better implementation OpenORB (a bit antique) Python: Fnorb (written in Python) OmniORB Piet van Oostrum 14 Using Using 5 Create definitions 1 Client Client stubs stubs 2 Precompiler Skeletons 3 Add server impl code 4 Compile Server Server stubs stubs Instantiate Impl's Impl's 6 Adapter 7 Impl. Piet van Oostrum 15 Using From to runtime info Define object classes using Precompile file, creates stubs and skeletons Add implementation code to skeletons Compile code, creating misc interfaces and info Bind class definitions to interface repository (optional) Instantiate objects on server Register run-time objects with the implementation repository (optional) Calling Static interface as method invocation Uses normal object.method syntax Dynamic interface using special calls to construct message method invocation is constructed at run-time. Client Server Piet van Oostrum 16 Piet van Oostrum 17 slides3.pdf September 11,

4 compiler x.idl Developer We use a subset of Corba version 2 defines simple interfaces Client Developer -to-java Compiler -to-c++ Compiler Server Developer version 3 defines components can be translated to C, C++, Java, Python, etc. app.java x.java x.h x.cpp x_skel.h x_skel.cpp srv.cpp Translation generates interface definitions, stubs, skeletons, etc. Other s (e.g. Microsoft ) are similar. Java ORB Run-Time Client Executable IIOP Server Executable C++ ORB Run-Time generated file (source: Iona) Piet van Oostrum 18 Piet van Oostrum 19 concepts 1 Module: namespace, like package in Java : Basic thing, between Java interface and class Abstract interface (no objects) Local interface (only for non-remote objects) Unconstrained interface Inheritance: can inherit from one or more other interfaces (multiple inheritance): interface Dog: Pet, Animal Inherits all variables, methods, exceptions,... Unconstrained interface may not inherit from local interface All unconstrained interfaces inherit from CORBA:: (this is Corba, not Java ). Constants: const double pi= ; Operations (methods) concepts 2 Attributes (instance variables) Implemented by get/set methods Can be declared readonly (no set) Type declarations: give a name to a type typedef struct complex float re, im; typedef sequence<complex> vector; Exceptions: can have data members System exceptions: can be raised even when not specified User exceptions: must be declared with raises Standard exceptions: are defined in OMG documentation (both system and user) Piet van Oostrum 20 Piet van Oostrum 21 concepts 3 Names (identifiers) are case insensitive, so User, USER and user are the same. But you must use only one form Scopes: Names can be qualified by the module and interface in which they are defined. e.g. Stock::Quoter::get_quote If no module is used: ::Quoter::get_quote Members of structs, unions, etc. can also be qualified with the struct, etc. name Inside the same module the module part can be omitted, inside the same interface the interface part can be omitted, etc. types short 16 bit integer long 32 bit integer long long 64 bit integer signed and unsigned boolean float, double and long double fixed fixed point number char (8 bits character iso ) wchar (wide characters implementation dependent) Piet van Oostrum 22 Piet van Oostrum 23 slides3.pdf September 11,

5 types Example string strings consisting of chars wstring strings consisting of wchars octet (8 bits unchanged) namng i context struct (like in C, C++, Pascal record) union (can contain different types, chosen with a switch construction) enum (enumeration constant) array multidimensional, fixed bounds sequence array like, one-dimensional; no fixed length (max may be specified) any can contain any other type. Piet van Oostrum 24 module MyAnimals CORBA cass l with /* def of Dog */ ( mul tiple) inher itance interface Dog:Pet, Animal inst. var s,... attribut e unsigned long age; excepti on NotInterested string explanation parame ters: type void Bark(in short how_ long) and di rection raises ( NotInterested) ; method /* def of Cat */ interface Cat: Animal void Eat(); Piet van Oostrum 25 Hello Quoter module HelloApp interface Hello string sayhello(); interface HelloFactory Hello create(in string message); module Stock // An exception is a combination of // an event and maybe some data. exception Invalid_Stock ; exception Invald_Quoter ; // like C++ class, Java interface interface Quoter long get_quote(in string stock_name) raises (Invalid_Stock) ; Piet van Oostrum 26 Piet van Oostrum 27 Quoter continued Complex types in Complex types should be given a name // Manage the lifecycle of a Quoter object interface Quoter_Factory // Returns a new Quoter selected by name // e.g. "MSFT" Quoter create_quoter(in string name) raises (Invalid_Quoter); void destroy_quoter(in Quoter quoter) ; Similiar to Java constructs in, out, inout specify direction of parameters enum struct union sequence array fixed typedef typedef long int; typedef string<30> name; typedef some_complex_type mytype; Note: the name to be defined comes last!! Piet van Oostrum 28 Piet van Oostrum 29 slides3.pdf September 11,

6 Enum enum defines a series of named constants: enum Color Red, Green, Blue const Color favorite_color = Blue; module Mod enum Size small, medium, large const Mod::Size MYSIZE = Mod::medium; Error: const Color another = Mod::medium; // is an error Struct struct defines a type with a collection of fields Like a Java class without methods struct Point2D float x; float y; struct Address string<25> street; short number; string<20> city; Piet van Oostrum 30 Piet van Oostrum 31 Struct Better to use names for the complex types: In some cases this is obligatory typedef string<25> streetname; typedef string<20> cityname; struct Address streetname street; short number; cityname city; Sequence and array Arrays have fixed size and can be multidimensional: Define matrix as an array of 10*20 floats typedef double Point3D[3]; typedef float matrix[10][20]; First the type of the elements, then the name of the new type, then the dimensions!!! Sequences are onedimensional and are flexible in length They may have an upper bound typedef sequence<int> vector; typedef sequence<int, 10> bounded_vector; Piet van Oostrum 32 Piet van Oostrum 33 union union can contain any of a number of other types The choice is indicated by a discriminator This must be some integer, char, bool or enum. union message switch (char) case e : string english; case c : wstring chinese; union enum message_type SMS, struct sms_message long telephone_number; string<160> contents; struct _message string From; string To; string Subject; string contents; Piet van Oostrum 34 Piet van Oostrum 35 slides3.pdf September 11,

7 union union message switch (message_type) case SMS: sms_message sms; case _message ; to Java mapping Language mapping Most constructs map easily to Java Done by compiler Example constant, array module Example const long along = ; const long ArrayBound = 42; struct ArrayContainer long array[arraybound]; gives Piet van Oostrum 36 Piet van Oostrum 37 to Java mapping Another Example package Example; public final class along public static final int value = (int) (-12345L); public final class ArrayContainer // instance variables public int[] array; // constructors public ArrayContainer() public ArrayContainer(int[] array)... module StatMod interface Stat void init(); void additem(in double item); double getavg (); long getnum (); void getall (out double avg, out long num); Piet van Oostrum 38 Piet van Oostrum 39 Python crash course Python is an elegant dynamic programming language: No static type declarations Statements can be entered and executed directly in the interpreter High level datatypes: lists, tuples, dictionaries, classes,... Each python file is a module (namespace) and can be imported in other modules Block structure by indentation Python example class Test: #constructor, self is like this in Java def init (self, value): self.value = value def getval(self, x): return self.value, x # return a tuple x = Test(5) print x.getval(3) # should print (5, 3) instance variables/methods can only be referenced with dot notation (obj.var/obj.meth() without dot only local and global variables Piet van Oostrum 40 Piet van Oostrum 41 slides3.pdf September 11,

8 Python server part 1 Python server part 2 import sys from Fnorb.orb import BOA, CORBA import StatMod_skel class StatServer(StatMod_skel.Stat_skel): def init(self): self.count = 0 self.sum = 0.0 def getavg(self): try: return self.sum/self.count except: return 0 def getall(self): return self.getavg(),self.getnum() def additem(self, x): self.sum += x self.count += 1 def getnum(self): return self.count Piet van Oostrum 42 Piet van Oostrum 43 Python server part 3 Python server part 3 # Initialise the ORB. orb = CORBA.ORB_init(argv, CORBA.ORB_ID) # Initialise the BOA. boa = BOA.BOA_init(argv, BOA.BOA_ID) # Create an object reference ( fred is the object key). obj = boa.create( fred, StatServer._FNORB_ID) # Create an instance of the implementation class. impl = StatServer() # Write the stringified object reference to a file f = open( Server.ref, w ) f.write(orb.object_to_string(obj)) f.close() # Start the event loop. boa._fnorb_mainloop() In this example we don t use a Naming service, just write the object reference to a file. boa.obj_is_ready(obj, impl) Piet van Oostrum 44 Piet van Oostrum 45 Python client Python client import sys from Fnorb.orb import CORBA import StatMod # Initialise the ORB. orb = CORBA.ORB_init(sys.argv, CORBA.ORB_ID) # Read the server s stringified IOR from a file stringified_ior = open( Server.ref ).read() # Make sure that the server is not a nil object reference # (represented in Python by the value None). if server is None: raise Nil object reference! # Call the server! server.init() # server.additem etc. # Convert the stringified IOR into an active object reference. server = orb.string_to_object(stringified_ior) Piet van Oostrum 46 Piet van Oostrum 47 slides3.pdf September 11,

9 Java client Java client import org.omg.corba.*; import java.util.*; import java.io.*; import StatMod.*; public class StatClient public static void main(string args[]) Stat stat; String ior; try ORB orb = ORB.init(args, null); stat.init(); stat.additem(7); stat.additem(4); System.out.println(stat.getAvg()); catch (Throwable e) System.err.println(e); e.printstacktrace(system.err); BufferedReader ref = new BufferedReader (new FileReader("Server.ref")); ior = ref.readline(); stat = StatHelper.narrow (orb.string_to_object(ior)); Piet van Oostrum 48 Piet van Oostrum 49 Translation to Java Java out parameters package StatMod; public interface StatOperations void init (); void additem (double item); double getavg (); int getnum (); void getall (org.omg.corba.doubleholder avg, org.omg.corba.intholder num); IntHolder count = new IntHolder(); DoubleHolder avg = new DoubleHolder();... stat.init(); stat.additem(7); stat.additem(4); // Use out parameters stat.getall(avg, count); System.out.println(avg.value+" "+count.value); Holder classes have a value attribute that contains the actual value of the (in)out parameter. Piet van Oostrum 50 Piet van Oostrum 51 slides3.pdf September 11,

Introduction to Distributed Computing using CORBA

Introduction to Distributed Computing using CORBA Introduction to Distributed Computing using CORBA Rushikesh K. Joshi Dept of Computer Science & Engineering Indian Institute of Technology, Bombay Powai, Mumbai - 400 076, India. Email: rkj@cse.iitb.ac.in

More information

Infrastructure that supports (distributed) componentbased application development

Infrastructure that supports (distributed) componentbased application development Middleware Technologies 1 What is Middleware? Infrastructure that supports (distributed) componentbased application development a.k.a. distributed component platforms mechanisms to enable component communication

More information

3F6 - Software Engineering and Design. Handout 10 Distributed Systems I With Markup. Steve Young

3F6 - Software Engineering and Design. Handout 10 Distributed Systems I With Markup. Steve Young 3F6 - Software Engineering and Design Handout 10 Distributed Systems I With Markup Steve Young Contents 1. Distributed systems 2. Client-server architecture 3. CORBA 4. Interface Definition Language (IDL)

More information

Distributed Network Management Using SNMP, Java, WWW and CORBA

Distributed Network Management Using SNMP, Java, WWW and CORBA Distributed Network Management Using SNMP, Java, WWW and CORBA André Marcheto Augusto Hack Augusto Pacheco Augusto Verzbickas ADMINISTRATION AND MANAGEMENT OF COMPUTER NETWORKS - INE5619 Federal University

More information

What is COM/DCOM. Distributed Object Systems 4 COM/DCOM. COM vs Corba 1. COM vs. Corba 2. Multiple inheritance vs multiple interfaces

What is COM/DCOM. Distributed Object Systems 4 COM/DCOM. COM vs Corba 1. COM vs. Corba 2. Multiple inheritance vs multiple interfaces Distributed Object Systems 4 COM/DCOM Piet van Oostrum Sept 18, 2008 What is COM/DCOM Component Object Model Components (distributed objects) à la Microsoft Mainly on Windows platforms Is used in large

More information

CORBA Programming with TAOX11. The C++11 CORBA Implementation

CORBA Programming with TAOX11. The C++11 CORBA Implementation CORBA Programming with TAOX11 The C++11 CORBA Implementation TAOX11: the CORBA Implementation by Remedy IT TAOX11 simplifies development of CORBA based applications IDL to C++11 language mapping is easy

More information

Distributed Applications with CORBA. Frank Kargl Chaos Computer Club, Ulm, Germany frank.kargl@ulm.ccc.de

Distributed Applications with CORBA. Frank Kargl Chaos Computer Club, Ulm, Germany frank.kargl@ulm.ccc.de Distributed Applications with CORBA Frank Kargl Chaos Computer Club, Ulm, Germany frank.kargl@ulm.ccc.de Future Networks March 10, 2006 Frank Kargl, CCC Ulm 2 The Problem Application Integration and Distributed

More information

Introduction Object-Oriented Network Programming CORBA addresses two challenges of developing distributed systems: 1. Making distributed application development no more dicult than developing centralized

More information

Overview of CORBA 11.1 I NTRODUCTION TO CORBA. 11.4 Object services 11.5 New features in CORBA 3.0 11.6 Summary

Overview of CORBA 11.1 I NTRODUCTION TO CORBA. 11.4 Object services 11.5 New features in CORBA 3.0 11.6 Summary C H A P T E R 1 1 Overview of CORBA 11.1 Introduction to CORBA 11.2 CORBA architecture 11.3 Client and object implementations 11.4 Object services 11.5 New features in CORBA 3.0 11.6 Summary In previous

More information

Middleware Lou Somers

Middleware Lou Somers Middleware Lou Somers April 18, 2002 1 Contents Overview Definition, goals, requirements Four categories of middleware Transactional, message oriented, procedural, object Middleware examples XML-RPC, SOAP,

More information

CORBA. BY VIRAJ N BHAT www.caip.rutgers.edu/~virajb

CORBA. BY VIRAJ N BHAT www.caip.rutgers.edu/~virajb CORBA BY VIRAJ N BHAT www.caip.rutgers.edu/~virajb Topics to be covered Remote Procedure Calls. Conceptual overview of CORBA CORBA IDL Understanding the Broker-OA and BOA Interoperability Applications

More information

Module 17. Client-Server Software Development. Version 2 CSE IIT, Kharagpur

Module 17. Client-Server Software Development. Version 2 CSE IIT, Kharagpur Module 17 Client-Server Software Development Lesson 42 CORBA and COM/DCOM Specific Instructional Objectives At the end of this lesson the student would be able to: Explain what Common Object Request Broker

More information

CORBA Objects in Python

CORBA Objects in Python CORBA Objects in Python Jason Tackaberry (tack@linux.com) April, 2000 Algoma University College Supervised by George Townsend Table of Contents 1. Introduction...1 1.1. Trends in Distributed Objects...1

More information

Application of Java and CORBA to Distributed Control and Monitoring Applications in the PHENIX Online Control System

Application of Java and CORBA to Distributed Control and Monitoring Applications in the PHENIX Online Control System Application of Java and CORBA to Distributed Control and Monitoring Applications in the PHENIX Online Control System E. Desmond 1, S. Adler 1, Lars Ewell 1, J. Haggerty 1, Hyon Joo Kehayias 1, S. Pate

More information

CORBAservices. Naming. Part of the CORBA Naming Service Interface in IDL. CORBA Naming Service

CORBAservices. Naming. Part of the CORBA Naming Service Interface in IDL. CORBA Naming Service CORBAservices CORBAservices are general purpose and application independent services. They resemble and enhance services commonly provided by an operating system: Service Collection Query Concurrency Transaction

More information

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications Chapter 6. CORBA-based Architecture 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications 1 Chapter 6. CORBA-based Architecture Part 6.1 Introduction to

More information

How To Use A Com In A Microsoft Com 2.5 (Dsi) (Dsi) (For Microsoft) (Com) (Sib) (Operations) (Orchestra) (Ahem) (I

How To Use A Com In A Microsoft Com 2.5 (Dsi) (Dsi) (For Microsoft) (Com) (Sib) (Operations) (Orchestra) (Ahem) (I Distributed Object Systems 8 DCOM 2 COM (and some Corba) Dynamic Invocation Containment/Aggregation/Delegation Automation Monikers Piet van Oostrum Oct 7, 2008 Piet van Oostrum 1 Dynamic Invocation in

More information

Getting Started with the Internet Communications Engine

Getting Started with the Internet Communications Engine Getting Started with the Internet Communications Engine David Vriezen April 7, 2014 Contents 1 Introduction 2 2 About Ice 2 2.1 Proxies................................. 2 3 Setting Up ICE 2 4 Slices 2

More information

Introduction CORBA Distributed COM. Sections 9.1 & 9.2. Corba & DCOM. John P. Daigle. Department of Computer Science Georgia State University

Introduction CORBA Distributed COM. Sections 9.1 & 9.2. Corba & DCOM. John P. Daigle. Department of Computer Science Georgia State University Sections 9.1 & 9.2 Corba & DCOM John P. Daigle Department of Computer Science Georgia State University 05.16.06 Outline 1 Introduction 2 CORBA Overview Communication Processes Naming Other Design Concerns

More information

Architecture of the CORBA Component Model CORBA 3.0

Architecture of the CORBA Component Model CORBA 3.0 Architecture of the CORBA Component Model CORBA 3.0 What is CORBA CORBA (Common Request Broker Architecture) is a distributed object-oriented client server platform. It provides: An object oriented remote

More information

Netscape Internet Service Broker for C++ Programmer's Guide. Contents

Netscape Internet Service Broker for C++ Programmer's Guide. Contents Netscape Internet Service Broker for C++ Programmer's Guide Page 1 of 5 [Next] Netscape Internet Service Broker for C++ Programmer's Guide Nescape ISB for C++ - Provides information on how to develop and

More information

Introduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture

Introduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture Introduction to CORBA 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture 1. Introduction CORBA is defined by the OMG The OMG: -Founded in 1989 by eight companies as a non-profit

More information

The omniorbpy version 3 User s Guide

The omniorbpy version 3 User s Guide The omniorbpy version 3 User s Guide Duncan Grisby (email: dgrisby@apasphere.com) Apasphere Ltd. July 2009 Changes and Additions, June 2007 Updates for omniorbpy 3.1. Changes and Additions, June 2005 New

More information

Crash Course in Java

Crash Course in Java Crash Course in Java Based on notes from D. Hollinger Based in part on notes from J.J. Johns also: Java in a Nutshell Java Network Programming and Distributed Computing Netprog 2002 Java Intro 1 What is

More information

CORBA I An Introduction To CORBA CptS 464/564 Sept 2, 2004

CORBA I An Introduction To CORBA CptS 464/564 Sept 2, 2004 CORBA I An Introduction To CORBA CptS 464/564 Sept 2, 2004 2nd September 2004 Lecture Overview Object Management Group and CORBA CORBA Overview Lab use CORBA Example OMG and CORBA OMG (The Object Management

More information

Interface Definition Language

Interface Definition Language Interface Definition Language A. David McKinnon Washington State University An Interface Definition Language (IDL) is a language that is used to define the interface between a client and server process

More information

The Advantages of CorBA For Network Based Training Systems

The Advantages of CorBA For Network Based Training Systems Support of multimedia services for distributed network training applications in CORBA-3 Fausto Rabitti CNUCE-CNR, Via S. Maria, 36, Pisa, Italy Abstract In this paper, fundamental technological issues

More information

Mixing Python and Java How Python and Java can communicate and work together

Mixing Python and Java How Python and Java can communicate and work together Mixing Python and Java How Python and Java can communicate and work together EuroPython 2009 (June 30th 2009, Birmingham) Andreas Schreiber German Aerospace Center (DLR), Cologne,

More information

Tuple spaces and Object spaces. Distributed Object Systems 12. Tuple spaces and Object spaces. Communication. Tuple space. Mechanisms 2.

Tuple spaces and Object spaces. Distributed Object Systems 12. Tuple spaces and Object spaces. Communication. Tuple space. Mechanisms 2. Distributed Object Systems 12 Tuple spaces and Object spaces Tuple spaces and Object spaces Tuple spaces Shared memory as a mechanism for exchanging data in a distributed setting (i.e. separate from processes)

More information

The Java Series Introduction to Java RMI and CORBA. The Java Series. Java RMI and CORBA Raul RAMOS / CERN-IT User Support Slide 1

The Java Series Introduction to Java RMI and CORBA. The Java Series. Java RMI and CORBA Raul RAMOS / CERN-IT User Support Slide 1 The Java Series Introduction to Java RMI and CORBA Raul RAMOS / CERN-IT User Support Slide 1 What are RMI and CORBA for? Usually, in your application, once you instantiate objects, you can invoke methods

More information

Fundamentals of Java Programming

Fundamentals of Java Programming Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors

More information

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies)

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies) Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies) Duration of Course: 6 Months Fees: Rs. 25,000/- (including Service Tax) Eligibility: B.E./B.Tech., M.Sc.(IT/ computer

More information

Layering a computing infrastructure. Middleware. The new infrastructure: middleware. Spanning layer. Middleware objectives. The new infrastructure

Layering a computing infrastructure. Middleware. The new infrastructure: middleware. Spanning layer. Middleware objectives. The new infrastructure University of California at Berkeley School of Information Management and Systems Information Systems 206 Distributed Computing Applications and Infrastructure Layering a computing infrastructure Middleware

More information

INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011

INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 1 Goals of the Lecture Present an introduction to Objective-C 2.0 Coverage of the language will be INCOMPLETE

More information

History OOP languages Year Language 1967 Simula-67 1983 Smalltalk

History OOP languages Year Language 1967 Simula-67 1983 Smalltalk History OOP languages Intro 1 Year Language reported dates vary for some languages... design Vs delievered 1957 Fortran High level programming language 1958 Lisp 1959 Cobol 1960 Algol Structured Programming

More information

The University of Alabama in Huntsville Electrical and Computer Engineering CPE 112 01 Test #4 November 20, 2002. True or False (2 points each)

The University of Alabama in Huntsville Electrical and Computer Engineering CPE 112 01 Test #4 November 20, 2002. True or False (2 points each) True or False (2 points each) The University of Alabama in Huntsville Electrical and Computer Engineering CPE 112 01 Test #4 November 20, 2002 1. Using global variables is better style than using local

More information

The C Programming Language course syllabus associate level

The C Programming Language course syllabus associate level TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming

More information

Objects and classes. Objects and classes. Jarkko Toivonen (CS Department) Programming in Python 1

Objects and classes. Objects and classes. Jarkko Toivonen (CS Department) Programming in Python 1 Objects and classes Jarkko Toivonen (CS Department) Programming in Python 1 Programming paradigms of Python Python is an object-oriented programming language like Java and C++ But unlike Java, Python doesn

More information

Remote Method Invocation in JAVA

Remote Method Invocation in JAVA Remote Method Invocation in JAVA Philippe Laroque Philippe.Laroque@dept-info.u-cergy.fr $Id: rmi.lyx,v 1.2 2003/10/23 07:10:46 root Exp $ Abstract This small document describes the mechanisms involved

More information

Report of the case study in Sistemi Distribuiti A simple Java RMI application

Report of the case study in Sistemi Distribuiti A simple Java RMI application Report of the case study in Sistemi Distribuiti A simple Java RMI application Academic year 2012/13 Vessio Gennaro Marzulli Giovanni Abstract In the ambit of distributed systems a key-role is played by

More information

www.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 www.virtualians.pk

www.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 www.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 Which of the following is a general purpose container? JFrame Dialog JPanel JApplet Which of the following package needs to be import while handling

More information

Limitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component

Limitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component Limitations of Object-Based Middleware Object-Oriented programming is a standardised technique, but Lack of defined interfaces between objects It is hard to specify dependencies between objects Internal

More information

An Incomplete C++ Primer. University of Wyoming MA 5310

An Incomplete C++ Primer. University of Wyoming MA 5310 An Incomplete C++ Primer University of Wyoming MA 5310 Professor Craig C. Douglas http://www.mgnet.org/~douglas/classes/na-sc/notes/c++primer.pdf C++ is a legacy programming language, as is other languages

More information

An Overview of Java. overview-1

An Overview of Java. overview-1 An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2

More information

Middleware and Distributed Systems. Introduction. Dr. Martin v. Löwis

Middleware and Distributed Systems. Introduction. Dr. Martin v. Löwis Middleware and Distributed Systems Introduction Dr. Martin v. Löwis 14 3. Software Engineering What is Middleware? Bauer et al. Software Engineering, Report on a conference sponsored by the NATO SCIENCE

More information

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today. & & 1 & 2 Lecture #7 2008 3 Terminology Structure & & Database server software referred to as Database Management Systems (DBMS) Database schemas describe database structure Data ordered in tables, rows

More information

App Servers & J2EE Platform. Contents: Transaction Processing Monitors. TP Monitors (cont) TP-Monitors. TP Standards. TP Monitors (cont)

App Servers & J2EE Platform. Contents: Transaction Processing Monitors. TP Monitors (cont) TP-Monitors. TP Standards. TP Monitors (cont) App Servers & J2EE Platform Contents: TP-Monitors, OTS CORBA service evolution Application Servers Component-based development J2EE Platform EJBs Mariano Cilia / cilia@informatik.tu-darmstadt.de 1 Transaction

More information

Problem Example Mobile phone after-sale services

Problem Example Mobile phone after-sale services VEDLEGG INF5120 Side 1 av 8 Problem Example Mobile phone after-sale services The problem example is based on a real life situation involving system interactions between ERP and CRM applications, in the

More information

Object Oriented Software Design II

Object Oriented Software Design II Object Oriented Software Design II Introduction to C++ Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 20, 2012 G. Lipari (Scuola Superiore Sant Anna) C++ Intro February

More information

C++FA 5.1 PRACTICE MID-TERM EXAM

C++FA 5.1 PRACTICE MID-TERM EXAM C++FA 5.1 PRACTICE MID-TERM EXAM This practicemid-term exam covers sections C++FA 1.1 through C++FA 1.4 of C++ with Financial Applications by Ben Van Vliet, available at www.benvanvliet.net. 1.) A pointer

More information

Pemrograman Dasar. Basic Elements Of Java

Pemrograman Dasar. Basic Elements Of Java Pemrograman Dasar Basic Elements Of Java Compiling and Running a Java Application 2 Portable Java Application 3 Java Platform Platform: hardware or software environment in which a program runs. Oracle

More information

The Efficiency Analysis of the Object Oriented Realization of the Client-Server Systems Based on the CORBA Standard 1

The Efficiency Analysis of the Object Oriented Realization of the Client-Server Systems Based on the CORBA Standard 1 S C H E D A E I N F O R M A T I C A E VOLUME 20 2011 The Efficiency Analysis of the Object Oriented Realization of the Client-Server Systems Based on the CORBA Standard 1 Zdzis law Onderka AGH University

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

N3458: Simple Database Integration in C++11

N3458: Simple Database Integration in C++11 N3458: Simple Database Integration in C++11 Thomas Neumann Technische Univeristät München neumann@in.tum.de 2012-10-22 Many applications make use of relational database to store and query their data. However,

More information

C++ Programming Language

C++ Programming Language C++ Programming Language Lecturer: Yuri Nefedov 7th and 8th semesters Lectures: 34 hours (7th semester); 32 hours (8th semester). Seminars: 34 hours (7th semester); 32 hours (8th semester). Course abstract

More information

Programming Languages CIS 443

Programming Languages CIS 443 Course Objectives Programming Languages CIS 443 0.1 Lexical analysis Syntax Semantics Functional programming Variable lifetime and scoping Parameter passing Object-oriented programming Continuations Exception

More information

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON PROBLEM SOLVING WITH SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON Addison Wesley Boston San Francisco New York London

More information

JAVA - QUICK GUIDE. Java SE is freely available from the link Download Java. So you download a version based on your operating system.

JAVA - QUICK GUIDE. Java SE is freely available from the link Download Java. So you download a version based on your operating system. http://www.tutorialspoint.com/java/java_quick_guide.htm JAVA - QUICK GUIDE Copyright tutorialspoint.com What is Java? Java is: Object Oriented Platform independent: Simple Secure Architectural- neutral

More information

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Handout 1 CS603 Object-Oriented Programming Fall 15 Page 1 of 11 Handout 1 Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Java

More information

Category: Standards Track August 1995

Category: Standards Track August 1995 Network Working Group R. Srinivasan Request for Comments: 1833 Sun Microsystems Category: Standards Track August 1995 Status of this Memo Binding Protocols for ONC RPC Version 2 This document specifies

More information

Distributed Applications. Python

Distributed Applications. Python Distributed Applications with Python Dr Duncan Grisby duncan@grisby.org Part one Technologies Outline 1. Introduction 2. A simple example 3. XML-RPC details 4. CORBA details 5. Comparisons and summary

More information

Introduction to CORBA

Introduction to CORBA Fundamentals of Distributed Object Systems: The CORBA Perspective Zahir Tari, Omran Bukhres Copyright c 2001 John Wiley & Sons, Inc. Print ISBN 0-471-35198-9 Electronic ISBN 0-471-20064-6 CHAPTER 2 Introduction

More information

Architecture of a Distributed Object Firewall Proxy. Abstract

Architecture of a Distributed Object Firewall Proxy. Abstract NAI Labs #0768 Architecture of a Distributed Object Firewall Proxy July 16, 2000 Gary Lamperillo Gary_Lamperillo@NAI.com NAI Labs - The Security Research Division Network Associates 3415 S. Sepulveda Blvd.

More information

Moving from CS 61A Scheme to CS 61B Java

Moving from CS 61A Scheme to CS 61B Java Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you

More information

Java and Distributed Object Models: An Analysis

Java and Distributed Object Models: An Analysis Abstract Java and Distributed Object Models: An Analysis Marjan Hericko *, Matjaz B. Juric *, Ales Zivkovic *, Ivan Rozman *, Tomaz Domajnko *, Marjan Krisper ** * University of Maribor, Faculty of Electrical

More information

System types. Distributed systems

System types. Distributed systems System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors

More information

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program. Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to

More information

Java Programming Fundamentals

Java Programming Fundamentals Lecture 1 Part I Java Programming Fundamentals Topics in Quantitative Finance: Numerical Solutions of Partial Differential Equations Instructor: Iraj Kani Introduction to Java We start by making a few

More information

The programming language C. sws1 1

The programming language C. sws1 1 The programming language C sws1 1 The programming language C invented by Dennis Ritchie in early 1970s who used it to write the first Hello World program C was used to write UNIX Standardised as K&C (Kernighan

More information

Inter-Domain Management between CORBA and SNMP :

Inter-Domain Management between CORBA and SNMP : Presented at DSOM 96, L Aquila, Italy, October 28-30, 1996. Inter-Domain Management between CORBA and SNMP : WEB-based Management - CORBA/SNMP Gateway Approach Subrata Mazumdar Network and Service Management

More information

Intelligent and Modular Load-Balancing CORBA Naming Service

Intelligent and Modular Load-Balancing CORBA Naming Service Intelligent and Modular Load-Balancing CORBA Naming Service Brecht Vermeulen, Christophe Gardelein, Bart Dhoedt, and Piet Demeester Ghent University, Department of Information Technology, Sint-Pietersnieuwstraat

More information

09336863931 : provid.ir

09336863931 : provid.ir provid.ir 09336863931 : NET Architecture Core CSharp o Variable o Variable Scope o Type Inference o Namespaces o Preprocessor Directives Statements and Flow of Execution o If Statement o Switch Statement

More information

2! Multimedia Programming with! Python and SDL

2! Multimedia Programming with! Python and SDL 2 Multimedia Programming with Python and SDL 2.1 Introduction to Python 2.2 SDL/Pygame: Multimedia/Game Frameworks for Python Literature: G. van Rossum and F. L. Drake, Jr., An Introduction to Python -

More information

Web Services. Copyright 2011 Srdjan Komazec

Web Services. Copyright 2011 Srdjan Komazec Web Services Middleware Copyright 2011 Srdjan Komazec 1 Where are we? # Title 1 Distributed Information Systems 2 Middleware 3 Web Technologies 4 Web Services 5 Basic Web Service Technologies 6 Web 2.0

More information

Sun Microsystems Inc. Java Transaction Service (JTS)

Sun Microsystems Inc. Java Transaction Service (JTS) Sun Microsystems Inc. Java Transaction Service (JTS) This is a draft specification for Java Transaction Service (JTS). JTS specifies the implementation of a transaction manager which supports the JTA specification

More information

XII. Distributed Systems and Middleware. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

XII. Distributed Systems and Middleware. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini XII. Distributed Systems and Middleware Laurea Triennale in Informatica Corso di Outline Distributed Systems Basics Middleware generalities Middleware for Distributed Objects Distributed Computing Models

More information

El Dorado Union High School District Educational Services

El Dorado Union High School District Educational Services El Dorado Union High School District Course of Study Information Page Course Title: ACE Computer Programming II (#495) Rationale: A continuum of courses, including advanced classes in technology is needed.

More information

Enterprise Computing. When the Object Management Group (OMG) was formed in 1989, interoperability. omg overview: ~Jon Siegel~ CORBA and the OMA in

Enterprise Computing. When the Object Management Group (OMG) was formed in 1989, interoperability. omg overview: ~Jon Siegel~ CORBA and the OMA in x x x x x x x x x x xxx x Coordinating support for every phase of computing. omg overview: CORBA and the OMA in Enterprise Computing ~Jon Siegel~ When the Object Management Group (OMG) was formed in 1989,

More information

Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C

Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C 1 An essential part of any embedded system design Programming 2 Programming in Assembly or HLL Processor and memory-sensitive

More information

CORBA and Object Services

CORBA and Object Services CORBA and Object Services Jan Kleindienst 2, František Plášil 1,2, Petr Tůma 1 1 Charles University, Faculty of Mathematics and Physics, Department of Software Engineering Malostranské náměstí 25, 118

More information

CS 111 Classes I 1. Software Organization View to this point:

CS 111 Classes I 1. Software Organization View to this point: CS 111 Classes I 1 Software Organization View to this point: Data Objects and primitive types Primitive types operators (+, /,,*, %). int, float, double, char, boolean Memory location holds the data Objects

More information

A Model for CORBA Communications in Ad hoc Networks

A Model for CORBA Communications in Ad hoc Networks A Model for CORBA Communications in Ad hoc Networks Luiz Lima Jr. and Alcides Calsavara Pontifical Catholic University of Paraná, Brazil Post-Graduate Program on Applied Computing {laplima,alcides}@ppgia.pucpr.br

More information

Distributed Internet Applications - DIA. Principles of Object-Oriented Middleware

Distributed Internet Applications - DIA. Principles of Object-Oriented Middleware Distributed Internet Applications - DIA Principles of Object-Oriented Middleware 1 Why Middleware? Distributed system construction directly on top of a transport layer is rather difficult. The communication

More information

Elements of Advanced Java Programming

Elements of Advanced Java Programming Appendix A Elements of Advanced Java Programming Objectives At the end of this appendix, you should be able to: Understand two-tier and three-tier architectures for distributed computing Understand the

More information

Unifying the Global Data Space using DDS and SQL

Unifying the Global Data Space using DDS and SQL Unifying the Global Data Space using and SQL OMG RT Embedded Systems Workshop 13 July 2006 Gerardo Pardo-Castellote, Ph.D. CTO gerardo.pardo@rti.com www.rti.com Fernando Crespo Sanchez fernando.crespo@rti.com

More information

Computer Programming Tutorial

Computer Programming Tutorial Computer Programming Tutorial COMPUTER PROGRAMMING TUTORIAL by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Computer Prgramming Tutorial Computer programming is the act of writing computer

More information

CS 106 Introduction to Computer Science I

CS 106 Introduction to Computer Science I CS 106 Introduction to Computer Science I 01 / 21 / 2014 Instructor: Michael Eckmann Today s Topics Introduction Homework assignment Review the syllabus Review the policies on academic dishonesty and improper

More information

Java Cheatsheet. http://introcs.cs.princeton.edu/java/11cheatsheet/ Tim Coppieters Laure Philips Elisa Gonzalez Boix

Java Cheatsheet. http://introcs.cs.princeton.edu/java/11cheatsheet/ Tim Coppieters Laure Philips Elisa Gonzalez Boix Java Cheatsheet http://introcs.cs.princeton.edu/java/11cheatsheet/ Tim Coppieters Laure Philips Elisa Gonzalez Boix Hello World bestand genaamd HelloWorld.java naam klasse main methode public class HelloWorld

More information

What is ODBC? Database Connectivity ODBC, JDBC and SQLJ. ODBC Architecture. More on ODBC. JDBC vs ODBC. What is JDBC?

What is ODBC? Database Connectivity ODBC, JDBC and SQLJ. ODBC Architecture. More on ODBC. JDBC vs ODBC. What is JDBC? What is ODBC? Database Connectivity ODBC, JDBC and SQLJ CS2312 ODBC is (Open Database Connectivity): A standard or open application programming interface (API) for accessing a database. SQL Access Group,

More information

On the (un)suitability of Java to be the first programming language

On the (un)suitability of Java to be the first programming language On the (un)suitability of Java to be the first programming language Mirjana Ivanovic Faculty of Science, Department of Mathematics and Informatics Trg Dositeja Obradovica 4, Novi Sad mira @im.ns.ac.yu

More information

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference

More information

Distributed objects and object-based middleware

Distributed objects and object-based middleware Distributed objects and object-based middleware INF 5040 autumn 2007 lecturer: Frank Eliassen INF5040 Frank Eliassen 1 Why objekt-based distribution middleware? Encapsulation natural unit of development

More information

Status of the CORBA Firewall Traversal RFP

Status of the CORBA Firewall Traversal RFP Status of the CORBA Traversal RFP Brian Niebuhr Network Associates - NAI Labs DOCsec2001 - Annapolis, MD Overview Problem Statement Initial Solution RFP Information Current Submission Questions Status

More information

Introduction to Java

Introduction to Java Introduction to Java The HelloWorld program Primitive data types Assignment and arithmetic operations User input Conditional statements Looping Arrays CSA0011 Matthew Xuereb 2008 1 Java Overview A high

More information

A Web-Based Real-Time Traffic Monitoring Scheme Using CORBA

A Web-Based Real-Time Traffic Monitoring Scheme Using CORBA A Web-Based Real-Time Traffic Monitoring Scheme Using CORBA Yuming Jiang, Chen-Khong Tham, Chi-Chung Ko Department of Electrical Engineering, National University of Singapore, 10 Kent Ridge Crescent, Singapore

More information

Introduction to Python

Introduction to Python Caltech/LEAD Summer 2012 Computer Science Lecture 2: July 10, 2012 Introduction to Python The Python shell Outline Python as a calculator Arithmetic expressions Operator precedence Variables and assignment

More information

Scanner. It takes input and splits it into a sequence of tokens. A token is a group of characters which form some unit.

Scanner. It takes input and splits it into a sequence of tokens. A token is a group of characters which form some unit. Scanner The Scanner class is intended to be used for input. It takes input and splits it into a sequence of tokens. A token is a group of characters which form some unit. For example, suppose the input

More information

Load Balancing in CORBA: A Survey. Response to the Aggregated Computing RFI

Load Balancing in CORBA: A Survey. Response to the Aggregated Computing RFI Load Balancing in CORBA: A Survey Response to the Aggregated Computing RFI Document orbos/99-07-19 Thomas Schnekenburger Siemens AG, Dept. ZT SE 2, D-81730 Munich, Germany thomas.schnekenburger@mchp.siemens.de

More information

INF5140: Specification and Verification of Parallel Systems

INF5140: Specification and Verification of Parallel Systems INF5140: Specification and Verification of Parallel Systems Lecture 7 LTL into Automata and Introduction to Promela Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2007 Gerardo

More information

Web Services. Distributed Object Systems 11. Web Services, SOAP and NET. Web Applications. Web Services. Web services vs Distributed Objects

Web Services. Distributed Object Systems 11. Web Services, SOAP and NET. Web Applications. Web Services. Web services vs Distributed Objects Distributed Object Systems 11 Web Services, SOAP and NET Piet van Oostrum Web Services Some Definitions A Web Service is a software system designed to support interoperable machine-to-machine interaction

More information