DataSnap 2009 Overview
|
|
- Stuart Neal Walsh
- 6 years ago
- Views:
Transcription
1 1 z :01 DataSnap 2009 Overview By: Steven Shaughnessy Abstract: This is an introduction to the new component based DataSnap technology included in Delphi In This Article Creating a DataSnap 2009 server Creating Server methods. Exposing server methods to clients Calling server methods using TSQLServerMethod component Calling Server methods using generated client classes Accessing IAppServer providers from a client Hosting existing remote data modules Using server connections Delphi 2009 includes a new component based DataSnap server technology. With some minor modifications, applications can host their existing TRemoteDataModules inside the new DataSnap 2009 server. The DataSnap 2009 server provides light weight remote method invocation support for ordinary Delphi classes as a replacement for COM based custom methods employed by earlier versions of DataSnap. The DataSnap 2009 server does not directly support COM. If an application still needs a COM based solution, the older component set for DataSnap is also included in the product. For new applications that do not need to use COM, the new TDSServerModule can be used instead of TRemoteDataModule. TDSServerModule indirectly inherits from TDataModule and includes the same IAppServer synchronization capability using providers that TRemoteDataModule provides. TDSServerModule is different from TRemotedataModule in that it does not include the COM support that TRemoteDataModule provides. Object Pascal methods that are called from remote clients are called server methods. There are several ways that server methods can be invoked. Server methods can be invoked from dbexpress or ADO.NET clients in the same way that stored procedures are called using these drivers. Statically typed client side proxies classes can also be generated for server methods if needed. A server connection is a feature of DataSnap 2009 that allows a client and server application to share a server side dbexpress database connection and transactional context. Only the DataSnap dbexpress driver is needed on the client to share any dbexpress driver installed on the server. The DataSnap driver is 100% Object Pascal making for a simple client side deployment. An interesting application of server connections is to allow the client to perform select queries to read data, and to call server methods that use the same server connection to perform all insert, update and delete
2 2 z :01 operations on the data. The new DataSnap 2009 includes a component set implemented in Object Pascal. We currently support win32 based server side applications. On the client we currently support both win32 and.net applications. Server methods and server connections can both be accessed through our dbexpress and ADO.NET connectivity solutions. Creating a DataSnap 2009 server The first thing you will need is a server container. You can use a TDataModule or a TForm as your container. The container must include at least a TDSServer component and a transport component. A TDSTCPServerTransport transport component is included in the product. A TDSServerClass component is used to register a server class that contains providers or server methods that they need to be accessed by a client. Typically you will have one or more TDSServerClass components in the container. A separate TDSServerClass component is needed for each server class you want to expose to clients. Each transport and TDSServerClass component has a server property that is used to register them with a TDSServer component. When the TDSServer component start and stop methods are called all registered transports and server classes are notified so they can perform any necessary initialization when the server starts and deinitialization when the server stops. The transport component takes advantage of this notification to know when to start and stop listening for new connections and to initialize and shutdown its thread pool. The TDSServer component has an autostart property that causes the TDSServer component start method to be called when its TDataModule or TForm container is loaded. Although we currently only provide one server side transport implementation, DataSnap 2009 can simultaneously support multiple transports. This will allow an HTTP and TCP/IP based transports to provide access to the same DataSnap 2009 server context. Creating Server methods. Delphi developers will most likely want to add their server methods to a TDSServerModule class. Delphi classes that contain server methods must be compiled with METHOD_INFO enabled because Delphi s RTTI is needed for the dynamic invocation of server methods. If TDSServerModule is used, METHOD_INFO does not have to be specified because TDSServerModule already has METHOD_INFO enabled. METHOD_INFO has been enabled for TRemoteDataModule as well. As mentioned earlier, TDSServerModule also supports the IAppServer interface, so the traditional IAppServer data synchronization protocol can also be used with TDSServerModules. All server methods must be made public. Note that with DataSnap 2009, multiple TDSServerModules and TRemoteDataModules can exist in the same process. You do not need a separate server for each TDSServerModule or TRemoteDataModule. Here is a simple example of a TDSServerModule with server methods using a variety of parameter types and parameter directions: TParametersServerModule1 = class(tdsservermodule) SQLConnection1: TSQLConnection; ReturnSqlQuery: TSQLQuery; OutSqlQuery: TSQLQuery; VarSqlQuery: TSQLQuery; procedure DSServerModuleCreate(Sender: TObject); procedure DSServerModuleDestroy(Sender: TObject); private { Private declarations } FDataSnapTestData: TDataSnapTestData;
3 3 z :01 FReturnCommand: TDBXCommand; FOutCommand: TDBXCommand; FVarCommand: TDBXCommand; public { Public declarations } function DataSetMethod(InDataSet: TDataSet; out OutDataSet: TDataSet; var VarDataSet: TDataSet): TDataSet; function ParamsMethod(InParams: TParams; out OutParams: TParams; var VarParams: TParams): TParams; function StreamMethod(InStream: TStream; out OutStream: TStream; var VarStream: TStream): TStream; function DBXReaderMethod(InDBXReader: TDBXReader; out OutDBXReader: TDBXReader; var VarDBXReader: TDBXReader): TDBXReader; function VariantMethod(InVariant: OleVariant; out OutVariant: OleVariant; var VarVariant: OleVariant): OleVariant; function StringMethod(InString: String; out OutString: OleVariant; var VarString: OleVariant): String; function Int64Method(InInt64: Int64; out OutInt64: Int64; var VarInt64: Int64): Int64; procedure NoparametersMethod; Server method parameters directions can be specified as input, input/output (var), output (out), and return. Parameter types supported include the scalar values supported by dbexpress/ado.net drivers such as integer, string, date, time, floating point, etc. Very large binary parameters can be passed as a TStream. A TParams object can be used to pass an array of values or to return a single row result to the client. Table shaped objects such as a TDataSet or a TDBXReader can be used as parameters and return values. On the.net platform, a DataReader, DataView or DataTable can be used as parameters by the client. Note that for table parameters the object type used on the client does not have to match the object type used in the signature of the server method. This is because the messaging layer maps all table objects to a TDBXReader. Custom TDBXReaders are fairly simple to implement. It should not be too difficult to map a collection of object for an OR mapping technology into a TDBXReader inside a server method and return it to a client which reads it into a TDataSet. Here is the implementation of a subset of the methods from the class interface section listed above: function TParametersServerModule1.DataSetMethod(InDataSet: TDataSet; out OutDataSet: TDataSet; var VarDataSet: TDataSet): TDataSet; Validate the contents of the incoming DataSets Incoming DataSets are automatically freed. FDataSnapTestData.ValidateDataSet(InDataSet); FDataSnapTestData.ValidateDataSet(VarDataSet); None of the outgoing TDataSets will be automatically freed because their component owner is not nil. OutSqlQuery.Open; OutSqlQuery.Refresh; OutDataSet := OutSqlQuery;
4 4 z :01 VarSqlQuery.Open; VarSqlQuery.Refresh; VarDataSet := VarSqlQuery; ReturnSqlQuery.Open; ReturnSqlQuery.Refresh; Result := ReturnSqlQuery; function TParametersServerModule1.ParamsMethod(InParams: TParams; out OutParams: TParams; var VarParams: TParams): TParams; Validate the contents of the incoming TParams. FDataSnapTestData.ValidateParams(InParams); FDataSnapTestData.ValidateParams(VarParams); All of these outgoing return values will be automatically freed. OutParams := FDataSnapTestData.CreateTestParams; VarParams := FDataSnapTestData.CreateTestParams; Result := FDataSnapTestData.CreateTestParams; function TParametersServerModule1.StreamMethod(InStream: TStream; out OutStream: TStream; var VarStream: TStream): TStream; Validate the contents of the incoming Streams. FDataSnapTestData.ValidateStream(InStream); FDataSnapTestData.ValidateStream(VarStream); All of these outgoing values will be automatically freed. OutStream := FDataSnapTestData.CreateTestStream; VarStream := FDataSnapTestData.CreateTestStream; Result := FDataSnapTestData.CreateTestStream; Exposing server methods to clients Once you have implemented your server methods, they must be exposed by a DataSnap server. This is easy. Its best to create a separate container TDataModule (or TForm) for your DataSnap server. Create a new TDataModule TForm container and drop three components into it from the new DataSnap Server component category: TDSServer, TDSTCPServerTransport, and TDSServerClass. Set the TDSTCPServerTransport.Server property and the TDSServerClass.Server property to the TDSServer. The TDSServerClass.OnGetClass event must be set to your server class like this:
5 5 z :01 procedure TForm8.DSServerClass2GetClass(DSServerClass: TDSServerClass; var PersistentClass: TPersistentClass); PersistentClass := TParametersServerModule1; Now execute the application and the server will be started automatically. There is a TDSServer.AutoStart property that defaults to true which causes the server to start when it is notified that the component is being loaded. Calling server methods using TSQLServerMethod component From the client s perspective, server methods look a lot like stored procedures when using the TSQLServerMethod component. There are some notable exceptions though. Server methods can send multiple table shaped objects from the server to the client and from the client to the server. Here is a simple example of a client calling one of the server methods above: procedure TForm13.TestComponentDataSet; SqlServerMethod1.CommandText := 'TParametersServerModule1.DataSetMethod'; SqlServerMethod1.Params[0].AsDataSet := FDataSnapTestData.CreateTestDataSet; This has the same affect as the line above. Ownership of the parameter instance is implicit. Second boolean parameter indicates the TParam to free the TDataSets object when it is no longer needed. SqlServerMethod1.Params[2].SetDataSet(FDataSnapTestData.CreateTestDataSet, True); SqlServerMethod1.Open; Return value is in the SQLServerMethod1 component. outgoing instances will be automatically freed the next time the command is executed, closed or freed. FDataSnapTestData.ValidateDataSet(SqlServerMethod1); FDataSnapTestData.ValidateDataSet(SqlServerMethod1.Params[1].AsDataSet); FDataSnapTestData.ValidateDataSet(SqlServerMethod1.Params[2].AsDataSet); SqlServerMethod1.Close; Calling Server methods using generated client classes As discussed earlier, client proxy classes can be generated by using the DSProxyGen.exe command line tool or by using the right click menu off of the TSQLConnection component that is connected to a running DataSnap server. Currently this menu item is labeled Generate DataSnap client classes. This provides a statically typed access to server methods. Here is an example of how to call the DataSetMethod above using a generated client class:
6 6 z :01 procedure TForm13.TestClassDataSet; var InDataSet: TDataSet; VarDataSet: TDataSet; OutDataSet: TDataSet; ReturnDataSet: TDataSet; InDataset := FDataSnapTestData.CreateTestDataSet; VarDataSet := FDataSnapTestData.CreateTestDataSet; By default, the command used inside the implementation of DataSetMethod will maintain ownership of all parameters. They will be freed when the method is called again or when FParametersTest instance is freed. ReturnDataSet := FParametersTest.DataSetMethod(InDataSet, OutDataSet, VarDataSet); FDataSnapTestData.ValidateDataSet(OutDataSet); FDataSnapTestData.ValidateDataSet(VarDataSet); FDataSnapTestData.ValidateDataSet(ReturnDataSet); Accessing IAppServer providers from a client This works the same as prior versions of IAppServer except that the new TDSProviderConnection component must be used instead of components like TDCOMConnection and TSocketConnection. TDSProviderConnection has a SQLConnection property. This allows multiple TDSProviderConnection components to share the same physical TSQLConnection component. Note that multiple TDSServerModules or TRemoteDataModules can be included in a single server. By sharing a single TSQLConnection instance, multiple TDSProviderConnections can access there respective TDSServerModule or TRemoteDataModule. Hosting existing remote data modules RemoteDataModules are configured similar to any other server class. As with other server classes, you will need to use a TDSServerClass component and wire the OnGetClass event to return your RemoteDataModule class. Here are some notes from Dan Miser on how to migrate an existing TRemoteDataModule to a DataSnap 2009 server: Unregister the COM-based app server (e.g. MyAppServer /unregserver) Delete initialization section from the RDM unit Delete the tlb and ridl files from the project Remove the UpdateRegistry declaration and implementation from the RDM unit. Move any interface methods that you will want to call from the client (by default, these were added to the protected section of the RDM) to the public section. NOTE: If you have a suite of COM-based server applications, you may want to take this opportunity to start moving all of them into one process. Since we are no longer reliant upon COM for application segregation, we can add the converted RDMs into one project and just add one TDSServerClass component for each RDM that we want to access.
7 7 z :01 Using server connections The DataSnap dbexpress connection can be used by a client application to access a server side dbexpress connection. By default, a DataSnap dbexpress connection is only able to execute server methods on the DataSnap server it is connected to. If the TDBXPropertyNames.ServerConnection property is set to a server method that returns an instance of TDBXConnection, then the client side DataSnap connection will also be able to execute sql commands against the returned TDBXConnection. Here is an example of a server method that returns an instance of TDBXConnection: function TDSServerModule1.GetConnection: TDBXConnection; SQLConnection1.Open; Result := SQLConnection1.DBXConnection; A client side connection can establish associate itself with this connection by setting its ServerConnection connection property to: ServerConnection=ServerMethodsDataModule.GetServerConnection Note that there is a built-in Server method called DSAdmin.GetConnection that can be used to establish server connections using the dbxconnections.ini on the server. This server method has a string input parameter which is used to specify what connection to use. This example shows how to set the server connection to an ibconnection item in the dbxconnections.ini file: ServerConnection=DSAdmin.GetConnection("ibconnection") Published on: 9/6/2008 6:07:40 PM Server Response from: SC1 Copyright Embarcadero Technologies, Inc. All rights reserved.
OUTLINE DELPHI 2005 FOR.NET JUMP START
JENSEN DATA SYSTEMS, INC. pg 1 OUTLINE DELPHI 2005 FOR.NET JUMP START CARY JENSEN, PH.D. COPYRIGHT 2003-2005. CARY JENSEN. JENSEN DATA SYSTEMS, INC. ALL RIGHTS RESERVED. JENSEN DATA SYSTEMS, INC. HTTP://WWW.JENSENDATASYSTEMS.COM
More informationRAD Studio XE Datasheet
RAD Studio XE Datasheet DATASHEET Embarcadero RAD Studio XE Complete solution for Windows,.NET, PHP and Web application development Embarcadero RAD Studio XE is a comprehensive rapid application development
More informationCombining kbmmw and kbmwabd for kbmwabd v and kbmmw v
Combining kbmmw and kbmwabd for kbmwabd v. 2.44+ and kbmmw v. 1.00+ The combination of kbmwabd and kbmmw gives a very powerful web application setup with advanced database handling and separation of business
More informationDatabase Development with dbexpress
Database Development with dbexpress CHAPTER 8 IN THIS CHAPTER Using dbexpress 350 dbexpress Components 351 Designing Editable dbexpress Applications 359 Deploying dbexpress Applications 360 350 Database
More informationMicrosoft MB Microsoft CRM Extending MS CRM 1.2 with.net.
Microsoft MB2-228 Microsoft CRM Extending MS CRM 1.2 with.net http://killexams.com/exam-detail/mb2-228 Answer: A, C QUESTION: 140 Which of the following statements are true for Microsoft CRM object dependencies?
More informationADO.NET Overview. Connected Architecture. SqlConnection, SqlCommand, DataReader class. Disconnected Architecture
Topics Data is Everywhere ADO.NET Overview Connected Architecture EEE-474 DATABASE PROGRAMMİNG FOR İNTERNET INTRODUCTION TO ADO.NET Mustafa Öztoprak-2013514055 ASSOC.PROF.DR. TURGAY İBRİKÇİ ÇUKUROVA UNİVERSTY
More informationArchitecting C++ apps
Architecting C++ apps with a multi-device application platform John JT Thomas Director of Product Management jt@embarcadero.com @FireMonkeyPM blogs.embarcadero.com/jtembarcadero/ What is a multi-device
More informationBUILDING APPLICATIONS USING C# AND.NET FRAMEWORK (OBJECT-ORIENTED PROGRAMMING, X428.6)
Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 7 Professional Program: Data Administration and Management BUILDING APPLICATIONS USING C# AND.NET FRAMEWORK (OBJECT-ORIENTED
More informationC# Syllabus. MS.NET Framework Introduction
C# Syllabus MS.NET Framework Introduction The.NET Framework - an Overview Framework Components Framework Versions Types of Applications which can be developed using MS.NET MS.NET Base Class Library MS.NET
More information(C#) - Pro: Designing and Developing Windows Applications Using the Microsoft.NET Framework 3.5
70-563 (C#) - Pro: Designing and Developing Windows Applications Using the Microsoft.NET Framework 3.5 Course Length: 5 Day Course Candidates for exam 70-563 work on a team in a development environment
More informationmaxbox Starter 9 Start with Data Base Programming 1.1 Creating a Query 1.2 Code with SQL
maxbox Starter 9 Start with Data Base Programming 1.1 Creating a Query Today we spend time in programming with Databases and some queries. So a database query is a piece of code (a query) that is sent
More informationM4.1-R4: APPLICATION OF.NET TECHNOLOGY
M4.1-R4: APPLICATION OF.NET TECHNOLOGY NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the OMR
More informationRemobjects for Webservices
Remobjects for Webservices Michaël Van Canneyt December 6, 2008 Abstract The RemObjects SDK is a versatile tool which is likely to provide a solution for all your remoting needs: it implements a complete
More informationDelphi XE. Delphi XE Datasheet
Delphi XE Datasheet DATASHEET Delphi XE Embarcadero Delphi XE is the fastest way to deliver ultrarich, ultra-fast Windows applications. Used by millions of developers, Delphi combines a leading-edge object-oriented
More informationNovedades en Delphi XE
Novedades en Delphi E Danysoft Representante exclusivo en la península ibérica The 2011 release of Delphi is here and it is called Delphi E. With hundreds of new features and enhancements, Delphi E will
More informationClasses and Methods גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון
Classes and Methods גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 Roadmap Lectures 4 and 5 present two sides of OOP: Lecture 4 discusses the static, compile time representation of object-oriented
More informationINTRODUCTION TO.NET. Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.)
INTRODUCTION TO.NET Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate Language (IL) Just- In-
More informationUpgrade: Transition Your MCPD Windows Developer Skills to MCPD Windows Developer 3.5 Instructor: Peter Thorsteinson (VB)
70-566 - Upgrade: Transition Your MCPD Windows Developer Skills to MCPD Windows Developer 3.5 Instructor: Peter Thorsteinson (VB) Course Introduction Course Introduction Chapter 01 - Windows Forms and
More informationDelphi Generics.Collections
Delphi Generics.Collections Copyright(C) 2008 Embarcadero Technologies, Inc. All Rights Reserved. Delphi Generics.Collections Table of Contents Generics.Collections.TCollectionNotification 1 Generics.Collections.TCollectionNotifyEvent
More informationDOT NET Syllabus (6 Months)
DOT NET Syllabus (6 Months) THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate Language (IL) Just- In- Time Compilation and CLS Disassembling.Net Application to IL
More informationMastering VB.NET using Visual Studio 2010 Course Length: 5 days Price: $2,500
Mastering VB.NET using Visual Studio 2010 Course Length: 5 days Price: $2,500 Summary Each day there will be a combination of presentations, code walk-throughs, and handson projects. The final project
More informationClasses and Methods לאוניד ברנבוים המחלקה למדעי המחשב אוניברסיטת בן-גוריון
Classes and Methods לאוניד ברנבוים המחלקה למדעי המחשב אוניברסיטת בן-גוריון 22 Roadmap Lectures 4 and 5 present two sides of OOP: Lecture 4 discusses the static, compile time representation of object-oriented
More informationB.E /B.TECH DEGREE EXAMINATIONS,
B.E /B.TECH DEGREE EXAMINATIONS, November / December 2012 Seventh Semester Computer Science and Engineering CS2041 C# AND.NET FRAMEWORK (Common to Information Technology) (Regulation 2008) Time : Three
More information.NET-6Weeks Project Based Training
.NET-6Weeks Project Based Training Core Topics 1. C# 2. MS.Net 3. ASP.NET 4. 1 Project MS.NET MS.NET Framework The.NET Framework - an Overview Architecture of.net Framework Types of Applications which
More informationWhat's new in Delphi XE7
Delphi Whats New http://www.embarcadero.com/products/delphi/whats-new What's new in Delphi XE7 Delphi XE7 is a must-have upgrade for all Delphi developers and is the newest version of the award winning,
More informationHaving fun with Delphi and AMQP starter
Having fun with Delphi and AMQP starter expert Delphi In last issue of Blaise Pascal there was a great article by Fikret Hasovic, about AMQP (Advanced Message Queue Protocol), explaining its structure
More informationDelphi 2009 Reviewer s Guide
Delphi 2009 Reviewer s Guide November 2009 Corporate Headquarters EMEA Headquarters Asia-Pacific Headquarters 100 California Street, 12th Floor San Francisco, California 94111 York House 18 York Road Maidenhead,
More informationClasses and Methods עזאם מרעי המחלקה למדעי המחשב אוניברסיטת בן-גוריון מבוסס על השקפים של אותו קורס שניתן בשנים הקודמות
Classes and Methods עזאם מרעי המחלקה למדעי המחשב אוניברסיטת בן-גוריון מבוסס על השקפים של אותו קורס שניתן בשנים הקודמות 2 Roadmap Lectures 4 and 5 present two sides of OOP: Lecture 4 discusses the static,
More information2310C VB - Developing Web Applications Using Microsoft Visual Studio 2008 Course Number: 2310C Course Length: 5 Days
2310C VB - Developing Web Applications Using Microsoft Visual Studio 2008 Course Number: 2310C Course Length: 5 Days Certification Exam This course will help you prepare for the following Microsoft Certified
More informationEmbedded databases. Michaël Van Canneyt. September 23, 2005
Embedded databases Michaël Van Canneyt September 23, 2005 Abstract There isn t almost any program out there which doesn t use a database, be it implicit or explicit. For those that explicitly need a database,
More informationEmbedded Databases: NexusDB
Embedded Databases: NexusDB Michaël Van Canneyt July 28, 2006 Abstract NexusDB is a database engine from NexusDB, specifically designed for use in Delphi. It runs as an embedded database server, but can
More informationADO.NET for Beginners
Accessing Database ADO.NET for Beginners Accessing database using ADO.NET in C# or VB.NET This tutorial will teach you Database concepts and ADO.NET in a very simple and easy-to-understand manner with
More informationJBoss Remoting. Version alpha. November 15, 2004
JBoss Remoting Version 1.0.1 alpha November 15, 2004 What is JBoss Remoting? The purpose of JBoss Remoting is to provide a single API for most network based invocations and related service that uses pluggable
More informationB2.52-R3: INTRODUCTION TO OBJECT ORIENTATED PROGRAMMING THROUGH JAVA
B2.52-R3: INTRODUCTION TO OBJECT ORIENTATED PROGRAMMING THROUGH JAVA NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE
More informationCMPT 354 Database Systems I
CMPT 354 Database Systems I Chapter 8 Database Application Programming Introduction Executing SQL queries: Interactive SQL interface uncommon. Application written in a host language with SQL abstraction
More informationPROGRAMMING WITH THE MICROSOFT.NET FRAMEWORK USING MICROSOFT VISUAL STUDIO 2005 Course No. MS4995A 5 Day PREREQUISITES COURSE OUTLINE
COURSE OVERVIEW This five-day instructor-led course enables developers who are migrating from a different development language, an earlier version of Visual Basic.NET or Visual C#, or who have completed
More informationReview: Object Diagrams for Inheritance. Type Conformance. Inheritance Structures. Car. Vehicle. Truck. Vehicle. conforms to Object
Review: Diagrams for Inheritance - String makemodel - int mileage + (String, int) Class #3: Inheritance & Polymorphism Software Design II (CS 220): M. Allen, 25 Jan. 18 + (String, int) + void
More informationPro ODP.NET for Oracle. Database 11 g. Edmund Zehoo. Apress
Pro ODP.NET for Oracle Database 11 g Edmund Zehoo Apress Contents Contents at a Glance iv Contents....v About the Author About the Technical Reviewer Acknowledgments xvii xviii xix Chapter 1: Introduction
More informationC++Builder - Frequently Asked Questions
C++Builder 2010 FAQ C++Builder - Frequently Asked Questions GENERAL QUESTIONS What is Embarcadero C++Builder? C++Builder is the only true RAD C++ environment and framework designed for ultra-fast development
More informationElevate Web Builder Modules Manual
Table of Contents Elevate Web Builder Modules Manual Table Of Contents Chapter 1 - Getting Started 1 1.1 Creating a Module 1 1.2 Handling Requests 3 1.3 Custom DataSet Modules 8 Chapter 2 - Component Reference
More informationCSE 307: Principles of Programming Languages
1 / 26 CSE 307: Principles of Programming Languages Names, Scopes, and Bindings R. Sekar 2 / 26 Topics Bindings 1. Bindings Bindings: Names and Attributes Names are a fundamental abstraction in languages
More informationAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Distributed and Agent Systems Prof. Agostino Poggi What is CORBA? CORBA (Common Object Request
More informationSaikat Banerjee Page 1
1. What s the advantage of using System.Text.StringBuilder over System.String? StringBuilder is more efficient in the cases, where a lot of manipulation is done to the text. Strings are immutable, so each
More information16th Embarcadero Developers Camp. Opening Session. Jason Vokes. Senior Director Technologies & Marketing International
16th Embarcadero Developers Camp Opening Session Jason Vokes Senior Director Technologies & Marketing International Agenda Introduction Product Update Launches and activities Summary 1 Introduction Tools
More informationMCSA Universal Windows Platform. A Success Guide to Prepare- Programming in C# edusum.com
70-483 MCSA Universal Windows Platform A Success Guide to Prepare- Programming in C# edusum.com Table of Contents Introduction to 70-483 Exam on Programming in C#... 2 Microsoft 70-483 Certification Details:...
More informationSmart Client Offline Data Caching and Synchronization
Smart Client Offline Data Caching and Synchronization Brian Noyes Principal Software Architect IDesign,, Inc. www.idesign.net Offline Operations Challenges 1 What is a Smart Client Rich user interface
More informationProgram Contents: DOTNET TRAINING IN CHENNAI
DOTNET TRAINING IN CHENNAI NET Framework - In today s world of enterprise application development either desktop or Web, one of leaders and visionary is Microsoft.NET technology. The.NET platform also
More information.Net Interview Questions
.Net Interview Questions 1.What is.net? NET is an integral part of many applications running on Windows and provides common functionality for those applications to run. This download is for people who
More informationSQL User Defined Code. Kathleen Durant CS 3200
SQL User Defined Code Kathleen Durant CS 3200 1 User Session Objects Literals Text single quoted strings Numbers Database objects: databases, tables, fields, procedures and functions Can set a default
More informationSaikat Banerjee Page 1
1.What is.net? NET is an integral part of many applications running on Windows and provides common functionality for those applications to run. This download is for people who need.net to run an application
More information3.Constructors and Destructors. Develop cpp program to implement constructor and destructor.
3.Constructors and Destructors Develop cpp program to implement constructor and destructor. Constructors A constructor is a special member function whose task is to initialize the objects of its class.
More informationMessages, Instances and Initialization
Messages, Instances and Initialization עזאם מרעי מבוסס על השקפים של הקורס תיכון תוכנה מונחה עצמים http://www.cs.bgu.ac.il/~oosd132/ http://www.cs.bgu.ac.il/~oosd142/ 2 Dynamic Aspects of Classes In the
More informationOVERVIEW ENVIRONMENT PROGRAM STRUCTURE BASIC SYNTAX DATA TYPES TYPE CONVERSION
Program: C#.Net (Basic with advance) Duration: 50hrs. C#.Net OVERVIEW Strong Programming Features of C# ENVIRONMENT The.Net Framework Integrated Development Environment (IDE) for C# PROGRAM STRUCTURE Creating
More informationDebugging. Thus the typical developer, develop according to what is defined as a waterfall model:
Debugging It happens that even the best developer makes errors. It happens that the best developer of some reason do not get the code right first time. It actually happens often for most developers. Thus
More informationHow to Make the Client IP Address Available to the Back-end Server
How to Make the Client IP Address Available to the Back-end Server For Layer 4 - UDP and Layer 4 - TCP services, the actual client IP address is passed to the server in the TCP header. No further configuration
More informationCOURSE OUTLINE: OD10267A Introduction to Web Development with Microsoft Visual Studio 2010
Course Name OD10267A Introduction to Web Development with Microsoft Visual Studio 2010 Course Duration 2 Days Course Structure Online Course Overview This course provides knowledge and skills on developing
More informationJava for Programmers Course (equivalent to SL 275) 36 Contact Hours
Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Course Overview This course teaches programmers the skills necessary to create Java programming system applications and satisfies the
More informationScott Meder Senior Regional Sales Manager
www.raima.com Scott Meder Senior Regional Sales Manager scott.meder@raima.com Short Introduction to Raima What is Data Management What are your requirements? How do I make the right decision? - Architecture
More informationCommunication. Outline
COP 6611 Advanced Operating System Communication Chi Zhang czhang@cs.fiu.edu Outline Layered Protocols Remote Procedure Call (RPC) Remote Object Invocation Message-Oriented Communication 2 1 Layered Protocols
More informationCall-back API. Polyhedra Ltd
Call-back API Polyhedra Ltd Copyright notice This document is copyright 1994-2006 by Polyhedra Ltd. All Rights Reserved. This document contains information proprietary to Polyhedra Ltd. It is supplied
More informationGraphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub
Lebanese University Faculty of Science Computer Science BS Degree Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub 2 Crash Course in JAVA Classes A Java
More informationIMPLEMENTING THE LINQ QUERY LANGUAGE INTO THE C++ PROGRAMMING LANGUAGE USING A PREPROCESSOR
IMPLEMENTING THE LINQ QUERY LANGUAGE INTO THE C++ PROGRAMMING LANGUAGE USING A PREPROCESSOR Jakub Judas, Miroslav Virius FJFI ČVUT ABSTRACT: LINQ is a query language similar to SQL that enables to retrieve
More informationDistributed Technologies - overview & GIPSY Communication Procedure
DEPARTMENT OF COMPUTER SCIENCE CONCORDIA UNIVERSITY Distributed Technologies - overview & GIPSY Communication Procedure by Emil Vassev June 09, 2003 Index 1. Distributed Applications 2. Distributed Component
More informationContents. Chapter 1 Introducing ADO.NET...1. Acknowledgments...xiii. About the Authors...xv. Introduction...xix
Acknowledgments...xiii About the Authors...xv Introduction...xix Chapter 1 Introducing ADO.NET...1 How We Got Here...2 What Do These Changes Mean?...5 ADO.NET A New Beginning...7 Comparing ADOc and ADO.NET...8
More informationZhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson
Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Introduction History, Characteristics of Java language Java Language Basics Data types, Variables, Operators and Expressions Anatomy of a Java Program
More information10267 Introduction to Web Development with Microsoft Visual Studio 2010
10267 Introduction to Web Development with Microsoft Visual Studio 2010 Course Number: 10267A Category: Visual Studio 2010 Duration: 5 days Course Description This five-day instructor-led course provides
More informationComputer Networks/DV2 Lab
Computer Networks/DV2 Lab Room: BB 219 Additional Information: http://ti.uni-due.de/ti/en/education/teaching/ss18/netlab 1. Practical Training: Network planning and installation of a file server 2. Practical
More informationPROGRAMMING DELPHI DATABASE APPLICATIONS by Francisco Charte. (C) 2017 Danysoft
PROGRAMMING DELPHI DATABASE APPLICATIONS by Francisco Charte (C) 2017 Danysoft www.danysoft.com LIST OF FIGURES 1.1 ARCHITECTURE OF A BDE-BASED SOLUTION. 43 1.2 ARCHITECTURE OF A SOLUTION BASED ON IBX.
More informationADO.NET from 3,048 meters
C H A P T E R 2 ADO.NET from 3,048 meters 2.1 The goals of ADO.NET 12 2.2 Zooming in on ADO.NET 14 2.3 Summary 19 It is a rare opportunity to get to build something from scratch. When Microsoft chose the
More informationIndySoap Demonstration Tutorial
IndySoap Demonstration Tutorial Introduction This tutorial shows how to use IndySoap for client/server RPC model using a unique number server as an example. As well as providing a demonstration of how
More informationTutorial 8 Build resilient, responsive and scalable web applications with SocketPro
Tutorial 8 Build resilient, responsive and scalable web applications with SocketPro Contents: Introduction SocketPro ways for resilient, responsive and scalable web applications Vertical scalability o
More informationInterface evolution via public defender methods
Interface evolution via public defender methods Brian Goetz Second draft, May 2010 1. Problem statement Once published, it is impossible to add methods to an interface without breaking existing implementations.
More informationDeveloping Microsoft.NET Applications for Windows (Visual Basic.NET)
Developing Microsoft.NET Applications for Windows (Visual Basic.NET) Course Number: 2565 Length: 5 Day(s) Certification Exam This course will help you prepare for the following Microsoft Certified Professional
More informationCOPYRIGHTED MATERIAL. Contents. Part I: C# Fundamentals 1. Chapter 1: The.NET Framework 3. Chapter 2: Getting Started with Visual Studio
Introduction XXV Part I: C# Fundamentals 1 Chapter 1: The.NET Framework 3 What s the.net Framework? 3 Common Language Runtime 3.NET Framework Class Library 4 Assemblies and the Microsoft Intermediate Language
More informationLanguage Features. 1. The primitive types int, double, and boolean are part of the AP
Language Features 1. The primitive types int, double, and boolean are part of the AP short, long, byte, char, and float are not in the subset. In particular, students need not be aware that strings are
More informationMigrating Mappings and Mapplets from a PowerCenter Repository to a Model Repository
Migrating Mappings and Mapplets from a PowerCenter Repository to a Model Repository 2016 Informatica LLC. No part of this document may be reproduced or transmitted in any form, by any means (electronic,
More informationReport Exec Dispatch System Specifications
Report Exec Dispatch System Specifications Contents Overview... 2 Technical Support... 2 At a Glance... 2 Report Exec Systems Diagram... 3 Server Specifications... 4 Server OS... 4 Microsoft SQL Server...
More informationDEVELOPING WEB AZURE AND WEB SERVICES MICROSOFT WINDOWS AZURE
70-487 DEVELOPING WEB AZURE AND WEB SERVICES MICROSOFT WINDOWS AZURE ACCESSING DATA(20 TO 25%) 1) Choose data access technologies a) Choose a technology (ADO.NET, Entity Framework, WCF Data Services, Azure
More informationThrift specification - Remote Procedure Call
Erik van Oosten Revision History Revision 1.0 2016-09-27 EVO Initial version v1.1, 2016-10-05: Corrected integer type names. Small changes to section headers. Table of Contents 1.
More informationInternet Application Developer
Internet Application Developer SUN-Java Programmer Certification Building a Web Presence with XHTML & XML 5 days or 12 evenings $2,199 CBIT 081 J A V A P R O G R A M M E R Fundamentals of Java and Object
More informationObject Oriented Programming Using Visual C# 2012-Level 2
Object Oriented Programming Using Visual C# 2012-Level 2 Course ISI-1340 - Five Days - Instructor-led - Hands on Introduction This course is the second in a series of two courses, which are appropriate
More informationKINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK
KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR 2011 2012(ODD SEMESTER) QUESTION BANK SUBJECT CODE / NAME: IT1402-MIDDLEWARE TECHNOLOGIES YEAR/SEM : IV / VII UNIT
More informationPeers Techno log ies Pv t. L td. Core Java & Core Java &Adv Adv Java Java
Page 1 Peers Techno log ies Pv t. L td. Course Brochure Core Java & Core Java &Adv Adv Java Java Overview Core Java training course is intended for students without an extensive programming background.
More informationStream Computing using Brook+
Stream Computing using Brook+ School of Electrical Engineering and Computer Science University of Central Florida Slides courtesy of P. Bhaniramka Outline Overview of Brook+ Brook+ Software Architecture
More informationCourse Outline. Developing Data Access Solutions with Microsoft Visual Studio 2010 Course 10265A: 5 days Instructor Led
Developing Data Access Solutions with Microsoft Visual Studio 2010 Course 10265A: 5 days Instructor Led About this Course In this course, experienced developers who know the basics of data access (CRUD)
More informationThis document is intended for Multilizer users that have been localizing software using component localization.
Migration Tutorial Tutorial for migration of Delphi/C++Builder localization projects to Multilizer 6.0. Background This document is intended for Multilizer users that have been localizing software using
More informationPaytm Programming Sample paper: 1) A copy constructor is called. a. when an object is returned by value
Paytm Programming Sample paper: 1) A copy constructor is called a. when an object is returned by value b. when an object is passed by value as an argument c. when compiler generates a temporary object
More informationDeveloping Data Access Solutions with Microsoft Visual Studio 2010
Developing Data Access Solutions with Microsoft Visual Studio 2010 Course Code: 10265A; Five days; Instructor-Led About this Course In this course, experienced developers who know the basics of data access
More informationB Nagaraju
Agenda What to expect in this session Complete ADO.NET Support available in.net Clear Conceptual View Supported by Demos Understand 3 generations of DataAccess.NET Around 9 minutes of videos Free Stuff
More informationName :. Roll No. :... Invigilator s Signature : INTRODUCTION TO PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70
Name :. Roll No. :..... Invigilator s Signature :.. 2011 INTRODUCTION TO PROGRAMMING Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates are required to give
More informationADO.NET Using Visual Basic 2005 Table of Contents
Table of Contents INTRODUCTION...INTRO-1 Prerequisites...INTRO-2 Installing the Practice Files...INTRO-3 Software Requirements...INTRO-3 The Chapter Files...INTRO-3 About the Authors...INTRO-4 ACCESSING
More informationQ.1. (a) [4 marks] List and briefly explain four reasons why resource sharing is beneficial.
Q.1. (a) [4 marks] List and briefly explain four reasons why resource sharing is beneficial. Reduces cost by allowing a single resource for a number of users, rather than a identical resource for each
More informationA201 Object Oriented Programming with Visual Basic.Net
A201 Object Oriented Programming with Visual Basic.Net By: Dr. Hossein Computer Science and Informatics IU South Bend 1 What do we need to learn in order to write computer programs? Fundamental programming
More informationGetting started with Lazarus
Getting started with Lazarus Michaël Van Canneyt March 4, 2006 Abstract Lazarus is a cross-platform 2-way RAD tool which can be used to develop almost any kind of program for Windows, Linux, Solaris or
More informationErlangen API Documentation
Erlangen API Documentation Max Rottenkolber Monday, 20 November 2017 Table of Contents 1 erlangen (Package) 1 1.1 *agent-debug* (Variable).................... 1 1.2 *default-mailbox-size* (Variable)...............
More informationCS/B.TECH/CSE(New)/SEM-5/CS-504D/ OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 GROUP A. (Multiple Choice Type Question)
CS/B.TECH/CSE(New)/SEM-5/CS-504D/2013-14 2013 OBJECT ORIENTED PROGRAMMING Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates are required to give their answers
More informationSOCKETLIB. Requirements
SOCKETLIB SocketLib is an event based, semi-asynchronous socket stream. It derives from standard C++ sockets, therefore, all extractors (>>) and inserters (
More informationC# Programming: From Problem Analysis to Program Design. Fourth Edition
C# Programming: From Problem Analysis to Program Design Fourth Edition Preface xxi INTRODUCTION TO COMPUTING AND PROGRAMMING 1 History of Computers 2 System and Application Software 4 System Software 4
More informationDistributed Environments. CORBA, JavaRMI and DCOM
Distributed Environments CORBA, JavaRMI and DCOM Introduction to CORBA Distributed objects A mechanism allowing programs to invoke methods on remote objects Common Object Request Broker middleware - works
More information1.1 Observer Pattern for Web Services
A pre-release (version 2004-07-26) of a section from a masters thesis by Tomas Johansson, tojo@kth.se 1/5 1.1 Observer Pattern for Web Services 1.1.1 Name and Source Observer pattern ( for Web Services
More information