Introduction

Have you ever experienced the challenge to map both your functional and technical assets in one software package? Finding a software package that is able to describe the metadata about these assets and their mutual relationships? And if you found the correct software package, was it maintainable?

The Oracle Enterprise Repository (OER) is a powerful SOA repository. Its core task is to map and visualize the interaction between technical assets generated by the SOA Suite and OSB. However, OER can be configured to not only contain these technical assets, but also to contain functional assets, i.e.: functional designs, use cases and a logical data model. Now that’s interesting! OER is able to show all the assets in your system and, if necessary, zoom in on one of the assets and their mutual relationships (Figure 1). This opens a set of doors to powerful features, e.g.:

  • Impact analsysis
    If a functional design is adjusted, which other functional designs and use cases do I need to adjust?
  • Traceability
    If a web service generates an error, in which functional and technical designs is the web service described


This sounds great, but how do we get all the functional and technical documents in OER, and how are we going to keep this repository up-to-date?

“Automate to the max”

In the figure below the steps to automate the loading of assets in OER is depicted.


The objective is to make the knowledge in the documents understandable for a machine. To achieve this, an XML layer is spread out over the functional documents (e.g. Microsoft Office documents).

In this figure you see an example of a Word document in which these layer of XML elements is shown. This is done by a standard add-on that comes with the Microsoft Office pack. The pink blocks are called tags and are based on a predefined XML schema.

The third step is to build a tool that retrieves the documents from the file repository Subversion, parse the XML elements and eventually update the Oracle Enterprise Repository.  A Java application is built to achieve this tasks. This application relies on two important API’s. On the one hand the API that enables one to connect to Subversion. On the other hand, the API that enables you to do CRUD actions on the Oracle Enterprise Repository.

The two API’s can be found at:

Conclusion

The Oracle Enterprise Repository is a powerful tool to map the metadata of both functional and technical assets. OER is able to do an impact analysis, can function as a traceability tool. Furthermore it saves time and reduce risks.

The proposed solution in this blog is to make the knowledge in functional documents interpretable by machines. Furthermore, you’ll need an application that reads out the file repository, e.g. Subversion, parses these knowledge in the documents and finally upload them to the Oracle Enterprise Repository.

If you want to have more information about this subject or if you are interested in a working demo, please do not hesitate to contact me.  In my next blog I will dive into the Java program and will show you in more detail how to work with these API’s.

Note:  special thanks goes to Sjoerd Aalbers for his valuable advice regarding this solution.