August 2007 Archive
So what is Enterprise anyway?
Over the last couple of days, I’ve been trying to answer a question that popped into my head when CF 8 came out. That question is simple:
“What is enterprise level software?”
This has mainly originated from the conversations that have been taking place surrounding the price increase of CF 8 Ent over CF 7 Ent, but one comment in particular made me want to write this post.
" First, ColdFusion Enterprise is Enterprise level software. $3,750 per CPU ($7,500 for a 2 CPU license) is nothing short of a steal. Seriously, go check out pricing of other Enterprise level software, then come back to me and tell me that ColdFusion isn’t a bargain."
Please bear in mind, that none of this discussion is me claiming that CF isn’t Enterprise quality or anything like that, it’s simply me trying to define the term in my own mind.
So, let’s go back to the original question, what is Enterprise software. According to Google it’s:
“”-1">Software that solves an Enterprise Problem (rather than a departmental one) and that is written with an Enterprise Software Architecture"
OK then, the vauge award goes to Google. So what about Wikipedia?:
"Enterprise level software is software which provides business logic support functionality for an organization, typically in commercial organizations, which aims to improve the organization’s productivity and efficiency. "
Well, to me that sounds like a definition for all software and we appear to be no closer. So, what’s my definition of Enterprise level software? If I had to paraphrase it, it would be something like:
“Enterprise level software is business software that requires very high levels of reliability, scalability and performance.”
I see Enterprise vendors as people such as IBM, BEA Weblogic, SAP, Oracle and Microsoft (to some extent).
So, let’s come back to the original product in question, CF 8, in the context of the post that made me get thinking on this. According to Adobe, CF8 Enterprise is:
“Used for delivering multiple websites and applications on one or more servers”
Now, to me, this doesn’t sound very “Enterprisey”. At my employer, we are running hundreds of logical sites on several servers, we are running applications that businesses depend on, but do I see myself as an Enterprise developer…? Not by a long shot. Do I see myself as requiring the Enterprise features of CF8…? Absolutely.
Looking at the differences between Enterprise and Standard editions, some things should identify your level of development (if we are sticking to the Enterprise theme). For instance, J2EE Deployment and Oracle DB Drivers. Just because I want to deploy a multi-instance server using a Oracle database does that make me Enterprise under any of the above definitions? I’m not so sure.
So let’s come back to the original question: “What is enterprise level software?”. I don’t think I’m any nearer a proper definition in my head but I’d be interested in hearing other peoples opinions on the subject.
What do you see as the definition of Enterprise software? Do you see yourself as an Enterprise developer or vice versa? For those that don’t, do you feel the need to use Enterprise level software in your projects?
(Incidentally, as a little footnote here, I remember the days where CF came in “Standard” and “Professional” editions. Does anyone know why/when it changed?)
Posted by Neil Middleton on 02 Aug 2007
CF Survey Results (Part 1)
Last week, I posted a couple of surveys that you guys could fill in in order to tell us all a little bit more about ourselves. Well, we’ve had a fair chunk of responses now, so I’m going to post up a summary of the results and what they could mean. In this part I am going to cover the “”blank" href="http://www.surveymonkey.com/s.aspx?sm=1×9JV4m_2b6vg7M6IsZK1hEA_3d3d">How do you use Coldfusion?" Survey (203 responses).
Q1. How many web developers are in your organisation?
Interesting split here with the majority of you only working in companies of 0-2 web developers. Either this means the majority of CF is done by one-man-bands, or that work is a small department within a much bigger non-web orientated organisation (US Government for instance).
Q2. How many of those web developers regulary use Coldfusion?
Again, very low numbers here, 40% of you being in the 0-2 bracket as you would expect. However, saying that someone answered with 40+ developers using CF. Any Adobe employees filling in this survey?
Q3. On average, how many years experience with Coldfusion do these developers have?
In general it looks like we are a pretty experienced lot when it comes to our tooling. 90% of us have more than 3 years experience with CF, with approximately a third of those being 5yrs plus. It would seem that we like to stick with our tools for the long term.
Q4. How many Coldfusion servers do you have?
Fairly even split here amongst all of the options on offer. Our adobe employee answered 20+ of course, but there seems to be a wealth of people (around half) running more than five CF servers.
Q5. What versions of Coldfusion do you run?
Surprising one this. 40% of us claim to be already running CF8. If that’s true, that is one hell of a migration schedule. As expected most are using CF7 (80% are using it), but there is still love for CF5 and 6. 20% of us are using Bluedragon in one form or another.
Q6. What editions do you use?
Now this one is not the answer that I was expecting. 80% of us are using CF Enterprise, versus 40% using CF Standard. Interestingly only 40% of us are using a development version of CF (and how that works without developing on production or a shared box, I have no idea).
Q7. What platforms do you host Coldfusion on (regardless of development, test, staging etc)
Oh, we love to love Windows. Windows is by far and away the most prolific platform for CF, with 95% of responses claiming to us it for CF. Only 35% of us like *NIX, whilst 20% of us have CF running on OSX in one form or another (I’m guessing guys developing on Macbook Pros here)
Q8. What deployment models do you use?
75% favour the ease of the standalone model here, with 45% taking that additional step to multi-instancing. This surprises me somewhat as the multi-instancing is such an easy step to take, and reaps so many benefits, that I would have thought it a no-brainer. Only 10% of us use proper J2EE deployment in any form.
Q9. What web servers do you use?
It would seem that if we are running Windows, we prefer to use IIS, with 95% of us using IIS. 65% use Apache in some way, whilst someone out there uses something else.
So, what have we learnt? Well, much of it is as I would have expected, but there are a couple of surprising results. Firstly is the amount of people using CF8, and secondly the number of people using CF Enterprise. Surely we can’t all be enterprise level developers?
Anyway, I’ll post the results from the second survey “”blank" href="http://www.surveymonkey.com/s.aspx?sm=hvcYASBuB00lUCfags4tbQ_3d3d">How do you code?" at some point over the next few days. If you want to respond to this survey before then, please feel free, the more responses the better.
Posted by Neil Middleton on 06 Aug 2007
Do we have too much aggregation?
I realised today that there are four major RSS aggregators in the Coldfusion community. We have Feed-Squirrel (of course), MXNA, Fullasagoog, and now Ray Camden’s ColdfusionBloggers.org.
Each of these aggregators are different in their respective feature sets, and reach in terms of coverage and readership. However, I’m now starting to think we have quite a high aggregator per community developer count…is there such a thing as too much?
Out of interest, how many people out there use aggregation versus tools like Google Reader (which I personally use*). Is there anything that these tools don’t do for you which you would love to see?
- My particular reason for using Google Reader versus my own site is a simple one. I follow around a thousand blogs, of which only a percentage are covered by Feed-Squirrel. However, Feed-Squirrel does supply 100% of the Coldfusion and Flash coverage.
Posted by Neil Middleton on 08 Aug 2007
The craziest use of technology I have seen this week is....
Scene completion using millions of Photographs
“We present a new image completion algorithm powered by a huge database of photographs gathered from the Web. The algorithm patches up holes in images by finding similar image regions in the database that are not only seamless but also semantically valid. Our chief insight is that while the space of images is effectively infinite, the space of semantically differentiable scenes is actually not that large. For many image completion tasks we are able to find similar scenes which contain image fragments that will convincingly complete the image. Our algorithm is entirely data-driven, requiring no annotations or labelling by the user. "
Posted by Neil Middleton on 10 Aug 2007
Bubbles! The Bubbles!
In case you’ve been hidden under a rock for the last few months you’ll have noticed that there is a bit of a change coming about in how information is presented on the web. This is the move to the Rich Internet Applications (RIA’s) and their respective display technologies.
It is these technologies that I have spent a little bit of time looking at recently, and I thought I would share those thoughts with you just to see what other people thought.
At the moment, there are four significant competitors for the RIA market. Adobe’s Flex, Microsoft’s Silverlight, good old’ DHTML and Sun’s JavaFX. Generally speaking, all these technologies are able to bring to the browser more than that of traditional HTML either via sprinkling’s of Javascript (DHTML) or a browser plugin (Flex, Silverlight and Java FX). So what are they all like? Well, I’ve had a little play with all these things and think the following of them:
- Adobe Flex.
Adobe’s Flex has been out for a while now and is headed towards version 3 as we speak. I’m not going to state the obvious here as to the capabilities of the system, as any old monkey can get that information from any Google search. I’m merely here to tell you what I think. Flex is an interesting if slightly restricted model. It runs in the Flash platform, which makes it nice and umbiqutous out of the box, and the SDK is also free, which means you can develop Flex apps freely. It’s also open-source to a certain extent which may float your boat.
The reason I see Flex as restricted is down to the Flash Player. Being a browser plugin it is constrained by browser security, and can therefore only accomplish certain things. Yes, it is very big capabilities with animation, but I feel it might be somewhat limited on the more complicated stuff. The worst thing Adobe could do here is rest on their laurels and think that because they have the most common piece of the software on the planet under their control they don’t have a problem – but they do in the shape of the other tools mentioned here.
There is also the open source aspect to Flex. At the moment, I beleive this only relates to the components that are used within the compiled swf’s, and not the core compiler itself – which very much limits what contributions and changes people can make to the tool.
At this point I should probably mention AIR, the Adobe Integrated Runtime, which let’s you run Flex (and HTML) apps in a desktop context, thus being able to access local disk and even use a small client db server. However, for me, I can’t really see this taking off in the way that Adobe intend. For instance, most of the users that I meet are working on corporate networks, and cannot install new software themselves, when they can quite happily install browser plugins. For me this is a massive problem. Firstly, why would my user want to have to download an app to use another app, and secondly, why should I force my users to have to install something (which just makes their lives harder)? Everyone I know just wants to get stuff done.
- Microsoft Silverlight
Silverlight is an interesting one for me. At first it appears to be direct competitor to Flash/Flex, but upon looking into it there are substantial and very interesting differences. The main one that I am aware of, is that Silverlight contains the .NET framework and the CLR, which, if you aren’t aware, is a lot of code that can do a lot of things. While developing Silverlight, MS took the .NET framework and took out everything that wasn’t needed in the development of RIAs, then they shrunk it a bit more. This meant they were able to get everything you might need into a small download.
Now, if you think about this also from a resourcing point of view, this is very interesting. Now I can teach a guy C#, and he can go away and work on my data tier with SQL 2005. The same guy can they go and work (with the same skills and tools) on my business tier. Once done, he can also work on the presentation tier (Silverlight and ASP.NET). This is a very compelling scenario and it makes a development team incredibly flexible. One set of skills for all scenarios.
Incidentally there is no reason why you couldn’t write your silverlight apps in Ruby by using the DLR.
Another small thing to note is performance. .NET is fast, and this carries through to the Silverlight player. Also note, that cross-platform coverage is also kind of limited to Windows and OSX, although the mono project has built a *NIX based version of Silverlight – Moonlight.
- DHTML
DHTML is the old kid on the block. By using traditional DOM manipulation, developers can acheive a lot. However, they also expose themselves to untold problems with browser compatability, performance issues to take into account, plus an overall limitation on what is possible. However, nothing requires installation, it works for everyone (that the developers have built their app for).
- JavaFX
JavaFX is another stab at Applets from what I can see. Sun trying to create a small downloadable JVM that can run in browser in a similar vein to Silverlight. However, the current version is so slow, and painstaking to load, that I am going to barely consider it here until a much improved version is released..
So, as you can see, there’s quite a choice. But, why the title? What’s this got to do with bubbles? Well, the thing that kicked this off for me was visiting bubblemark.com. Bubblemark.com is a performance benchmarking piece of software that measures the performance of these various technologies in your browser. I ran through the tests and got some interesting results:
- DHTML – 40 fps
- Flex (cached) – 58 fps
- JavaFX – 16 fps
- Silverlight (Javascript) – 60 fps
- Silverlight (CLR) – 220 fps
Now, I don’t know about you, but these results are stunning for Silverlight, and fairly dismal for JavaFX. It’s also interesting that Silverlight (Javascript) and Flex are the same speed considering that one is interpreted and the other compiled. Now bear in mind, that I only ran these test on my machine a couple of times, your mileage may vary (and please let me know if they do).
So, after all this, it’s easy to see that there is a gamut of options. For me, Silverlight looks to be the most promising overall, but as it hasn’t yet hit a final release it’s hard to fully judge. In the interim, Flex has to the RIA platform of choice due to lack of a capable competitor in the market.
If you have any differing thoughts, please let me know.
Posted by Neil Middleton on 16 Aug 2007
Looking to pick up some .NET skills?
If like me, you are a CFML developer and looking to pick up additional skills (namely .NET) you might be interested to know that there are three webcasts on Microsoft.com that you can watch explicitly targetted at yourselves.
Personally, I have only had time to watch a couple, but if you would like a quick primer in ASP.NET and how it directly relates to CFML, check them out. Even if you have no interest in .NET, it’s always good to be aware. If you are Bluedragon.NET user, then these are definitely worth a look.
I love things like this – they help me with my target of learning a new language every year.
Posted by Neil Middleton on 21 Aug 2007
The second craziest use of technology I have seen...
A couple of weeks ago I posted about a really clever use of Flickr.
Well, I come across something even more impressive. As described on the site:
“Revealed SIGGRAPH this new method of image resizing looks for seams (not simple columns or rows) of pixels with the ‘least energy’ (least contrast / change in detail) both vertically and horizontally in the image and then uses this to enable resizing without losing important image content such as human subjects or other detail. This technique can be used for reducing and enlarging images as well as removing items from the image which are not wanted (by manually painting ‘negative weight’ over an area of the image).”
Posted by Neil Middleton on 22 Aug 2007
The big platform debate
As you are probably aware there is a choice now for CFML developers (CFMX for Java, Bluedragon for .NET). But, for now I’m not interested in CFML, I want to hear from people about the underlying platforms.
Therefore, if you are a Java or .NET fan – why should I choose your platform over the other for day-to-day web development?
The things I want to hear most about are:
- Cost
- Performance
- Reliability
- Flexibility
- Development Times
- Front-end technologies and ease of use
- Data tier integration
- Support
- The bad bits (i.e the stuff you don’t find out about until trying to fix a bug the night before a deadline)
- Tooling (Eclipse vs Visual Studio)
…and finally…
- How does it help you with CFML development?
Tell me what you think…
Posted by Neil Middleton on 24 Aug 2007
| www.flickr.com |
Archives
Posted by Neil Middleton on 01 Jan 1910
From our portfolio
| www.flickr.com |