Thinking about Key Drivers to Architecture Approaches

For a solution architecture to be of utmost value it must address the target business capabilities in a manner that is maintainable, extensible and scalable. Solution Architectures follow unstated core drivers that influence the focus of the approach. The most common of these drivers are (in order): Initial Cost, Vendor Capability, Total Cost and Business Capabilities. These drivers are not mutually exclusive, and the key driver will be what each of the other drivers are weighed against in the solution. Each driver has value to the project and the enterprise as a whole.

In my opinion, Business Capabilities is the best key driver to have. Business Capabilities are what support growth and sustainability and contribute the most to the enterprise. The other drivers should not be completely sacrificed, but when they are given priority the result is frequently a gap between actual need and provided solution. They are driven by agendas that are secondary to the overall enterprise needs and better kept in the corresponding secondary priority.

This is not to say that every business capability requested by an individual or group is valuable to the enterprise as a whole. The business capabilities to focus energy and resources on need to be carefully chosen by the business, and once identified as a core need of the enterprise should take its place as the key driver.

If you found this interesting, please share.

© Scott S. Nelson

Compact Virtualbox VDI Image to Save Space

Takes me forever to find this StackExchange post every time I need it, so I’m copying it here for ease of reference:

  1. Run defrag in the guest (Windows only)
  2. Nullify free space:

    With a Linux Guest run this:

    sudo dd if=/dev/zero of=/bigemptyfile bs=4096k
    sudo rm -rf /bigemptyfile
    

    With a Windows Guest, download SDelete from Sysinternals and run this:

    sdelete –z
    
  3. Shutdown the guest VM
  4. Now run VBoxManage’s modifyhd command with the --compact option:

    With a Linux Host run this:

    vboxmanage modifyhd /path/to/thedisk.vdi --compact
    

    With a Windows Host run this:

    VBoxManage.exe modifyhd c:pathtothedisk.vdi --compact
    

    With a Mac Host run this:

    VBoxManage modifyhd /path/to/thedisk.vdi --compact
    

This reduces the vdi size.

If you found this interesting, please share.

© Scott S. Nelson

Creating the WebCenter Sites User Account on Oracle XE

The documentation uses OEM to do this, something that Oracle XE does not have. Has a non-DBA, I find installing Oracle EE tedious. Thanks to waslleysouza.com.br, I was able to find the right script to execute with XE. For the DB-disabled like myself, here are the full steps to do this on a Linux host:

  1. login to linux as a member of the dba group or sudo as same
  2. # echo $ORACLE_SID
  3. # echo $ORACLE_HOME

if either is blank:

# set ORACLE_SID=XE (or your service id)
# set ORACLE_HOME= (Eg: C:oraclexeapporacleproduct10.2.0server)
  1. #locate sqlplus
  2. run [RESULT FOUND PATH]sqlplus / as sysdba

i.e.,
# /u01/app/oracle/product/11.2.0/xe/bin/sqlplus / as sysdba

  1. execute the following (replace values inside [brackets]):
CREATE USER [csuser] IDENTIFIED BY [password] DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
GRANT CREATE session, CREATE table, CREATE view TO [csuser];
GRANT UNLIMITED TABLESPACE TO [csuser]; 
COMMIT;
If you found this interesting, please share.

© Scott S. Nelson

Speeding Up JDeveloper 11gR1 on Windows

Here’s a tip sent to me by Songpol Siengvisuth:

By default JDeveloper was installed with Oracle Look and Feel and while it looks nice, a customized Look and Feel like that actually consumes more memory hence worse performance. We can switch to use a simpler Look and Feel like Windows Default by following these Steps:

  1. In JDeveloper, Go to Tools > Preferences
  2. Select “Environment” and Look for “Look and Feel” dropdown, you will find “Oracle” is selected
  3. Change to “Windows” and Click OK
  4. Restart JDeveloper to active the new Look and Feel
JDeveloper Prefrences
JDeveloper Prefrences

After the restart you will find JDeveloper look much plainer but the improved performance is noticeable.

If you found this interesting, please share.

© Scott S. Nelson

SSH NodeManager Headache Solved

[6/8/2016] I am going to leave the original post up to be honest about my own learning curve. Meanwhile, the better solution to this annoyance is to make an ssh call before starting the server in order to get the ~/.ssh/known_hosts file updated. That said, on to my previous misconception…

For the longest time I could not get the ssh NodeManager to work on my VirtualBox VM I use for proving out approaches. It was not a big problem to use the command line start, so I did, until recently I needed to precisely replicate the start up process used in production.

After much thumping of forehead on desk (and steering wheel, and pillow, and…) I found this nugget at http://www.pythian.com/blog/why-was-sshd-refusing-my-key/:

…In our environment, we are not using SELinux so we disabled it by setting SELINUX=disabled
in /etc/selinux/config and rebooted the system….

 

A sad alternative is to go through a bit of a console dance. After starting the admin server for the first time, keep an eye in the command/bash console for:

[user@host scripts]$ The authenticity of host 'host (127.0.0.1)' can't be established.
RSA key fingerprint is 78:a1:89:03:53:1c:5b:d2:8d:50:15:3f:84:b9:a2:6e.
Are you sure you want to continue connecting (yes/no)?

Once this appears, type ‘yes’ (sans quotes) in the console and hit enter. Then shut down the server from the WebLogic Server console. In the command/bash console, you will see and endless series of ‘y’s. Hit CTRL+C to stop the y parade, then start the admin server again. You may need to repeat this for the managed servers as well, but eventually it will start behaving.

I have seen some other solutions in various posts, but they are not complete enough to just jump in and follow. Once I have the time and motivation to try them out, I will update this post with my findings.

If you found this interesting, please share.

© Scott S. Nelson