What is COM/DCOM. Distributed Object Systems 4 COM/DCOM. COM vs Corba 1. COM vs. Corba 2. Multiple inheritance vs multiple interfaces
|
|
- Everett Robinson
- 8 years ago
- Views:
Transcription
1 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 parts of Windows itself COM is local version, DCOM is distributed version Microsoft wants it to be replaced by.net Originally developed to connect MS Word and Excel OLE: Object Linking and Embedding Later: generalisation: basic object communication mechanism could be used for other things: COM Mozilla s XPCOM and UNO (OpenOffice.org) are similar Piet van Oostrum 1 COM vs Corba 1 Corba is platform independent COM is Microsoft-only Corba is multi-vendor COM comes with Windows. Corba must be installed separately Corba specifies how remote objects must be called (source code) COM defines a binary standard (implementation) Corba and COM have a similar structure (Services, etc.) COM vs. Corba 2 Interfaces COM objects can have more than one interface Corba objects have a single interface (Corba Component Model supports multiple interfaces) Identity Corba objects are identified by an object reference COM objects have one or more interface pointers Inheritance COM and Corba have interface inheritance COM has single inheritance Corba has multiple inheritance Piet van Oostrum 2 Piet van Oostrum 3 Multiple inheritance vs multiple interfaces Suppose you have an interface for printing and an interface for storage: Print interface: set_page(pagesize) build_pages(page_numbers) printit() Storage interface: open_container(filename) read_object(obj_id) write_object(obj_id) Defining an object that supports both interfaces: In COM: the object implements both interfaces In Corba: inherit from both: interface MyClass: Print, Storage COM What s in it? COM is a mechanism to call objects (local or remote), compare Corba s ORB Many services are defined that use COM (big parts of Windows O.S.) OLE Documents: Linking Embedding In-place activation (OLE) Automation (how to command an application from another application) Events... Piet van Oostrum 4 Piet van Oostrum 5 slides4.pdf September 18,
2 Interfaces The interfaces to an object must be implemented in a specific binary way. This is derived from the way Visual C++ implements objects and methods. For COM objects this implementation must be used in all programming languages The interface can be described with (Microsoft) IDL Visual C++ object var1 var2 method table method code Object have a pointer to a (an array of method pointers) This is followed by the instance variables Often a pointer to the object is passed around (object*) Piet van Oostrum 6 Piet van Oostrum 7 COM Interface COM Interface - Subclasses method code class A { (){; (){; (){; (){; class B extends A { m5(){; m6(){; method table A COM interface is implemented as a pointer to a pointer to a list of function addresses (interface pointer) A COM object must implement at least one interface A COM object may implement more than one interface COM objects written in VC++ can use a pointer to themselves (this) as interface pointer A The for a subinterface is just an extension (more methods at the end) of the superinterface so the subinterface pointer can be used where the superinterface is needed B m5 m6 Piet van Oostrum 8 Piet van Oostrum 9 Interface pointer Notation client uses interface pointer: Interface A Object Interface B Client Object In the case of a remote object, the pointer refers to a proxy object. IUnknown Every interface must have the following methods in the first 3 slots: QueryInterface (IID) For finding other interfaces AddRef () For counting how many references there are Release () For releasing a reference These three methods together form the interface IUnknown (Most people use names starting with I for interfaces) There is no concept of object pointer Piet van Oostrum 10 Piet van Oostrum 11 slides4.pdf September 18,
3 Identification A method from an interface is not identified by name, but by its position in the method table 0=QueryInterface 1=AddRef 2=Release, etc. An (abstract) interface is identified by a 128-bit (usually random-like) number: GUID (Globally Unique Identifier) or UUID (Universally Unique Identifier) UUID is a DCE term. There are utilities to generate GUID s IUnknown QueryInterface on an object with a UUID for an interface as parameter returns an interface pointer for that interface (and the same object) if it exists. QueryInterface could return any interface pointer that has the proper slots (e.g. a subinterface) AddRef and Release together form a simple garbage collection mechanism (refcount): When the refcount for all interfaces of an object together reaches 0, the object can delete itself These three methods can be used with any interface Piet van Oostrum 12 Piet van Oostrum 13 Object identity There are no object pointers Any interface pointer for an object can be used to identify the object Two different interface pointers could identify the same object Object identity: A QueryInterface call for IUnknown for the same object should always give the same interface pointer regardless of the interface upon which it is called. MIDL Microsofts IDL is derived from OSF DCE s IDL. MIDL is similar to Corba IDL but uses a different syntax It also specifies the UUID s Interfaces can be grouped in classes and classes in libraries An interface can be used in many classes Classes are used to create objects Classes and libraries are also identified by GUID s Class GUID s (CLSID) are stored in the Windows registry with information how to run the code that implements the objects Piet van Oostrum 14 Piet van Oostrum 15 Example IDL [object, uuid(3cfdb283-ccc5-11d0-ba0b-00a0c90df8bc) ] interface IStat: IUnknown { import "unknwn.idl"; init(); additem([in] double item); getavg([out] double *avg); getnum([out] long *num); getall([out] double *avg, [out] long *num); ; Conventionally a return code signifies if the operation succeeded or not (there are no exceptions). Method results are returned through out parameters. MIDL types boolean 8 bits byte 8 bits. char 8 bits. double 64-bit floating point number. float 32-bit floating point number. hyper 64-bit integer. int 32-bit integer. long 32-bit integer. short 16-bit integer. small 8-bit integer. wchar_t 16-bit wide characters. struct, union, array (fixed or dynamic), enum Piet van Oostrum 16 Piet van Oostrum 17 slides4.pdf September 18,
4 Examples of structs and arrays Use of dynamic arrays #define MAX_INDEX 10 typedef char ATYPE[MAX_INDEX]; typedef short BTYPE[]; // Equivalent to [*]; typedef long CTYPE[*][10]; // [][10] typedef float DTYPE[0..10]; // Equivalent to [11] typedef float ETYPE[0..(MAX_INDEX)]; typedef struct { unsigned short size; unsigned short length; [size_is(size), length_is(length)] char string[*]; counted_string; MyFunction( [in, out] short * psize, [in, out, string, size_is(*psize)] char a[0..*] ); psize is the size of the array, given as separate parameter. IDL tells that this parameter really is the size of the array (needed for marshalling the proper number of elements) size_is is the number of elements reserved, length_is is the actual number of elements present if different Piet van Oostrum 18 Piet van Oostrum 19 Unions Encapsulated union (with a discriminator) typedef union S1_TYPE switch (long l1) U1_TYPE { case 1024: float f1; case 2048: double d2; ; S1_TYPE will be a struct in C/C++ with members the long l1 and the union with name U1_TYPE. There are also other notations. Where are objects running? In a DLL: The DLL is loaded if necessary (first occurrence) and the client gets the real pointer to the object interface (in C++ could be the object pointer). Runs in the same process as the client This is called inproc server Method call is as fast as normal In another process on the same machine The process is started if necessary In the client process a proxy object is created with the same interface The proxy object uses RPC mechanisms to the real object This is called local server Piet van Oostrum 20 Piet van Oostrum 21 Where are objects running? In another machine Is used similar to local server RPC is over the network In the registry there is information about inproc or local server Also contains the location of the DLL and/or.exe file The client can specify inproc or local server For DCOM if the object is not found on the local machine, COM asks other machines if the object is there Remote objects must be separately registered in the registry How to create (or get) objects Use the class object The COM runtime system (Service Control Manager) can find the class object, given a CLSID, from the registry It will also start a server or load a DLL if necessary The Class object should be a singleton (only one instance) It should provide methods to create objects or find existing ones. The function CoGetClassObject gets the class object, given a CLSID, interface ID and inproc/local/remote It returns an interface pointer for the class object Piet van Oostrum 22 Piet van Oostrum 23 slides4.pdf September 18,
5 Integrated method Use CoCreateInstance This creates a class object and calls its CreateInstance method to get an object (instance) Must implement interface IFactory There is also an interface IFactory2 which supports licensing CoCreateInstance parameters: class id an Outer pointer (see later) inproc/local/remote interface id (GUID) for the object Client code double value; CoInitialize(NULL); // initialize COM CoCreateInstance(CLSID_CStat, NULL, CLSCTX_SERVER, IID_IStat, (void**) &pistat); pistat->additem(value); pistat->queryinterface(iid_istat2, (void**) &pistat2); pistat->release(); pistat2->count(value); pistat2->release(); CoUninitialize(); Piet van Oostrum 24 Piet van Oostrum 25 Client side Client COM library COM runtime system (6) (1) (2) [3] [1] [2] [4] [5] (4) Server 1: CocreateInstance, 2: server started, 3: class object created, 4: IFactory interface called, 5: object created, 6: object interface pointer returned, [1],[2],[3]: calls to pistat, [4],[5]: calls to pistat2 class factory (3) (5) object COM library Implementation Every object must implement the IUnknown methods: #define STDMETHODIMP stdcall STDMETHODIMP Stat::QueryInterface(REFIID riid, void** ppv) { if (riid == IID_IUnknown riid == IID_IStat) *ppv = (IStat*) this; // if more interfaces are supported // else if (riid ==... else { *ppv = NULL; return E_NOINTERFACE; AddRef(); return S_OK; In Visual C++ there are different function calling mechanisms. For COM objects stdcall must be used. Piet van Oostrum 26 Piet van Oostrum 27 RefCount Class Factory int refcnt; STDMETHODIMP Stat::AddRef() { refcnt++; STDMETHODIMP Stat::Release() { refcnt--; if (refcnt == 0) {... STDMETHODIMP CClassFactory::CreateInstance(LPUNKNOWN p, REFIID riid, void** ppv) { IStat* punk = (IStat*) new Stat(); hr = punk->queryinterface(riid, ppv); return hr; The CreateInstance method creates a new Stat object and returns its interface pointer for the interface iid. QueyInterface will do the required AddRef. Piet van Oostrum 28 Piet van Oostrum 29 slides4.pdf September 18,
6 Our own Methods Server code STDMETHODIMP Stat::addItem (double d) { sum += d; n++; return S_OK; STDMETHODIMP Stat::getAvg (double* d) { *d = sum/n; // should check n!=0 return S_OK; void main() {... hr = CoInitializeEx(NULL, COINIT_MULTITHREADED); CClassFactory* fact = new CClassFactory; hr = CoRegisterClassObject(CLSID_CStat, fact, CLSCTX_SERVER, REGCLS_MULTIPLEUSE, &dwregister);... register the class object Piet van Oostrum 30 Piet van Oostrum 31 Finally COM is optimized for local calls (especially inproc). Is a very popular mechanism on the MS Windows operating system DCOM (distributed version) has never become popular Is now gradually superseded by.net Mainly used in C, C++ and Visual Basic It has a lot of complicated issues Java support is minimal No multi-platform support Piet van Oostrum 32 slides4.pdf September 18,
COM+ OVERVIEW OF MICROSOFTS COM, DCOM AND COM+ COMPONENT TECHNOLOGIES DCOM - COM+ Peter R. Egli INDIGOO.COM. indigoo.com. 1/20 Rev. 1.
COM, DCOM - COM+ DCOM, COM+ OVERVIEW OF MICROSOFTS COM, DCOM AND COM+ COMPONENT TECHNOLOGIES Peter R. Egli INDIGOO.COM 1/20 Contents 1. Evolution of COM 2. COM, DCOM, ActiveX, OLE, COM+ 3. Structure of
More informationLehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Middleware. Chapter 8: Middleware
Middleware 1 Middleware Lehrstuhl für Informatik 4 Middleware: Realisation of distributed accesses by suitable software infrastructure Hiding the complexity of the distributed system from the programmer
More informationHow 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 informationInfrastructure 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 informationThe Microsoft Way: COM, OLE/ActiveX, COM+ and.net CLR. Chapter 15
The Microsoft Way: COM, OLE/ActiveX, COM+ and.net CLR Chapter 15 Microsoft is continually reengineering its existing application and platform base. Started with VBX, continued with OLE, ODBC, ActiveX,
More informationDCOM and CORBA Side by Side, Step by Step, and Layer by Layer
DCOM and CORBA Side by Side, Step by Step, and Layer by Layer P. Emerald Chung Yennun Huang Shalini Yajnik Bell Laboratories, Lucent Technologies Murray Hill, New Jersey Deron Liang Joanne C. Shih Chung-Yih
More informationMiddleware 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 informationMS ACCESS DATABASE DATA TYPES
MS ACCESS DATABASE DATA TYPES Data Type Use For Size Text Memo Number Text or combinations of text and numbers, such as addresses. Also numbers that do not require calculations, such as phone numbers,
More informationJava and ActiveX Projects
The Open Group Research Institute Java and ActiveX Projects G.N.Madhusudan Principal Research Scientist The OpenGroup Research Institute g.madhusudan@opengroup.org Web and Security - Outline of Projects
More informationCorba. Corba services. The (very) global picture. Corba. Distributed Object Systems 3 CORBA/IDL. Corba. Features. Services
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
More informationIntroduction Object-Oriented Network Programming CORBA addresses two challenges of developing distributed systems: 1. Making distributed application development no more dicult than developing centralized
More informationModule 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 informationSMTP-32 Library. Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows. Version 5.2
SMTP-32 Library Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows Version 5.2 Copyright 1994-2003 by Distinct Corporation All rights reserved Table of Contents 1 Overview... 5 1.1
More informationDistributed 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 informationThe 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 informationInterface 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 informationAgilent PNA Microwave Network Analyzers
Agilent PNA Microwave Network Analyzers Application Note 1408-13 Introduction to Application Development Table of Contents Introduction...3 How to Use this Document...3 Basic Administration...4 Registering
More informationCS 378 Big Data Programming. Lecture 9 Complex Writable Types
CS 378 Big Data Programming Lecture 9 Complex Writable Types Review Assignment 4 - CustomWritable QuesIons/issues? Hadoop Provided Writables We ve used several Hadoop Writable classes Text LongWritable
More informationIntroduction 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 informationCrash 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 informationHandout 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 information3F6 - 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 informationC++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 informationIntroduction to SQL for Data Scientists
Introduction to SQL for Data Scientists Ben O. Smith College of Business Administration University of Nebraska at Omaha Learning Objectives By the end of this document you will learn: 1. How to perform
More informationBSc (Hons) Business Information Systems, BSc (Hons) Computer Science with Network Security. & BSc. (Hons.) Software Engineering
BSc (Hons) Business Information Systems, BSc (Hons) Computer Science with Network Security & BSc. (Hons.) Software Engineering Cohort: BIS/05/FT BCNS/05/FT BSE/05/FT Examinations for 2005-2006 / Semester
More informationMolecular Dynamics Simulations with Applications in Soft Matter Handout 7 Memory Diagram of a Struct
Dr. Martin O. Steinhauser University of Basel Graduate Lecture Spring Semester 2014 Molecular Dynamics Simulations with Applications in Soft Matter Handout 7 Memory Diagram of a Struct Friday, 7 th March
More informationMiddleware 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 informationFirst Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science
First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca
More informationIntroduction 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 informationPemrograman 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 informationImplementation Aspects of OO-Languages
1 Implementation Aspects of OO-Languages Allocation of space for data members: The space for data members is laid out the same way it is done for structures in C or other languages. Specifically: The data
More informationBachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)
Unit- I Introduction to c Language: C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating
More informationEmbedded 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 informationEl 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 informationAn 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 informationObject-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007
Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007 The Java Type System By now, you have seen a fair amount of Java. Time to study in more depth the foundations of the language,
More informationProject 1: Implement a simple hosts framework using UNIX TCP Sockets to demonstrate the concept of Mobile Agents
Project 1: Implement a simple hosts framework using UNIX TCP Sockets to demonstrate the concept of Mobile Agents Due date: October 15 (Monday), 2007 Requirements This exercise should be done individually.
More informationL7_L10. MongoDB. Big Data and Analytics by Seema Acharya and Subhashini Chellappan Copyright 2015, WILEY INDIA PVT. LTD.
L7_L10 MongoDB Agenda What is MongoDB? Why MongoDB? Using JSON Creating or Generating a Unique Key Support for Dynamic Queries Storing Binary Data Replication Sharding Terms used in RDBMS and MongoDB Data
More information[MS-RDPESC]: Remote Desktop Protocol: Smart Card Virtual Channel Extension
[MS-RDPESC]: Remote Desktop Protocol: Smart Card Virtual Channel Extension Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications
More informationJava (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 informationEmbedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C
Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection
More informationCORBA 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 informationHabanero Extreme Scale Software Research Project
Habanero Extreme Scale Software Research Project Comp215: Java Method Dispatch Zoran Budimlić (Rice University) Always remember that you are absolutely unique. Just like everyone else. - Margaret Mead
More informationOutline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies
Szolgáltatásorientált rendszerintegráció Comparison of component technologies Simon Balázs, BME IIT Outline Definitions Component technologies RPC, RMI, CORBA, COM+,.NET, Java, OSGi, EJB, SOAP web services,
More informationDepartment of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY. 6.828 Operating System Engineering: Fall 2005
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.828 Operating System Engineering: Fall 2005 Quiz II Solutions Average 84, median 83, standard deviation
More informationCAPIX Job Scheduler User Guide
CAPIX Job Scheduler User Guide Version 1.1 December 2009 Table of Contents Table of Contents... 2 Introduction... 3 CJS Installation... 5 Writing CJS VBA Functions... 7 CJS.EXE Command Line Parameters...
More informationObject 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 informationSuper SQL Server Systems Errata List (Last Updated 18 November 2006) Table of Contents:
Super SQL Server Systems Errata List (Last Updated 18 November 2006) Table of Contents: Microsoft Visual C++ - WIN32 DLL xp_hellovcdll should read Microsoft Visual C++ - WIN32 DLL Microsoft Visual C++
More informationMULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.
Exam Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) The JDK command to compile a class in the file Test.java is A) java Test.java B) java
More informationIntroduction 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 informationInterface Definition Language
Interface Definition Language by David G. Messerschmitt Supplementary section for Understanding Networked Applications: A First Course, Morgan Kaufmann, 1999. Copyright notice: Permission is granted to
More informationKITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php info@kitestechnology.com technologykites@gmail.com Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
More informationSemantic Analysis: Types and Type Checking
Semantic Analysis Semantic Analysis: Types and Type Checking CS 471 October 10, 2007 Source code Lexical Analysis tokens Syntactic Analysis AST Semantic Analysis AST Intermediate Code Gen lexical errors
More informationThe 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 informationWeb 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 informationJava programming for C/C++ developers
Skill Level: Introductory Scott Stricker (sstricke@us.ibm.com) Developer IBM 28 May 2002 This tutorial uses working code examples to introduce the Java language to C and C++ programmers. Section 1. Getting
More informationHow To Write A Program In Java (Programming) On A Microsoft Macbook Or Ipad (For Pc) Or Ipa (For Mac) (For Microsoft) (Programmer) (Or Mac) Or Macbook (For
Projet Java Responsables: Ocan Sankur, Guillaume Scerri (LSV, ENS Cachan) Objectives - Apprendre à programmer en Java - Travailler à plusieurs sur un gros projet qui a plusieurs aspects: graphisme, interface
More informationMS Access Lab 2. Topic: Tables
MS Access Lab 2 Topic: Tables Summary Introduction: Tables, Start to build a new database Creating Tables: Datasheet View, Design View Working with Data: Sorting, Filtering Help on Tables Introduction
More information[MS-EVEN]: EventLog Remoting Protocol. Intellectual Property Rights Notice for Open Specifications Documentation
[MS-EVEN]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,
More informationIntroduction to Data Structures
Introduction to Data Structures Albert Gural October 28, 2011 1 Introduction When trying to convert from an algorithm to the actual code, one important aspect to consider is how to store and manipulate
More informationIntroduction. Why (GIS) Programming? Streamline routine/repetitive procedures Implement new algorithms Customize user applications
Introduction Why (GIS) Programming? Streamline routine/repetitive procedures Implement new algorithms Customize user applications 1 Computer Software Architecture Application macros and scripting - AML,
More informationApplication Note. Introduction AN2471/D 3/2003. PC Master Software Communication Protocol Specification
Application Note 3/2003 PC Master Software Communication Protocol Specification By Pavel Kania and Michal Hanak S 3 L Applications Engineerings MCSL Roznov pod Radhostem Introduction The purpose of this
More information4D Plugin SDK v11. Another minor change, real values on 10 bytes is no longer supported.
4D Plugin SDK v11 4D Plugin API 4D Plugin API v11 is a major upgrade of 4D Plugin API. The two major modifications are that it is now fully Unicode compliant, and that it gives support to the new 4D pictures.
More informationComparative Study of C, C++, C# and Java Programming Languages
Hao Chen Comparative Study of C, C++, C# and Java Programming Languages Information Technology 2010 VAASAN AMMATTIKORKEAKOULU UNIVERSITY OF APPLIED SCIENCES Degree Program of Information Technology ABSTRACT
More informationProgramming 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 informationVisual Basic Programming. An Introduction
Visual Basic Programming An Introduction Why Visual Basic? Programming for the Windows User Interface is extremely complicated. Other Graphical User Interfaces (GUI) are no better. Visual Basic provides
More informationJava Interview Questions and Answers
1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java
More informationProgramming languages C
INTERNATIONAL STANDARD ISO/IEC 9899:1999 TECHNICAL CORRIGENDUM 2 Published 2004-11-15 INTERNATIONAL ORGANIZATION FOR STANDARDIZATION МЕЖДУНАРОДНАЯ ОРГАНИЗАЦИЯ ПО СТАНДАРТИЗАЦИИ ORGANISATION INTERNATIONALE
More informationTowards practical reactive security audit using extended static checkers 1
Towards practical reactive security audit using extended static checkers 1 Julien Vanegue 1 Shuvendu K. Lahiri 2 1 Bloomberg LP, New York 2 Microsoft Research, Redmond May 20, 2013 1 The work was conducted
More informationCOM Connect User's Guide. VisualWorks 7.8 P46-0123-07 SIMPLIFICA TION THROUGH I NNOV A TION
COM Connect User's Guide VisualWorks 7.8 P46-0123-07 SIMPLIFICA TION THROUGH I NNOV A TION Copyright 1997 2011 by Cincom Systems, Inc. All rights reserved. This product contains copyrighted third-party
More informationECS 165B: Database System Implementa6on Lecture 2
ECS 165B: Database System Implementa6on Lecture 2 UC Davis, Spring 2011 Por6ons of slides based on earlier ones by Raghu Ramakrishnan, Johannes Gehrke, Jennifer Widom, Bertram Ludaescher, and Michael Gertz.
More informationAn 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[MS-SSP]: Intellectual Property Rights Notice for Open Specifications Documentation
[MS-SSP]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,
More informationFacebook Twitter YouTube Google Plus Website Email
PHP MySQL COURSE WITH OOP COURSE COVERS: PHP MySQL OBJECT ORIENTED PROGRAMMING WITH PHP SYLLABUS PHP 1. Writing PHP scripts- Writing PHP scripts, learn about PHP code structure, how to write and execute
More informationLecture 7: Programming for the Arduino
Lecture 7: Programming for the Arduino - The hardware - The programming environment - Binary world, from Assembler to C - - Programming C for the Arduino: more - Programming style Lect7-Page1 The hardware
More informationGovernment Girls Polytechnic, Bilaspur
Government Girls Polytechnic, Bilaspur Name of the Lab: Internet & Web Technology Lab Title of the Practical : Dynamic Web Page Design Lab Class: CSE 6 th Semester Teachers Assessment:20 End Semester Examination:50
More informationLecture 7: Java RMI. CS178: Programming Parallel and Distributed Systems. February 14, 2001 Steven P. Reiss
Lecture 7: Java RMI CS178: Programming Parallel and Distributed Systems February 14, 2001 Steven P. Reiss I. Overview A. Last time we started looking at multiple process programming 1. How to do interprocess
More informationSQL and Programming Languages. SQL in Programming Languages. Applications. Approaches
SQL and Programming Languages SQL in Programming Languages Read chapter 5 of Atzeni et al. BD: Modelli e Linguaggi di Interrogazione and section 8.4 of Garcia-Molina The user does not want to execute SQL
More informationKeysight Technologies PNA Microwave Network Analyzers
Keysight Technologies PNA Microwave Network Analyzers Introduction to Application Development Application Note 02 Keysight PNA Microwave Network Analyzers - Application Note Table of Contents Introduction...4
More informationChapter 2: Remote Procedure Call (RPC)
Chapter 2: Remote Procedure Call (RPC) Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 2 - RPC
More informationThe following themes form the major topics of this chapter: The terms and concepts related to trees (Section 5.2).
CHAPTER 5 The Tree Data Model There are many situations in which information has a hierarchical or nested structure like that found in family trees or organization charts. The abstraction that models hierarchical
More information[MC-IISA]: Internet Information Services (IIS) Application Host COM Protocol
[MC-IISA]: Internet Information Services (IIS) Application Host COM Protocol Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open
More informationServices. 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 informationUser Manual. 3-Heights PDF Producer API. Version 4.6
User Manual 3-Heights PDF Producer API Version 4.6 Contents 1 Introduction........................................................................ 2 1.1 Operating Systems...................................................................
More informationiphone SDK Enrolled students will be invited to developer program Login to Program Portal Request a Certificate Download and install the SDK
Objective-C Basics iphone SDK Enrolled students will be invited to developer program Login to Program Portal Request a Certificate Download and install the SDK The First Program in Objective-C #import
More informationField Properties Quick Reference
Field Properties Quick Reference Data types The following table provides a list of the available data types in Microsoft Office Access 2007, along with usage guidelines and storage capacities for each
More informationGetting 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 informationAPPLICATION PROGRAMMING INTERFACE
APPLICATION PROGRAMMING INTERFACE Advanced Card Systems Ltd. Website: www.acs.com.hk Email: info@acs.com.hk Table of Contents 1.0. Introduction... 4 2.0.... 5 2.1. Overview... 5 2.2. Communication Speed...
More informationMPLAB Harmony System Service Libraries Help
MPLAB Harmony System Service Libraries Help MPLAB Harmony Integrated Software Framework v1.08 All rights reserved. This section provides descriptions of the System Service libraries that are available
More informationComponent-based application development using a Mixed-Language Programming (MLP) approach. Murali Krishnan Gunasekaran
Component-based application development using a Mixed-Language Programming (MLP) approach By Murali Krishnan Gunasekaran Thesis submitted to the Faculty of the Virginia Polytechnic Institute and State
More informationOrganization of Records in Blocks
Organization of Records in Blocks Read Sec. 4.2 Riguzzi et al. Sistemi Informativi Slides derived from those by Hector Garcia-Molina 1 Topic How to lay out records on blocks 2 To represent: Integer (short):
More information1 The Java Virtual Machine
1 The Java Virtual Machine About the Spec Format This document describes the Java virtual machine and the instruction set. In this introduction, each component of the machine is briefly described. This
More informationODBC Client Driver Help. 2015 Kepware, Inc.
2015 Kepware, Inc. 2 Table of Contents Table of Contents 2 4 Overview 4 External Dependencies 4 Driver Setup 5 Data Source Settings 5 Data Source Setup 6 Data Source Access Methods 13 Fixed Table 14 Table
More informationLecture 22: C Programming 4 Embedded Systems
Lecture 22: C Programming 4 Embedded Systems Today s Goals Basic C programming process Variables and constants in C Pointers to access addresses Using a High Level Language High-level languages More human
More informationCategory: 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 informationMPLAB TM C30 Managed PSV Pointers. Beta support included with MPLAB C30 V3.00
MPLAB TM C30 Managed PSV Pointers Beta support included with MPLAB C30 V3.00 Contents 1 Overview 2 1.1 Why Beta?.............................. 2 1.2 Other Sources of Reference..................... 2 2
More information[MS-FAX]: Fax Server and Client Remote Protocol. Intellectual Property Rights Notice for Open Specifications Documentation
[MS-FAX]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,
More informationLecture 11 Doubly Linked Lists & Array of Linked Lists. Doubly Linked Lists
Lecture 11 Doubly Linked Lists & Array of Linked Lists In this lecture Doubly linked lists Array of Linked Lists Creating an Array of Linked Lists Representing a Sparse Matrix Defining a Node for a Sparse
More informationBinary storage of graphs and related data
EÖTVÖS LORÁND UNIVERSITY Faculty of Informatics Department of Algorithms and their Applications Binary storage of graphs and related data BSc thesis Author: Frantisek Csajka full-time student Informatics
More informationC# and Other Languages
C# and Other Languages Rob Miles Department of Computer Science Why do we have lots of Programming Languages? Different developer audiences Different application areas/target platforms Graphics, AI, List
More information