Los servicios RPC del protocolo de Google se construyen a través de un constructor o una fábrica que no toma parámetros. Sin embargo, algunas aplicaciones necesitan pasar algún estado o configuración a un servicio a través de varias solicitudes. Para ello, define los parámetros del constructor del servicio y usa el método de clase new_factory() para crear una fábrica que transmita los parámetros al constructor. Por ejemplo:
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)
El contrato con cualquier controlador de servicios es que se cree un objeto de servicio nuevo para controlar cada solicitud del usuario y que la construcción no tome ningún parámetro. La fábrica cumple esta condición:
new_instance = my_service_factory()
assert new_instance.state is global_state
El módulo protorpc.remote proporciona Service.
Propiedades de clase
Instancias de servicio de una propiedad:
- request_state
- Estado de solicitud asociado a esta instancia de Service.
Métodos de clase
La clase Service proporciona los métodos de clase siguientes:
- all_remote_methods()
- 
      Obtiene todos los métodos remotos para una clase Service. Nota: Los métodos incorporados no aparecen en el diccionario de métodos remotos. Devuelve un diccionario que asigna nombres de métodos a métodos remotos. 
- new_factory(args, **kwargs)
- 
      Crea una fábrica para un servicio. Es útil para pasar objetos de configuración o estado al servicio. Acepta palabras clave y parámetros arbitrarios; sin embargo, el servicio subyacente también debe aceptar otros parámetros en su constructor. Argumentos- args
- Argumentos para pasar al constructor del servicio.
- **kwargs
 Devuelve una función de fábrica que crea una instancia nueva y reenvía argumentos y palabras clave al constructor. 
Métodos de instancia
Las instancias de servicio tienen los métodos siguientes:
- initialize_request_state(request_state)
- Argumentos:
      - request_state
- Una instancia de RequestState.