Skip to main content

Choose a kind

Building a connector, step 6 of 10. Previous: Decide what not to govern.

A connector's kind decides how you build it and where it runs. For an HTTP connector you write the declaration and one small function per operation. For the other kinds you write a short definition in that kind's vocabulary, and an engine built into Owlie derives the declaration and performs the operations. You choose the kind when you create the connector, and it cannot change later.

Choose​

Take the first row that matches the system:

The system...KindRunsYou write
delivers its people as files (an HR export, a CSV) and has no usable APIFlat fileOwlie reads uploaded filesA definition of the files' columns
is an LDAP directory: Active Directory, OpenLDAP, FreeIPA, 389 Directory ServerLDAPOn your private-network gatewayA definition of entries, attributes and membership
keeps its accounts and roles in its own database tables that you can reachSQLOn your private-network gatewayA definition of tables and SQL statements
has a SCIM 2.0 endpoint that covers everything worth governing (users, groups, group membership)SCIMIn Owlie's cloud, or on your gatewayA definition of the endpoint's deviations from the standard
anything else: a REST or GraphQL API, or SCIM plus roles or workspaces it cannot expressHTTPIn Owlie's cloud, or on your gatewayThe declaration and TypeScript operations

Things to know at the edges:

  • The SQL kind manages an application's own tables, such as inserting a row into a users or user_roles table. It does not manage the database's own users and roles (CREATE ROLE, GRANT).
  • A system with a partial SCIM API and a richer REST API is one HTTP connector. Call its SCIM endpoints from the HTTP operations where they help.
  • An HTTP connector can reach a system on a private network by running on a private-network gateway.
  • If an engine-based connector needs one operation its definition cannot express, you can replace that single operation with your own code. That is not a reason to choose HTTP.

Continue on your track​

Each track is a short sequence of pages. The HTTP, LDAP, SCIM and SQL tracks rejoin the path at Test your connector. The flat-file track has no operations to test against a system: it ends with a test upload and rejoins at Publish, install and upgrade.