A place to discuss the finer points of programmatic integration with legacy applications...and other stuff
Thursday, April 02, 2009
Defining Project Scope
Here is an example of what I mean. I have worked for several customers who initiated the "SOA Project". These were multi-year, multi-team, multi-budget, multi-million dollar projects. And all of them ran into trouble one way or another just through being too big.
The last time I worked on one of these, my company was brought into to replace another vender who had thrown in the towel. i.e. It was so bad they would rather lose the account and walk away than complete the engagement.
SOA is not a project, it is an architecture pattern. Same thing applies to EDA. These are design principles that are applied to projects.
My thinking is this. A long term strategy should not be encapsulated as one project with a dozen phases. Instead, divide projects up into two categories:
Business Value projects are those that have a clearly defined goal with a concrete return-on-investment. These projects should be accounted for using a budget from a business unit. A couple of examples: Stream-line processes to reduce the average call handle time in a call center. Enable customer self service via the web.
Infrastructure projects involve bringing new technology into the enterprise that will increase the return-on-investment of Business Value projects. These projects should be classed as capital expenditure. For example: Implement a new middle-ware product to enable application integration with a legacy system. Implement an enterprise message system.
It may be that an infrastructure project becomes a pre-requisite for a specific business value project. If this is the case, then we should be clear on the cost accounting as this will dictate whether the infrastructure project is a good investment. For example, will this infrastructure enable other business value projects? Will it enable the IT team to better serve the business?
I look at these things as a Techie. Big problems are easier to solve if they are broken up into smaller problems. Small problems can be solved quickly (and for less cost) while working in the context of a long term strategy. We should maintain an agility that will enable us to change direction, as needed, without discarding that which has already been acheived.
In my view projects should not exceed six months in durarion. Three to four months would be the optimum size. In this way the business receives regular benefit from the IT team. Business propsers, makes more money, more money funds new projects, new projects help the business to prosper.
It boils down to this: Clearly defined goals based entirely on a well understood business value proposition. Small, agile teams working to a limited scope for rapid delivery.
James
Atlanta
April 2009
Friday, August 29, 2008
Shock Absorption for Legacy Systems
A very talented colleague of mine quite often refers to "the knee of the curve" i.e. the point at which response times dramatically increase because the target system is having a hard time of it.
In pre-sales calls we quite often describe our Legacy Integration products as the shock absorption layer for the back end application. We have a handy little feature that enables us to limit the number of concurrent requests active on a connector (a connector being the implementation of a specific protocol for a specific resource.e.g. TN5250, TN3270, JDBC and anything else you care to shake a stick at).
I spent this week tuning an implementation of our Legacay Integration product for a rather large client. The target was a test database on an underpowered iSeries. Past a certain point we saw dropped connections and all manner of strangness. I played around with our throttle control and the size of the connection pool. It didn't take long to find the sweet spot and the average response times dropped back to where they should be.
This is a good example of less is more :-)
To many of you reading this I am sure that the above seems like common sense. Any system, legacy or contemporary has a finite set of resources, so of course performance will degrade as the load exceeds the systems capabilites. My point is that shock absorption must be considered when planning and implenting an integration solution for Legacy systems.
For example, most iSeries shops run at or near capacity. When the iSeries Admins express concerns about the additional load that an integration solution may bring, the handy throttle control can save the day.
So, if your current legacy integration product does not cater for shock absoption or transaction throttling, feel free to drop me a line :-D
James
Atlanta
August 2008
Monday, August 18, 2008
Palringo
I love finding those realy useful gadgets where it is apparent that the designers realy thought about it. I cannot beleive it is free. Considering some of the applications on iTunes that people want money for, I would have happily spent some cash on it.
Friday, June 20, 2008
Integration with Social Networks; What , Why & How
I am not too good at the vision thing. When some new concept is thrown out there I usually ignore all the noise until I see a solid application of it. Then I try to cut through the spin and the BS spouted by the wannabes trying to be part of the "next big thing" and find out what is it all about.
What is it? Why do it? How do I implement it?
So I decided to do a little more home work and come up with a better answer. One that would satisfy Chris.
The What
To enable any website to incorporate their own little mini social network among their own users and to have the capability of Identity Mapping to allow users to hook into the big Social Networks like Facebook and MySpace.
For example: When a user signs-in to your site, present a summary of their profile from Facebook. Query Facebook and MySpace to present your user with a list of their friends with upcoming birthdays and ask if they would like to send birthday e-cards, order a gift or send flowers.
The Why
It all comes down to getting the best return on investment out of the Marketing budget and helping your company to sell more product/services/widgets/stuff/dual-phase-inter-wobblers:
- Learn more about your consumer to design better campaigns
- Get feedback as to how your brand is faring or how a campaign is operating
- Find new ways to sell your product or service; create special offers for each individual much like Amazon does.
The main players in the Social Networking space are opening up by providing open source APIs. Facebook has aleady announced this.
Here is a quote from Bob Bickel
"We see the Facebook API and the Open Social API becoming the two standards for Social Application development over time – just like .Net and J2EE became the standards for web applications around the turn of the century. Ringside allows any website to build Facebook and/or Open Social applications today that will run on both your website as well as Facebook and the large Open Social websites like MySpace, hi5 and others."
Essentially Ringside is providing an abstraction layer to existing Social Network APIs. If you need to get going with implementing this kind of functionality for your company Ringside is saying "Start here".
Once you have your shiny socially aware website I think you will need to consider Business Intelligence tools to help you understand all that data you are collecting.
And you may also need to integrate with your internal systems to further enhance your site's capabilities. For example, customer self service functions that enable your users to tell you about changes of address, telephone number and other data private held by you on behalf of your customer.
James
Atlanta
June 2008
Thursday, June 19, 2008
Application Integration with Social Networks
These guys were the power behind Bluestone and JBOSS. My friend's thinking is that these chaps are two for two and if they think this is a good thing to invest in then it is worth a close look.
It certainly is a cool idea. They have come up with an application engine, the Ringside Social Application Server, that is designed to add a social context to a web application. The idea is to make your web site more of a community thing. So, for example (taken from Ringside's web site), if you sold running shoes then you could provide functions for your sites users to organize and take part in events or find a training partners of similar skill & experience in the same area.
It strikes me as a new concept in sales & marketing. Social networking sites represent a new way to reach a large group of people who are actually interested in your products or services and will come to you.
Ringside estimate that there are 67 million users of social network sites and that advertising from search engines can only take you so far. They propose that the smart companies will leverage social networking for more targeted marketing. They also estimate that there are approximately 19,000 applications leveraging the Facebook API alone.
The key fact about this new push for an open source social networks application server that strikes a chord with me is that the idea came from a real, business driven need. The original authors were paid to create a social context for the running shoe company described in the example above. They then set about creating a more generic engine that could be quickly implemented for anyone else.
What would turn me off would be to hear that someone dreamed it up and decided to make it. I am not a fan of "build it and they will come". I much prefer to see that an idea has real business value. The fact that someone has already been paying for services to implement this idea tells me that it does.
The next thing to discover is whether or not there is value in integrating these applications with back end systems be they legacy or contemporary. With our ability to expose legacy business functions as services, for example as web services, and a range of options for communications (HTTPS, JMS, etc) it should be easy to integrate with the Ringside Social Networks Application Server.
James
Charlotte, NC
June 2008
Friday, May 04, 2007
Lights, Camera, Action! Project Planning & Execution
2008 is being kinder. Just finishing up phase one of a rather enjoyable project. Phase two is coming up and couple of other smaller projects are about to kick off.
After sitting down and watching an episode of "So you think you can dance?" with my wife this evening, I decided to spend a few moments before bed reading posts from some of my favorite bloggers. I guess I have been inspired, so consider this an attempt at "So you think you can blog?"
I started to write the following last year, during that "challenging" project. I am not sure why I didn't post it at the time. Oh well, no point in wasting the words :-)
James
Atlanta
June 2008
I can see the light at the end of the tunnel. Another project is drawing to a close. It has been a wild one. By the time we are done it will have been two and a half years of blood and sweat. (Actually, only a year and a half for me, but I was using the royal "we")
At this point in a project I try to look back and consider the good and the bad, the highs and lows, etc. I think of the way things would have been done in an ideal world and recall the numerous reasons why compromises had to be found for "this", for "that" and for "the other".
We faced many challenges on several fronts: technical, political and of course, financial. This is normal. Any project with a large scope will experience all of these things to varying degrees. It the way we deal with them that counts.
When I boil it all down. Distill my experiences of this project and those projects passed, I come to the conclusion that any project dealing with Information technology, be it integration or otherwise, will always be successful given the following items:
During planning:
- Make realistic estimates. There is no point in under estimating just to win the business.
- Add more wiggle room to the project plan for red tape for the larger corporate customer
- Allow enough time for testing
- Assume that bugs will be found and allow enough time to resolve and re-test. Testing is an iterative process
- Where appropriate make time to load test and measure performance. This is also an iterative process
- Assume a 40 hour working week. Morale and quality go out the window if time lines are too aggressive.
- Document unit tests
- Prepare data for each unit test
- Create a backup of prepared data
- Create routines to automate unit testing
- Prepare a source control repository
- Create routines to automate the build/compile from source
- Document Standards & Conventions
- Build the application every night
- Restore test data and run regression tests every night
- Peer code reviews
- Re-factor code without mercy; Quality should be the primary focus
- Stay in touch with Subject Matter experts (especially important for legacy integration)
- Team meeting for 30 minutes at the start of every day. Identify road blocks, share information, share the "big picture"
- Maintain morale; celebrate milestones as a team. Especially important for projects that will run for a long time.
Continuity of Staff is essential if deadlines are to be met as is a strong project manager. Tech Leads who understand that to lead is to serve. SMEs are your friends.
James
Atlanta
May 2007
Tuesday, June 27, 2006
Non-Invasive Application Integration - Not your Father's screen scraping
Leveraging standards is the key to successful legacy integration. So when today's sexy enterprise applications become tomorrow’s dinosaurs our children will either praise us or flame us based upon our adoption of well defined standards.
James
June 2006
Minneapolis
Friday, June 23, 2006
Making Legacy Applications "Open"
There are so many ways in which to expose core business functions that are locked away in legacy applications that there is almost no excuse for not doing it. Trouble is that there seems to be a general perception that programatic integration with legacy applications is un-reliable. In my experience this is not the case.
There are many vendors in this market with many years of experiencing in providing tools for just this job. The biggest challenge for an IT department these days is choosing the right tool from the right vendor. Proof of Concept, dude! There is no such thing as a bad POC; except for a vendor of course :-)
I'll be upfront about the purpose of this web log. It is a place to share ideas and dicuss technical details. It is not a place to promote one vendor over another. This is a big deal, I am a Solution Architect for a vendor of Legacy Application Integration tools.
There are a lot of misconceptions about integrating with Legacy applications, and I am hoping that this will be a place to dispell many of them.
James
June 2006
Atlanta