It's all about the answers!

Ask a question

Standard ontologies in RAM and RAM positioning


Christian Bornfeld (112) | asked Mar 31 '10, 8:53 a.m.
A question about the intended use and positioning of RAM...

We currently have multiple repositories in our organization for storing and managing metadata about assets and in some cases also the the assets themselves (e.g. code).

Types of assets include anything from a strategy documents to (logical/functional) descriptions of individual features and business processes to the actual code and data structures that implement these.

Some of these artifacts might be considered assets within a project context while others are assets in an enterprise context (i.e. their life-cycle extends beyond a given project and/or will is intended to be used across multiple projects).

We currently have special-purpose repositories like an enterprise data dictionary and several source code management systems. We also use SharePoint for storing documents related to a project or a given portfolio of systems.

How does RAM fit into this puzzle. Is it a repository for other types of assets not stored in other repositories or is it a repository that cuts across the other repositories (at another level of abstraction) while supporting other usage sceanrios? - If it cuts across the other repositories; is RAM then the master/owner or the slave/reference of the asset?

Does IBM provide any standard ontologies for RAM including recommendations for granularity of assets? - Would like to compare our current ontology and standardize if possible. Currently we use considerable time maintaining the metamodel we have defined for our assets as the tools we are using is not well suited for managing and maintaining a large number of complex relationships between assets.

2 answers



permanent link
Gili Mendel (1.8k56) | answered Apr 03 '10, 1:18 p.m.
JAZZ DEVELOPER
The term "repository" here can be misleading. When you have a source control repository, for example, it is used to manage the source code in a development project. This kind of a repository and the tooling around it is built to help a team of developers to share, track, merge, work on multiple streams (v1, v2 v1.1 ....), control how code is checked in etc.
You typically do not "check out" or search for a particular version of a .java file ... you mostly work on a stream / workspace representing a particular release.

When you look at a a "wiki" like repository ... it is mostly an informal place where users place artifacts/information that is to be socialized across a wider area. .... It is just that, .. a place to put things in; not a source control repository. You can do searches on a wiki... but a wiki will not scale if you have many/diverse type of artifacts. A wiki does not really do much management for that information. It is design to help an informal, simple manner to put something out there.

RAM is a library .... yes it has a "repository" element in it... but it is not what defines RAM. The question one asks, what do you store in a library, and why in a library?

Let me answer this with an example:

Assume you have a common component (e.g., corpSecurity.jar, calendar.dll, json.o, userService.wsdl ....).
Where will you put it? .... the question really has two facets to it:

1. What does it take (the process) to publish a common component?
The process to publish can be quite simple or some what more involved (legal / business approvals, code scans, QA approval ....). It may be that the library source pkg. is required, as well as providing the means to open bugs/requirements, links to install/usage guides, dependencies on other common components ... etc


2. Who is allowed to use these components, and what are the contracts for using them (e.g., is it open use, is there a Lic./DoU/SLA involved ....)
Understanding who is using what libraries for which projects is quite important. A fix in calendar.dll (new version), for example, needs to be managed across all the users of that library - you can not just change it.


The type of assets in a library things like the common components above, but it also includes published architectural blue prints, reference architecture, designs, business cases etc. RAM as a library is the place you publish into (by value or reference), and linked these information to provide an echo system that you can govern, and manage.


... so a library is a place where you publish formal software assets. It is catalog (for ease of search), go through a life cycle / approvals, linked to the proper echo system (... a deliverable linked to the ref. architecture is is based on), and tracked for use.

See
http://www.youtube.com/watch?v=uGd-tVtUqmo&feature=player_embedded for more a high level info, on how assets are managed in RAM.

permanent link
Derek Baron (6632) | answered Apr 01 '10, 11:02 a.m.
JAZZ DEVELOPER
Hi Christian, I'm going to attempt to address your questions here, but would also like to offer that we speak live. If you're interested, drop me an email and I'll coordinate schedules with you so we can have a discussion.

We currently have multiple repositories in our organization for storing and managing metadata about assets and in some cases also the the assets themselves (e.g. code).

Types of assets include anything from a strategy documents to (logical/functional) descriptions of individual features and business processes to the actual code and data structures that implement these.


We see this scenario a lot, and one of the key features we've built into RAM is the ability to create relationships (and govern them with policies) among the related Assets. So you can relate, report, audit and track related Assets: A Strategy drives a Business Case, which results in a Product Spec which is related to one or more Implementations and so on. The RAM visual browse allows you to see explore and visualize these relationships as well.

Some of these artifacts might be considered assets within a project context while others are assets in an enterprise context (i.e. their life-cycle extends beyond a given project and/or will is intended to be used across multiple projects).


I think you're hitting on the fact that there are different levels of Governance. Within a project team, you may need to manage the day to day artifacts. This is usually the domain of specialized repositories, known as 'source control systems' :) But then as they publish their work as Assets, they can be shared/discovered and used/reused/repurposed/recycled/remanufactured.

We have some customers who use RAM to help Govern within the project context when there are external stakeholders who need input into the decision making of a project level effort.

Most commonly though, RAM is organized into communities which operate organizationally, enabling an Enterprise-level Asset strategy and associated Governance.

We currently have special-purpose repositories like an enterprise data dictionary and several source code management systems. We also use SharePoint for storing documents related to a project or a given portfolio of systems.

How does RAM fit into this puzzle. Is it a repository for other types of assets not stored in other repositories or is it a repository that cuts across the other repositories (at another level of abstraction) while supporting other usage sceanrios? - If it cuts across the other repositories; is RAM then the master/owner or the slave/reference of the asset?


I think the best way to think of RAM is more of a library than a repository. It can either contain the assets physically or link to them remotely - it does both well.


Does IBM provide any standard ontologies for RAM including recommendations for granularity of assets? - Would like to compare our current ontology and standardize if possible. Currently we use considerable time maintaining the metamodel we have defined for our assets as the tools we are using is not well suited for managing and maintaining a large number of complex relationships between assets.


We do - RAM comes with an SOA Library you can use to explore an ontology related to SOA Governance. We also consult on these topics through our Services teams. I'm interested in what form would be most helpful to you in answering these questions?

I hope this helps, talk with you soon!

Your answer


Register or to post your answer.