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.

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.

Refreshing View of JDeveloper and Source Control

I was adding WSRP portlets to a WebCenter Portal application and seeing files updated when running a diff with WinMerge that did not show up as Pending Changes in SVN. I tried refreshing the Pending Changes view, restarting the JDeveloper and repeating, but nothing. Then, just for fun, I ran refresh on the application and boom, there they were.

If you found this interesting, please share.

Deploying Projects with JQuery with Eclipse to WebLogic Server

Seems Eclipse determines that there is something wrong with JQuery and refuses to deploy a web application containing it. The work-around is to give up validation of JavaScript, specifically with two steps:

  1. Turn off automatic build, go to Navigator view for your project, open the .project file and remove the following line: <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
  2. In project properties go to Builders and de-select the JavaScript Validator

Remove JavaScript Builder

 

(Click image to enlarge)

If you found this interesting, please share.