Project Skill Needs
Most of the project participants didn't come to the project with the kind of skills enumerated, but they reflect the baseline at which we get significant productivity from a contributor. Some of the cultural factors that are harder to describe include:
being a self-starter, we don't hold hands well
good diagnostic skills in problem resolution
being a quick learner
having a high attention to detail
low tolerance for bugs and a focus on correctness and security
Identity Provider (V3)
Foundational
Java Server Programming (intermediate)
Spring Framework (basic)
Windows and/or Unix Systems Programming (intermediate)
XML Processing (fluent)
HTTP Architecture (fluent)
Web Single Sign-On Architecture (basic)
Data / IDM Integration
Distributed Systems (fluent)
IDM (basic)
Domain specific knowledge (depends on use case being developed)
Authentication
Distributed Systems (fluent)
Expertise with the relevant authentication technology
Java / Web UI (intermediate)
User Interface Extensions (e.g., Consent, Terms of Use, Administration)
Java / Web UI (expert)
Packaging / Installation
Generally involves highly specialized tools / skills with packaging or installation frameworks
SAML Profile Development
SAML (expert)
XML Signature / Encryption, TLS, PKI (basic)
HTTP / SSO (expert)
Spring Web Flow (basic)
Similar skills required for other protocols (substituting their requirements).
OpenSAML-J (V3)
SAML (expert)
Java Programming (intermediate with strong design skills)
Windows and/or Unix Systems Programming (intermediate)
XML Processing (expert)
XML Signature / Encryption, TLS, PKI (expert)
HTTP Architecture (expert)
Distributed Systems (fluent)
Centralized Discovery Service
Foundational
Java Server Programming (intermediate)
Spring Framework (basic)
XML Processing (fluent)
HTTP Architecture (fluent)
User Interface
Java / Web UI (expert)
Metadata Aggregator
Foundational
Java programming (intermediate)
Spring Framework (basic)
Stage Definitions
XML Processing (fluent)
XML Signature / Encryption, PKI (basic)
Domain specific knowledge for relevant SAML extensions
Web Service
Java Server Programming (intermediate)
HTTP Architecture (fluent)
Service Provider (V2)
Foundational
C++ Programming (intermediate, experience with STL a must)
Windows and/or Unix Systems Programming (intermediate)
Network Programming (basic)
XML Processing (fluent)
HTTP Architecture (fluent)
Web Single Sign-On Architecture (fluent)
Apache / IIS / other Extension Programming (intermediate)
Data / IDM Integration
Distributed Systems (fluent)
IDM (basic)
Domain specific knowledge (depends on use case being developed)
Packaging / Installation
RPM (fluent)
Windows Installer (fluent)
SAML Profile Development
SAML (expert)
XML Signature / Encryption, TLS, PKI (basic)
HTTP / SSO (expert)
Spring Web Flow (basic)
Similar skills required for other protocols (substituting their requirements).
OpenSAML-C (V3)
SAML (expert)
C++ Programming (intermediate with strong design skills, experience with STL a must)
Windows and/or Unix Systems Programming (expert)
XML Processing (expert)
XML Signature / Encryption, TLS, PKI (expert)
HTTP Architecture (expert)
Distributed Systems (fluent)