2.0 Enhancement Request Design Discussions

General

Leader Description
Client - Server Validation sfehrman Design a mechanism for how the Client can validate (authenticate the client, not the end user) itself to the Server
Server packaging harcey Deliver the OpenPTK solution as a deploy-able service in a web container. Support for on-line configuration and management
Package and JAR Refactoring harcey Refactor some of the packages from the 1.x code base to better reflect the 2.0 architecture. Refactor the JAR files to better handle the new Server and Client design.
Download Bundles
tsigle
Prepare the different download options for various OpenPTK bundles
Repository   Implement a repository strategy for configuration data and potentially user meta-data. Options include embedded db, xml files, ldap. Need to evaluate Use Cases
Security   A framework for handling AuthN, AuthZ and encryption features. Need to define Use Cases. Should be pluggable to support industry solutions/standards
encryption of proxy credentials sfehrman Storing client-side credentials for use by the service should be encrypted. Will require general encryption mechanism used by the Framework and Service
Null vs. Empty values sfehrman Handling of null values vs. values with zero length (String.length() = 0). Framework, APIs, and Service will be effected. This will apply to the UPDATE Operation. An attribute will be "flagged" for removal.
ENABLE and DISABLE Operations   Support two new Operations ENABLE and DISABLE. Some Services can enable and disable users.
Error code/message facility   Create a mechanism that would manage error codes, levels, description, and action information. This facility would be used by all Tiers. Developers will register new errors with the facility and leverage an error handling API. All "hard coded" errors will be removed from source files.

Framework Tier

Leader Description
Authentication harcey Ability to identify who (userPrincipal) is accessing the Consumer Interface.
Authorization tsigle Using the AutheN, identify what functions/capabilities the userPrincipal is allowed to perform.
Leverage the J2EE Declarative Security / Role model (userRole)
Model, Views, and Relationships sfehrman Create a Model that has Views and Relationship facility to support the concepts of Siblings, Ancestors, and Children
Attribute Function redesign sfehrman The Attribute Operation and Function relationship are not that flexible. Need to support more flexibility and address the issue of "required" for an Attribute
Attribute Properties sfehrman Add Properties to Attributes, need by client for dynamic UI
Definition Enhancement sfehrman Subject accessible Attributes (defined within the Definition) need to be extended to support more flexible Use Cases and condition.
An Attribute should support multiple "Functions" that can be associated to any combination of "Operation" and (potentially mode, re-evaluate if "mode" is still needed).
Function Processing   Handling of function logic and chaining. Allow functions to control the processing to the next / other functions
i18n   design internationalization / localization capabilities
Function::Argument Change sfehrman The current syntax for an Argument uses the following XML Arguments:
<Argument name="" arg="" value=""/>
Want to change the syntax to:
<Argument name="" type="" value=""/>
The XML argument named "type" better described the real meaning of the XML argument
Configurable Tier Interfaces   Enhance the interface between the Consumer-Framework Tier and the Framework-Service Tier to be configurable. This will be need to implement other means of transporting "messages" between the tiers. Transports can include: direct (current design), message queue, database, JPA.
Async Operations   Interfaces could support async operations, design options need to be evaluated
Multi-Service Contexts   Allow a context to support more than one "Service". Consider allowing Service to either relate "in-order", parallel or hierarchically.
Attribute Error/State/Status sfehrman Enhance the Attribute/Attr to use Error/Status/State indicate various conditions that is might have. Such as ... a Request to a Service and the Service does not support the Attribute, the operation could continue (minus the Attribute) and the Result could have a matching attribute with a specific State/Error/Status condition.
Rename Context Objects sfehrman The Framework uses the term "context" in two different ways. One references a configuration "element" while the other is used to manage the processing of requests. It is suggested to rename ContextIF, Context, BasicContext, and TimeoutContext to one of the following
ProcessorIF, Processor, BasicProcessor, TimeoutProcessor.
EngineIF, Engine, BasicEngine, TimeoutEngine.
missing Attributes sfehrman Enhance the Subject to handle Consumer Tier requests that contain Attributes that do not exist or are not supported by the Service. Reference the solution implemented for release 1.2
Enhance Search sfehrman Enhance the search to handle search configuration of each service for controlling default search and service specific search behavior. Also support Consumer Tier requests that contain advanced search operations
Support Mime Data Type sfehrman Enhance the Framework / Server / Service to support a "Object" Data Type
Pre Post Operation Actions sfehrman Enhance the Operations to support the configuration of Pre and/or Post processing for Operations
Plugins sfehrman A general purpose mechanism for managing and accessing external "plugins"

Service Tier

Leader Description
SPML2 harcey A Service/Operations that support the SPML2 specification. Operation should include: CREATE,READ,UPDATE,DELETE,SEARCH,PWDCHANGE,PWDRESET
JMS   A Service/Operations for writing to a Java Message Service. Operations should include: CREATE,UPDATE,DELETE
JNDI password support sfehrman Enhance JNDI Service/Operations to implement PWDCHANGE an PWDRESET
JDBC password support sfehrman Enhance JDBC Service/Operations to implement PWDCHANGE an PWDRESET

Consumer Tier

Leader Description
RESTful Web Service sfehrman Create a REST web service interface that support the OpenPTK Operations
RESTful API sfehrman Document the API and format of results

Applications

Leader Description
CLI   output format: ldif,table,csv,xml
CLI   Password Change
JavaFX harcey A JavaFX based application. Leverage RESTful web service
RESTFul consumer (provlet) harcey Need more details
Role usage   Role examples (CRUD) framework, service, samples
Enhance Portlets sfehrman Update the Portlet samples to include "Registration" and "Forgotten Password" use cases
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Sign up or Log in to add a comment or watch this page.


The individuals who post here are part of the extended Sun Microsystems community and they might not be employed or in any way formally affiliated with Sun Microsystems. The opinions expressed here are their own, are not necessarily reviewed in advance by anyone but the individual authors, and neither Sun nor any other party necessarily agrees with them.

Copyright 1994-2009 Sun Microsystems, Inc.
Powered by Atlassian Confluence
Sun Guidelines on Public Discourse Privacy Policy Terms of Use Trademarks Site Map Employment Investor Relations Contact