Presentation is loading. Please wait.

Presentation is loading. Please wait.

KEW Definitions Document Type The Document Type defines the routing definition and other properties for a set of documents. Each document is an instance.

Similar presentations


Presentation on theme: "KEW Definitions Document Type The Document Type defines the routing definition and other properties for a set of documents. Each document is an instance."— Presentation transcript:

1 KEW Definitions Document Type The Document Type defines the routing definition and other properties for a set of documents. Each document is an instance of a Document Type and conducts the same type of business transaction as other instances of that Document Type. Document An electronic document containing information for a business transaction that is routed for actions in KEW. It includes information such as Document ID, Type, Title, Route Status, Initiator, Date Created, etc. Document Content In KEW, a document will typically have an XML payload attached to it which is used when making routing decisions. Route Node A Route Node represents a point in the routing process of a document. A node can be defined to perform any function, but the most common functions are to generate Action Requests or to split/join the route path. Route Path The path a document follows during the routing process. Consists of a set of route nodes and branches. The route path is defined as part of the document type definition.

2 DocumentType XML......

3 Document Content 0ed64e1f-9d24-4b10-b21a-e366fc77cc9d 69 44edf1d5-88d0-46d5-b51b-c6e833029ced 0ed64e1f-9d24-4b10-b21a-e366fc77cc9d 69 44edf1d5-88d0-46d5-b51b-c6e833029ced

4 Qualifier Resolver import org.kuali.rice.kew.engine.RouteContext; import org.kuali.rice.kim.bo.types.dto.AttributeSet; /** * A QualifierResolver is responsible for resolving qualifiers that might be used * to identify a Qualified Role from a Document. Information about the Document * can be obtained from the RouteContext. * * @author Kuali Rice Team (rice.collab@kuali.org) * */ public interface QualifierResolver { public List resolve(RouteContext context); }

5 Post Processor ProcessDocReportafterProcess(AfterProcessEvent processEvent) Executed after processing by the workflow engine has completed. ProcessDocReportbeforeProcess(BeforeProcessEvent processEvent) Executed prior to processing by the workflow engine. ProcessDocReportdoActionTaken(ActionTakenEvent event) Executed whenever an action is taken against the document. ProcessDocReportdoDeleteRouteHeader(DeleteEvent event) Executed whenever a deletion of the document is required. ProcessDocReportdoRouteLevelChange(DocumentRouteLevelChange levelChangeEvent) Executed whenever the document transitions from one node to another. ProcessDocReportdoRouteStatusChange(DocumentRouteStatusChange statusChangeEvent) Executed whenever the status of the document changes. LonggetDocumentIdsToLock(DocumentLockingEvent lockingEvent) Executed prior to document locking in the workflow engine.

6 Dictionaries Service Dictionary, Data Dictionary, DTO Dictionary Search Dictionary Orchestration Dictionary, DOL Dictionary Search Orchestration Dictionary – Not just lookup meta data – Most likely part of regular Search Dictionary Application Dictionary?

7 Service Dictionary Configuration Override value settings Add constraints Remove constraints Override constraints Override global constraints? – We don’t think this is likely

8 Spring Config Files Inheritance from parent bean Last bean defined with same ID wins Include files from classpath – Could we include from url? – Would we want to include from url? Parent bean pattern for overrides

9 Inheritance Current DictionaryModified to use inheritance.........

10 Parent Bean Pattern organization-dictionary-config.xml <dict:field key="OrgCodeInfo.default.desc-parent“ id="OrgCodeInfo.default.desc-parent" abstract="true"> desc The description of … String <dict:field key="OrgCodeInfo.default.desc" id="OrgCodeInfo.default.desc" parent="OrgCodeInfo.default.desc-parent"/> <dict:objectStructure key="OrgCodeInfo-parent" id="OrgCodeInfo-parent" abstract="true"> <dict:type key="default" id="OrgCodeInfo.type.default"> <dict:state key="default" id="OrgCodeInfo.state.default"> <dict:fieldRef bean="OrgCodeInfo.default.desc"/> value The code value. String

11 Parent Bean Patter Institutional-organization-dictionary-override.xml <dict:field key="OrgCodeInfo.default.desc" id="OrgCodeInfo.default.desc" parent="OrgCodeInfo.default.desc-parent"> 30

12 Tooling Could use standard XML tools Excel generation – This needs updated output for configurability Application based tooling – Implementing institution could contribute Recently added functionality that reads java service DTO’s and creates dictionary stub

13 We Have Schema Posted

14 Orchestration Dictionary Is this orchestration/transformation only or should it control UI? Needs linkage to Service Dictionary – Remove redundant constraints – Provide global config

15 Application Dictionary Could: Configure document content Configure document type Configure UI Tie screen to orchestration dictionary/object

16 Transactions Solution must implement ws-coordination spec and jta spec (in order to be swappable/purchaseable) Attempt to create new service methods to reduce numbers of transactions Currently stuck deploying all services and UI as single application Possibly attempt to write transactions based on ws spec Compensation is as much or more work than writing atomic

17 Transactions In Glassfish Dropping KS on Glassfish does not get transaction support Must integrate with some or all of containers implementations of – JTA – JPA – JAX-WS – JNDI Datasource KSB integration with Metro on Glassfish

18 Dynamic Attributes Supported via simple configuration at – Service level – Service dictionary – Pickers DOL – Must create Orchestration dictionary – Must modify DOL Assemblers Must modify UI via deferred binding Need to build an “LU/Course” example into codebase or deployment lab

19 Authorization Layers Service Layer – KS application clients and external clients – Lowest level of row/field authorization Orchestration Layer – May need access to row/fields user can’t access – Needs to respect service layer authZ Application Layer – Access to particular application – View a specific section – Data must be filtered before this layer since it runs on the browser

20 Field level AuthZ and Masking Permissions are positive Configurations are negative – Assume all fields are editable unless configured otherwise in Dictionary (DOL or Service) Permissions checked to override configuration

21 Application Authorization Service LayerDOL AuthZ Filter GWT Client KIM Permission Service 1 2 3 4 5 6 7

22 AuthN Diagram https://test.kuali.org/confluence/display/KULS TG/KS+Authentication


Download ppt "KEW Definitions Document Type The Document Type defines the routing definition and other properties for a set of documents. Each document is an instance."

Similar presentations


Ads by Google