Intention Oriented Model Interaction

242
-1

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
242
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Intention Oriented Model Interaction

  1. 1. Intention Oriented Model Interaction
  2. 2. Document as a Service <ul><li>WSDL representation of a schema XSD </li></ul><ul><li>A form or petition is merely just an XML formed by XSD schema document </li></ul><ul><li>Any application/petition/document can be thrown directly into deployment container </li></ul><ul><li>The deployment container will directly convert this single document to WSDL using hot-plugin in JBI </li></ul>
  3. 3. XSD to WSDL Processor from Apache CXF Framework <ul><li>private void addWSDLTypes() throws ToolException { </li></ul><ul><li>Element sourceElement = this.xsdDoc.getDocumentElement(); </li></ul><ul><li>Element targetElement = (Element)sourceElement.cloneNode(true); </li></ul><ul><li>this.wsdlDefinition.setTargetNamespace((String)env.get(ToolConstants.CFG_NAMESPACE)); </li></ul><ul><li>this.wsdlDefinition </li></ul><ul><li>.setQName(new QName(WSDLConstants.NS_WSDL11, (String)env.get(ToolConstants.CFG_NAME))); </li></ul><ul><li>Types types = this.wsdlDefinition.createTypes(); </li></ul><ul><li>ExtensibilityElement extElement; </li></ul><ul><li>try { </li></ul><ul><li>registry = wsdlFactory.newPopulatedExtensionRegistry(); </li></ul><ul><li>registerJAXWSBinding(Definition.class); </li></ul><ul><li>registerJAXWSBinding(Types.class); </li></ul><ul><li>registerJAXWSBinding(Schema.class); </li></ul><ul><li>extElement = registry.createExtension(Types.class, WSDLConstants.QNAME_SCHEMA); </li></ul><ul><li>} catch (WSDLException wse) { </li></ul><ul><li>Message msg = new Message(&quot;FAIL_TO_CREATE_SCHEMA_EXTENSION&quot;, LOG); </li></ul><ul><li>throw new ToolException(msg, wse); </li></ul><ul><li>} </li></ul><ul><li>((Schema)extElement).setElement(targetElement); </li></ul><ul><li>types.addExtensibilityElement(extElement); </li></ul><ul><li>this.wsdlDefinition.setTypes(types); </li></ul><ul><li>WSDLWriter wsdlWriter = wsdlFactory.newWSDLWriter(); </li></ul><ul><li>Writer outputWriter = getOutputWriter(); </li></ul><ul><li>try { </li></ul><ul><li>wsdlWriter.writeWSDL(wsdlDefinition, outputWriter); </li></ul><ul><li>} catch (WSDLException wse) { </li></ul><ul><li>Message msg = new Message(&quot;FAIL_TO_WRITE_WSDL&quot;, LOG); </li></ul><ul><li>throw new ToolException(msg, wse); </li></ul><ul><li>} </li></ul><ul><li>try { </li></ul><ul><li>outputWriter.close(); </li></ul><ul><li>} catch (IOException ioe) { </li></ul><ul><li>Message msg = new Message(&quot;FAIL_TO_CLOSE_WSDL_FILE&quot;, LOG); </li></ul><ul><li>throw new ToolException(msg, ioe); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  4. 4. Semantic Linking <ul><li>Semantic linker will compare semantically the missing info (data) within other schemas/models/worlds </li></ul><ul><li>A function of semantic linker is to receive requests from </li></ul>
  5. 5. Requirements Capturing <ul><li>Requirements Capturing starts instantaneously when a user starts to fill the forms/application/document </li></ul><ul><li>If any missing info the user fails to find are detected </li></ul><ul><li>The system will send notifications to user of the needed info </li></ul>
  6. 6. Process Model <ul><li>Process Model Elements are </li></ul><ul><ul><li>References, standards, namespaces, schemas,..etc </li></ul></ul><ul><ul><li>Variables </li></ul></ul><ul><ul><li>Partners (PartnerLinks) </li></ul></ul><ul><ul><li>Activities </li></ul></ul><ul><ul><ul><li>Functional centric </li></ul></ul></ul><ul><ul><ul><ul><li>9 flow control activities </li></ul></ul></ul></ul><ul><ul><ul><li>Compensation centric </li></ul></ul></ul><ul><ul><ul><ul><li>2 compensation activities </li></ul></ul></ul></ul><ul><ul><ul><li>Fault centric & Events Centric </li></ul></ul></ul><ul><ul><ul><ul><li>3 activities </li></ul></ul></ul></ul>
  7. 7. Process Model <ul><li>Receive a client request message with <receive>. </li></ul><ul><li>Invoke other web services within the composition using <invoke>. </li></ul><ul><li>Send a response back to invoking clients using <reply>. </li></ul><ul><li>Copy data from part of one message or variable into another using <assign>. </li></ul><ul><li>Represent exceptions and handle them using <throw>, <catch>, and <catchAll>. </li></ul><ul><li>Implement conditional logic using <switch>, <if>, <else>, and <pick>. </li></ul><ul><li>Loop using <while>. </li></ul><ul><li>Perform a step in the process after a duration or on a certain date and time using <wait> </li></ul>
  8. 8. BPEL as a Programming Lang <ul><li>Procs/Merits </li></ul><ul><li>Cons/Limitations </li></ul>
  9. 9. Code Portability <ul><li>The BPEL Process deployment tool is a good example of code portability as BPEL opens extreme ambitions into: </li></ul><ul><ul><li>Interoperability of programming syntax, elements because it separates data from functions and logic </li></ul></ul><ul><ul><li>An example to show simulation of portable (could be platform independent model PIM also) code deployment like for ex writing x-language code to deploy it in different language compiler engines </li></ul></ul>
  10. 10. On-Demand Constructs <ul><li>Design Patterns </li></ul><ul><ul><li>Our model will find necessary BPEL constructs to simulate modular programming aspects like Methods, Attirbs,…etc </li></ul></ul><ul><ul><li>For ex. </li></ul></ul><ul><ul><ul><li>Create necessary PartnerLinks, receives, invokes and reply's to do Model Interaction with External Partners </li></ul></ul></ul><ul><ul><ul><li>Create necessary PartnerLinks, receives, invokes and reply's to do Model interaction with Humans (Human Tasks) </li></ul></ul></ul><ul><ul><ul><li>Creat necessary Joins do Link transitionConditions </li></ul></ul></ul><ul><ul><ul><li>..etc </li></ul></ul></ul><ul><li>Refactoring Patterns </li></ul><ul><ul><li>At runtime any change in BPEL process of the artifacts in the model of intention will drive to re-creation of some constructs in the process model l </li></ul></ul>
  11. 11. Requirements Change <ul><li>Data, Fault and Event management used to manage change in requirements </li></ul><ul><ul><li>Run Time </li></ul></ul><ul><ul><ul><li>Change in Process itself </li></ul></ul></ul><ul><ul><ul><li>Human behavior effect </li></ul></ul></ul><ul><ul><ul><li>Change in business rule </li></ul></ul></ul><ul><ul><ul><li>Change in environmental arguments </li></ul></ul></ul><ul><ul><li>Design time </li></ul></ul><ul><ul><ul><li>Change in functional requirements </li></ul></ul></ul><ul><ul><ul><li>Change in non-functional requirements </li></ul></ul></ul>
  12. 12. Interaction Model <ul><li>Data, Fault and Event management used to manage </li></ul><ul><li>Internal </li></ul><ul><ul><li>Activity <-> Activity </li></ul></ul><ul><li>External </li></ul><ul><ul><li>Process <-> Process </li></ul></ul><ul><li>Human </li></ul><ul><ul><li>Activity <->Human </li></ul></ul><ul><ul><li>Process <-> Human </li></ul></ul>
  13. 13. Interaction Model Elements <ul><li>Human Centric </li></ul><ul><ul><li>Document </li></ul></ul><ul><ul><li>Report </li></ul></ul><ul><ul><li>Form </li></ul></ul><ul><li>System Centric </li></ul><ul><ul><li>Standard (schemas, WS-*..etc) </li></ul></ul><ul><ul><li>Functions/Activities through end-point WSDL’s </li></ul></ul><ul><ul><li>Types </li></ul></ul><ul><ul><li>Variables & data </li></ul></ul>
  14. 14. Interaction Model Human Task Activity Timer Request Required Attributes Document Function
  15. 15. Interaction Model Then transformed into Model of Intention

×