Implementation list - level one algorithm

Lists of comments of what is implemented and what is not implemented.

Including things

DateComment
October 6th, 2003ProcessSpecification uuid AND name attribute are final values whether two ProcessSpecification match.
March 10th, 2003At this stage a draft CPA is created from two CPPs.
March 10th, 2003Two CPPs with several PartyInfos with several CollaborationRoles can yield for more than ONE CPA. The algorithm does consider this and creates as many draft CPAs as possible.
March 10th, 2003Draft CPA will be created.
March 10th, 2003Corresponding OtherPartyActionBinding element added at the /CPA/PartyInfo/CollaborationRole/ServiceBinding/CanSend element.
March 28th, 2003Algorithm uses a matrix to list pairs which reference same instance (eg. Transport, DocExchange). For each possible conflict a new instance copy is created (cloned).
June, 2nd, 2003Certificates blindly copied. Only sample Certificates considered without references to real (wc3?) xml schemas.

Missing things

DateComment
October 13th, 2003Any non ebXML XML schemas such as w3c DigitalSignatureXML.
October 13th, 2003The ds:Reference in the ProcessSpecification element is not considered.
October 9th, 2003Check of BusinessTransactionCharacteristics: basic test: all attributes have equal values. Maybe first step dont care of XML referencing problem.
October 9th, 2003when checking timeToAcknowledgeReceipt, timeToAcknowledgeAcceptance and timeToPerform then check if goes togehter with ReceiptAcknowledgment or AcceptanceAcknowledgement bindings, also check against syncReplyMode.
October 7th, 2003Basically only asynchronous transportation is supported. eg no nested Can[Send|Receive]'s -> no MessageCharacteristics syncReplyMode. But result in a switch to enable a) sync only b) asynch only and c) both. default would be both.
October 7th, 2003The ThisPartyActionBinding can have more than one ChannelId elements. This is used to allow parties to have a preference among several transport protocols for example. The algorithm does handle only 1 ChannelId.
October 6th, 2003Serious testing framework. Currently only modified CPPs are taken for testing.
March 10th, 2003At this stage a draft CPA is created from two CPPs. Negotiation not implicit for start with a CPA draft.
March 10th, 2003Multiparty CPPs not considered
March 10th, 2003Nested CanSend/CanReceive not considered
March 10th, 2003Certificates not considered. Actually only copied. Reference to them are not considered.
March 10th, 2003Security Lists not considered.
March 10th, 2003No XML Schema for Conflict File
March 10th, 2003Referenced BusinessProcess in //CollaborationRole/ProcessSpecification/@name not processed
March 10th, 2003Roles in //CollaborationRole/Role/@name not checking referenced BusinessProcess in //CollaborationRole/ProcessSpecification/@name. Simple check that roles are NOT the same.
March 11th, 2003ServiceBinding/Service element not considered (copied blindly).
June, 2nd, 2003ServiceBinding/CanSend or ServiceBinding/CanReceive elements which are not used are not put into the conflict file.
March 11th, 2003ServiceBinding/Can[Send|Receive]/ThisPartyActionBinding/ActionContext not considered.
March 11th, 2003ServiceBinding/Can[Send|Receive]/ThisPartyActionBinding/BusinessTransactionCharacteristics checked but not considered (for DocExchange, Packaging etc).
March 14th, 2003Element /CPP/Packaging/CompositeList/Encapsulation not considered
March 14th, 2003Element /CPP/Packaging/CompositeList/Constituent/SignatureTransforms not considered
March 14th, 2003Element /CPP/Packaging/CompositeList/Constituent/EncryptionTransforms not considered
March 17th, 2003Case where one /CPP/Packaging/ has more CompositeList elements than the other is not considered
March 17th, 2003Case where one /CPP/Packaging/CompositeList/ has more Constituent elements than the other is not considered
March 17th, 2003Order of /CPP/Packaging/CompositeList and /CPP/Packaging/CompositeList/Constituent elements seen as correct.
March 17th, 2003Element /CPP/SimplePart/@xlink:role not considered.
March 17th, 2003Element /CPP/Packaging/CompositeList/Constituent/@idref ONLY considered to be a SimplePart reference.
March 17th, 2003Order of /CPP/SimplePart/Namespace elements is not considered. Namespaces are pairwise compared in order.
March 31th, 2003If /Transport/TransportSender and /Transport/TransportReceiver are empty at both parties then they have to get negotiated. Not implemented. Basically it would have to be looked up in the CanSend/CanReceive elements which element (TransportSender, TransportReceiver) is necessary for each party.
March 31th, 2003/Transport/TransportSender/AccessAuthentication and /Transport/TransportSender/AccessAuthentication does only check for matches and then takes the first match.
April 1st, 2003ClientCertificateRef (in TransportClientSecurity), ServerCertificateRef (in TransportServerSecurity) not implemented.
April 1st, 2003ServerSecurityDetailsRef (in TransportClientSecurity), ClientSecurityDetailsRef (in TransportServerSecurity) not implemented.
April 1st, 2003tns:EncryptionAlgorithm in (TransportClientSecurity and TransportServerSecurity) not implemented.
April 1st, 2003Endpoint (in TransportReceiver) not implemented.
April 5th, 2003SigntureAlgorithm in NonRepudiationProtocol not implemented. SignatureAlgorithm can have many occurances. Priority?? (read up)
April 5th, 2003SigningCertificateRef in NonRepudiationProtocol not implemented. Possilbe referencing prolem (matrix possible solution)
April 5th, 2003EncryptionAlgirthm in SenderDigitalEnvelope and ReceiverDigitalEnvelope not implemented. Multiplicity problem. Priority?? (read up)
April 5th, 2003EncryptionSecurityDetailsRef in SenderDigitalEnvelope and EcnryptionCertificateRef in ReceiverDigitalEnvelope not implemented. Possible eferencing problem
April 7th, 2003If there are elements, attributes which occur in CPP A only the conflict is not added! (should not be hard, just needs time).
June 2nd, 2003Matrix output is not nice. the matrix is write just is printed wrong.
June 2nd, 2003Comments from CPP's are not taking into CPA. Should be done.
June 12th, 2003Negotiation Description Documents (NDDs) are not considered.
June 12th, 2003Cardinality issues. Whenever there is a maxOccurs > 1
June 13th, 2003cpaid attribute, start, stop, status elements not done properly

Assumptions

DateComment
March 11th, 2003The CPPs are correct: - all messages of the referenced business process spec are put into ServiceBinding, - Roles also match.
March 10th, 2003Assuming that BusinessLevel is OK. Eg. that the number of CanSend, CanReceive, their names (//Can[Send|Receive]/ThisPartyActionBinding/@action) are correct

Things to rewrite

DateComment
October, 13th, 2003Evaluation of first to get rid off ALL references by deep-clone (copy including all child elements) Watch out to also change ID attributes and IDREF elements or attributes.
October, 13th, 2003After buisness level check the BusinessTransactionCharacteristics (BTC). Values in the BTC (if secure transport is needed for example) could tell the algorithm which (additiaional, amongst the necessary ones (eg Transport protocol)) elements in the transport and delivery channel have to be checked. In this case elements which are not necessary (according to BTC) dont get checked and thus dont get into the CPA. Referencing is again a problem. To be checked: If transport has elements which are used/neccessary in one CanSend (according to BTC) but not in another CanSend and is referenced in both can cause problems. This question needs further investigation.
October, 13th, 2003Implementation list of which aspects of the BTC (which attributes) are considered.
October, 8th, 2003Provide a list with the main messaging/business aspects such as reliability, non-repduiation, and confidentility. Further provide a table which show all attributes from BusinessTransactionCharacteristics and MessagingCharacteristics and to which aspect they belong.
October, 7th, 2003Multiple ChannelIds in the ThisPartyActionBinding. Imposes a very interesting question: What is a defining element (TransportProtocol?, MessagingCharacteristics?, Transport element or one of its children?, DocumentExchange or one of its children?). Theoreticallly comparing many to many and to try to list those which match or match best.
October, 7th, 2003REXML element.elements['my_element'] returns the _first_ element with the name my_element. Missed ChannelId element in ThisPartyActionBinding element due to this :( The number of elments should be Check with element.get_elements('my_elment').size first. After a successful test a child element should be accessed.
April, 4th, 2003Add methods to remove copy pased code.
June, 13th, 2003Currently the Conflict File is part of this early version. The conflict file is in some way the Negotiation Description Document (NDD) for the draft CPA. Further version should change from conflict file to a proper NDD.

Sacha Schlegel
Last modified: Tue Oct 14 15:21:34 WST 2003