UW-Madison and UW System-wide data sources and access methods available for use in your integrations.
About the Institutional Data Integration Catalog
The institutional data integration catalog provides information about the methods that systems and applications can use to integrate University data. UW-Madison provides a number of different interfaces for applications to use in integrating UW data. System owners should review the integration catalog to determine the best approach for their application.
Why are we taking this approach?
Historically, we have integrated many of our campus IT systems via direct connections between applications and databases. As more of our enterprise systems move to the cloud, these direct integration patterns are becoming less sustainable.
These historic interface patterns are increasingly being replaced by API and event-based integration patterns that are more aligned with vendors’ cloud-based offerings. In order to align the UW with these practices, we are adopting an ‘API First’ approach to system integration.
What does it mean to be “API First”? Does that mean I can only use APIs?
“API First” is really an approach to define a standard interface to data, along with standard data structures. It does not imply that APIs are the only way to get data, but it does imply that access to data will be through a standardized interface and through standardized data structures.
“API First” does not mean “API Only”. The Institutional Data Integration Catalog provides several different modalities for integrating UW data, including events, ETL (extract, transform and load), and others. Each interface, however, strives to comply with a standard representation of data that is aligned to UW business language rather than a specific vendor’s implementation.
What types of integration patterns are available to system owners?
There are several patterns and modalities of data integration that we’re working to provide:
- API-based Integrations allow for applications to call out to retrieve data or perform actions in real time, either as a result of user action within an application or as part of a business process. Our emerging standards for UW APIs are based on the JSON API standard and leverage OpenAPI as a standard for API documentation. More information on our APIs can be found at https://developer.wisc.edu.
- Event-based Integrations allow applications to receive data when a business event occurs. If an application needs to be informed that a new employee has been hired, for example, an event-based integration can generate an event to send to the application so that the application can trigger a process. We are leveraging webhooks as the primary technology for sending events from APIs to applications. Webhooks can also be integrated with external messaging systems such as ActiveMQ or streaming data services such as AWS Kinesis.
- ETL-based Data Exchange is a method to Extract, Transform and Load data from one source to another. To facilitate this type of integration, UW System has licensed Informatica Intelligent Cloud Services (IICS), which is a connector-based integration platform capable of performing regular data synchronization and transformation. To learn more about IICS, please see https://it.wisc.edu/services/integration-platform/.
- IAM / Provisioning Integration is an integration method that is best suited for situations where institutional data is needed to provision a user’s access to an IT service. IAM systems calculate effective rights based on ‘additive privilege’ and, therefore, require aggregation of roles across a number of sources. Effective rights may also need to be adjusted or terminated based on factors in a number of different systems (HR/student role changes, security actions) so require an aggregated view of a person across different business and data domains.
There are likely to be other integration patterns that emerge over time as more of our core IT services move to the cloud. If you have an integration need that is not met by any of the above patterns, contact an expert.
What specific integration interfaces are available now, and what is the roadmap for additional interfaces?
The below table describes the interfaces that are available today, as well as the interfaces that are under active development or under consideration. If the below interfaces do not appear to meet your integration needs, please contact an expert to talk about the gap.
Integration Catalog
wdt_ID | Integration Type | Resource Name | Description | Intended Use Cases | Data Provided (Note 1) | Scope of Data | Status | Documentation |
---|---|---|---|---|---|---|---|---|
1 | Identity and Access Management (IAM) | NetID Login Service | Single-signon (SSO) integration with UW-Madison's NetID. Also provides for delivery of attributes to applications during the login process using SAML or OAuth. | Single Signon (SSO) integration; Just-in-Time provisioning for applications | Core person; Role information; Contact information; Authorization information; Group information | UW-Madison students, employees and affiliates | Available | https://kb.wisc.edu/86317 |
2 | Identity and Access Management (IAM) | Manifest Group Management Service | Enterprise group management system that enables grouping people automatically based on institutional data, and also allows for distributed ownership and management of groups. | Managing authorization to IT services; Role-based Access Control (RBAC); Attribute-Based Access Control (ABAC) | Grouping based on institutional data; Grouping based on ad-hoc or manually maintained memberships | UW-Madison students, employees and affiliates | Available | https://kb.wisc.edu/27796 |
3 | Identity and Access Management (IAM) | Cloud Application Provisioning Service | Automated provisioning and deprovisioning for cloud-based applications. Includes pre-delivered connectors to common cloud applications and supports cloud provisioning standards such as SCIM. Intended to be used in conjunction with Manifest groups. | Automated provisioning and deprovisioning for cloud applications | Core person; Role information; Contact information; Authorization information; Group information | UW-Madison students, employees and affiliates | Available | In Development |
4 | Identity and Access Management (IAM) | On-prem Provisioning Service | Automated provisioning and deprovisioning to on-premise applications and directory services based on business rules. Intended to be used in conjunction with Manifest service to manage authorization information based on Manifest groups. | Automated provisioning and deprovisioning for on-premise applications and directory services | Core person; Role information; Contact information; Authorization information; Group information | UW-Madison students, employees and affiliates | In Development | In Development |
5 | API | Person API (UW-Madison) | Provides a RESTful API for querying core person data elements such as name, email, address and role information for UW-Madison constituents | Retrieve core information about a person | Core person data (https://data.wisc.edu/core-person-data-domain/) | UW-Madison students, employees and affiliates | Available | https://developer.wisc.edu/person-api |
6 | API | Person API (UW System-wide) | Provides a RESTful API for querying core person data elements such as name, email, address and role information for constituents from any UW System institution. | Retrieve core information about a person | Core person data | UW System | Available | https://developer.wisc.edu/person-api |
7 | Webhook (event stream) | Person API Notification (Webhook) Service (UW-Madison) | Provides a notification service that informs a client when information is updated about a person that is affiliated with UW-Madison | Retrieve asynchronous notification that a person's data has been updated | Core person data (https://data.wisc.edu/core-person-data-domain/) | UW-Madison students, employees and affiliates | Available | https://developer.wisc.edu/person-api/webhooks |
8 | Webhook (event stream) | Person API Notification (Webhook) Service (UW-System) | Provides a notification service that informs a client when information is updated about a person that is affiliated with any UW System institution | Retrieve asynchronous notification that a person's data has been updated | Core person data | UW System | Available | https://developer.wisc.edu/person-api/webhooks |
9 | Integration Platform | Informatica Intelligent Cloud Services (IICS) | Integrate or synchronize data across systems and APIs | This tool does not provide data, but can be used to connect data sources with consuming systems | UW-System | Available | https://it.wisc.edu/services/integration-platform/ | |
11 | API | Finance API | A RESTful API for querying financial data. API users are granted access according to the type of data and the entity to which that data pertains (ie. campus). | Users can retrieve structural data related to the Foundational Data Model (FDM), validate accounting journal entries, and retrieve detailed journal transactions. | Financial data, including worktags, journal entries, etc. Note: Finance APIs are being developed against Workday pre-production environments. Live data will not be available until Workday go-live. | UW System entities that a user is specifically authorized to access | In Development | https://financeapis.wisc.edu/ |
12 | API | HR API | Provides HR/employee resources that have a one-to-many relationship with people's jobs (i.e. resources that are common among multiple jobs among multiple people). Examples - employee classification, location info, job definitions etc | Additional detail about jobs and positions beyond what is provided via the Person API. | HR Data | UW-System HR | In Development | In Development |
13 | API | CAOS (Curricular and Academic) | Provides information on UW-Madison courses and academic information | Integration with UW-Madison curricular and academic data | Program, degree, student and faculty data. | UW-Madison curricular and academic data | Available | https://kb.wisc.edu/registrar/11753 |
Integration Type | Resource Name | Description | Intended Use Cases | Data Provided (Note 1) | Scope of Data | Status | Documentation |
Note 1 – As our APIs and integration interfaces evolve the data provided is likely to grow and change. Please see specific component documentation for a detailed description of what is currently available.