Languages, Tools

Multiple Eclipse Configurations

If you are like me and have embraced Eclipse as your preferred IDE for dabbling in various java related frameworks, you have undoubtedly run into a situation where Eclipse is no longer happy. Either from slowing to a crawl, or the Scala plugin is complaining while you are trying to do Android development or one of many other possibilities. Besides, why do you want the overhead of the Android plugin when you are working in Scala, or the svn headaches when you are using git?

Read More
By Duane Colley on Sep 3, 2013 10:23:47 AM
Application Lifecycle Management (ALM), Internet Technologies, Methodologies, Mobility

Replatforming Access to Something Mobile/Web-ish…

In my last blog entry, I looked at as a possible replacement for Access databases that were built outside of the IT infrastructure. In this post, I will go over some of the steps necessary for IT to take ownership of these little unsupported applications that have become mission critical and re-platform them into the IT infrastructure.

Read More
By Duane Colley on Jul 29, 2013 11:19:47 AM
Languages, Tools

Open Source ESB Search - Part 2

Previously on “Open Source ESB Search

Today, on “Open Source ESB Search”

  • Ramping up our Open Source ESB Implementation

What are the current, mature, best of breed Open Source ESB offerings?

  • JBoss – the most mature, but lacks a development paradigm that allows for TDD using any IDE. Arquallian provides some support, but not ready for production. Operational support offered by Red Hat.
  • Mule – lower level DSL’s that feel dated. Less testing support. Operational support offered by MuleSoft.
  • JBoss Fuse ESB – nice aggregation of common tools available to Java or XML DSL. Seems to be the “simplest thing that works” while covering 40+ EIP’s. Operational support offered by Red Hat.
  • Spring Integration – provides EIP and generally very good, but would still require container support. Operational support offered by VM Ware.
  • WSO2 – has matured recently, but seems to require more current development than other projects that reuse other OSS components. Operational support offered by WSO2.

Which ESB scored highest? Which feels like the right fit?

  • Fuse’s features combined with the ability to “upgrade” to the full JBoss stack without losing support swayed the decision in favor of Fuse. JBoss is in the process of applying other JBoss tooling to the Fuse environment. Operational support available via Red Hat may be offered to our clients on a deployment-by-deployment basis.
  • Previous investigation resulted in positive feedback with Fuse ESB’s leveraging Camel’s DSL.
  • Fuse ESB’s use of CXF to publish web acceptors is familiar to each project developer.
  • Red Hat’s Linux offerings position us to deploy to either a free or an enterprise OS while staying within the same support proposition.

What due diligence did we perform?

  • Evaluated each Open Source ESB for platform openness, community involvement, upgrade paths, development support, and many other concerns.
  • Investigated possible Red Hat partnership.
  • Became a Red Hat partner.
  • Attended Camel One.
  • Attended Red Hat Summit.
  • Investigated sample and example code for quality.
  • Performed gap analysis between the ESB features and our first project’s requirements and non-functional requirements with an eye towards system expandability and flexibility.

Where are we now in the process?

  • We have a system architecture and design.
  • We are validating our system architecture and design against the Fuse ESB.
  • Help desk has built out three virtual machines – as defined by our system architecture; we require three virtual machines to validate our failover, tracing, and lost-less message non-functional requirements.
  • We started a bit of an “Iteration Zero” and spike iteration. As an Agile shop, we demand customer-usable software features delivered in each and every iteration starting with the first iteration. For this project, we have a bit of time before the client is ready to consume any deliverable, so our Delivery Manager is the customer stand-in.

What are some of the next steps/posts?

  1. Further Discuss the Problem Domain
  2. Map the Solution Domain onto the Problem Domain
  3. Discuss Testing Tools and Techniques
  4. Discuss our ESB Ecosystem and Topology
  5. Enumerate ESB Acceptors and Message Canonicalization
  6. Conclusion and Postmortem


Read More
By Duane Colley on Jul 23, 2013 2:27:31 PM

Managing Remote Teams and Projects

With organizations expanding their markets across geographies and the global economy getting closely integrated, more and more people need to work together across physical locations. Projects being delivered in a distributed manner are a reality of today. In a distributed project delivery set up, one has to put in a lot of extra effort to communicate, form relationships and build trust when you cannot see the body language and facial expressions and share an occasional lunch. Following are some of the key areas which a Project Manager (PM) needs to pay special attention to:

Read More
By Duane Colley on May 7, 2012 5:42:45 PM
Internet Technologies

Organic SEO Growth

First step to Organic SEO Growth - Keywords

It is unrealistic to expect a new website to receive thousands of hits within its first couple of months of life unless you want to pay for it through pay-per-click advertising.  Doing so can be costly and will drain your marketing budget faster than you can say “conversion.”  A proper website looks to increase its organic hits through proper keyword usage.   So when you get those emails promising the number one spot in Google in a matter of days you should just delete them.  Yes, you may very well hit the number one spot, but likely only for a couple of days before you get penalized for black-hat SEO practices and disappear from Google completely.

Read More
By Duane Colley on Feb 27, 2012 9:24:00 AM
Professional Effectiveness

Effective Leadership is About Trust

Trust is an amazingly simple concept yet it is one of the hardest things to give to another person. We have learned from our childhood only to trust those we really know, and even then, only if we’ve seen actions in the other individual that lead us to believe that trust is warranted. But every day we are forced to place our trust in people we don’t know. You trust mechanics to fix your car correctly even if you don’t know them. You trust your bank to properly handle your funds. You trust that the pilots flying your airplane know what they are doing. In all of those cases, the trust is given because we believe we either have some other action we can take if our trust is breached and / or we trust the company that these people work for.

Read More
By Duane Colley on Nov 7, 2011 4:53:05 AM
Internet Technologies

SEO for the Developer

Search Engine Optimization is critical for any website’s organic search results and starts before the first line of code is written for a new website. While great content will always be king with respect to SEO it is nothing without the proper support of a website that ensures that content goes into the right places and is easily accessible.

Read More
By Duane Colley on Oct 10, 2011 3:00:03 AM