1 / 27

CPR Overview

CPR Overview. 28-April-2011. Agenda. Introduction Requirements Data Model Services Model Service Providers Implementation Contact Information. What is the Central Person Registry?. It ’ s the Foundation of IAM. Current Person Registries.

ranae
Download Presentation

CPR Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CPR Overview 28-April-2011

  2. Agenda • Introduction • Requirements • Data Model • Services Model • Service Providers • Implementation • Contact Information

  3. What is the Central Person Registry? It’s the Foundation of IAM

  4. Current Person Registries • At its simplest form, a person registry is a data store of user information • Examples • Central ID Repository (CIDR) • Friends of Penn State (FPS) • Central Accounts Coordination Tracking of User Services (CACTUS) • Integrated Student Information System (ISIS) • Integrated Business Information System (IBIS) • Many others

  5. Central Person Registry A centralized person registry is a single data store that combines and consolidates identity information currently stored in separate and non-integrated sources throughout the University. From The Identity and Access Management Final Report dated 2/18/2008

  6. Central Person Registry Systems of Record Service Providers Service Providers Systems of Record Database Web Services Web Services Database Registration Authorities Data Views Central Person Registry Data Views Registration Authorities

  7. SOAP Service CPR Data Flow – Interactive Registration Authority Application Server 1. SOAP Request 2. JDBC Request Oracle 11i 5. SOAP Response 3. JDBC Response JMS Request JMS Response JMS Request JMS Response 4. ISIS Service Provider Auth Service Provider • RA makes request to CPR via SOAP call • Service validates information and makes JDBC request to the database. • Database responds to request via JDBC • Service determines which service providers need to be notified and does so via JMS • Services sends a SOAP response back to RA

  8. CPR Data Flow - Batch Batch Inputs 2. SQL*Loader 1. Upload Request CPR Batch Processor Oracle 11i JDBC Response JMS Request 3. JMS Response JMS Request JMS Response Service Provider Service Provider • Batch data is acquired from various sources and uploaded to the CPR batch processor. • Batch processor uses a combination of SQL*Loader and stored procedures to load the data. • Batch processor determines which service providers need to be notified and does so via JMS

  9. Requirements

  10. Requirement Sources • Existing Registries • CACTUS, CIDR, FPS • Regulations and Legislation • University Sources • Survey • Interview Sessions • Use Cases • External Sources

  11. Regulations and Legislation • University Policies • AD11 - University Policy on Confidentiality of Student Records • AD19 - Use of Penn State Identification Number and Social Security Number • AD20 - Computer and Network Security • AD23 - Use of Institutional Data • AD35 - University Archives and Records Management • AD22 - Health Insurance Portability and Accountability Act (HIPAA) • HEOA - Higher Education Opportunity Act • Red Flag Rules • PCI - Payment Card Industry

  12. Data Model • Design based on concepts derived from CACTUS, FPS and CIDR data models • Guiding principles • The data model shall only store information related to identity. • The data model shall store information necessary for matching. • The data model shall store information necessary for life cycle changes. • Must support current functionality and include flexibility to change as needed

  13. Data Model • Contact information • Name(s), addresses, phones and E-Mail addresses (history) • Identity Information • Digital identities (PSU ID and credentials) • Date of birth and gender • Identity Assurance Profile Information • Affiliation Information • Account/Person Linking

  14. Service Model • A Service-Oriented Architecture (SOA) • Web Services • SOAP • Enterprise Service Bus • JDBC and stored procedures • JMS

  15. Service Oriented Architecture • IAM will move to SOA from the world of batch processing and flat files • SOA Guiding principals • Reuse, granularity, modularity, composability, componentization and interoperability. • Standards-compliance • Services identification and categorization, provisioning and delivery, and monitoring and tracking.

  16. Service Oriented Architecture • Important features of SOA for IAM: • Standardized service contract between provider and consumer. • Service reusability - services are developed as building blocks in which logic can be reused by other services. • Service abstraction - service logic is hidden from the outside world.

  17. Enterprise Service Bus • Standard integration platform • Multiple event-driven messaging modalities • Provides a set of core services: • transformation • routing • proxy • logging • Apache CXF framework for SOAP • Automatic WSDL generation • Ease the burden of integration of large number of heterogeneous systems

  18. JDBC and Stored Procedures • JDBC (Java Database Connectivity) API • Industry standard for database-independent connectivity between Java and SQL databases • For IAM purposes JDBC is only used to call stored procedures. • Geronimo provides a database connection pools • Why Stored Procedures? • Enables the encapsulation of complex database logic into a highly optimized database object. • Precompiled enables faster performance than in-line Java code.

  19. Java Message Service (JMS) • Message Oriented Middleware (MOM) API for sending messages between two or more clients. • Supports two models • Point to point (queuing) • Will be used to communicate with specific service providers to request actions, for example provision authentication for a user. • Publish and subscribe • IAM will provide a facility where entities can subscribe to messages related to user information changes.

  20. Service Model • All services return a service code and status message indicating the result of executing the service. • All service calls are logged for auditing purposes. • Messages between a service and service provider(s) can be queued if there are any failures.

  21. Service Model • The initial set of IAM services will be centered around the CPR and will include: • Applications and system access to the CPR information. • Management services for maintaining: • Identities, contact information, affiliations, PSU IDs, Penn State Access Account user ids, sponsored accounts, identity assurance profiles. • Matching services (with the goal of minimizing duplicate identities in central systems). • Address validation services. • Additional IAM services will be developed as the project matures

  22. Service Providers

  23. Service Providers • Service provider • An entity that provides services to other entities. • Examples: authentication, LDAP and so on. • Communications between SOAP services and a service provider will be done using Java Messaging Service (JMS). • JMS API is a Java Message Oriented Middleware (MOM) API for sending messages between two or more clients • JMS queuing available is Apache’s ActiveMQ.

  24. Implementation

  25. Implementation • Stage 1 completed • All of the services were developed using Java. • Services interact with the database using JDBC. • All of the database manipulation is done with Oracle PL/SQL stored procedures. • All Java services are tested using JUnit 4.0 test cases and test coverage of at least 85% is required. • Documentation is done using JavaDoc.

  26. Implementation • Stage 2 • Currently underway, focus is the completion of the remaining CPR services necessary for production • Services include: ID+Card, IAP, Linking, Credentialing, Address Validation, Affiliation, Security, etc. • Moving from test environment to production environment (hardware, database, application server)

  27. Contact Information • E-Mail: iam@psu.edu • Web Site: https://iam.psu.edu/ • CPR Forum • Developer’s Web Site: https://iam.psu.edu/developer/ • Other places (PennStateIAM): • Del.icio.us • Twitter • Facebook • YouTube

More Related