What is an ontology and how to develop one

General No Comments »

These days my consulting work is taking me more and more into the area of Knowlege Modeling (see my blog from a few days ago). After my clients read that blog additional questions came up and two of the most prevalent were “what the heck is an ontology?” and “ok, so how do I develop an ontology?” I’ve been working on some materials for training and mentoring in the area of knowlege modeling myself but a couple of great resources are:

MD Logix might actually make MDA useful

General No Comments »

There’s been a lot of talk recently about Model Driven Architecture (MDA) being perhaps a silver bullet or at least a potentially great solution for development of complex software. In my travels as a consulting architect to various mid- and large-scale clients I have yet to see MDA put to good commercial use, though. On Friday as part of an NIH project that I’m helping with, I visited with the folks at MD Logix where I saw a demonstration of MDA that didn’t exactly blow me away but certainly made me less skeptical about MDA’s potential. It’s worth checking out MD Logix’s products and research efforts; while they are a small company, I was impressed because their staff is made up of a bunch of really smart guys. I liked their MDA approach to solving health informatics problems and it’s worth tracking their progress.

Meta data and semantic/conceptual data storage

General No Comments »

Check out Kowari, an open source database specifically designed to store knowlege-type semantic, conceptual, or meta-data. Instead of being built on top of a relational database designed for loading small amounts of larger data, the Kowari authors have designed their storage managers to hold small data with lots of relationships and short queries. It’s worth looking at.

Modeling knowledge

General 2 Comments »

These days I’ve been acting as a consulting architect for several federal government and commercial organizations where the problem of knowledge modeling has come up over and over again. It seems that the underlying issue at almost all of my clients is that there’s no easy way of understanding or documenting the business process, conceptual models, etc. I have been spending a good deal of time talking to my clients about ontologies, common vocabularies, and other related techniques for communicating business and domain concepts. Since I’m a big fan of open source I began searching for free but useful solutions because I was sure I wasn’t the only one with this problem of knowledge modeling. First I started with this article that does a good job framing the available landscape. There were dozens of options but not very many good open source ones. The one I was most impressed with is called Protégé which can be used for modeling classes (domain concepts) and automatically processing those models in a simple way. Protégé is not applicable for all knowlege modeling but it is pretty useful for common cases. According to the auhors, “Protégé is a free, open source ontology editor and knowledge-base framework” but they’re being modest because it’s actually quite useful as a class and entity modeling tool. And since you’ve the source you can take the knowledge-base and use MDA (model driven architecture) techniques to create some interesting applications. Another great feature of is that there is a good library of ontologies to view and learn from. For those of you who are into the semantic web world, there’s an OWL plugin that will allow you to edit standards-compliant ontologies. Although it’s a little old, there is a JavaWorld article that provides a good review of Protégé. There are other open source ontology editors like KAON and WebOnto but they don’t seem as feature rich or mature. See this page and this website for more detailed information on other tools.

Authenticating Java users using underlying operating system

General No Comments »

We all need the ability to have our Java programs talk to the underlying operating system for many aspects just as file system management and user interface population. Java abstracts those pretty well but one thing that’s been missing is the ability to authenticate a Java application’s user/group with the underlying Win32 or UNIX/Linux users database (like /etc/passwd). Cenqua’s Shaj (Simple Host Authentication for Java) is a JNI library with a simple interface that allows your Java app to verify users and check group membership with the underlying operating system. According to the author, “Shaj is not a competitor for full featured authentication API’s but rather a complimentary way to piggyback on system accounts on any platforms.”

Free Tutorial and Presentation creation software

General No Comments »

If you ever write software documentation such as tutorials or create demos of your software, you know you need “screen capture” software to take snapshots of screens. What you may find more useful is “screen motion capture” software that can capture full interactions of software in an animated format. Check out Wink, which produces Flash animations out of your screen motion captures easily and for free.

FFP - Flat file parsing library

General No Comments »

Just ran across this nice Java library for easing the parsing of text from flat files. Since most of us still have to do this kind of parsing all the time, it seems like a great library to take a quick look at.

Expensive but useful Ontology-based EII tool

General No Comments »

Today I attended a presentation on PiiE by Digital Harbor which seems like a great tool to build Enterprise Information Integration (EII) solutions. EII tools address the data access challenges that arise from data heterogeneity (fancy words for “lots of databases”). EII tools of course pull and combine data from multiple systems on the fly and potentially create a virtual data warehouse (without requiring ETL). What I found nice about the PiiE is that its strong integration of an ontology builder and an excellent Java-based smart client. If you’re looking for data federation based on ontologies where the end user can then drive their own queries, reports, and “smart apps” definitely check out PiiE. It’s a tad expensive but for some uses it may actually save money.

Good low-cost Java profilers

General No Comments »

One of my clients asked me today about my favorite profilers for performance improvement of Java code. My favorite a few years ago used to be jprobe but these days I’m using the YourKit Profiler. It’s easy to use and has some great memory analysis features (yes, Java has automatic garbage collection but sophisticated apps still have memory issues). Another product I’d recommend taking a look at is JProfiler.

A great RSS reader is born

General No Comments »

If you spend as much time on the Internet as I do you probably spend much of time going from website to website tracking and reading interesting articles. After getting sick of going to almost a dozen or more sites per day just trying to stay up on technology and other news, I got a copy of the new JetBrains OMEA Reader application. In one easy to use window I now get all my news hourly with filtering and aggregation. There’s a professional and a “reader” (free) version of OMEA but I find the free one gives me everything I need to save time. Give it a shot and you can stay up to date with less hassle.


WordPress Theme & Icons by N.Design Studio
Entries RSS Comments RSS Login