Subject: FW: ebXML Registry and Repository
X-Sieve: CMU Sieve 2.2
From: "Damian Rzepczyk" <Damian.Rzepczyk@comarch.pl>
Subject: ebXML Registry and Repository
Date: Mon, 16 Aug 2004 09:56:42 +0200
X-Mailer: Microsoft Outlook Express 6.00.2800.1437
X-Virus-Scanned: by SmartQbits at ComArch
My name is Damian Rzepczyk and I live in Poland.
I got your email address from 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.
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.
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?
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.
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.
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?
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" ).
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?
Could you help us, and tell us what you think?
Or could you pick the person which can answer my questions?