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?
In my last blog entry, I looked at www.wavemaker.com 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.
Previously on “Open Source ESB Search”
- Who we are, what we do, what has changed, what are we required to do for our customers, and how do we want to do it… (see our first post at http://ig.obsglobal.com/2013/06/open-source-esb-search-introduction/)
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?
- Further Discuss the Problem Domain
- Map the Solution Domain onto the Problem Domain
- Discuss Testing Tools and Techniques
- Discuss our ESB Ecosystem and Topology
- Enumerate ESB Acceptors and Message Canonicalization
- Conclusion and Postmortem
This post begins a series that will share Online’s Portland office's experiences as we re-platform from a Sonic ESB Architecture to a more open ESB architecture for our Justice and Public Safety solutions.
In the beginning, if the business needed an application built, they went to the IT department, participated in a pleasant Waterfall SDLC and eventually had a shiny new application sitting on the Mainframe.
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:
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.
Topics: Internet Technologies
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.
Topics: Professional Effectiveness
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.
Topics: Internet Technologies