[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Response to Damian
Funny - this never got out. -------- Original Message -------- Subject: Warning: could not send message for past 2 hours Date: Fri, 20 Aug 2004 17:34:52 -0700 (PDT) From: Mail Delivery Subsystem <MAILER-DAEMON@smtp-relay-7.sea.adobe.com> To: dnickull@adobe.com ********************************************** ** THIS IS A WARNING MESSAGE ONLY ** ** YOU DO NOT NEED TO RESEND YOUR MESSAGE ** ********************************************** The original message was received at Fri, 20 Aug 2004 14:59:31 -0700 (PDT) from inner-relay-1 [153.32.1.51] ----- Transcript of session follows ----- ,,,,... Deferred: Connection reset by outbounds6.obsmtp.com Warning: message still undelivered after 2 hours Will keep trying until message is 5 days old -- Senior Standards Strategist Adobe Systems, Inc. http://www.adobe.com
Reporting-MTA: dns; smtp-relay-7.sea.adobe.com Arrival-Date: Fri, 20 Aug 2004 14:59:31 -0700 (PDT) Final-Recipient: RFC822; regrep@lists.oasis-open.org Action: delayed Status: 4.2.0 Last-Attempt-Date: Fri, 20 Aug 2004 17:34:52 -0700 (PDT) Will-Retry-Until: Wed, 25 Aug 2004 14:59:31 -0700 (PDT) Final-Recipient: RFC822; kathryn.r.breininger@boeing.com Action: delayed Status: 4.2.0 Last-Attempt-Date: Fri, 20 Aug 2004 17:34:52 -0700 (PDT) Will-Retry-Until: Wed, 25 Aug 2004 14:59:31 -0700 (PDT) Final-Recipient: RFC822; dmoberg@cyclonecommerce.com Action: delayed Status: 4.2.0 Last-Attempt-Date: Fri, 20 Aug 2004 17:34:52 -0700 (PDT) Will-Retry-Until: Wed, 25 Aug 2004 14:59:31 -0700 (PDT) Final-Recipient: RFC822; Monica.Martin@Sun.COM Action: delayed Status: 4.2.0 Last-Attempt-Date: Fri, 20 Aug 2004 17:34:52 -0700 (PDT) Will-Retry-Until: Wed, 25 Aug 2004 14:59:31 -0700 (PDT) Final-Recipient: RFC822; Damian.Rzepczyk@comarch.pl Action: delayed Status: 4.2.0 Last-Attempt-Date: Fri, 20 Aug 2004 17:34:52 -0700 (PDT) Will-Retry-Until: Wed, 25 Aug 2004 14:59:31 -0700 (PDT)
--- Begin Message ---
- From: Duane Nickull <dnickull@adobe.com>
- To: "Breininger, Kathryn R" <kathryn.r.breininger@boeing.com>
- Date: Fri, 20 Aug 2004 15:01:51 -0700
Hello Damian: I will try to answer your questions inline. >> >> Hi >> My name is Damian Rzepczyk and I live in Poland. >> I got your email address from www.ebxml.org <http://www.ebxml.org> >> from document ebXML Registry Information Model v2.0. (ebRIM.pdf). >> There is written you are Team Leader. That's why I decide to write to >> you. >> Now I am working in project connected to ebXML. We want to build >> ebXML Registry and Repository to store: >> - business process models >> - electronic documents schema >> - Collaboration Protocol Profile CPP >> My task is to design how to store the CPP i our Repository. >> So I would ask you some questions. > All of the objects you describe are basically acceptable to place into (or reference from) an ebXML Registry-Repository. The registry itself is agnostic to the object. The information kept about an object is determined by the registry metadata model (called Registry Information Model or RIM). Things like ObjectName and ObjectType can be set to whatever the objects owner wants. It is constrained in some implementations by having the registry administrator provide a pre-determined set of names and obejct types for each registry object. CPP, CPA, BPSS, WSDL are all XML artifacts. The registry does not realyl care much more than that. >> >> One party of this project is GUI WWW interface. >> We would like to build interface which allow user to enter and edit >> CPP in the web browser (for example MS Internet Explorer). >> The problem is that we don't know how to do web page that allow enter >> and edit CPP. We don't know how to organize that. > There are really 3 different task you describe. Task one is the ability to create a CPP instance by using a GUI. Task 2 is having the GUI tool submit the finished CPP to a registry. The third task is a functionality of the GUI tool to connect to a registry and get() a CPP to render, then allow the user to modify it and place it back into the registry. There are a lot of dependencies between these tasks, most to do with permissions. Anyone can make a simple GUI (probably a form) to allow a person to create a CPP instance. If you want to then have the same tool store it into a registry, it has to have the appropriate permissions to store the object into the registry. It also has to have the ability to present a user a GUi to query them for such things as the classification of the object, associations, object name etc etc. The Registry Services Specification discusses the interface you must build your tool to in order to facilitate this functionality. Likewise, it also tells you how to later get() a CPP from the registry to modify and resubmit. This would not be a trivial task IMO. I woudl recommend cleanly separating the tasks. Use the CPP GUi to create or modify existing CPP instances and just save them to your locate file system. Use each registry's GUI to enter the CPP into a registry and retrieve copies of the CPP. If you use an O/S like windows, when you get() an object form the registry, the mimeType of the object will generate an event that goes to the Windows Registry and correlates an action (such as using the CPP tool to open the CP instance). >> >> After review the ebXML Collaboration Protocol Profile and Agreement v >> 2.0 we wonder if build Web CPP editor is possible. There are many >> optional tags in CPP, some tags can appear zero or more times. >> Do you know some tools for editing CPP? >> Do you have any idea how CPP editor could look like? > Yes - my previous company had a fully functional CPP Wizard. We designed and built it using Java (swing for presentation). It was not overly difficult but there are a lot of potential gotchas. >> >> The other thing I would like to ask is who creates CPP? I mean which >> person in the enterprise? If the main manager could create CPP for him >> enterprise? Could main manager know things which must be entered to >> CPP? Or that should be person who know software and hardware in the >> enterprise? For example software engineer, which knows >> TransportProtocol, EndPoint, Security, etc. > It would have to be an actor who knows all the questions you would have to answer to make a CPP instance. >> >> I asking that question because we would like to create some online >> help for our CPP editor and we would like know how to explain thing >> for end user. >> The next question is how store CPP in SQL database. >> There are 2 solutions: >> 1. Store whole CPP XML file in one column in table. > I think this is probably dependent upon your contemplated use of the CPP. If you are going to use individual tokens from a CPP to configure something (a Business process execution or a message exchange) it may be more effective to simply have a reader class to grab the tokens you need. You can use JDOM and simply do a currentNode.getChild("Element1").getChild("element2").getAttributeValue("token"); I woudl adovocate keeping any classes specific to the CPP model to the outside of a core application. If you are going to be developing a high volume ebXML messaging server, it may be better to read and tokenize all the variables into a Database and work with them in an internal data format. This is likely less expensive than having hundreds of CPP's loaded into virtual memory and walking DOM trees to get tokens. >> >> 2. Divide the CPP on tags, and store CPP in few tables. For example >> divide CPP on PartyInfo, SimplePart, Packaking, Signature. Then >> divide PartyInfo, divide SimplePart, and so on. >> Could you tell me which solutions is better? > That is dependent upon your use cases. One common way a lot of vendors wokred with this is to parse the CPP's and grab the bare minimal set of items needed to exchange messages and keep it in a local configuration file. The problem with this is as you builkd higher level functionality into your stack, you will end up needing most of the tokens. Example - things like a maximum allowable number of concurrent conversations are not needed to send one message, but to constrain a series of messages sent to a partner over a long time frame, you may need that. >> >> The 1 is very easy for implement. But later is more dificult to edit >> that CPP in web browser. The searching is more difficult, too. For >> example how to find CPP which have tp:partyName == "Acme"? For all >> CPPs stored in repository, parse CPP and check if tag tp:partyName == >> "Acme"? >> The 2 is very complex. But later is easier to do editor in web browser. >> And searching is easier (SELECT * FROM PartyInfo WHERE partyName = >> "ACME" ). > This question is specific to using an SQL query syntax. I would think about how big your product is going to scale in order to determine requirements, then works backwards. >> >> One more issue. What if the one client digitaly sign CPP, and put >> signature to CPP XML in tag tp:Signature. Then client put CPP in our >> repository. We divide it and put all values to tables. When second >> client want to download the first client CPP, we will get values from >> tables, and put to XML. But then the signature won't meet the CPP XML >> file :( >> So if I think properly, we must not divide signed CPP? If we get >> signded CPP we must store it in one field in table? >> > Dale MOberg can probably shed some light on that. >> >> Could you help us, and tell us what you think? >> Or could you pick the person which can answer my questions? >> >> Best regards:) >> Damian Rzepczyk > -- Senior Standards Strategist Adobe Systems, Inc. http://www.adobe.com--- End Message ---
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC