People and Technology

February 12, 2008

Mr Spring, Rod Johnson, Speaking in Dublin March 11th

I’ve been lucky enough to have been using Spring for just over 4 years. If you don’t know what Spring is, it solves a lot of problems in complex Enterprise Java Systems. And it makes those systems more configurable; Spring makes your code like Lego blocks. Blocks that you can take apart and use again and again (no matter what the underlying technology is). And because you can take it apart, it makes your code easier to test. And testing is a good thing - the earlier you find bugs , the cheaper they are to fix.

spring.PNG

Get the feeling that I’m a bit of a Spring fanatic? Wasn’t always that way. It took me two projects where other people had choosen Spring to convince me. And did I mention that it’s one of the most in demand skills in the Java world?

Rod Johnson (aka ‘Mr Spring’) is speaking in Dublin at the Westin hotel Dublin on the 11st March. It’s fairly central, and it’s a breakfast briefing, so you don’t even to have to arrange the day off work. More details on the event are on the Kainos Website.

Update: The registration form to sign up for the event is here.

January 25, 2008

OpenIsland - showing free software means business - Belfast

Filed under: Belfast, Events, Open Source, Sun — Paul Browne @ 2:47 pm

If you’re interested in Open Software, and you’re around Belfast next Friday (Feb 1st) , you could do worse than go to this OpenIsland- it’s in Spires, opposite Jury’s Inn , right next to the Europa Bus Station (i.e. it’s pretty easy to get to).

Open Island Logo

Title: OpenIsland - All-Island Conference on Free and Open Source Software

Location: Spires Conference Centre, Belfast

Time: All-day Date: 1st February, 2008

Cost: Free Web: http://openisland.net

The event will include talks from Bruce Perens, author of the Open Source Definition, and a senior speaker from Sun Microsystems, as well as a number of local case studies. Please note that the website says that the closing date for registration is 24th January, but if people wish to attend they can still do so by sending an email to info@openisland.net Registrants should include the following information: Name, Company, Job Title, Email, Special Dietary Requirements

September 3, 2007

Sugar CRM lands in Dublin (Irish Times Jobs)

Filed under: CRM, Dublin, Ireland, Open Source, PHP, SAP, enterprise java, jobs, php5 — Paul Browne @ 6:59 am

We’re big fans of Sugar CRM, and have recommended it to clients in the past. It does Customer Relationship Management (CRM) - basically the numbers you have in your mobile, but at a corporate rather than an individual level. We proposed integrating it with a (Java Based) billing system - we didn’t want to have to build (yet another) contact management system, as the value add was integration. Getting PHP (the web scripting language that Sugar is written in) to work with Java is getting easier but not straightforward. But hey, that’s what we do.

Sugar CRM Logo

So it in Friday’s Irish Times Business section (main part), I was surprised to see Sugar advertising for people for their Dublin European HQ (I obviously missed this press release back in March announcing the opening). The ad in the main part says ‘look at page 19 of the jobs section’. Page 19 exists, but no Sugar CRM ad. Strange.

Michele (him of Blacknight) talks a lot about Sugar CRM, from the hosting point of view.

Update: Link to the Sugar CRM Careers page (includes CRM Jobs in Dublin)

August 10, 2007

How long could you go without Microsoft Office?

Filed under: Excel, Internet Explorer, Microsoft, Open Source, Outlook, Powerpoint, Word — Paul Browne @ 5:21 am

I’ve recently got a new laptop (more on that in another post) and have to install the usual selection of software to get productive with it.

As an experiment / not having enough time I’ve decided to go without installing Microsoft Office. I do , however have the excellent (and free) OpenOffice installed, and use Google Documents and Spreadsheets on a regular basis.

Why would I do this?

  • It’s not about the money (as I have a copy of the Office disks paid for).
  • It’s not about the money (2) as I’ll also happily pay for something that gives me value over the free version (e.g. my subscription to LinkedIn).
  • It’s not really about getting locked into one supplier who can manipulate me at will (see the Microsoft Word 2007 File Format Conversion post) however annoying that may be.

No, it’s more about the features; with OpenOffice, I can save Word documents as a PDF , which (in my option) looks far more professional when sending to a (prospective) client.

Another reason is that as an (IT) consultant, I tend to ‘deploy’ on client sites on a regular basis, often with a bare machine to start with. Open software means that I have a ‘toolbox’ I can use to get up and running quickly , no fuss needed to raise purchase orders to buy software.

OS as alternative Logo

If you’re interested in this approach, the Open Source Alternative site is worth checking out. It’s not dogmatic; in fact it’s pretty even handed, listing commercial and open software for pretty much everything that you might need to do with a PC or Mac (business ,communications, graphics, security etc). That’s on top of the alternatives to Word, Excel , Powerpoint and Outlook.

It’s all about choice. Some are better , some or worse ; It’s up to you to decide which one works best for you. You’re a mug if you don’t know what the choice is.

Update 26th August: I lasted just over two weeks without installing Microsoft Office. Nothing bad with Open Office, just Microsoft playing around with Office 2007 file format. I have an important client that sent me something in Word 2007. The sort of client that I can’t (yet) ask to save in a different format and resend. Open Office does not (yet) open Office 2007 files, so I had to drop back to the Microsoft version (and install some filters) to be able to read it.

December 4, 2006

Dear Open Source Santa,

Filed under: .Net, Java, Open Source, apache, ruby — Paul Browne @ 8:31 am

Dear Open Source Santa,

Now that you have Java in your open source toy bag, can I have Duck Typing please ? It shouldn’t be too hard to do, since the elves in Ruby-Wonder-Land have been making toys with Duck Typing for years. I’ve been a good boy all year and promise to play nicely with the .Net kids next door.

You don’t know what Duck Typing is? Sorry, I forgot that you’re more than 1000 years old. Little Jamie next door got Ruby last year and he says that ‘if it looks like a duck, and walks like a duck , then it is a duck’. He says making the computer do more work makes it a lot easier to write programs.

My Teacher says not to be greedy, and that you’re very busy making Toy Trains. She says just ask for getters and setters. You know, the boring code like ‘getSomeValue()’ and setSomeValue(). She says the Apache imps have been very good with Dynaforms but that writing a Java web application is still just too slow.

Rudolph will tell you that writing get(”someValue”) is about as cool as having a bright red nose. He would also want to put ’someValue’ in one place only (the web page). Having to write config files and javabeans feels too much like homework.

Santa, I know there are other children that need changes to the core Java code more than I do, so maybe you know of an open source project that already has this.

Paul

P.S. :I still want to keep compile time type checking to make sure I don’t make any mistakes.

November 29, 2006

15 seconds of fame on the Serverside.com

Filed under: .Net, Java, Open Source, article, enterprise, jvm, open, ruby — Paul Browne @ 7:43 am

Check out this article. If you haven’t come across it before, TheServerside.com is a technical website where Enterprise Java people hang out.

ServerSide Logo [Link to Serverside.com]

Update: A copy of the original post can be found here.

October 19, 2006

Two posts about Oracle in One Day?

Filed under: Database, Development, Open Source, Oracle, Sql, Sql-Server — Paul Browne @ 4:52 pm

Two posts about Oracle in One Day? Must be going mad.

Sql Developer Logo

I’m using Oracle Sql Developer (formerly Raptor). It’s a nice little tool to view information on an Oracle Database (and much better than Sql Plus, which was a throwback to the 1970’s). Maybe it doesn’t have all the power of Toad or Sql Navigator, but that doesn’t matter , it’s free , can run anywhere (it’s Java based) and does most of what you need.

The reason for the post? Opened it up today, and found that it has an auto-update feature (a la Eclipse). It now has support for Oracle Reports , Oracle Data mining as well as a nifty Sql formatter. It will be interesting how Quest software responds to this!

The main reason for using Sql Developer as a Java person is that allows you to test your connections; simple copy and paste your JDBC Url from your Java application, and hit the ‘test’ button. No longer do you have to pull your hair out as to why your lovely ajax web application no longer works , only to find somebody has changed the DB username and password!

August 22, 2006

Back to the future with Java and Retroweaver

Filed under: JBoss, Java, Java Enterprise Edition, Open Source, Performance, j2ee, java5, js2e — Paul Browne @ 2:24 pm
Java 5 (also known as Java 1.5) was a fairly major release that makes using Java a lot quicker , easier and cleaner (click here for a full list of the new features, including Meta-Data , concurrency, Generic Types, Profiling , integrated JMX Admin facilities and XML support as part of the java core.).
RetroWeaver Logo
The problem is that a lot of Application Servers still require the previous (1.4) Version. Even if you’re running on a Server (such as JBoss) that does fully support Java 5, the chances are upgrading an existing application will take a lot of time , mainly in testing effort to make sure nothing has broken. As Java matures, running on older versions will become more and more of an issue.
So, how do you get the benefit of the latest features , without losing the known stability of the previous version. One solution is Retroweaver which allows you to write in Java 5, and deploy in Java 1.4.
Thanks to Joe Walker’s Blog (Him of DWR fame) for putting me on to this one.

August 19, 2006

25,000 People Download Mans Brain from Internet

Yes, it’s incredible , but true. Red Piranha is everything (well , not exactly everything) that I’ve learnt in 7 years of Java consulting, all wrapped up in a nice easy to go bundle. It’s Enterprise software that gets knowledge out of people’s heads and into a PC (no , it’s not as painful as it sounds!).
Red Piranha Fish Logo

I hadn’t checked the stats for a while , so I’m astonished to learn that 25,000 people have downloaded a copy from sourceforge. What’s more amazing is that these downloads are for version 1 - a sort of ‘mini Google’. As I write this post the latest (beta) version is being made available to developers. This moves it firmly into the Enterprise Web 2.0 space, adding workflow, rules and rich internet application capabilities (including Ajax and mashups) - more on this blogpost.

By the way , if you’re looking for more information on Enterprise Web 2.0 , you can check out Jerry Bowles blog on this area.

July 5, 2006

Fancy a job at Google Dublin?

Filed under: Dublin, Google, Ireland, Irish, Linux, MySql, Open Source, PHP, People, System Administration, Technology, Unix, ruby — Paul Browne @ 8:27 am
As posted on the Irish Linux User Group mailing list:Google Logo

Data Center Linux Systems Administrator - EU Headquarters
This is a permanent, full time position based in Dublin
Google is the premier provider of Internet search and has the most advanced
search technology in the world.

We are looking for exceptional System Administrators, at all levels of
experience,
to support our growing server infrastructure.

The ideal candidate will
- work effectively alone, as part of a team or as the technical lead in a
small group of technicians.
- be goal-oriented
- be able to handle interrupts while fluidly switching between several
projects
- take a “work smarter, not harder” approach.
- enjoy looking for opportunities to come up with solutions to difficult
problems.
Responsibilities:
- Configure systems and network devices
- Monitor system stability and performance
- Help develop tools to monitor and maintain systems
- Ensure 24×7 operation
- Proactively scale systems to meet anticipated demand
- Write comprehensive documentation
- Assist in the training of other systems administrators

Requirements:
- BS or MS in Computer Science or equivalent experience
- Multiple years of Linux or UNIX system administration experience
- Working knowledge of TCP/IP networking
- Knowledge of webservers, firewalls/security, DNS, MTAs etc.
- Programming/scripting ability: Python, Bash, Perl, C
- Excellent verbal and written skills with outstanding customer service

For further information please visit www.google.com/jobs or email your CV
jobs@google.com. In the subject box you must include the job title: Data
Center Linux Systems Administrator - EU Headquarters.

April 4, 2006

Microsoft’s core business is under threat from online software

Filed under: Business, Microsoft, Office, Open Source — Paul Browne @ 10:42 am

An Article in this weeks Economist shows how Microsoft’s core business is under threat from online software. This is on top of the threat from Open Software.

Microsoft Dinosaur

April 1, 2006

Alan Cox coming soon to speak at the University of Limerick

Filed under: Events, Ireland, Linux, Location, Open Source, People — Paul Browne @ 2:31 am

And if you don’t know who Alan Cox is, check out the Wikipedia Entry on him.

Quote from the Wiki Pedia :

He (Alan)was once commonly regarded as being the “second in command” after Linus Torvalds himself.

More information is available on the ILUG site.

March 1, 2006

Web 2.0 and Enterprise Java - move over Struts

Filed under: Ajax, Architect, Articles, Fusion, Java, Java Server Faces (JSF), Open Source, PHP, Technology, Web, Web 2.0 — Paul Browne @ 2:23 am

A while back I wrote an article for an O’Reilly sister site, Java.net , on Sprinkle Some Ajax Magic into your Struts Web Application. I’m going to repeat one thing I said in this article: while coding Ajax is cool, you really want to use a framework if you have the choice. If you don’t believe me , check out some of the podcasts on Ajaxian.com. When you listen to the problems that the frameworks have overcome (What if the ActiveX XmlHttpRequest Object is turned off? What if you want to do local storage? What if the user hits the back button?), you’ll be a convert to the ‘Frameworks are better’ approach. So which Ajax enabled framework should you use as an Enterprise Java developer?

Pre Ajax, the answer to ‘which Java presentation framework should I use?’ would have been Apache Struts. Not because it was technically better than any of the other frameworks (although feel free to leave your comment!) but because everybody else is using it. This meant
(a) using Struts is good for your client, as they can replace you if you get run over by a bus and
(b) using Struts is good for you, as you can take your Struts skills to your next piece of work.

However , in this strange new Ajax and Web 2.0 world, things are beginning to change. Javascript gone from ‘has been kiddie scripting language’ to ‘coolest thing on the planet’. User expectations about what Enterprise Web applications can are going through the roof as Web 2.0 enters the mainstream. What Java framework are you going to use to deliver these expectations?

With this in mind, I did some research on the Ajax Enabled Java frameworks that are currently (Feb 06) available. I tried to pick out the best ones (best for your career, and hopefully technically best) based on the following criteria:

  • Java - Web development frameworks with Ajax capability.
  • Rating based on technical capabilites, and which is most likely to be the ‘next Struts’ (i.e. become the defacto standard for Java-Web Development).
  • Rating is based partly on downloading and running the projects and partly on evaluation of what the websites / other people say.
  • Products must be available (at least partly) in open source form with a recognised open source licence - as these are most likely to get community traction.

Before we get into the list, there a couple of items that you may think are missing:

  • Whatever you may think of non-Java frameworks (e.g. Ruby on Rails, PHP with Ajax), these are not included here. The notion of Java being replaced by Language / Framework ‘X’ is an entirely different article.
  • The list also does not include several excellent ’server neutral’ frameworks such as BackBase, Dojo, Prototype, or JSON. While these frameworks are included with some of the toolsets listed below, we’re aiming to get an ‘out of the box’ toolkit for the Web tier of Enterprise Java applications.
  • You’ll also probably note that there are 3 implementations of the Java Server Faces (JSF) standard on this list - MyFaces , Ajax JSF and Struts (Shale).

Think we got the evaluation wrong? Leave your comments at the bottom of this post.

Ajax Java Web Presentation Frameworks

AjaxAnywhere Independent of Java framework (e.g. Struts, JSF or Spring). Closest in approach to Java.net Struts-Ajax Article. Good interim solution based on existing frameworks, but can’t see this being the main framework long term.
Apache Myfaces Apache implementation of JSF, including technology donated by Oracle from ADF / Oracle Fusion. Being Apache, will become one of the main JSF implementations in use. But is JSF the best way of doing your website?
App Fuse combines a lot of the leading frameworks (Struts, Dwr, Spring with JSF as an option) into one easy to use package. Already a very good ready to go package (for web , mid and business tiers) and the Appfuse team have a good track record in integrating the latest, most widely used frameworks.
Ajax JSF Ajax implementation of the Java Server Faces Specification. Good indication of what a full JSF Ajax implemention would be like, but implemented by only one brave developer!
Echo 2 Evolution of original Echo Framework, can run in any Servlet container. Original has cult following, but doubt if it will become the number 1 web framework.
DWR - Direct Web Remoting Acts as a proxy so that you can call Java Objects transparently from Javascript. Good solution, seems to have traction, even though it still forces you to write Javascript and keep objects in Synch with Java. Several other frameworks (e.g. Appfuse and Webwork (soon to be in Struts) integrate this.
JSP Controls Aims to be drop in (Ajax enabled) replacement for JSP Tags. Can be used both with simple JSP and other frameworks, but at the time of writing has less than 1000 downloads
JWIC Dynamically add Ajax to Java class based application - similar to Velocity concepts. A good simple framework, based on POJO’s but doesn’t (yet) seem to have much traction on sourceforge.
Struts The original, and to many, still the best. Many changes are afoot in the next version, including the integation with WebWork (which already has Ajax capabilities) and the move to the JSF compatible (’Shale’) Struts aims to be backwards compatible, and the forthcoming JSF and Ajax capabilities look good. Pity there is no ‘offical’ milestone release yet.
Struts Layout Struts Tags, but with Ajax capabilities. Another good interim solution based on Struts, but is the Struts Event model suited for the Ajax world? (e.g. multiple events being raised from the ajax web page, instead of just the one (GET or POST) in the standard HTML model)
Swato Integration with Java Servlets through use of Servlet filters.Not a lot of documentation, nor a demo to encourage me to invest more time in it.
Tacos aimed at providing Ajax for Tapestry
Tapestry is technically a good framework, just didn’t seem to get the traction Struts did. Not sure if adding Ajax is going to change that.
Webwork Will integrate with next version of Struts (as Model - called the ’struts action framework’). Strong contender, gives Ajax functionality through (integrated) DWR and Dojo.
WidgetDev Hybrid (Open-source/ commercial) Framework. (In my opinion) Not enough maturity / features to justify open source version with reduced features
zk8 XUL / XAML type framework , capable of being rendered in either Swing or HTMLGood Framework, might attract people who are familiar with extending Firefox using XUL, but can’t see XUL (no matter who much I think it is a good idea) being mainstream without a visual designer.

Conclusion
The New Struts is …. Struts. Some other framework may overtake Struts to become the new standard, but I would recommend the following Struts-related frameworks based on the following scenarios

Scenario 1: Adding Ajax to existing Struts Applications. Use AjaxAnywhere - closest to the approach taken in the article Sprinkle Some Ajax Magic into your Struts Web Application. Despite writing this article , I see the frameworks evolving rapidly to the point where you would only take such an approach for adding Ajax to ‘Legacy’ applications.

Scenario 2: Need Ajax Now for a new Java Application. Use Appfuse as it gives Struts, Ajax (with DWR) and the possiblity of JSF integration now, all ‘out of the box’. This fits in well with …

Scenario 3: Medium Term. Use an implementation of JSF (either MyFaces or whatever Appfuse promotes - probably Struts Shale). Struts Shale (JSF) has so far released only ‘overnight’ builds. Apache MyFaces (JSF) tool support and Ajax capabilities are likely to improve over time. Both Struts-Shale and MyFaces are likely to play well with AppFuse , making it a safe bet for investing your time checking it out.

February 8, 2006

Next version of NoUnit (a JUnit Extension)

Filed under: Agile, JUnit, Java, Java Enterprise Edition, NoUnit, Open Source, Testing — Paul Browne @ 1:25 am

NoUnit is an open-source code coverage tool that shows you the effectiveness of your JUnit tests.

After a suitable pause , I’m now thinking of starting work on the next version of NoUnit. Some of the features I’m thinking of including are:

  • Eclipse Plugin , so that you can run NoUnit code coverage reports as easily as you do JUnit tests in Eclipse.
  • Support for JUnit 4 and Java 1.5 Annotations
  • Support for EJB 2.0, EJB 3.0 and Spring - currently NoUnit only shows direct calls between Java classes.
  • Various outstanding bugs and change requests from users.

Is there anything else you think should be included? Leave your comments here.

Next Version of NoUnit (a JUnit Extension)

Filed under: Agile, EJB, JUnit, Java, Java Enterprise Edition, NoUnit, Open Source, Spring, Testing, annotations, eclipse — Paul Browne @ 1:23 am

NoUnit is an open-source code coverage tool that shows you the effectiveness of your JUnit tests.

After a suitable pause , I’m now thinking of starting work on the next version of NoUnit. Some of the features I’m thinking of including are:

  • Eclipse Plugin , so that you can run NoUnit code coverage reports as easily as you do JUnit tests in Eclipse.
  • Support for JUnit 4 and Java 1.5 Annotations
  • Support for EJB 2.0, EJB 3.0 and Spring - currently NoUnit only shows direct calls between Java classes.
  • Various outstanding bugs and change requests from users.
  • Is there anything else you think should be included? Leave your comments here.

February 3, 2006

How to avoid losing 150m Euro

Filed under: Agile, Architect, Articles, Business, CRM, Dublin, ERP, Finance, Government, Health, Ireland, Open Source, Process, Project — Paul Browne @ 5:52 am

It now seems obvious that the Healthcare Payroll system was destined to fail. If you were working on the project, I’m sure it felt very differently at the time. How can your projects avoid a similar fate? While IT may sometimes seem disconnected from reality, the following guidelines show that ‘Real World’ lessons still apply.

  1. Know what you want and stick to it. If you’re building a house and change the plans several times the builder is going to fleece you, no matter how low the initial quote was. The same goes for IT Projects - if you change your mind after the price is agreed, you’re going to pay more.
  2. If you don’t know what you’re doing , find a friend who does. I know very little about houses, so when I was buying my own I got a friendly surveyor to check it out. With IT projects, this ‘friend’ should be genuinely on your side, and have something to lose (e.g. financial or reputation) if things go wrong.
  3. Little and often is better. Like exercise, smaller projects that deliver results little but early are best. If the results are good, try a second (and third) round to add more functionality based on the feedback from users.
  4. It’s been all done before. Tailored suits cost a lot more than ready-made ones - and most people are happy with a ‘Good enough’ instead of ‘Perfect fit’. There are literally thousands of ‘off-the-peg’ computer systems out there ready for final alteration to what you need.
  5. If you don’t understand the answer, ask more questions. Thankfully the days we sat and nodded at the Doctor’s Latin words are long gone. IT Consultants may sometimes speak a different language, but if they can’t explain what they’re talking about in English that you understand, the chances are they’re trying to hide something.
  6. Don’t build on sand. Like houses , projects need good foundations. For IT Projects , the good foundations are sound knowledge of the Business Processes being coded into the system. Changing processes and changing IT systems at the same time is like building on sand.
  7. Sometimes the tortoise wins the race. Unless your entire business model is built around being the very first to market, then being a tortoise and letting others race ahead has very big advantages. Not only can you learn from other people’s mistakes, but the chances are you’ll get it at a much reduced cost - For example websites now cost a fraction of what they did during the dot.com boom.
  8. Use a safety net. When building houses, often the first thing to go up is scaffolding, for safety reasons. The equivalent safety net in IT is called ‘Unit Tests’. Not only do they help you get there faster, but they let you know if you’ve broken something you’ve already built.
  9. Be a good poker player. Good poker players never give away valuable cards. For IT projects, owning all cards mean just that - make sure that you have full rights to the solution so that you can still move tables and use a different supplier. Even if you never make the move, knowing that you can is an effective bargaining chip.

And finally …

When you are in a hole, stop digging. The decision to call a halt to the projects was no doubt a difficult one, and is to be applauded. Too often, the temptation is to keep on going and hope things will turn out right. Recognising problems at an early stage means there is more chance of being able to fix them.

January 24, 2006

What is the new Struts in this strange Ajax world?

Filed under: Ajax, Java, Open Source, Web, Web 2.0 — Paul Browne @ 6:09 am

Struts has been the defacto standard for developing Web Applications using Java for the past number of years.

Now that Ajax techniques have shaken up the Web, is Struts going to see it’s dominance through into the next generation, or will some other framework take it’s place? Choose the wrong framework and your company will be left with applications that nobody knows how to support. If you’re a developer, choosing the wrong framework means throwing away the time and effort you invested in learning that framework to start all over again.

Over on the knowledgebase, we posted an analysis of the current Ajax - Java - Web frameworks , and list if they’re likely to become a standard. Feel free to leave your comments here.

January 13, 2006

Eclipse Callisto - 10 for the price of 1

Filed under: Development, JBoss, Java, Java Enterprise Edition, Open Source, Technology, Xml — Paul Browne @ 3:35 am

I have a colleague who is as much an advocate of the IntelliJ IDE for Java, as I am for Eclipse. So far, in the ‘My Java Tool is better than yours’ game, I can claim the low cost (free), the number of plugins (huge) and number of developers using it (no figures, but I suspect Eclipse is now the development platform of choice). His trump card for Intellij is that ‘you download it and it just works’ - no messing around with installing plugins for stuff like JSP and Enterprise Java editing.

While plugins are always going to be slightly messy (you don’t get the gain of extensibility without some pain in the form of configuration), the Eclipse Callisto release , due in July, is another step in the right direction. It is a simultaneous release of 10 major Eclipse projects, including BIRT (reporting tools), Data Tools, Eclipse Web Tools, the Visual Editor , Test and Performance Tools and the Graphical Modelling Framework.

It may not be a ‘download from one place and it just works’, but by removing any integration issues, it will make your life easier.