SAS 9.1.3 Integration Technologies » Administrator's Guide


SAS Foundation Services
Understanding
Service Deployments
Service Deployment Configuration
Managing Service Deployments
Defining
Importing
Exporting
Duplicating
Redistributing
Installing and Running Foundation Services as a Windows Service
Understanding How Applications
Deploy Foundation Services
Locate Services
Scenario: Stand-alone application
Scenario: Remote-accessible Services
Scenario: Local and Remote-accessible Services
Share Foundation Services
Modifying Service Configurations
Event Broker Service
Events and Process Flows
Modifying the Configuration
Creating Events and Process Flows
Information Service
Logging Service
Pattern Layouts
Session and User Service
Monitoring Applications
Foundation Services

Understanding Service Deployments

A service deployment is a configuration of a collection of SAS Foundation Services that specifies the data necessary to instantiate the services, as well as dependencies upon other services. You create service deployments for applications that will deploy or access the services. You can store the service deployment configuration in either one of the following locations:

  • SAS Metadata Repository: you can use the Foundation Services Manager plug-in (of SAS Management Console) to administer service deployment metadata that is stored in a SAS Metadata Server repository. The SAS Metadata Server also controls access to the metadata.
  • XML file: you can export service deployment metadata from the SAS Metadata Server to an XML file. You can then use the XML file to import service deployment metadata into another SAS Metadata Server repository. If you use an XML file to store service deployment metadata, there is no administration or access control for the metadata in the XML file.

Note: It is recommended that you store the service deployment metadata on a SAS Metadata Server; storing the service deployment metadata in a SAS Metadata Server enables it to be updated and queried from one centralized location.

To enable your application to deploy and access the foundation services, you can create local or remote service deployments:

  • Local service deployment: a local service deployment supports exclusive access to a set of services deployed within a single Java Virtual Machine (JVM). Use a local service deployment when you want your application to have its own exclusive set of foundation services.
  • Remote service deployment: a remote service deployment supports shared access to a set of services that are deployed within a single JVM, but are available to other JVM processes. Use a remote service deployment when you want to share a foundation service deployment among multiple applications. When you create services for remote service deployments, you must specify that the services will be accessed remotely. In order to allow remote access to the services, you must also create a service registry and associate named services with the named components for the remote services.

A service deployment contains:

  • service deployment group(s). When you create service deployments (local or remote), you can also create groups within the service deployment in order to organize services within a deployment hierarchy.

  • services and service initialization data. Within each service deployment group, you must define the services for that group. Service definitions contain the following information:

    • Service types (interfaces): service types designate which service interfaces are implemented by the service. The Discovery Service is used to locate services based upon their service interfaces. For example, if you want to locate a service that implements a Logging Service interface, have the Discovery Service search for a service that implements the com.sas.services.logging.LoggingServiceInterface.

      Note: All SAS Foundation Services (including local services) implement the RemoteServiceInterface.
    • Service configuration: the service configuration specifies the Java class used to create the service, the service's optional configuration data, and the service's configuration user interface. The service configuration user interface defines the Java class used by the Foundation Services Manager to configure the service's configuration details.
    • Service dependencies: when they are deployed, foundation services might depend on the availability of one or more other foundation services. When you define a service, you must specify the other services upon which that service depends. For example, the Authentication Service uses the Logging Service. Therefore, when you define the Authentication Service in a service deployment, you must specify the Logging Service as a dependency.
    • Service names (for remote access only): if a foundation service is to be made available for remote clients, you must enable the service for remote access and define named services (service names) that specify the service's name bindings to one or more service registries.
    • Authorization permissions: authorization parameters allow you to specify which user or group identities can perform which actions on a particular resource.

    Important Note: If a service is dependent upon other services, you must define those services before defining the service that depends on them. For details about service dependencies and order of definition, see the Service Dependencies Table.

  • service registries and associated named services (remote service deployments only). To enable services for remote access, you must define a service registry to use in locating remote services. (A service registry is a searchable registry of service descriptions that is used to register named service bindings).

    You must then register the services with the service registry by creating or associating named services that define how each service is to be used within the context of the Discovery Service.

To understand where service deployments are defined, see Understanding Service Deployment Configuration.

Service Dependencies

If a service has a dependency on another service, you must first create the service upon which it depends. The following table shows the service dependencies and the relative order in which you must define the services.

Service Dependencies Table
Service Service Dependencies
Logging Service  
Authentication Service Logging Service
Information Service Logging Service
User Service Logging Service
Authentication Service
Information Service
Session Service Logging Service
Discovery Service Logging Service
Event Broker Discovery Service Logging Service
Discovery Service
Event Broker Service Logging Service
Authentication Service
Information Service
User Service
Session Service
Stored Process Service Logging Service