Systems Engineering

Wednesday, March 25, 2009

Basic Registry Requirements

Lets do this didactically and start with the obvious basics. Now I am about to answer a question that I am going to write about in more depth later...but go with me on this...Lets start with a system of operationally separate components, lets further assume that this system of functional...the functionality of this system is expected to grow over time. Now I am also going to assume that this is a big system...but I am not going to tell you the actual size of the system because that depends upon how I measure big. My measure of big is different if there are tone or two guys working it or if there are 250 belly buttons working it. The problem just gets exponentially bigger the more BBs I add, since I am a big believer in my corollary to the Second Law of Thermodynamics (Stupid will fill the volume it is given). And (not to offend anyone , gosh forbid anyone be offended) for each bb i have, there is another ass hole (Famous Quote: "They're all Ass Holes, Sir!" Name the movie and win a prize...and no you can't Google it. Anyway for each BB I have here I have one AH doing his own thing, AND that (coupled with a few other things) is exactly the goal of what a Services Registry is to do. I know, they can still do their own thing, but we are going to assemble a complete systems engineering profile in this blog, it just so happens that we are starting soomewhere in the middle since the Services Registry is the problem of the day. Yeah that's what systems engineering is all about...by the way...its not about installing FRD on a EDW platform using HTG-R4...that's something else,,,that's not even solving the problem.I do not need a PHD to tell me I forgot to move the configure files over to the xyz directory. If you're a PHD, start solving problems, stop being a technician.

OK what are the basic functions of a Services Registry?
Register a ServiceName of Service using naming convention

Functional description

Reference to Service (Where is the 411 on this service)

Calling protocol(see below)

Contact info (including Organization)

Public/Private

SLA

Metadata


DiscoverBy Name

By Key

By Organization

By protocol(see below)

By Contact info

By Public or Private

SLA

By metadata name space


there are optional functions that my services registry can have, some I was very excited about in the beginning and have now cooled to...like real time discovery) but other real functions that Registries can have are OK Real time discovery, Self Registering services, and of course Federation. In a latter blog, I will provide you with a very good argument why Federation is overblown as a capability. But this is enough for now.

SOA Registry

There are many definitions of what goes into a SOA Regisrtry. I fielded my first large scale SOA /Services / UDDI /Federated registry in a large systems environment over 5 years ago. We included all possible entries that clients thought that they wanted / needed at the time and today, the registry is populated with less than 50 entries and for the most part, it remains unused. There were several initiatives to revive this dead dog all to no avail. The SOA registry today is a world different than it was envisioned as evolving to 6 years ago.

What changed? 6 years ago, the services registry was going to be a uddi registry where WEB SERVICES were to be registered. These wenb services were to follow the WS specification, and the registry HAD to be compliant to the uddi specification. What changed was the realization, evolution that there are going to be more than just uddi compliant web services...in speaking, I have said "web services with a capital W capital S" But up from the ashes rose non-uddi (I know here it is the first entry and I a being non-uddi compliant...some one will open a can of butt wuppin on me for this) non-uddi web services web services that when I talk I say "web services with diminutive W, diminutive s". OK let us put this capital W,S , small w and s aside for a moment, I will get back to them. Lets get more basic...What is a services registry and what are the basic functions that it needs to accomplish. Then lets ask the really hard question...what do I need a Services Registry for? With these two answers I can attempt to define a set of requirements for realization. Yes you are correct, I am going to have to define my environment, define the limits of my world.