1 Rules of Thumb for Creating XML Vocabularies for Workflow Applications February 1, 2009.

Slides:



Advertisements
Similar presentations
TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
Advertisements

You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
Advanced Piloting Cruise Plot.
Feichter_DPG-SYKL03_Bild-01. Feichter_DPG-SYKL03_Bild-02.
1 4 Approaches to Structuring Lists February 22, 2009.
1 How to Specify Validation Information Roger L. Costello 27 December, 2008.
Chapter 1 The Study of Body Function Image PowerPoint
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 38.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
Chapter 1 Image Slides Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
REQ Drop from Demand Response Programs Process Flow Retail Customer Demand Response Service Provider (DRSP) Distribution Company 1 Drop Request.
Document #07-12G 1 RXQ Customer Enrollment Using a Registration Agent Process Flow Diagram (Switch) Customer Supplier Customer authorizes Enrollment.
Document #07-12G 1 RXQ Customer Enrollment Using a Registration Agent Process Flow Diagram (Switch) Customer Supplier Customer authorizes Enrollment.
Document #07-2I RXQ Customer Enrollment Using a Registration Agent (RA) Process Flow Diagram (Move-In) (mod 7/25 & clean-up 8/20) Customer Supplier.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
Determine Eligibility Chapter 4. Determine Eligibility 4-2 Objectives Search for Customer on database Enter application signed date and eligibility determination.
My Alphabet Book abcdefghijklm nopqrstuvwxyz.
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
SUBTRACTING INTEGERS 1. CHANGE THE SUBTRACTION SIGN TO ADDITION
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Addition Facts
1 Learning Touchmath *Graphics taken from
ZMQS ZMQS
Richmond House, Liverpool (1) 26 th January 2004.
Break Time Remaining 10:00.
1 Competitive Privacy: Secure Analysis on Integrated Sequence Data Raymond Chi-Wing Wong 1, Eric Lo 2 The Hong Kong University of Science and Technology.
Pearls of Functional Algorithm Design Chapter 1 1 Roger L. Costello June 2011.
ABC Technology Project
EIS Bridge Tool and Staging Tables September 1, 2009 Instructor: Way Poteat Slide: 1.
1 Undirected Breadth First Search F A BCG DE H 2 F A BCG DE H Queue: A get Undiscovered Fringe Finished Active 0 distance from A visit(A)
VOORBLAD.
15. Oktober Oktober Oktober 2012.
1 Breadth First Search s s Undiscovered Discovered Finished Queue: s Top of queue 2 1 Shortest path from s.
1 Evaluations in information retrieval. 2 Evaluations in information retrieval: summary The following gives an overview of approaches that are applied.
Classroom Auxiliary: is, am, & are. You have ‘3 Seconds’ to answer each question.
BIOLOGY AUGUST 2013 OPENING ASSIGNMENTS. AUGUST 7, 2013  Question goes here!
Squares and Square Root WALK. Solve each problem REVIEW:
We are learning how to read the 24 hour clock
1..
© 2012 National Heart Foundation of Australia. Slide 2.
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
Chapter 5 Test Review Sections 5-1 through 5-4.
SIMOCODE-DP Software.
GG Consulting, LLC I-SUITE. Source: TEA SHARS Frequently asked questions 2.
1 First EMRAS II Technical Meeting IAEA Headquarters, Vienna, 19–23 January 2009.
Addition 1’s to 20.
25 seconds left…...
Januar MDMDFSSMDMDFSSS
Week 1.
We will resume in: 25 Minutes.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Clock will move after 1 minute
PSSA Preparation.
1 PART 1 ILLUSTRATION OF DOCUMENTS  Brief introduction to the documents contained in the envelope  Detailed clarification of the documents content.
Immunobiology: The Immune System in Health & Disease Sixth Edition
Murach’s OS/390 and z/OS JCLChapter 16, Slide 1 © 2002, Mike Murach & Associates, Inc.
CpSc 3220 Designing a Database
Web Time Entry Hours Entry in ESS 04/26/12 1 Banner.
Presentation transcript:

1 Rules of Thumb for Creating XML Vocabularies for Workflow Applications February 1, 2009

2 Contents Definition of "workflow applications" Case study Lessons learned/rules of thumb Acknowledgements

3 Workflow Applications In XML-based workflow applications the XML documents are routed, and may be modified at various stops along the route: XML Rob SallyPete JillAnthony

4 Case Study I am assigned the job of creating an XML vocabulary for a "Transportation Task Request." On the following slide is an example that shows what I created.

5 My XML Vocabulary "I desire to be picked up from my home on January 29 at 7 am and dropped off at Logan airport. On my return trip I desire to be picked up at Logan airport on February 4 at 6 pm and dropped off at my home." home Logan airport T07:00:00 Logan airport home T18:00:00

6 Usage A user will create an instance document using the above XML vocabulary and then walk it over to the company's transportation office and give it to them. The first thing the transportation office does with it is stamp on it the date and time of submission. home Logan airport T07:00:00 Logan airport home T18:00:00 RECEIVED Jan. 28, 2009

7 Add a Submission Element? When I created the XML vocabulary I asked myself: Should it include a element? That is, when a user creates an instance document, should the document include an empty element? See example on next slide

8 Empty Element home Logan airport T07:00:00 Logan airport home T18:00:00

9 Good Idea? When the transportation office receives the instance document, they can fill in the element. Is this a smart thing to do?

10 Recall My Objective Objective: create an XML vocabulary for expressing a transportation task that I want accomplished.

11 Bad Idea! The element is not relevant to my objective. The element only comes into play when a transportation request document is given to the person at the transportation office.

12 No Submission Element I decided not to include a element in my XML vocabulary. The transportation office can create their own XML vocabulary that adds a element. Thus, my XML vocabulary is flexible: each office that receives an instance of my XML vocabulary can add their own unique markup/data.

13 Conclusion Keep business-process-specific markup/data separate from my XML vocabulary.

14 My conclusion is false! Let's see why …

15 Lessons Learned & Rules of Thumb

16 1. Must Have a Purpose An XML vocabulary does not exist in a vacuum. It exists for some purpose or purposes. The transportation XML vocabulary was created for the purpose of enabling the transportation office to provide a limousine service for its employees.

17 2. Support Senders & Receivers The date and time that a transportation request was submitted is required for the transportation office to provide its service. By failing to provide a element I have failed to support the transportation service that my XML vocabulary is supposed to support. The design of an XML vocabulary must take into account the need of data providers to supply the data and the need of data consumers to use the data.

18 3. Keep Focused An XML vocabulary that is too generic will fail. Focus the XML vocabulary to a specific purpose or (small) set of purposes.

19 4. Optional Markup/Data If there is markup/data needed by the data receivers but not the data senders then make it optional. Thus the sender can omit the optional markup while the receiver can add it. Remember: we're not dealing with a relational database, we're dealing with XML documents. Just because an element is part of the vocabulary doesn't mean the data sender has to include it in every document created using that vocabulary. It can be optional and the data receiver can add it. The person making the travel request has no use for the element so make that element optional. The transportation office will add it when the travel request document is received.

20 5. Flexible/Extensible Design flexibility and extensibility into the XML vocabulary, but do not try to predict the future.

21 6. Modularize Modularize the XML vocabulary. Create the XML vocabulary as an assembly of building blocks ("data components").

22 7. Component Design Split out markup/data that is optional and specific to the data receivers. One technique, for example, is for the receiver to add the data that is specific to him in an envelope that wraps the sender's data. The envelope topology is one approach to component-based design; many others are possible and should be explored. See example on next slide

23 Envelope Component Design T12:07:00Z home Logan airport T07:00:00 Logan airport home T18:00:00

24 Acknowlegements The following people contributed to this work: –Mike Brenner –Len Bullard –Marcus Carr –Roger Costello –Alan Danziger –James Fuller –Fraser Goffin –Ken Holman –Ken Laskey –Frank Manola –Paul Spencer –Jim Wilson