← Prev in month
← Prev in thread
Next in thread →
Next in month →
ISSUE-156: Intent annotations are missing from Java CAA as compared toPolicy FW spec - proposal v1
This is a broad issue. In order to minimize rework for myself, I've put together an analysis of the differences between the intents defined in the Policy FW spec [2] and the Java annotations in the CAA spec [3]. See the table below. It is important to remember that the CAA spec defines the @Requires annotation which can be used to specify a list of any intents, regardless of the namespace which contains the intent definition. Given this, I think we should only define annotations for the commonly used intents because intent specific annotations are really just a developer friendly equivalent to the @Requires() form. The table lists intents defined in the Policy FW spec along side the related annotations for the Java CAA spec. I noted where there is a "gap" that I'd propose to fill with a specific Java annotation. Before I spend time writing up a bunch of text, I'd like to have a discussion (email or telecon) to get a sense for other opinions. I don't feel strongly about some of the choices I've made. Here's the rationale for each choice: 1) MutualAuth is a commonly used mechanism, but is it appropriate to be hard wired into the Java POJO? 2) Authorization is quite common also, but on it's own doesn't mean much. A policySets will always be needed to satisfy the intent. 3) Transactions - Since transactions are integral to business logic in a pojo, I chose the most common usages of transactions; @ManagedTransaction for specifying global or local trans, @NoManagedTransaction for simple cases, @ManagedSharedTransaction (a profile intent) because it represents a very common global transaction pattern. I feel quite strongly that these need to be Java annotations. 4) The rest of the intents that don't have a specific Java annotation defined, just don't seem quite common enough in Java POJOs to justify a specific Java annotation. Blindly creating a Java annotation for each Policy FW defined intent seems like overkill. Policy FW Spec Java CAA Spec ---------------- ------------------- N/A @Requires - for specifying any intent in Java N/A @PolicySets - for specifying any policySet in Java serverAuthentication clientAuthentication authentication @Authentication mutualAuthentication (gap)@MutualAuthentication confidentiality @Confidentiality integrity @Integrity authorization (gap)@Authorization atLeastOnce atMostOnce exactlyOnce ordered managedTransaction (gap)@ManagedTransaction noManagedTransaction (gap)@NoManagedTransaction transactedOneWay immediateOneWay propagatesTransaction suspendsTransaction managedSharedTransaction (gap)@ManagedSharedTransaction asyncInvocation SOAP JMS noListener EJB [1] http://www.osoa.org/jira/browse/JAVA-156 [2] http://www.oasis-open.org/committees/download.php/33774/sca-policy-1.1-spec-cd02-rev3.pdf [3] http://www.oasis-open.org/committees/download.php/32734/sca-javacaa-1.1-spec-cd03.pdf Dave Booz STSM, BPM and SCA Architecture Co-Chair OASIS SCA-Policy TC and SCA-J TC "Distributed objects first, then world hunger" Poughkeepsie, NY (845)-435-6093 or 8-295-6093 e-mail:
← Prev in month
← Prev in thread
Next in thread →
Next in month →