Les services RPC du protocole Google sont créés soit par un constructeur, soit par une fabrique n'utilisant aucun paramètre. Toutefois, certaines applications doivent transmettre un état ou une configuration à un service via plusieurs requêtes. Pour ce faire, définissez les paramètres du constructeur du service et utilisez la méthode de classe new_factory() pour créer une fabrique qui transmet des paramètres au constructeur. Exemple :
from protorpc import remote
class MyService(remote.Service):
    def __init__(self, configuration, state):
        self.configuration = configuration
        self.state = state
configuration = MyServiceConfiguration()
global_state = MyServiceState()
my_service_factory = MyService.new_factory(configuration,
                                           state=global_state)
Le contrat avec un gestionnaire de services implique la création d'un objet de service pour gérer chaque requête utilisateur et qu'aucun paramètre ne soit exigé par la construction. La fabrique répond à cette condition :
new_instance = my_service_factory()
assert new_instance.state is global_state
Service est fourni par le module protorpc.remote.
Propriétés des classes
Les instances de services ont une propriété :
- request_state
- État de requête associé à une instance de service.
Méthodes des classes
La classe Service fournit les méthodes de classes suivantes :
- all_remote_methods()
- 
      Récupère toutes les méthodes distantes pour une classe Service. Remarque : Les méthodes intégrées n'apparaissent pas dans le dictionnaire des méthodes distantes. Renvoie un dictionnaire qui fait correspondre les noms des méthodes aux méthodes distantes. 
- new_factory(args, **kwargs)
- 
      Crée une fabrique pour un service. Utile pour transmettre les objets de configuration ou d'état au service. Accepte des paramètres et mots-clés arbitraires. Toutefois, le service sous-jacent ne doit pas accepter d'autres paramètres dans son constructeur. Arguments- args
- Arguments à transmettre au constructeur du service.
- **kwargs
 Renvoie une fonction de fabrique qui crée une instance et transmet les arguments et les mots-clés au constructeur. 
Méthodes des instances
Les méthodes des instances de la classe Service sont les suivantes :
- initialize_request_state(request_state)
- Arguments :
      - request_state
- Instance de RequestState.