Creating an Enterprise Server

Create an Enterprise server by creating a database in the database provider and then sharing a component into that database. This topic uses Microsoft SQL Server 2005 Express Edition as an example. Procedures for other database providers will be similar.


Creating an Enterprise server is easy:


·      Create a new SQL Server database and set up the necessary permissions as described in SQL Server Express Edition.

·      Create an ODBC data source to connect to that database. This can be done either within Manifold or using the Windows ODBC Data Sources applet in the Control Panel. (There is a shortcut to eliminate this step mentioned at the end of this topic.)

·      Within Manifold, share at least one component into the new data source. Sharing the first component into the data source sets up the Enterprise server.


The lengthiest part of the process is creating a new ODBC data source. This involves stepping through several dialog pages. In the following example we create a new Enterprise server using SQL Server Enterprise Manager and Manifold.


Creating an Enterprise server database:


1. (Assuming an instance of SQL Server Express named SQLEXPRESS installed on a machine named MYSERVER.) Create a new SQL Server database named example and set up the necessary permissions as described in SQL Server Express Edition.

2. Log in to a machine that can access the database, using a user account with read and write permissions in the database.

3. Launch Manifold.

4. Create a blank drawing. Right click the drawing in the Project pane and select Share.

5. In the Share dialog, press the [...] browse button to view available data sources. We will assume that no data sources have yet been created for the desired instance of SQL Server and will create a new data source.


(creating an ODBC data source for an instance of SQL Server)


6. In the Select Data Source dialog, switch to the Machine Data Source tab and click New.

7. In the Create New Data Source dialog, select User Data Source, click Next, then in the list of drivers select SQL Server, click Next, and finally click Finish.

8. In the Create a New Data Source to SQL Server dialog, set Name to something you can remember, for instance, Example Enterprise server, set Server to refer to MYSERVER\SQLEXPRESS, and click Next. Confirm that you will be connecting With Windows NT authentication using the network login ID and click Next. Check Change the default database to option and set the database to example, then click Next. Click Finish.

9. In the ODBC Microsoft SQL Server Setup dialog, click Test Data Source to make sure the data source works, then click OK twice.

10. In the Select Data Source dialog, select the newly created data source and click OK.

11. In the SQL Server Login dialog, confirm the choice of connection options and click OK.


(back in the Share dialog)


12. In the Share dialog, press OK. This will connect to the database, create the infrastructure tables for keeping track of shared components, and upload the drawing. The Project pane will show a "lock" icon near the drawing to indicate that it is now shared on an Enterprise server. If we save the project at this time, the component will be a shared component. Depending on whether we have caching turned on or off the cache will be saved locally. See the Cached and Uncached Components topic for information on caching.


We have just created an Enterprise server that has one component in it. Note that everything in steps 6 through 11 was the routine Windows task of setting up a new ODBC data source. Creating a new SQL Server database was almost easier than creating a data source. Sharing a component (the actual Manifold part of the exercise) was very easy as well.


By definition, a new Enterprise server has at least one component in it. Once the Enterprise server is created we can Share (upload) more components into it and we can use those components in new projects.


Using an Enterprise server


1. Launch Manifold and open a project.

2. Choose Tools - Server Console to launch the Server Console dialog that allows browsing Enterprise servers.

3. In the Server box, the data source connection string that was last used will appear. Specify a new connection string manually or by clicking the [...] browse button. Press the Refresh button at any time to reconnect to the server and re-read its contents.

4. Click on the component desired and the toolbar buttons to Import or Link will be enabled.

5. Press Import to import the component into the project. This fetches a copy of the component from the Enterprise server into local project storage. Press Link to link the component into the project, leaving it stored within the Enterprise server and under control of the Enterprise server.


Components that have been linked from the Enterprise server into the current project will appear with a chain icon in the Server Console . They will also appear in the project pane with a lock icon when shared (that is, read only). Components in the project that are not provided by an Enterprise server will not have an icon. When the mouse moves over a component in the project pane a tool tip will read out the status of the component, such as the name of the user who has checked out the component.


If a component is checked out it can be deleted via the Server Console only by the user who has checked it out. If a component is not checked out it may be deleted by anyone via the Server Console. Components may be deleted, but they may not be renamed.




images\btn_proj_create_folder.gif The New Folder button in the Server Console toolbar creates folders within the Enterprise server. Use folders to organize components within the Enterprise server and to keep the Enterprise server manageable.


This is especially important when Enterprise servers are very large and contain many components. Folders may be created anywhere within the tree hierarchy, and folders can be created within other folders. For example, we might have folders for countries, folders within those folders for provinces and then folders within those for different classes of information such as hydrography, transportation, boundaries and so on.


To move files between folders, drag components and drop them into a folder (drop them onto the folder icon itself and not the hierarchy beneath the folder). Folders may be created within other folders. If a folder is highlighted in the Enterprise server pane and the New Folder command is issued, the new folder will be created within the highlighted folder. Folders may be dragged and dropped into other folders. To move a folder out from within another folder, drag it and drop it into the "white space" of the Enterprise server outside another folder. Folders may not be renamed, but they may be deleted. To delete a folder that contains components the components involved must be checked out.


There is no limit on the number of folders within an Enterprise server, but the number of components within a single folder is limited to approximately 1000 components. As a practical matter, if one is working with such a large number of components it is wise to organize them within subfolders.


Simplified Syntax for SQL Server Connections


Enterprise dialogs allow a simplified connection string syntax for SQL Server databases as an option to full ODBC syntax. "\\systemname" will connect to the default database on a given system. "\\systemname:database" connects to the specified database on the given system. The connection established with a simplified connection string that uses Windows integrated security (suitable for users working in Windows Server 2003, Windows XP and Windows 2000). Using simplified connection strings is a fast way to connect to SQL Server or to SQL Server Express using default options without dealing with the ODBC dialogs.


For example, if we have installed SQL Server on a system called PROJECTS and we have created a database called hydrography to use as our Enterprise server database, we could connect in the Server Console by entering \\projects:hydrography into the Server box of the Server Console and then pressing the Refresh button.


SQL Server Express


Microsoft provides free download of a complete installation package for Microsoft's SQL Server Express, the same engine that powers SQL Server. Installing SQL Server Express allows high performance, centralized DBMS storage via Enterprise servers using SQL Server capabilities without any additional purchase required. See the SQL Server Express Edition topic for more.


Connection String Security


When Manifold saves the last used connection string in between Manifold sessions, the connection string is stored in encrypted form. This security measure prevents intruders from learning your connection strings by attacking the Windows registry or other commonly available resources.


Some connection strings to connect to Enterprise servers may use passwords in PWD entries within the connection string. For additional security, Enterprise dialogs conceal passwords that occur within connection strings by replacing the password's characters with * asterisks. See your ODBC documentation to learn about connection strings and PWD entries in connection strings.


When a user enters a connection string containing a password and presses the Refresh button Manifold analyzes the connection string to identify the password, saves the password in encrypted form in internal memory and then substitutes the password with asterisks in the edit box so that the password does not appear in plain text.


If the user later modifies the connection string (say, by changing the name of the server) and presses Refresh, Manifold knows to use the internal, saved password in place of the asterisks when connecting to the data source. If the user modifies the connection string so that it no longer contains a PWD entry, no password is used. If the user modifies the content of the PWD entry to some value that does not entirely consist of asterisks, the system will accepts the new value as the new password. The above works with the Browse button as well.




The simplified syntax available for SQL Server connections means that we really did not need to create an ODBC connection to work with an Enterprise server hosted on SQL Server as set forth in the beginning of this topic. After creating a database in SQL Server using the SQL Server Enterprise Manager and granting users the desired permissions, we could have shared the component by simply entering \\systemname:example into the Share on box when we shared the first component into the Enterprise server. After that, we could enter \\systemname:example into the Server box of the Server Console to work with that Enterprise server.


Using simplified syntax is somewhat easier than configuring an ODBC source as described in this topic, but it only works with SQL Server. This topic set forth the full procedure to illustrate how ODBC sources can be configured from the browse button in the Share dialog, to provide an example that may be more useful when using databases other than SQL Server which require configuration of an ODBC source.


The short examples given above show one database created within SQL Server. We could create many databases within each SQL Server installation and use them all simultaneously. Each database is used as a separate Enterprise server.


For example, suppose on the machine called PROJECTS we install SQL Server and then create databases called hydrography, boundaries, transportation and utilities. We could work with each of these in the Server Console as four different Enterprise servers using the shorthand connection syntax of \\projects:hydrography, \\projects:boundaries, \\projects:transportation and \\projects:utilities. We could include shared components from each of these in the same project.


See Also


SQL Server Express Edition

Working with Enterprise Edition

Cached and Uncached Components