Service Builder

RemObjects Service Builder
Contents | Index
Next
Service Builder
Topics

Welcome to the RemObjects Service Builder!

The RemObjects Service Builder is a powerful tool that integrates with the IDE of Delphi, Visual Studio .NET or C#Builder and is used to define the services and data types available in your RemObjects server application by Building a Library and allowing you to Generate Access to your Library.

Links
Topics
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.
What do you think about this topic? Send feedback!


Welcome to Service Builder

Previous | Up | Next
Welcome to Service Builder
Service Builder

Welcome to the RemObjects Service Builder!

The RemObjects Service Builder is a powerful tool that integrates with the IDE of Delphi, Visual Studio .NET or C#Builder and is used to define the services and data types available in your RemObjects server application by Building a Library and allowing you to Generate Access to your Library.

Group

Service Builder

Links
Service Builder
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Getting Started with Service Builder

Getting Started with Service Builder
Service Builder

The RemObjects Service Builder consists of a Main Menu, a toolbar, a Library Panel, and a Details Panel.

The Main Menu contains all of the available commands for the Service Builder, while the Toolbar contains quick access to the most common ones.

The Library Panel displays the structure of the library, including Services, Structs, Arrays, Enums, Exceptions, Event Sinks and used Libraries. Any item in the Library Panel can be selected so that its details are displayed in the Details Panel.

To start the Service Builder, launch it from the RemObjects menu item of your IDE. You can now create a new library by selecting "File" and then "New" from the Main Menu, or by clicking "New" on the Toolbar. You may also open an existing library by selecting "File|Open" from the Main Menu, or by clicking "Open" on the Toolbar. Once your initial library has been created, you can start Building a Library.

Group

Service Builder

Links
Service Builder
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Service Builder Plugins

Service Builder Plugins
Service Builder

Service Builder 3 comes with an extensive plugin framework, which allows almost all of its parts to be extended.

Among the extendable areas are:

  • Code Generators
  • Validators
  • Library Views
  • Library Editors
  • Importers
  • Custom Actions

Most of the elements you see and work with, including the default editor in the Details Pane, the standard Delphi or C# code generators, or the Library Validator, are plugins and can be theoretically replaced or extended with custom solutions.

You can see the installed plugins by selecting the "Library|Plugins" menu, which will give you a list similar to this:

The number of plugins that you see depends on the edition of the RemObjects SDK that you have installed.

Group

Service Builder

Links
Service Builder
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Service Builder Toolbar Commands

Service Builder Toolbar Commands
Service Builder

The Service Builder Toolbar contains the most commonly used functionality, which encompasses five sections: File, Elements, Edit, View, and Help.

File Commands

  • New - Creates a new Library. If the current Library has changed, you will be prompted to save it.
  • Import - Allows you to import an existing Library and add its services and types to the current Library.
  • Open - Provides a Most Recently Used list and allows you to open an existing library. If the current Library has changed, you will be prompted to save it.
  • Save - Gives several options to save the current Library.
  • Close - Closes the current library. If the current Library has changed, you will be prompted to save it.
  • Validate - Validates the current Library and reports any hints, warnings, and errors that were found during validation.

Element Commands

  • Struct - Creates a new Struct.
  • Enum - Creates a new Enum.
  • Array - Creates a new Array.
  • Service - Creates a new Service.
  • Exception - Creates a new Exception.

Edit Commands

  • Delete - Deletes the Element selected in the Library Panel.
  • Clear - Clears all Elements from the current library.

View Commands

  • RODL - Shows a preview of the RODL file in the Details Panel.
  • WSDL - Shows a preview of the WSDL file that can be generated by the Service Builder.
  • Source - Shows a preview of the source code that can be generated by the Service Builder.
  • Docs - Shows a preview of the documentation that can be generated by the Service Builder.

Help Commands

Help - Launches the help file that you are currently reading.

Group

Service Builder

Links
Service Builder
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Building a Library

Building a Library
Service Builder | Topics

Building a Library consists of defining one or more Services, as well as any Struct, Array, Enum, Event Sinks and Exception elements that might be needed to represent the data used by your service.

The Service Builder allows you to re-use existing libraries by importing their elements and allowing you to re-define or modify them. It also allows you to use existing libraries, extend them and re-use them.

Group

Service Builder

Links
Service Builder, Topics
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Reusing Existing Libraries

Reusing Existing Libraries
Building a Library | Topics

The Service Builder offers two options for reusing existing types and services in a project, you can Use an Existing RODL or you can Import one.

The Use an Existing RODL option adds a reference to an existing RODL to your project. If you make changes to the existing RODL later then those changes will be reflected in your new Library as well. When this option is chosen, no code will be generated for the definitions pulled in from the existing RODL, instead the CodeGen will add the units from the existing RODL to your uses clauses (in Delphi), or it will rely on them to being defined in the same Namespace as the new RODL (in C#).

The Import RODL option will simply copy the definitions from the old RODL to your new one, which will then be treated as if you had manually entered them.

You should choose to Import a RODL when the project you are working on is completely independent from the previous RODL and you only want a shortcut to re-create the types and services needed. You should Use an Existing RODL when the two libraries depend on each other and the new library will physically build on the existing one.

Think of it as the difference between copy/pasting a class to your new project by pasting it in a new source file (Import RODL), as opposed to merely referencing the existing unit that implements it (Use Existing RODL).

Group

Building a Library

Links
Building a Library, Topics
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Using Existing Libraries

Using Existing Libraries
Reusing Existing Libraries

Similar to a uses clause in Delphi or a using statement in C#, RemObjects Libraries can use existing services. By using an existing Library in your project, you can use and extend all its elements.

To use an existing library, click "Edit" then select "Include Existing RODL".

In the resulting dialog, browse to or enter the file path of the desired RODL file. The Service Builder will then add a new item to the Library Panel to indicate that you are using the Library.

Depending on the edition of the RemObjects SDK that you have installed, certain predefined RODL files might be available for you to reuse directly from the menu - e.g. for DataSnap or Data Abstract:

After choosing the RODL file to use, you will see this item listed in the Library tree with all the elements provided by this library listed underneath it:

From here, you can change the name, the file name and the documentation for the use of the RODL file.

Note that all elements defined in the used RODL are listed in the Library pane in gray and are in read-only mode; you can select them to view their details, but you cannot modify them.

Group

Reusing Existing Libraries

Links
Reusing Existing Libraries
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Importing Libraries

Importing Libraries
Reusing Existing Libraries | Topics

When you wish to create a totally new library based on the design of an existing one, simply import it and modify it as needed. The RemObjects Service Builder allows you to import existing libraries from SOAP Web Services (WSDL) and native RemObjects SDK Services (RODL).

The Importer interface is also plugable, so additional import can be provided through plugins.

All available importers can be invoked from the "Edit | Import" menu item:

Depending on the importer, you will presented with a file dialog or an importer-specific dialog that allows you to select which one to import.

When importing a library, the importer might issue warnings or even errors about its elements, which will be shown in the message pane at the bottom of the Service Builder window, once the import has completed.

In many cases, you can work around problems encountered during import by manually changing the library to your needs. Consult the provider of the imported data or the RemObjects SDK newsgroups if you have specific import problems.

IDE Integration

Depending on the development environment that you use, one or more of the provided importers might also be available directly in your IDE's "RemObjects" menu.

Group

Reusing Existing Libraries

Links
Reusing Existing Libraries, Topics
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Import SOAP Web Service (WSDL)

Import SOAP Web Service (WSDL)
Importing Libraries

The SOAP Web Service (WSDL) importer presents you with the following dialog, which allows you to import either a WSDL file from your local hard disk or connect directly to a SOAP server and download a description (WSDL) file:

Once you have browsed for the correct file or entered the URL of your web service, click the "Import" button to import the service into your library.

Group

Importing Libraries

Links
Importing Libraries
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Import RemObjects SDK Service (RODL)

Import RemObjects SDK Service (RODL)
Importing Libraries

The RemObjects SDK Service (RODL) importer presents you with the following dialog, which allows you to import either a RODL file from your local hard disk or connect directly to a RemObjects SDK server and download a description (RODL) file:

Once you have browsed for the correct file or entered the URL of your web service, click the "Import" button to import the service into your library.

Group

Importing Libraries

Links
Importing Libraries
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Structs

Structs
Building a Library

A struct is an object that contains properties, but no actual functionality. The properties of a struct can consist of primitive types or complex types defined in your Library or in a Library that you are using.

To create a struct, select "Edit|New|Struct" or click the "Struct" button on the Toolbar.

Selecting the Struct in the Library Panel will load the details into the Details Panel. From here you can assign a name to the Struct, inherit the Struct from an existing one by specifying the Ancestor, or write documentation for the Struct.

Adding Fields

To add fields to a struct, click the "+ Add Field" button in the Fields section of the Details Panel. To remove an element, click the "-" button. Finally, to name or rename an element, select the element name in the table and type the new name. As explained above, an element data type can be a primitive type or a complex type defined in your Library or in a Library that you are using.

Change the order of the fields with the Up/Down buttons, or the Ctrl+Up and Ctrl+Down keyboard shortcuts.

You can also provide documentation for your struct fields by selecting the individual items and clicking the "Document this Field" button. This will bring up the Documentation Editor, where you can type your description.

Group

Building a Library

Links
Building a Library
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Enums

Enums
Building a Library

An Enum is a list of pre-defined values. To create an Enum select "Edit|New|Enum" or click the "Enum" button on the Toolbar.

Selecting the Enum in the Library Panel will load the details into the Details Panel, in which you can assign a name to the Enum or write documentation for it.

Adding Values

To add a value to the Enum, click the "+ Add Value" button in the Values section of the Details Panel. To remove a value, click the "-" button. Finally to name or rename a value, select the value in the table and type the new name.

Change the order of the values with the Up/Down buttons, or the Ctrl+Up and Ctrl+Down keyboard shortcuts.

You can also provide documentation for your enum values by selecting the individual items and clicking the "Document this Value" button. This will bring up the Documentation Editor, where you can type your description.

Group

Building a Library

Links
Building a Library
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Arrays

Arrays
Building a Library

An array is a list of elements that have the same type. An array can consist of primitive types or complex types defined in your Library or in a Library that you are using. To create an Array, select "Edit|New|Array" or click the "Array" button on the Toolbar.

Selecting the Array in the Library Panel will load the details into the Details Panel, from which you can name the Array, specify the type of elements the array will contain or write documentation for it.

Group

Building a Library

Links
Building a Library
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Services

Services
Building a Library

A service is the base foundation of your RemObjects SDK server and it defines the methods that will be made available to your RemObjects SDK clients. To create a service, select "Edit|New|Service" or click the "Service" button on the Toolbar.

Selecting the service in the Library Panel will load the details into the Details Panel. From there you can assign a name to the service, inherit the service from an existing one by specifying the Ancestor or write documentation for it.

Adding and Removing Operations (Methods)

In the Operations section of the Details Panel, you can define the operations or methods of your service. To define a new operation, click the "+ Add Operation" button above the Operation table. To remove an operation, click the "-" button. Finally, to name or rename an operation, select the operation in the operations table and type the new name.

Change the order of the operations with the Up/Down buttons, or the Ctrl+Up and Ctrl+Down keyboard shortcuts.

You can also provide documentation for your operations by selecting the individual items and clicking the "Document this Operation" button. This will bring up the Documentation Editor, where you can type your description.

Adding and Removing Parameters (Arguments) for an Operation

You can add arguments by clicking the "+ Add Parameter" button above the arguments table and remove them by clicking the "-" button.

The Flag property of an argument defines how the argument is passed between the client and server. A value of in means that the client will pass the value to the server. out means that the server will pass the value back to the client. Finally, in/out means that the client may pass the value to the server and the server may also pass the value (possibly modified) back to the client.

The Name property of an argument simply defines the argument name.

The Datatype property of an argument defines the argument type. This can be a "primitive" type, such as Integer, or a complex type defined in your Library or in a Library that you are using.

Change the order of the parameters with the Up/Down buttons, or the Ctrl+Up and Ctrl+Down keyboard shortcuts.

You can also provide documentation for your parameters by selecting the individual items and clicking the "Document this Parameter" button. This will bring up the Documentation Editor, where you can type your description.

Operation Result Types

The final consideration, when creating an operation, is the result type. The result is the expected result of the operation, which can be a "primitive" type, such as Integer, or a complex type defined in your Library or in a Library that you are using.

Group

Building a Library

Links
Building a Library
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Event Sinks

Event Sinks
Building a Library

An Event Sink provides a collection of event methods that your server can use to propagate events back to the clients. In essence, Event Sinks are services that work "backwards", allowing your Client to implement the defined operations and the server to call them.

To create a service, select "Edit|New|Event Sink" or click the "Event Sink" button on the Toolbar.

Selecting the Event Sink in the Library Panel will load the details into the Details Panel. In the Details Panel you can assign a name to the event sink, inherit the event sink from an existing one by specifying the Ancestor or write documentation for it.

Adding and Removing Events (Methods)

In the Operations section of the Details Panel you can define the events, or callback-methods, of your event sink. To define a new event, click the "+ Add Event button above the Events table. To remove an event, click the "-" button. Finally to name or rename an event, select the event in the events table and type the new name.

Change the order of the events with the Up/Down buttons, or the Ctrl+Up and Ctrl+Down keyboard shortcuts.

You can also provide documentation for your events by selecting the individual items and clicking the "Document this Event" button. This will bring up the Documentation Editor, where you can type your description.

Adding and Removing Parameters (Arguments) for an Event

You can add arguments by clicking the "+ Add Parameter" button above the arguments table, or remove them by clicking the "-" button.

Because Events are one-way calls from the Server to the client, the only supported Flag type is in.

Change the order of the parameters with the Up/Down buttons, or the Ctrl+Up and Ctrl+Down keyboard shortcuts.

You can also provide documentation for your parameters by selecting the individual items and clicking the "Document this Parameter" button. This will bring up the Documentation Editor, where you can type your description.

Group

Building a Library

Links
Building a Library
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Exceptions

Exceptions
Building a Library

An Exception is an object that represents a programming exception.

To create an Exception, select "Edit|New|Exception" or click the "Exception" button on the Toolbar.

Selecting the Exception in the Library Panel will load the details into the Details Panel, from which you can assign a name to the Exception, inherit the Exception from an existing one by specifying the Ancestor, or write documentation for it.

Adding Fields

To add fields to an exception, click the "+ Add Field" button in the Fields section of the Details Panel. To remove an element, click the "-" button. Finally to name or rename an element, select the element name in the table and type the new name. As explained above, an element data type can be a primitive type, or a complex type defined in your Library or in a Library that you are using.

Change the order of the fields with the Up/Down buttons, or the Ctrl+Up and Ctrl+Down keyboard shortcuts.

You can also provide documentation for your exception fields by selecting the individual items and clicking the "Document this Field" button. This will bring up the Documentation Editor, where you can type your description.

Group

Building a Library

Links
Building a Library
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Documentation Editor

Documentation Editor
Building a Library

The Documentation Editor provides you a way to edit the documentation for the items in your library.

You can invoke it by double-clicking the Documentation field of top level items such as Services and Structs in the Details Pane or by selecting the "Document this..." button for sub-items such as Fields, Operations, Parameters, etc.

For convenience, while typing descriptions, the "Enter" key has not been bound to the "Ok" button, but will work as standard Carriage Return/Line Feed in the Editor. Use Ctrl+Enter to close the editor and accept your changes, or use Esc to close the dialog without keeping your changes.

Group

Building a Library

Links
Building a Library
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Generating Access to your Library

Generating Access to your Library
Service Builder | Topics

The RemObjects Service Builder allows you to generate files that describe your Library. These files can then be imported into your project to consume the services defined within the library. Supported export formats include RODL, WSDL, and Source Code. In order to ensure that the export will be successful, before a library can be exported it needs to be Validated. You may preview the available formats by clicking the corresponding format button on the toolbar.

If you are using the RemObjects SDK in combination with Delphi, Visual Studio .NET or C#Builder, most of these generation tasks will be automated by your IDE. For example, if you choose to "Import RemObjects SDK Service" from your IDE, the appropriate Interface File will automatically be generated and added to your project.

Group

Service Builder

Links
Service Builder, Topics
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Validating the Library

Validating the Library
Generating Access to your Library

You can invoke the Validation via the "Tools|Check Library for Problems" menu. This will run the default validator as well as any custom validation plugins that you might have registered.

If any problems arise during validation, the Messages panel will appear at the bottom with Hints, Warnings or Errors.

In order to fix a problem, simply double-click on a message to locate the element.

Group

Generating Access to your Library

Links
Generating Access to your Library
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


RODL

RODL
Generating Access to your Library

An RODL file defines a Library in the RemObjects Definition Language XML file format. The RODL file can be previewed by choosing the "View|RODL" menu.

Group

Generating Access to your Library

Links
Generating Access to your Library
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


WSDL

WSDL
Generating Access to your Library

An WSDL file defines a Library in the Web Services Definition Language XML file format. The WSDL file can be previewed by choosing the "View|WSDL" menu.

To save the library definition file in WSDL format on disk, click the "Save As..." button in the WSDL Pane:

Group

Generating Access to your Library

Links
Generating Access to your Library
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Source Code

Source Code
Generating Access to your Library

The Service Builder can export a Library to several languages including Delphi, C#, Delphi for .NET and C++.

Similar to all other Service Builder components, the number of languages available depends on the version of the RemObjects SDK that you have installed.

To generate a source code file on disk, select "Generate" and then select the type of file that you wish to create.

Group

Generating Access to your Library

Links
Generating Access to your Library
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Docs

Docs
Generating Access to your Library

When Building a Library, you can specify documentation text for each of its elements. The Service Builder enables you to generate HTML documentation that describes all the elements defined in your Library.

This documentation file can be previewed by choosing the "View|Documentation" menu.

Note: you can provide your own layout for the generated documentation by creating a custom XSLT Style sheet file, named "ROSBStandardViews.documentation.xsl", and by placing it next to the Service Builder. To restore the original format, simply remove or rename the file.
Group

Generating Access to your Library

Links
Generating Access to your Library
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Command Line Switches

Command Line Switches
Service Builder
Command Line Switches

Service Builder knows and reacts to the following command line switches.

Most of these switches are used by the IDE integration and other RemObjects SDK tools when communicating with the Service Builder and should not be useful to start it manually.

<file-name> If the first parameter passed to the Service Builder is a filename, it will automatically load the specified RODL at startup. If the file is not found, a new Library will be created.

/autosave Used with the IDE integration. If called with this switch, Service Builder will automatically save changes to the RODL when losing focus. This enables you to keep the Service Builder open next to Delphi, make changes in it and have them automatically reflected when you switch back to the Delphi IDE.

/projectname:<name> Used with the IDE integration. If called with this switch, Service Builder will display the passed project name in the titlebar and the Taskbar button, instead of the filename of the actual RODL.

/displayname:<name> If called with this switch, Service Builder will display the passed project name in the titlebar and the Taskbar button.

/import:<type> Used by the IDE integration. The Service Builder launches the importer specified by <type>. The <type> can refer to any importer plugin, such as Import.Rodl, Import.Soap.Wsdl or any custom importer installed with Service Builder.

/quietimport The Service Builder will exit after importing instead of keeping the library open for editing.

/export:<type> Upon exiting, Service Builder will export the library using the specified codegen. <type> must be one or more of the registered CodeGens. Wildcards may be used to specify a group of codegens. Examples: CodeGen.CSharp.Intf or CodeGen.Delphi.*

/export-file:<file-name> File name to save the exported code to.

/export-folder:<folder-name> Folder name to save all exported code files to; default names provided by CodeGen will be used.

/execute:<plugin> Execute the custom action plugin (for example "DataAbstract.PublishSchemaWizard").

/register The Service Builder will create file associations for the extension ".rodl" in the registry and then exit immediately. If you install the RemObjects SDK via the installer provided, this is done for you automatically.

/ns Omit the display of the splash screen

Group

Service Builder

Links
Service Builder
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Writing Plugins

Writing Plugins
Service Builder

An article describing how to write custom Plugins for Service Builder 3 is available on our website. Click here.

Group

Service Builder

Links
Service Builder
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Additional Information

Contents | Index
Previous | Next
Additional Information
Topics

Please make sure to visit the RemObjects Software website at remobjects.com, where up to date information on all our products is available.

RSS feeds are also provided, to help you stay informed about new articles and product news.

Links
Topics
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


FAQs

FAQs
Additional Information | See Also

Frequently asked questions (FAQs) about our products are maintained on our website and are often extended and enhanced based on feedback we receive via our newsgroups and support team.

We maintain a single FAQ database containing items for all our products and you can reach the FAQ home page via: remobjects.com/devcenter/faq

The FAQ page allows you to filter by product or category and also offers a text search facility.

Notes

If you need to refer to a numbered item, you can use a shortcut, e.g. remobjects.com?faq112 to directly access the FAQ in question.

See Also

Online Articles, Newsgroups and Getting Technical Support help topics

Group

Additional Information

Links
Additional Information, See Also
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Online Articles

Online Articles
Additional Information | See Also

RemObjects Software provides an extensive set of online articles and other resources, covering all aspects of our products in varying degrees of detail, from non-technical whitepapers over introductory articles to in-depth architecture reviews for experienced users.

The complete set of RemObjects developer resources can be accessed via our Developer Center at remobjects.com/devcenter.

See Also

FAQs, Newsgroups and Getting Technical Support help topics

Group

Additional Information

Links
Additional Information, See Also
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Getting Technical Support

Getting Technical Support
Additional Information | See Also

For more information on getting technical support for RemObjects products, please refer to the RemObjects website at remobjects.com/support.

Our goal is to help create success for you and your organization by leveraging RemObjects’ industry-leading solutions. RemObjects Support provides world class technical support, and you can email our support team at support@remobjects.com should you have any technical issues.

Paid per-incident Premium Support is also available, please visit remobjects.com?premiumsupport for details.

See Also

FAQs, Online Articles and Newsgroups help topics

Group

Additional Information

Links
Additional Information, See Also
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Newsgroups

Newsgroups
Additional Information | See Also

Support newsgroups are available via NNTP at news.remobjects.com:

  • For .NET Products:
    • remobjects.public.dataabstract.net
    • remobjects.public.hydra.net
    • remobjects.public.chrome
    • remobjects.public.sdk.net
  • For Delphi Products:
    • remobjects.public.dataabstract.delphi
    • remobjects.public.hydra.delphi
    • remobjects.public.sdk.delphi
  • Other Useful Groups:
    • remobjects.public.binaries
    • remobjects.public.bugreports
    • remobjects.public.non-tech
    • remobjects.public.suggestions

Please visit www.remobjects.com?newsgroups for more up to date information on available newsgroups and assistance for setting up newsgroup access.

See Also

FAQs, Online Articles and Getting Technical Support help topics

Group

Additional Information

Links
Additional Information, See Also
Copyright (c) RemObjects Software, LLC, 2002-2008. All rights reserved.


Copyright Notice

Previous
Copyright Notice

RemObjects Service Builder Documentation

The Software as described in this online help system, is licensed under the software license agreement distributed with the product. The software may be used or copied only in accordance with the terms of its license.

RemObjects Service Builder is copyright © RemObjects Software, LLC, 2002-2008. All Rights reserved.

This help file is copyright © RemObjects Software, LLC, 2002-2008. All Rights reserved.

This help file was created using doc-o-matic. We'd like to thank toolsfactory and Markus Spoettl for their continuous support!

Please also visit our online developer center at remobjects.com/devcenter.

Copyright

No part of this help can be reproduced, stored in any retrieval system, copied or modified, transmitted in any form or by any electronic or mechanical means, including photocopying and recording for purposes other than the purchaser's personal use.

Microsoft, Windows, Visual Studio, Microsoft .NET, Internet Information Server and Personal Web Server are registered trademarks or trademarks of Microsoft Corporation.

All other brands and names mentioned in this help system are the properties of their respective owners.

RemObjects Software Trademarks

Chrome™, Data Abstract™, DebugServer™, DevCenter™, DevStudio™, EWF Server Pack™, Hydra™, Internet Pack™, Pascal Script™, RemObjects™, RemObjects Software™, RemObjects SDK™, The Infrastructure Company™ and Wolpertinger™ as well as their respective logos are trademarks or registered trademarks of RemObjects Software, LLC in the United States of America and World-Wide.

The absence of a name or logo in the above list does not constitute a waiver of any and all intellectual property rights that RemObjects Software has established in any of its product, feature, or service names or logos.

Copyright © RemObjects Software, LLC, 2002-2008. All rights reserved.


Topics

Topics
Additional Information
Topics
Topic
Description
FAQs
Frequently asked questions (FAQs) about our products are maintained on our website and are often extended and enhanced based on feedback we receive via our newsgroups and support team.
We maintain a single FAQ database containing items for all our products and you can reach the FAQ home page via: remobjects.com/devcenter/faq
The FAQ page allows you to filter by product or category and also offers a text search facility.
Online Articles
RemObjects Software provides an extensive set of online articles and other resources, covering all aspects of our products in varying degrees of detail, from non-technical whitepapers over introductory articles to in-depth architecture reviews for experienced users.
The complete set of RemObjects developer resources can be accessed via our Developer Center at remobjects.com/devcenter.
Getting Technical Support
For more information on getting technical support for RemObjects products, please refer to the RemObjects website at remobjects.com/support.
Our goal is to help create success for you and your organization by leveraging RemObjects’ industry-leading solutions. RemObjects Support provides world class technical support, and you can email our support team at support@remobjects.com should you have any technical issues.
Paid per-incident Premium Support is also available, please visit remobjects.com?premiumsupport for details.
Newsgroups
Support newsgroups are available via NNTP at news.remobjects.com:

  • For .NET Products:
    • remobjects.public.dataabstract.net
    • remobjects.public.hydra.net
    • remobjects.public.chrome
    • remobjects.public.sdk.net
  • For Delphi Products:
    • remobjects.public.dataabstract.delphi
    • remobjects.public.hydra.delphi
    • remobjects.public.sdk.delphi
  • Other Useful Groups:
    • remobjects.public.binaries
    • remobjects.public.bugreports
    • remobjects.public.non-tech
    • remobjects.public.suggestions

Please visit www.remobjects.com?newsgroups for more up to date information on available newsgroups and assistance for setting up newsgroup access.


Topics

Topics
Building a Library
Topics
Topic | Description
Reusing Existing Libraries | The Service Builder offers two options for reusing existing types and services in a project, you can Use an Existing RODL or you can Import one. The Use an Existing RODL option adds a reference to an existing RODL to your project. If you make changes to the existing RODL later then those changes will be reflected in your new Library as well. When this option is chosen, no code will be generated for the definitions pulled in from the existing RODL, instead the CodeGen will add the units from the existing RODL to your uses clauses (in Delphi), or... more
Structs | A struct is an object that contains properties, but no actual functionality. The properties of a struct can consist of primitive types or complex types defined in your Library or in a Library that you are using. To create a struct, select "Edit|New|Struct" or click the "Struct" button on the Toolbar. Selecting the Struct in the Library Panel will load the details into the Details Panel. From here you can assign a name to the Struct, inherit the Struct from an existing one by specifying the Ancestor, or write documentation for the Struct. Adding Fields To add fields to a... more
Enums | An Enum is a list of pre-defined values. To create an Enum select "Edit|New|Enum" or click the "Enum" button on the Toolbar. Selecting the Enum in the Library Panel will load the details into the Details Panel, in which you can assign a name to the Enum or write documentation for it. Adding Values To add a value to the Enum, click the "+ Add Value" button in the Values section of the Details Panel. To remove a value, click the "-" button. Finally to name or rename a value, select the value in the table and type the new... more
Arrays | An array is a list of elements that have the same type. An array can consist of primitive types or complex types defined in your Library or in a Library that you are using. To create an Array, select "Edit|New|Array" or click the "Array" button on the Toolbar. Selecting the Array in the Library Panel will load the details into the Details Panel, from which you can name the Array, specify the type of elements the array will contain or write documentation for it.
Services | A service is the base foundation of your RemObjects SDK server and it defines the methods that will be made available to your RemObjects SDK clients. To create a service, select "Edit|New|Service" or click the "Service" button on the Toolbar. Selecting the service in the Library Panel will load the details into the Details Panel. From there you can assign a name to the service, inherit the service from an existing one by specifying the Ancestor or write documentation for it. Adding and Removing Operations (Methods) In the Operations section of the Details Panel, you can define the operations or... more
Event Sinks | An Event Sink provides a collection of event methods that your server can use to propagate events back to the clients. In essence, Event Sinks are services that work "backwards", allowing your Client to implement the defined operations and the server to call them. To create a service, select "Edit|New|Event Sink" or click the "Event Sink" button on the Toolbar. Selecting the Event Sink in the Library Panel will load the details into the Details Panel. In the Details Panel you can assign a name to the event sink, inherit the event sink from an existing one by specifying the... more
Exceptions | An Exception is an object that represents a programming exception. To create an Exception, select "Edit|New|Exception" or click the "Exception" button on the Toolbar. Selecting the Exception in the Library Panel will load the details into the Details Panel, from which you can assign a name to the Exception, inherit the Exception from an existing one by specifying the Ancestor, or write documentation for it. Adding Fields To add fields to an exception, click the "+ Add Field" button in the Fields section of the Details Panel. To remove an element, click the "-" button. Finally to name or rename... more
Documentation Editor | The Documentation Editor provides you a way to edit the documentation for the items in your library. You can invoke it by double-clicking the Documentation field of top level items such as Services and Structs in the Details Pane or by selecting the "Document this..." button for sub-items such as Fields, Operations, Parameters, etc. For convenience, while typing descriptions, the "Enter" key has not been bound to the "Ok" button, but will work as standard Carriage Return/Line Feed in the Editor. Use Ctrl+Enter to close the editor and accept your changes, or use Esc to close the dialog without keeping your changes.... more


See Also

See Also
FAQs
See Also

Online Articles, Newsgroups and Getting Technical Support help topics


Topics

Topics
Generating Access to your Library
Topics
Topic | Description
Validating the Library | You can invoke the Validation via the "Tools|Check Library for Problems" menu. This will run the default validator as well as any custom validation plugins that you might have registered. If any problems arise during validation, the Messages panel will appear at the bottom with Hints, Warnings or Errors. In order to fix a problem, simply double-click on a message to locate the element.
RODL | An RODL file defines a Library in the RemObjects Definition Language XML file format. The RODL file can be previewed by choosing the "View|RODL" menu.
WSDL | An WSDL file defines a Library in the Web Services Definition Language XML file format. The WSDL file can be previewed by choosing the "View|WSDL" menu. To save the library definition file in WSDL format on disk, click the "Save As..." button in the WSDL Pane:
Source Code | The Service Builder can export a Library to several languages including Delphi, C#, Delphi for .NET and C++. Similar to all other Service Builder components, the number of languages available depends on the version of the RemObjects SDK that you have installed. To generate a source code file on disk, select "Generate" and then select the type of file that you wish to create.
Docs | When Building a Library, you can specify documentation text for each of its elements. The Service Builder enables you to generate HTML documentation that describes all the elements defined in your Library. This documentation file can be previewed by choosing the "View|Documentation" menu.


See Also

See Also
Getting Technical Support
See Also

FAQs, Online Articles and Newsgroups help topics


Topics

Topics
Importing Libraries
Topics
Topic | Description
Import SOAP Web Service (WSDL) | The SOAP Web Service (WSDL) importer presents you with the following dialog, which allows you to import either a WSDL file from your local hard disk or connect directly to a SOAP server and download a description (WSDL) file: Once you have browsed for the correct file or entered the URL of your web service, click the "Import" button to import the service into your library.
Import RemObjects SDK Service (RODL) | The RemObjects SDK Service (RODL) importer presents you with the following dialog, which allows you to import either a RODL file from your local hard disk or connect directly to a RemObjects SDK server and download a description (RODL) file: Once you have browsed for the correct file or entered the URL of your web service, click the "Import" button to import the service into your library.


See Also

See Also
Newsgroups
See Also

FAQs, Online Articles and Getting Technical Support help topics


See Also

See Also
Online Articles
See Also

FAQs, Newsgroups and Getting Technical Support help topics


Topics

Topics
Reusing Existing Libraries
Topics
Topic | Description
Using Existing Libraries | Similar to a uses clause in Delphi or a using statement in C#, RemObjects Libraries can use existing services. By using an existing Library in your project, you can use and extend all its elements. To use an existing library, click "Edit" then select "Include Existing RODL". In the resulting dialog, browse to or enter the file path of the desired RODL file. The Service Builder will then add a new item to the Library Panel to indicate that you are using the Library. Depending on the edition of the RemObjects SDK that you have installed, certain predefined RODL files... more
Importing Libraries | When you wish to create a totally new library based on the design of an existing one, simply import it and modify it as needed. The RemObjects Service Builder allows you to import existing libraries from SOAP Web Services (WSDL) and native RemObjects SDK Services (RODL). The Importer interface is also plugable, so additional import can be provided through plugins. All available importers can be invoked from the "Edit | Import" menu item: Depending on the importer, you will presented with a file dialog or an importer-specific dialog that allows you to select which one to import. When importing a library, the... more


Topics

Topics
Service Builder
Topics
Topic
Description
Welcome to Service Builder
Welcome to the RemObjects Service Builder!
The RemObjects Service Builder is a powerful tool that integrates with the IDE of Delphi, Visual Studio .NET or C#Builder and is used to define the services and data types available in your RemObjects server application by Building a Library and allowing you to Generate Access to your Library.
Getting Started with Service Builder
The RemObjects Service Builder consists of a Main Menu, a toolbar, a Library Panel, and a Details Panel.
The Main Menu contains all of the available commands for the Service Builder, while the Toolbar contains quick access to the most common ones.
The Library Panel displays the structure of the library, including Services, Structs, Arrays, Enums, Exceptions, Event Sinks and used Libraries. Any item in the Library Panel can be selected so that its details are displayed in the Details Panel.

To start the Service Builder, launch it from the RemObjects menu item of your IDE. You can now create a... more
Service Builder Plugins
Service Builder 3 comes with an extensive plugin framework, which allows almost all of its parts to be extended.
Among the extendable areas are:

  • Code Generators
  • Validators
  • Library Views
  • Library Editors
  • Importers
  • Custom Actions

Most of the elements you see and work with, including the default editor in the Details Pane, the standard Delphi or C# code generators, or the Library Validator, are plugins and can be theoretically replaced or extended with custom solutions.
You can see the installed plugins by selecting the "Library|Plugins" menu, which will give you a list similar to this:

The number of plugins that... more

Service Builder Toolbar Commands
The Service Builder Toolbar contains the most commonly used functionality, which encompasses five sections: File, Elements, Edit, View, and Help.
File Commands

  • New - Creates a new Library. If the current Library has changed, you will be prompted to save it.
  • Import - Allows you to import an existing Library and add its services and types to the current Library.
  • Open - Provides a Most Recently Used list and allows you to open an existing library. If the current Library has changed, you will be prompted to save it.
  • Save - Gives several options to save the current Library.
  • Close... more
Building a Library
Building a Library consists of defining one or more Services, as well as any Struct, Array, Enum, Event Sinks and Exception elements that might be needed to represent the data used by your service.
The Service Builder allows you to re-use existing libraries by importing their elements and allowing you to re-define or modify them. It also allows you to use existing libraries, extend them and re-use them.
Generating Access to your Library
The RemObjects Service Builder allows you to generate files that describe your Library. These files can then be imported into your project to consume the services defined within the library. Supported export formats include RODL, WSDL, and Source Code. In order to ensure that the export will be successful, before a library can be exported it needs to be Validated. You may preview the available formats by clicking the corresponding format button on the toolbar.
If you are using the RemObjects SDK in combination with Delphi, Visual Studio .NET or C#Builder, most of these generation tasks will be automated by... more
Command Line Switches
Writing Plugins
An article describing how to write custom Plugins for Service Builder 3 is available on our website. Click here.


Contents

Contents
Service Builder
Welcome to Service Builder
Getting Started with Service Builder
Service Builder Plugins
Service Builder Toolbar Commands
Building a Library
Reusing Existing Libraries
Using Existing Libraries
Importing Libraries
Import SOAP Web Service (WSDL)
Import RemObjects SDK Service (RODL)
Structs
Enums
Arrays
Services
Event Sinks
Exceptions
Documentation Editor
Generating Access to your Library
Validating the Library
RODL
WSDL
Source Code
Docs
Command Line Switches
Writing Plugins
Additional Information
FAQs
Online Articles
Getting Technical Support
Newsgroups
Copyright Notice


Index

Index
A | B | C | D | E | F | G | I | N | O | R | S | U | V | W
A
Additional Information
Arrays
B
Building a Library
C
Command Line Switches
Copyright Notice
D
Docs
Documentation Editor
E
Enums
Event Sinks
Exceptions
F
FAQs
G
Generating Access to your Library
Getting Started with Service Builder
Getting Technical Support
I
Import RemObjects SDK Service (RODL)
Import SOAP Web Service (WSDL)
Importing Libraries
N
Newsgroups
O
Online Articles
R
Reusing Existing Libraries
RODL
S
Service Builder
Service Builder Plugins
Service Builder Toolbar Commands
Services
Source Code
Structs
U
Using Existing Libraries
V
Validating the Library
W
Welcome to Service Builder
Writing Plugins
WSDL


Welcome