Saturday, July 03, 2004

Understanding Model Driven Architectures

Introduction
Model driven architecture, or MDA, is the latest buzzword on the market. In short it defines an approach to creating architectures that are independent of platforms and thus vendors. This has been the holy grail of information technology customers that seek to reduce technology costs by reducing their dependence on a single vendor. While this concept may seem to be passe with the arrival of newer technologies such as Java, XML and web services, these technologies have not yet been supported by a methodology that seeks to leverage them.

Enter Model Driven Architectures.
A key driver of model driven architectures is its emphasis on open source. The use of opensource software reduces integration times for most major firms that deal with myriad technologies, vendors and service providers. The absence of clear standards for documenting software technologies and systems increases the complexity of integrating these systems. Furthermore, in the absence of significant knowledge about the internals of software any paucity of documentation or public knowledge cannot be circumvented. By enforcing the use of open source software, the MDA approach helps allievate this issue. Now in the presence of poor documentation or the absence of it, a developer can simply view the internals of the software to determine what is being done therein.

Necessities for executing Model Driven Architectures
With all the hype surrounding model driven architectures, there is a significant danger of this approach being a victim of its own publicity. Other past attempts to create a methodology that seemed promising resulted in poor results due to irrational expectations and inadequate knowledge of the assumptions of the approach. Some of the fundamental requirements for a successful model driven approach include
a) Committment to going the distance.
Every novel approach necessitates change. The magnitude of this change may vary. This change will result in a decrease in the efficacy of the executing team due to a number of factors such as learning curves, resistance, turnover of key employees and the like. It also necessitates a significant investment in time and resources before measurable benefits can be realized. Making the choice must mecessarily therefore be a well thought out decision.
b) Adequate training of the executing team
If execution is everything then it is imperative that the team tasked with utilizing the approach understand it and have the skills and knowledge to execute effictively. A haphazard attempt to utilize newer approaches without the right skill sets is a recipe for disaster.
c) Controlled execution to meet project deliverables
Changing an approach results in assumptions fundamental to a successful project plan being made invalid. Estimates that were fine tuned over a ten year time period with a different approach cannot be expected to be valid in the new scenario. Rules of thumb critical to meaningful project plans will have to be revisited again.

(c) 2004 Vivek Pinto
For more details please visit us at Wonomi Technologies

Special thanks to Dr Bill Pottenger as always

How do I Get JBoss to run against a remote Oracle 9i database

This how to guide assumes
1) You have JBoss downloaded and unzipped and running. To check if it is running type http://localhost:8080/ in your browser
2) You have your JAVA_HOME set to the appropriate directory. For example if you unzipped the java sdk zip file to c:\myJava you need to set your path to it as follows
set JAVA_HOME=c:\myJava

Steps
1) Install the Oracle client on your machine.

2) Ensure that the oracle driver is installed. You should copy the JDBC driver into /server/default/lib/

2) Configure the Oracle client to connect with teh remote database

3) Navigate to the directory where your configuration files are stored. If your server was started in default mode the configuration files will be in the c:\jboss**\default\conf and c:\jboss**\default\deploy directories

4) Modify the standardjbosscmp-jdbc.xml file. Edit this file to indicate that oracle is the database server and the typemapping to be used is for Oracle
Type mapping:

java:/DefaultDS
Oracle9i

5) Remove the hypersonic configuration xml file hsqldb-ds.xml from the /server/default/deploy directory and replace it with an oracle-ds.xml file

6) Configure your oracle-ds.xml file. You will need to modify your connection URL to specify the server the database is running on, the port number and the SID. You will also need to specify your username and password.

7) Restart your JBoss instance. You can do this by going to the \bin directory and typing run. You should be able to access your new database.

If you have questions or comments about the above steps please write to me or visit Wonomi Technologies