Daniel Kong - 2001-03-14

-----Original Message-----
From: Pat Gilbert [mailto:pg@hawaii.eud]On Behalf Of Gilbert, Pat
Sent: Sunday, February 25, 2001 6:08 AM
To: '491s3-l@listproc.hawaii.edu'
Cc: 'johnson@hawaii.edu'; 'itoga@hawaii.edu'; 'crosby@hawaii.edu';
Omuro, Eric; Kawahara, Kevin; 'kim@hawaii.edu'; 'akishi@hawaii.edu';
'jeffhong@microsoft.com'
Subject: Update - Class Project

First, I want to make sure you all know that I am very driven over
everything we are doing and I am going to push more work on to you that you
may want. At some point, you have to figure out -- that's the limit. But,
until them I am so "into it" that I am going to forge ahead. I can tell you
that I am spending about 50 hours per week on this course -- reading,
thinking, designing, gathering data, etc etc -- i haven't even had time to
do the fun stuff -- program! program! program!

What do you need to do?

1. Get "High Tech Start Up, Revised & Updated" by John Nesheim. Read
chapters 1 to 4 by Friday. If you don't want to buy the book, you can all
figure out how to share, copy, distribute, or read at borders. Up to u. But,
if you really want to make money you have to start understanding the
business part of your life.

2. Read the attached artcile on strategy. You may find this "hard to
understand" because as "ics types" you might think this is "fluf" but I can
tell you it isn't. Lack of understanding what is a strategy and then failing
to have one consistent with the definition and rigorously done is -- imho --
the reason that the dot coms are in the position they are today.

3. We have agreed to some principles. We are creating
"openB2B.ics.hawaii.edu". We recognize that this project may take more than
a semester...:). We must partition the project wisely. We have lots of data
on the competition. If we don't have it, write email to the sales
departments of the competition and ask for public data, manuals, and the
like. Remember to study bcentral.com and
vanilla.alliente.com/scripts/IISproxy.asp?/Ariba. I will send you some
Oracle eprocurement material that is publically available.  (I just found my
oracle material an I have attached that too to this email.)

We are developing everything on the MS dotNet framework but we are doing
this "open source". We will use source forge. We will make everything we do
public. We are going to attempt some "extreme design" and "extreme
programming" model use. We are going to use "standards" everywhere. We
expect to use ebXML from the UN, cXML, biztalk.org schema repository,
oracle's xml, and commerce 1's xml.

We are going to use SOAP to exchange data. We are going to use web services
heavily and UDDI for discovery. We want to own as little as possible and
leverage from other people's work.

There is "no center" to this system or at least the smallest possible
center.

Every end point system is a buyer and/or a seller system.

We are basically working in a catalog environment where the sellers have
lists of products to sell. We are not trying to do auctions or reverse
auctions.

For a discussion of how products are classified by the UN group that works
on this so that we have a universal classification please see:
http://eccma.org/unspsc/

The UN is interested in ecommerce for the simple reason that they want to
assure that the have-have not nations all get to compete in the globe and
that the advantage doesn't go to one side or the other.

BUSINESS QUESTION: Given the model we agreed to, what is our strategy to
make money? Or are we Ghandi and we just give it all away living in
financial poverty but having a rich spirit of having given to the betterment
of mankind?

4. LETS GET STARTED. I am going to pose the following for each of you to do
as a "mini project" so that you really start to understand the dotNet
technology. Lets make this due the first Wed of March.

The user is sitting at a web site openB2B.ics.hawaii.edu. The user wants to
find a  list of companies that sell a given category of product. Some
suppliers of the product may be the preferred suppliers and in some cases
the buyer has no preferred supplier. Usually, a preferred supplier means one
who has "special rates" and should be purchased from first. In fact, there
is a business rule sitting right there -- does a person have to buy from the
preferred supplier? can the person price compare and go elsewhere? if one
finds that someone else is cheaper/better -- how do they report that back to
"someone" who then "does something about that" with the preferred supplier.
(These aren't critical right now but u should appreciate how quickly things
get complicated.)

Ok, so what does that screen look like that the person is trying to find a
product from. Can they give you a product name? Do they have to follow a
rigid hierarchy of UNSPSC types? Can they just give you a preferred supplier
name because they know? You really need to understand behavior here....

Lets assume, we just want to tackle part of the problem right now....the
UNSPSC type hierarchy as ONE alternative.

So, how do i get this tree-like hierarchy? Do I depend on the tradition --
go back to the server and get the list? Do I go with a web service already?
Do I assume I own this process? Lets assume it is a web service because that
decouples development (but of course no such service exists today so you
need to create it.)

What is this service? Give me a list of UNSPSC codes and titles given a
string. If the string is null, give me the top hierarchy. If the string is
not null, give me the codes at the level of the substring match. UNSPSC is a
10 character string. Each 2 character pair is a level of a tree. Thus, null
is top of the tree. "0109" would mean top category 01 and subcategory within
01 of type 09.

DON'T ASSUME the person speaks or understands ENGLISH. So, think
international immediately.

(Note: I just wrote to the UN Secretariat to get a free copy of the UNSPSC
in at least two languages. I asked for English, Chinese, and any european
language.) I think it would be real cool to have at least some fraction of
the massive catalog in Hawaiian -- may Cameron can help out here with some
contacts who might do just the top levels just to make the point that we can
support anything.

This means, we must think of ourselves as the service provider. That in
itself could be a whole system! Think about it. Somewhere out there is
someone who needs the UNSPSC codes. They don't want to maintain it but we
do. They will pay us to do that because if they have to do it themselves
then they have to have that expertise and cost. This is a fundamental
argument in the dotNet world today and in business -- if something is not
strategic to you and there exist experts who can provide the service at a
reasonable value then FARM IT OUT..outsource it!

So, lets way we have a simple data base of all the UNSPSC and every language
and we write a web service that expects a SOAP message in XML that asks us
to provide something. What does this message look like? What does the return
message look like? How does the person who asks for your service know it is
you -- the legitimate you -- who is providing the service and not some
spoofer? How do you know that the person asking is legitimate and will pay
for the service? How do you bill for the service? How do you keep all this
very open? How do you maintain your list? How is your service "discoverable"
if at first no one knows you even provide the service? On the technical
side, how does one discover the parameters and the return value of your
service?

Wow, all we wanted to do was get a list of products to show a structure for.
Suddenly we are at the UN! into web services! into making money! into
designing a whole subsystem! And, we haven't even done anything exciting
yet.

YOU MUST CREATE THE ABOVE INTERACTION! Doing it as your groups is ok...but
do it you must. Person types in "openB2B.ics.hawaii.edu/unspsc-search" gets
back the top hierarchy from the web service or SERVICES depending on which
one u pick via discovery and display the top of the hiearchy. Person drills
down on one of them. You get the next level. At some point, you may decide
to prefetch all lower levels of the tree to avoid round trips to the server.
You need to think about this. Clearly, you would not fetch the whole
complete tree the first time! But when would you want all of a subtree?

Ok, after this interaction you finally have the "type" you want represented
as a string like "XXYYAABB". That just tells you the category of what you
want to buy.

How do you find out who sells this type? How do you get a valid list of
sellers? How do you determine if the seller is preferred or not? Who do you
ask? How do you know they can provide the service? How do they know you are
authorized to ask? How do they get paid in all of this for being the good
guys who keep the lists of UNSPSC types and their relationship to sellers?
How big a list do you want back? International all? In your locale? How do
you find the service that provides this service in the first place?

YOU MUST CREATE THE ABOVE INTERACTION. Notice the similarity to the first
problem above. Notice how i am staying true to the model -- no center of the
system...everything is "outsourced".

Ok, now i have a list of businesses under my criteria that provide
services/products in the UNSPSC type i selected. How do i now get a list of
the products themselves from each of these businesses? How do I contact
them? What is the exchange method? What is the record structure? How do I
display this? If the vendor has special rates with me, how do they show
them? How do i know the vendor is real? How does the vendor know i am who I
say? Same problems again!

I AM NOW TIRED...my fingers are sore. Is this enough for you to really sink
your teeth into?

SO...who is the web master. WHen will i see "openB2B" on source forge? How
will my writings here get included? When will I see use case diagrams?
sequence diagrams? ERD diagrams? documentation at user level and with the
program? do we have coding standards yet?

I really need to see some action --!! :)...

I will keep thinking about this problem and I will now start sharing this
with other people who can give input or comment. THUS WE REALLY NEED THAT
SOURCEFORGE going so that their comments, your comments, and my comments --
any the rest of the world if they care -- can comment. Hop to it!

This would all be so much cooler if i had the software and computer
resources to really make this work -- but that is life at UH for now. We
will use my one server that I donated and potentially one more after that. I
do have some $$ that the dean gave me for equipment repair that we can use
to create some machines.

I have cc'ed many faculty. I have also included people at alliente. I have
also included Jeff Hong from microsoft hawaii. (Jeff may sit in a few times
with us and maybe find some time to interact with us. He manages MS
consulting in Hawaii. I have asked -- and he will at some time -- for him to
demonstrate & train us on BIZTALK server. WIll probably be a Saturday for
several hours. Biztalk is MS's implementation of XML XSLT with many other
features.)

-----------------------------------
Patrick J Gilbert
Alliente, Inc
pat_gilbert@alliente.com 
Work: (408) 907-1145