The topics listed here provide procedures, conceptual information, and reference information for defining and configuring connectivity and Environment components for a Sun Master Index (Repository) application.
Note that Java CAPS includes two versions of Sun Master Index. Sun Master Index (Repository) is installed in the Java CAPS repository and provides all the functionality of previous versions in the new Java CAPS environment. Sun Master Index is a service-enabled version of the master index that is installed directly into NetBeans. It includes all of the features of Sun Master Index (Repository) plus several new features, like data analysis, data cleansing, data loading, and an improved Data Manager GUI. Both products are components of the Sun Master Data Management (MDM) Suite. This document relates to Sun Master Index (Repository) only.
What You Need to Know
These topics provide information you should know about Master Index (Repository) Connectivity Maps and Environments.
What You Need to Do
These topics provide instructions on how to define connectivity and Environment components for a master index application.
Defining Master Index (Repository) Server Connectivity Components
Defining Collaboration Client Connectivity Components for a Master Index (Repository)
Creating the Environment for a Master Index Application (Repository)
Adding a Logical Host to a Master Index Environment (Repository)
Adding an External System to a Master Index Environment (Repository)
Adding a Database External System to the Master Index Environment (Repository)
Several topics provide information and instructions for implementing and using a Repository-based master index application. For a complete list of topics related to working with Sun Master Index (Repository), see Related Topics in Developing Sun Master Indexes (Repository).
Once the master index server project is generated, you need to create a Connectivity Map that defines the flow of the application. You can also create connectivity components that define how data is transformed, routed, and processed between the master index application, Business Processes or Collaborations, and external systems. The following topics describe the connectivity components used in conjunction with a master index application.
The project that defines the master index application is known as the server project; the projects that define external system connectivity with the master index application through Collaborations or Business Processes are known as client projects.
Data can be processed by the master index application in four ways:
Data is processed through the Enterprise Data Manager (EDM). This process is defined by the Connectivity Map in the master index server project.
Data is processed from the external systems that share information with the master index application through Java Collaborations. This process is defined by the Connectivity Maps in the Collaboration client projects.
Data is processed from the external systems that share information with the master index application through a Business Process. Using Business Processes, you can also develop Sun Composite Page Designer web pages to access data in the master index database. These processes are defined by the Connectivity Map in a Business Process client project.
A master index application can publish messages to a JMS Topic to broadcast to external systems. The topic is included in both the master index server project and client projects for the external systems receiving the broadcasts.
The connectivity components of a master index server project include the master index application files. Optional components include a JMS Topic and a database Adapter. The client projects that connect to the master index application use standard connectivity components of a Java CAPS project, with the addition of a master index method OTD. For more information about Connectivity Maps, see Adding and Connecting Project Components in Developing Java CAPS Projects.
The master index server project can include the following connectivity components:
Connectivity Map - Graphically describes the relationship between the web application components and the master index application components.
Application file - Contains the logic used by the master index application to process data into and out of the master index database. This file is automatically created when you generate the master index project.
Web application file - Contains the logic used by the Enterprise Data Manager (EDM) to process data and access the master index logic and database. This file is automatically created when you generate the master index project.
Oracle Adapter or SQL Server Adapter - Provides connectivity to the master index database. These components are optional since you can define the database connection pool through the Sun Java System Application Server.
JMS Topic - A message destination conforming to the publish-and-subscribe (pub/sub) messaging paradigm. In this case, the master index application publishes to the Topic to broadcast messages to external systems. Note that master index applications publish to Topics, not to Queues. This component is optional.
The master index client projects can include any of the following connectivity components:
Connectivity Map - Graphically describes the relationship between the External Applications, Queues and Topics, Services, Web Connectors, and master index application. The Connectivity Map also contains the configuration information for each component’s connections, such as the polling interval and transactional behavior.
Master index application - Represents the master index application accessed by the client project. Each Collaboration or Business Process client project in the master index system must include the master index application in its Connectivity Map in order for those components to exchange information with the master index application.
Service - Provides a framework for a process or a Collaboration that contains the information required to execute a set of business rules.
Collaboration - Business rules describing the logic to be executed on the Object Type Definitions. These business rules include the data transformation and method calls to be executed by the Services and determine how data is processed into the master index database.
Object Type Definitions (OTDs) - Meta-data containers that describe external objects, including both data structure and methods. A custom method OTD is created in the master index project for use in the client projects to define how data is processed between the master index application and external systems. A custom OTD is also created to publish messages from the master index application to a JMS Topic.
External Applications - Logical representations of external software applications (called external systems) that are integrated by the Java CAPS system. External Applications allow the master index application to connect with external systems and are linked to a Service by means of an Adapter.
JMS Queues - A message destination conforming to the point-to-point (p2p or PTP) messaging paradigm. This means that one sender delivers a message to exactly one receiver.
JMS Topics - A message destination conforming to the publish-and-subscribe (pub/sub) messaging paradigm. This means that one publisher broadcasts messages to multiple subscribers, ensuring that all subscribers receive a message. Client projects can include a JMS Topic to which the master index application publishes, giving the external systems access to all data updates.
JMS Client - An internal link between a Service and a Message Destination (that is, a JMS Topic or Queue).
Adapters - An application-specific adapter linking an external application with Java CAPS.
Business Processes - A collection of actions and messages that revolve around a specific business task and that flow in a specific pattern to accomplish a business goal.
Web Connectors - A graphical representation of a set of Sun Composite Page Designer web pages and activities.
The master index Environment defines the configuration of the physical environment of the master index application, including the Logical Host, application server, JMS IQ Manager, constants, and external systems. This chapter describes building a generic Environment for a master index application. For more information about Environments and Environment components, see Creating a Runtime Environment.
All projects accessing the master index server project must be configured to use the same Environment, including client projects defining Collaborations and Business Processes that use master index methods. The Environment requirements are different for the master index project and client projects. When you deploy a master index project, the master index application defined by that project becomes available for use in the client project Environments.
An Environment that supports the master index server project can include the following components:
Logical Hosts - Each Environment contains one or more Logical Hosts, each of which can contain multiple instances of the Logical Host, known as domains. Logical Hosts are instances of the Java CAPS runtime Environment installed on a host hardware platform.
Application Servers - The Logical Host contains one or more application servers, which are the engines that run Java CAPS Services and Adapters. They provides services for security, transactions, and business rules execution. Sun Master Index uses the Sun Java System Application Server.
JMS IQ Managers - The Logical Host can contain one or more JMS IQ Managers, which manage JMS topics (publish-and-subscribe messaging) and queues (point-to-point messaging).
External Systems - An external system is a representation of a real, physical system that exists within the specific Environment, with configuration properties for locating and accessing that system. This component is required for client projects connecting external systems with the master index application.
WebConnector External Systems - A WebConnector external system is a representation of an Sun Composite Page Designer web application. This component is required for client projects integrating a master index application with Sun Composite Page Designer.
Oracle External Systems or SQL Server External Systems - External systems are representations of an Adapter. One of these component is required to define the database connection pool for projects that connect to the database using a database Adapter.
Environmental Constants - Constants are name and value pairs that are visible across the Environment. You can define constants for a specific Environment.
Defining connectivity components begins with creating a graphical representation of the connectivity components (the Connectivity Map). You must define connectivity components for the master index project and for any client projects that reference the master index application. The topics listed below describe how to define connectivity components for master index server and client projects, including Collaborations, Business Processes, Services, JMS Topics, and so on. Perform these tasks to configure connectivity for the master index application and connected systems.
Defining Master Index (Repository) Server Connectivity Components
Defining Collaboration Client Connectivity Components for a Master Index (Repository)
Before you can add the master index application to the client Connectivity Maps, you need to create and Environment and deployment profile for the master index server project, and then you need to build the project. This adds the master index external application to the Connectivity Map Editor toolbar under the External System icon. Instructions for creating the Environment are under Building an Environment. Instructions for building and deploying the master index server project are under Deploying the Master Index (Repository) Server Project in Deploying Master Indexes (Repository) .
In the master index server project, the Connectivity Map contains business logic and information about how data is processed in the master index application. The following topics describe how to create a Connectivity Map for the master index project, add components to the map, and then connect those components.
Follow these steps to create and add components to the master index server Connectivity Map.
In the Projects window, right-click the master index server project to which you want to add the Connectivity Map.
Point to New, and then click Connectivity Map.
A Connectivity Map icon is added to the project and the Connectivity Map Editor appears.
Enter a name for the Connectivity Map, and press Enter.
Drag the MasterIndex.Web.Application icon from the Projects window onto the Connectivity Map Editor canvas.
Drag the MasterIndex.Application icon from the Projects window onto the canvas to the right of the web application icon.
(Optional) To add an Oracle Adapter or SQL Server Adapter for database connectivity, do the following:
On the Connectivity Map Editor toolbar, click the External Applications icon.
From the drop-down list, select the check box for Oracle External Application or SQL Server External Application.
A new icon appears on the toolbar.
Drag the new icon from the toolbar onto the canvas to the right of the MasterIndex.Application icon.
Enter a name for the External System and then press Enter.
(Optional) To add a Topic to publish messages from the master index application to external systems, do the following:
Save the Connectivity Map to the Repository.
Once you create the components of a Connectivity Map, you must link them to define the flow of data within the application. Before you connect the components, make sure you complete all of the steps in Creating the Master Index Server Connectivity Map and have the master index Connectivity Map visible on the Connectivity Map Editor.
In the Connectivity Map Editor, double-click the MasterIndex.Application icon.
The Service Binding dialog box appears.
Place the cursor over the arrow to the right of the MasterIndex.Web.Application icon in the Connectivity Map until the cursor turns into a hand.
Click the arrow and drag it to the connector next to Implemented Services on the Service Binding dialog box.
If the Connectivity Map contains a database Adapter, configure the Adapter by doing the following:
Click the database service under Invoked Services on the Service Binding dialog box and drag it to the Oracle External Application or SQL Server External Application icon.
Double-click the Adapter icon on the new connector bar.
On the Connections dialog box, click OK.
On the Properties window, enter the properties or accept the default values (for more information, see the user’s guide for the Adapter you are using Configuring Java CAPS Project Components for Database Adapters).
Click OK.
If the Connectivity Map contains a JMS Topic, configure the Topic by doing the following:
Click and drag “JMSDestination” from the Invoked Services box to the Topic icon in the Connectivity Map.
Double-click the JMS Client Connection icon on the new connector bar.
Configure the JMS Client Connection (for more information, see Implementing JMS in Java CAPS Projects in Java CAPS JMS Reference ).
Close the Service Binding dialog box, and then save the Connectivity Map to the Repository.
In the Collaboration client projects for external systems sharing data with the master index application, the Connectivity Map contains business logic and information about how data is transferred between the master index application and external systems.
Before you can add the master index application to the client Connectivity Maps, you need to create and Environment and deployment profile for the master index server project, and then build the project. This adds the master index external application to the Connectivity Map Editor toolbar under the External System icon. Instructions for creating the Environment are under Building an Environment. Instructions for building and deploying the master index server project are under Deploying the Master Index (Repository) Server Project in Deploying Master Indexes (Repository) .
The following topics describe how to create a Connectivity Map for a Collaboration client project, add and configure map components, and then connect those components.
This topic describes how to incorporate the master index method OTD into Java Collaborations for external systems. For a complete reference of the methods included in the master index OTD, see Chapter 4, Working with the Master Index Java API (Repository), in Understanding Sun Master Index Processing (Repository). You can use additional master index methods, which are described in the Javadocs provided with Sun Master Index.
Before beginning this procedure, create the OTD for the incoming messages.
Create the Java Collaboration for the Collaboration client project using the Collaboration Wizard ( right-click the project, point to New, and then select Collaboration Definition (Java)).
Enter information into the wizard as it applies to the external systems in the project.
In step 3 of the Collaboration Definition Wizard (Select OTDs), select the input OTD, the output OTD, and the master index method OTD.
The master index method OTD is contained in the master index project and is named after the master index application.
When you complete the wizard, do the following using the Collaboration Editor (Java) to define custom processing using the master index API:
When you are done defining the processing rules, save the Collaboration.
To define connectivity between the master index application and external systems, you need to include the master index application in the Connectivity Maps of the Collaboration client projects.
Before beginning this procedure make sure an external application component is defined for an application that sends information to the master index application (source system) and optionally for an application that receives information from the master index application (destination system). For testing purposes, you can use File Adapters instead of external application Adapters for the source and destination systems.
Build the master index server project in order to create the master index External System to add to the client Connectivity Map.
In the Projects window, right-click the project to which you want to add the Connectivity Map.
Point to New, and then click Connectivity Map.
A Connectivity Map icon is added to the project and the Connectivity Map Editor appears.
Enter a new name for the Connectivity Map, and then press Enter.
On the Connectivity Map Editor toolbar, click the down arrow next to the External Applications icon and select the check box next to the name of the External Application that will send messages to the master index application.
The External Application icon appears in the Connectivity Map Editor toolbar.
Drag the External Application icon from the Connectivity Map Editor toolbar to the canvas.
If your data flow includes a destination External Application, repeat the previous two steps for the destination application, placing the icon to the far right of the source External Application icon.
Drag the Java Collaboration that references the master index method OTD onto the Connectivity Map Editor canvas between the source and destination External Applications.
On the Connectivity Map Editor toolbar, click the down arrow next to the External Applications icon and select the check box next to the name of the master index application you want to integrate.
The master index application icon appears in the Connectivity Map Editor toolbar.
Drag the master index application icon from the Connectivity Map Editor toolbar onto the canvas to the lower right of the Collaboration icon.
Save the Connectivity Map.
Once you create the components of a Connectivity Map, you need to link them to define the flow of data through the system. Before you connect the components, make sure you have completed all of the steps in Creating the Collaboration Client Project Connectivity Map.
In the Connectivity Map, double-click the Service icon to display the Service Binding dialog box.
Drag the source system from the Implemented Services box in the Service Binding dialog box to the external source system icon on the canvas.
Drag the master index application from the Invoked Services box in the Service Binding dialog box to the master index application icon on the canvas.
If you defined a destination system, drag the appropriate service from the Invoked Services box in the Service Binding dialog box to the external destination system icon on the canvas.
Close the Service Binding dialog box.
Double-click the icons to the source and destination systems to configure the Adapters.
Save and close the Connectivity Map.
If you defined a JMS Topic in the master index server Connectivity Map, you need to add the topic to the Collaboration client Connectivity Map in order to publish the messages to external systems. This involves adding the JMS Topic and associated components to the Connectivity Map and configuring the Collaboration for the connected Service.
Before beginning this procedure, make sure the server project contains a JMS Topic (this is described in Creating the Master Index Server Connectivity Map.
In the Collaboration client project, check out the Connectivity Map and then open it in the Connectivity Map Editor.
Drag the JMS Topic from the master index server project (in the Projects window) to the Connectivity Map Editor and place it below the existing Connectivity Map components.
Drag a Service from the Connectivity Map Editor toolbar to the right of the JMS Topic on the canvas.
Drag an External Application of the appropriate type from the Connectivity Map Editor toolbar and place it to the right of the new Service on the canvas (for testing purposes, you can use a File External Application).
In the Connectivity Map Editor, place the cursor over the arrow to the right of the Topic icon until the cursor turns into a hand, and then drag it into the Service to connect the two objects.
Repeat step 5 to connect the Service to the external system.
Configure the JMS Client Connection (for more information, see Implementing JMS in Java CAPS Projects in Java CAPS JMS Reference ).
Double-click the External Application Adapter to configure the location and parameter settings.
Save the Connectivity Map, and continue to Configuring the Outbound Collaboration.
Once you create the JMS Topic in the Connectivity Map, you need to configure the Java Collaboration that processes messages from the master index JMS Topic. Before you begin, make sure you have completed all of the steps in Adding the JMS Topic to the Collaboration Client Connectivity Map.
In the Projects window, right-click the Collaboration client project.
Point to New, and then select Collaboration Definition (Java).
Enter information into the Collaboration Definition Wizard, with the following guidelines:
For the Web Service Type, select the existing JMS receive type (navigate to CAPS Components Library\Enterprise Service Bus\JMS and select receive).
Select the appropriate outbound OTD for the external systems in the project (for testing with a File External Application, select the FileClient OTD).
Configure the Collaboration to map data from the JMS Topic to the external system.
Save the Collaboration to the Repository.
Open the Collaboration client Connectivity Map, and then drag the newly created Collaboration onto the Service connected to the JMS Topic.
Save the Connectivity Map to the Repository.
In Business Process client projects, the Connectivity Map contains business logic and information about how data is transferred between the master index application and external systems through a Business Process. The Business Process defines how data is transformed before being sent to the master index application.
Before you can add the master index application to the client Connectivity Maps, you need to create and Environment and deployment profile for the master index server project, and then build the project. This adds the master index external application to the Connectivity Map Editor toolbar under the External System icon. Instructions for creating the Environment are under Building an Environment. Instructions for building and deploying the master index server project are under Deploying the Master Index (Repository) Server Project in Deploying Master Indexes (Repository) .
The following topics describe how to incorporate master index methods into a Business Process, create the Connectivity Map, and then add and connect the connectivity components.
Connecting Business Process Client Connectivity Map Components
Refer to Designing Business Processes in the Sun Business Process Manager for more details about performing any of the processes described in this section.
You can process data through a Collaboration, a Business Process, or both. If you are processing data by both methods, be sure the processing logic is the same for both. Before including the master index application in the Connectivity Map for the Business Process client project, you need to add master index methods to a Business Process. For more information about the available methods, see theChapter 4, Working with the Master Index Java API (Repository), in Understanding Sun Master Index Processing (Repository) .
Plan and design a new Business Process.
In the NetBeans Projects window, right-click the name of the Business Process client project, point to New, and then select Business Process.
Enter a new name for the Business Process and then press Enter.
In the Business Process Designer, create the components of the Business Process.
For each master index method to include, do the following:
Save the Business Process and continue to the next step, Connecting the Business Process Components.
This topic describes how to connect the components of a Business Process that incorporates master index methods. Make sure you have completed all of the steps in Including Master Index Methods in a Business Process and that the Business Process is open in the Business Process Designer.
In the Business Process Designer, place the cursor over the arrow to the right of the Start icon until the cursor turns into a hand.
Click the arrow and drag it to the first Business Process component.
Follow the same procedure to link each activity in the order in which they should be processed.
For each link you create, do the following:
Create any additional processing logic as needed.
Save the Business Process to the Repository.
Connectivity between the master index application and Business Processes is defined in the Connectivity Map of the Business Process client project. This topic describes how to create and configure the Business Process client Connectivity Map. You can optionally include a JMS Topic (for information and instructions, see Adding the JMS Topic to the Collaboration Client Connectivity Map). You only need to incorporate the topic if you added a JMS Topic to the server project and if you want to publish master index application messages to external systems.
The master index application icon in this Connectivity Map comes from the External Applications menu on the Connectivity Map Editor toolbar. Make sure the master index project has been built before creating the client Connectivity Map. Instructions for creating the Environment are under Building an Environment. Instructions for building and deploying the master index server project are under Deploying Master Indexes (Repository) .
In the Projects window, right-click the project to which you want to add the Connectivity Map.
Point to New, and then click Connectivity Map.
A Connectivity Map icon is added to the project and the Connectivity Map Editor appears.
Enter a new name for the Connectivity Map, and then press Enter.
To add External Applications, do the following:
On the Connectivity Map Editor toolbar, click the down arrow next to the External Applications icon.
Select the check box next to the name of the External Application that will send messages to the master index application.
The External Application icon appears in the Connectivity Map Editor toolbar.
Drag the External Application icon from the Connectivity Map Editor toolbar to the canvas.
If your data flow includes a destination External Application, repeat the above steps for the destination application, placing the icon to the far right of the source External Application icon.
In the Connectivity Map toolbar, click Service and drag it onto the canvas to the right of the External Application icon.
Drag the Business Process created in Including Master Index Methods in a Business Process into the Service.
To add the master index application, do the following:
On the Connectivity Map Editor toolbar, click the down arrow next to the External Applications icon.
Select the check box next to the name of the master index application you want to add.
The master index application icon appears in the Connectivity Map Editor toolbar.
Drag the master index application icon from the Connectivity Map Editor toolbar onto the canvas to the lower right of the Collaboration icon.
Save the Connectivity Map to the Repository.
Once you create the components of a Connectivity Map, you must link them to define the flow of data through the system. Before you connect the components, make sure you have completed all of the steps in Creating the Business Process Client Connectivity Map.
In the Business Process Connectivity Map, double-click the Service icon to display the Service Binding dialog box.
Drag the sending application in the Implemented Services box in the Service Binding dialog box to the input External Application icon on the Connectivity Map Editor.
Drag the master index application from the Invoked Services box in the Service Binding dialog box to the master index application icon on the Connectivity Map Editor.
This is the service with the same name as the master index application.
Drag the receiving application in the Invoked Services box in the Service Binding dialog box to the output External Application icon on the Connectivity Map Editor.
Close the Service Binding dialog box.
Double-click the Adapter icon to configure the Adapters (for more information, see the configuration topics for the type of Adapter).
To add a JMS Topic to the Connectivity Map, follow the instructions under Adding the JMS Topic to the Collaboration Client Connectivity Map and Configuring the Outbound Collaboration.
Save the Connectivity Map to the Repository.
Each Environment represents a unit of software that implements one or more master index applications. You need to define and configure an Environment for the master index application before you can deploy the application. The clients that access the master index application should use the same Environment as the server project.
The following topics provide instructions for building an Environment for the master index application. For client projects that reference the master index server project, additional components might be required.
Creating the Environment for a Master Index Application (Repository)
Adding a Logical Host to a Master Index Environment (Repository)
Adding an External System to a Master Index Environment (Repository)
Adding a Database External System to the Master Index Environment (Repository)
Once you create the Environment, you can add the necessary components. Perform the following steps to create an Environment for a master index project.
In NetBeans, open the Services window.
Right-click CAPS Environments, and then select New Environment.
An Environment icon appears on the Services window.
Right–click the new Environment, and then click Rename.
Enter a unique name for the Environment, and then press Enter.
The Logical Host contains the servers that run the master index application and messaging services. You need to include a Logical Host in the Environment for all Sun Master Index implementations.
Right-click the Environment for the project.
Point to New, and then select Logical Host.
A Logical Host icon appears on the Services window.
Right–click the new Logical Host, and then click Rename.
Enter a unique name for the Logical Host, and then press Enter.
Each Environment must include at least one application server and, if the master index server project uses a Topic, at least one message server. Perform the following steps to add a Sun Java System Application Server and Sun Java System Message Server to the Environment. You must have the Sun Java System Application Server installed on your system in order to use this feature.
In NetBeans, open the Services window.
To add a Sun Java System Application Server, do the following:
Right-click the Logical Host.
Point to New, and then select Sun Java System Application Server.
Right–click the new application server, and then click Rename.
Enter a unique name for the application server, and then press Enter.
Right-click the application server, and then select Properties.
Enter the server’s URL, administrator login ID, and password.
To add a Sun Java System Message Server, do the following:
Right-click the Logical Host.
Point to New, and then select Sun Java System Message Queue.
Right–click the new message server, and then click Rename.
Enter a unique name for the message server, and then press Enter.
Right-click the message server, and then select Properties.
Enter the server’s URL, administrator login ID, and password.
External systems are required for projects that connect an external system to the master index application. The Connectivity Maps in these projects include External Applications that will be mapped to the external system. Perform the following steps to add an external system to the master index Environment.
In NetBeans, open the Services window.
Right-click the master index Environment.
Point to New, and then select system_type External System, where system_type is the type of Adapter connecting the external system to Java CAPS (such as Oracle, SQL Server, File, and so on).
In the External System Name field, enter the name of the new external system and then click OK.
To configure the external system, right-click the new external system in the Environment, and then select Properties from the context menu.
Configure the properties as described in the Adapter documentation, and then click OK.
Repeat these steps for each external system defined in the projects that will be using this Environment.
Either an Oracle or a SQL Server external system is required for master index server projects that connect to the database using a database Adapter. Optionally, the database connection can be handled by the application server. Perform the following steps to add a database external system to the master index Environment. If you are not using an Oracle or SQL Server Adapter, be sure to follow the instructions under Defining a Database Connection Pool Through the Application Server in Developing Sun Master Indexes (Repository) to create a database connection pool.
In NetBeans, open the Services window.
Right-click the master index Environment.
Point to New, and then select Oracle External System or Sqlserver External System.
In the External System Name field, enter a name for the new external system.
Click OK.
To configure the connection pool, right-click the new external system, and then select Properties.
The Properties window appears.
Do one of the following:
Define the properties in the right portion of the window with information specific to the master index database you created. All properties are described in Configuring Java CAPS Project Components for Database Adapters.
Be sure to only define the properties for the driver type you are using.
Creating the database is described in Creating the Master Index Database (Repository) in Developing Sun Master Indexes (Repository). Use the information for that database for the properties on this window.
When you finish defining the properties, click OK to close the Properties window.