Andrew Pollack's Blog

Technology, Family, Entertainment, Politics, and Random Noise

Have made some progress in chosing a new platform.

By Andrew Pollack on 12/29/2012 at 09:50 AM EST

The more I look at other platforms, the more saddened I am by the need to pick one. If only IBM hadn't utterly failed in the market to the extent that building a service provider application based on Domino virtually ensures it will be nearly impossible to sell as a business in the future, I would almost be willing to suffer through their horrendous service provider licensing nightmare. Even in the "legacy" state that the core Domino server platform finds itself, it's head and shoulders above the other platforms I've looked at in terms of cost benefit -- if you happen to already know it's quirks.

I've decided that for me, what is absolutely a requirement is an object model layer that sits between the dynamic web page generation side and the data store. I like object models, they make sense to me. Within this middle layer I can build my own workflow and security layers that are not dependent on the back-end relational (or unstructured) data store. This seems to exclude a wide swath of the open source community that is based on the old LAMP style coding. Most of what's in that development path seems to rely primarily on doing any security and and workflow on the database engine side. It's a valid way to go, but not rich enough to really appeal to me. There are, of course, exceptions to this but another of my criteria is that I don't drift far off the mainstream in choosing a platform. I don't want to find myself once again doing work with a platform where I'm having to convince the vendor (or source team) that what they have is worth continuing, while at the same time convincing an investor that the obscure platform is so much better that it's worth the limitations of finding developer resources.

For all that, I find I'm nearly back at the starting point in that I'm primarily picking between an "Apache/Tomcat/Java" platform or else an "IIS/.NET" platform. The obvious trade offs then come into play, including my dislike for J2EE conflicting with my preference for open source. Of course, I barely consider Java to be within the realm of open source given the amount of control that Oracle continues to have from a practical standpoint.

I'll post more as the process continues. Input is welcome as long as it is constructive.


There are  - loading -  comments....

re: Have made some progress in chosing a new platform.By Brent Henry on 12/29/2012 at 10:36 AM EST
I've been evaluating Wakanda recently with the intention of moving some data
that has outgrown the Notes database that it is in. The platform is young and
there are some missing pieces, but there are a lot of things to like about it.
re: Have made some progress in chosing a new platform.By Henning Heinz on 12/29/2012 at 02:09 PM EST
It seems you really want to stay with Domino ;-)
Maybe the new XWork server offering might work for you? Ed Brill stated that
for some configurations pricing will be lowered to about 1.000$/year.
I am still happy with my Play Framework (no J2EE but Java/Scala) but the
Microsoft stack is a powerful platform for solution providers.
I am wondering what you did not like about it?
re: Have made some progress in chosing a new platform.By Andrew Pollack on 12/31/2012 at 09:02 AM EST
I'd love to stay with Domino, but in the long term it will make selling the
business or bringing in a partner much more difficult. The parts of Domino I
like most are also no longer interesting or being worked on by IBM.
re: Have made some progress in chosing a new platform.By Jason Hook on 12/29/2012 at 08:55 PM EST
I would have thought IIS/.NET would be a reasonably safe bet. The world is not
short of .NET developers and an organisation buying the Second Signal
technology based on a .NET implementation would be confident it could be
maintained. Have done a little .NET and colleagues use little else and have
nothing but good things to say about it.

Of course the other point of view is that your future buyer might have their
own preference and perhaps they, with your help, could redevelop using the
platform of their choice?
re: Have made some progress in chosing a new platform.By Andrew Pollack on 12/31/2012 at 09:04 AM EST
A big advantage of .NET would be that a future partner or buyer would be
confident that it could be picked up and maintained by someone other than me.
re: Have made some progress in chosing a new platform.By Giulio Campobassi on 12/30/2012 at 07:42 PM EST
Have you asked yourself what you goals are ? Are you focusing too much on the
means rather than the end result. I know that the "means" can determine the end
result, but how much flexibility do you really need to produce solutions. Both
architectures share a similar level "solution capability".

Excuse the gross generalisation, but if you head down the Apache/Tomcat/Java
you're going to be building "space shuttle" solutions, (IBM loves that stuff,
it's profitable for them), and you will be part of bigger teams working on
projects.

Problems that Java solve tend to involve the bigger end of town. So you will
probably find yourself working under a vendor, (EDS/CSC/ eek! IBM). IIS/.Net
and whatever else Microsoft throws together appears a little less involved but
I'll admit appears fragmented, not to mention the rip-n-replace attitude, which
carries it's own burdens. You will be part of smaller teams or doing most of it
yourself and projects tend to have smaller budgets.

So, there is no utopia, (if you do find it let me know). We have been spoiled
by Lotus' built-in technologies, that none of the other providers have ever
replicated well. Not even IBM has capitalised well on improving this brilliant
architecture. So, heading in any direction away from this comfort zone will be
difficult. I think the technologies are not the problem, the big ones are
equally capable. I think you're agonising over how much technological baggage
you're going to churn through to use an alternative.
Great response!By Andrew Pollack on 12/31/2012 at 09:14 AM EST
It took me a few minutes to work out what you were saying here, but I think
you've hit some great points.

Am I focused on the means rather than the result? Yes, to some extent. The
good reason for that is that I want to pick a platform that a future partner or
buyer of the business would view as fairly common rather than what I have now,
which is something that many would assume requires "me" to go with it in order
to be successful.

I agree with you about the Apache/Tomcat/Java solutions being overly complex
for most uses. Some kind of blend probably makes sense in terms of a framework
for the front end with an AJAX model talking to a back end that resides in the
more object oriented Java world if I go that way.

One reason I like the complexity in this case (and I've often railed against it
with J2EE) is that in my head I'm seriously considering building a model that
works very much like a Domino server with respect to data and security. A
strong object modeled language would be my way to go in that case. It's
overkill for this immediate project, but I'm looking at possibly doing many
other things with it in the future and frankly an old guy like me can only
learn so many platforms at once.

You've also hit on my fears with respect to going IIS/.net -- it means putting
my fate in the hands of another vendor with their own agenda. It's appealing
in it's rapid implementation possibilities, but you really are getting into bed
with Microsoft and you'd better be prepared to go all the way in that case
(forgive the ugly metaphor).

No, there's no Utopia -- Domino is closer than most but suffers from it's place
in the market and IBM's direction being so far from my own.
re: Have made some progress in chosing a new platform.By Stephan H. Wissel on 12/30/2012 at 09:20 PM EST
The PHP crowd will take offense :-) for your conclusion: not object oriented.
It's a little like LotusScript: tons of stuff out there is very vanilla, but
you *can* use classes and objects and Frameworks (I like ZEND, if I brush away
my general dislike of PHP).
I disagree with Giulio about the 'space shuttle' remarks. Would you call
Twitter a space shuttle? Started with Ruby they ended up in Java land... and
I'm sure they don't work with any of the large Java vendors.
One important consideration you haven't shared your thoughts on is runtime
environment - the physical side of it. A lot businesses completely run off a
cloud environment (like Dropbox does). Deployability becomes important - It
might be less important for actually running it, but for the sales
negotiations. Here Java seems to have the upper hand - planned properly you
even can deploy into the Google AppEngine, in the IBM SmartCloud, to Amazon,
Rackspace and all the other vendors.
Could you share what made you exclude platforms like: Node.js, CouchDB,
MongoDB, Ruby, Python (and PHP)? Not that I would necessarily advocate them (I
do like node.js and couchDB), but seeing your conclusions surly will be
enlightening.
ref: Runtime Environment and Node.js et. al.By Andrew Pollack on 12/31/2012 at 09:26 AM EST
As far as run time, I don't favor a cloud solution. I don't find it any
cheaper when I look at running servers under Amazon, for example, than just
running on leased vmware servers in a couple of different data centers as I'm
doing now. My record over the last several years for uptime using my own
servers and failover methodology has frankly been MUCH better than some very
big websites that put all their eggs in the cloud hosted basket. Amazon cloud
outages seem to take out half the big websites from time to time. This
happened at least twice last year that I can recall. The only reason I can
see using a cloud provider right now is if I can use a service that I don't
want to learn to manage myself.

MongoDB seems to be growing and is worth keeping an eye on, but that really
only speaks to the database, not the whole architecture. In theory I could use
it to back almost any platform choice.

CouchDB seems to be stagnant in that it has a good following but not one that
looks like it's going to really grown any bigger. It's going to remain on the
edge of obscurity. It also only speaks to the database, not the whole
architecture. In theory I could use it to back almost any platform choice.

Ruby and Python are both pretty front end output focused, and while you CAN do
all kinds of stuff in back with them, it's not really what they're about. I
don't like the way it tends to turn to spaghetti without a lot of effect to
keep that from happening.

PHP looks excellent as a front end web page generating tool, and if I go with a
Tomcat based back end object model I may well use PHP up front -- though
frankly I can probably do what I want with just jquery, css, and html so it may
not be worth it for me to spend the time on.

Node.js -- frankly, I've been remiss in checking it out. I'll make a point of
reading up on it over the next few days. I've heard good things but know
almost nothing. I'd need to be impressed with it in a lot of ways to pick it
though, including an assessment that it will be mainstream for the long term.
re: ref: Runtime Environment and Node.js et. al.By Henning Heinz on 12/31/2012 at 03:40 PM EST
If you are like me and you watched "Javascript, the good parts" a dozen times
(or read the book) and still cannot see all those good parts then Node.js is
not for you ;-)
Of course Javascript is not going away and only became more important through
the years.
Happy New Year.
Vaadin Java FrameworkBy Rob Wills on 01/08/2013 at 04:12 PM EST
I am currently looking into a Java Framework called Vaadin
(https://vaadin.com/home) which is a high level 100% java solution. I will be
using with a NoSQL database but it can be linked up with pretty much anything.

You can get away with just coding in Java (i.e. not needing to do client side
javascript for example). The framework simplifies things so that you don't
really need to know much about the fact that you're deploying servlets. You
concentrate on the actual application.

It is open source.

So you would end up with an architecture such as Tomcat, Java, MongoDB for
example.
re: Have made some progress in chosing a new platform.By Giulio on 01/03/2013 at 11:00 PM EST
@Stephan. I know calling Java with it's infrastructure as a "space shuttle" is
heavy handed. I am not sure if twitter is the right metaphore, but I think
there is alot of infrastructure required to support something seemingly as
simple as twitter, as it would need load balancing and meaningful response
times. I find the infrastructure quite a daunting task to master. And I'll
admit most of that may be through my ignorance due to my workload that keeps me
coding rather than "infrastructur-ing". I am not opposed to Java at all, in
fact I prefer it to everything else due to it's precision and flexibility to
express anything.
re: Have made some progress in chosing a new platform.By Craig Schumann on 01/17/2013 at 07:44 PM EST
I was in the same boat a couple of times in the past few years and both times I
went with Tomcat. Personally, I don't tend to use frameworks very much, so
plain old JSPs with some light servlets have generally been the way I go. With
my first project (http://www.rideomatic.com) going Java was a *HUGE* time saver
for 2 big reasons:
1. I already knew Java, and that made a huge difference in getting something
running. Learning PHP might be interesting, but it would have added a lot of
time to get to a working site.
2. The plan was to have native mobile apps as part of the application. The
ability to share a lot of the code base with the Android app was huge. Also
that helps with the iOS app as well because it kept me in the mind set for
modular functionality. There would be a lot more work reimplementing common
modules on Android if the site was done in PHP.

Hosting for Tomcat is a little more rare than LAMP, but it is out there. I've
been really happy so far and it's much cheaper than Amazon for hobby or
experimental projects (though I don't know what your ultimate plans are).

End of the day, I went with what I knew best at the time. For me getting
something up and running was more important than playing with something new.
re: Have made some progress in chosing a new platform.By Fredrik Malmborg on 01/28/2013 at 12:53 PM EST
The reason you point out for choosing platform is the same that I see decision
makers using to claim need to move from Notes. I can see the logic in it, but I
also find it exaggerated.

It is like claiming a need to change bed to avoid end up dying in that specific
bed. You changed bed but will still probably die in a bed. Only thing you
achieved was spending time and money.

What if you instead spent the money on your old bed to get it like you want it.
Will cost you less and you did not pretend that you solved something.

Maybe a silly comparison. But sometimes I find companies doing silly things.

I think that it is very hard to guess what happens in 5 years. At the same time
it is likely that something that works good now will also work good in 5 years.
So my conclusion is, if it works good now, then you have at least 5 years until
you have to change. If you find that it does not work now, then start the
change. You know what you have, but not what you will get.
re: Have made some progress in chosing a new platform.By Kai on 02/16/2013 at 03:27 AM EST
Hi, Andrew,

I'm in the same situation as you. I'm looking for a platform, where I can
create solution quickly (like Domino) and can run this solutions in the cloud
and at customer side.

Development:
Can I develop a solution quickly?
- Domino: Yes, yes, yes. I have the knowledge, Domino gives the architecture.
90% of the application can be developed quickly using forms, views and XPages.
10% need some more time because of the restrictions of domino.
- Tomcat/JEE: Perhaps. I also have the knowledge. You have to found the
architecture and/or framework - this needs a lot of time.
- IIS/.NET: Perhaps. The advantage over Java is, that you have a given
architecture and a lot of extensions

Infrastructure:
Are the data secure?
- Domino: Yes. It's a cool feature that you can change the application as a
developer while you don't have access to the underlying data. And you needn't
worry about hacking and secure your infrastructure..
- Tomcat/JEE: You have to build it your own - this needs a lot of time.
- IIS/.NET: You have to build it your own - this needs a lot of time.

Are the applications cloud-ready?
- Domino: Yes, you can. Create a NSF for each customer. Create a domino cluster
(which is very expensive) and add a loadbalancer. But their is another
advantage: You can change the general application for a customer which want
some changes.
- Tomcat/JEE: Yes, you can. But including much of tools and setting. And their
is the question how to separate each customers data (per database, per schema,
per tenant field)
- IIS/.NET: Yes, you can. You can also use the cloud offering of Microsoft.

So I'm really hesitant what to do. Should I go the way which I know and where I
can save money (because lower development costs of myself) and spend the money
IBM or should I go the "open source way" and stick many pieces to a solution
together.
Please let us know your decision.


Other Recent Stories...

  1. 05/05/2016Is the growing social-sourced economy the modern back door into socialism?Is the growing social-sourced economy the modern back door into socialism? I read a really insightful post a couple of days ago that suggested the use of social network funding sites like “Go Fund Me” and “Kickstarter” have come about and gained popularity in part because the existing economy in no longer serving its purpose for anyone who isn’t already wealthy. Have the traditional ways to get new ventures funded become closed to all but a few who aren’t already connected to them and so onerous as to make ...... 
  2. 04/20/2016Want to be whitelisted? Here are some sensible rules for web site advertisingAn increasing number of websites are now detecting when users have ad-blocking enabled, and refuse to show content unless you "whitelist" their site (disable your ad-blocking for them). I think that is a fair decision on their part, it's how they pay for the site. However, if you want me (and many others) to white list your site, there are some rules you should follow. If you violate these rules, I won't whitelist your site, I'll just find content elsewhere. 1. The total space taken up by advertisements ...... 
  3. 12/30/2015Fantastic new series on Syfy called “The Expanse” – for people who love traditional science fiction[] “The Expanse” is a new science fiction series being broadcast onthe Syfy channelthis winter. It’s closely based on a series of books by author James S. A. Corey beginning with “Leviathan Wakes”. There are 5 books in the “Expanse” series so far. If you’re a fan of the novels you’ll appreciate how closely the books are followed.TIP: The first five episodes are already available on Syfy.com. If you’re having trouble getting into the characters and plot, use those to get up to speed.The worlds created for ...... 
  4. 10/20/2015My suggestion is to stay away from PayAnywhere(dot)com  
  5. 08/07/2015Here is one for you VMWARE gurus - particularly if you run ESXi without fancy drive arrays 
  6. 08/06/2015The Killer of Orphans (Orphan Documents) 
  7. 06/02/2015Homeopathic Marketing: Traveler on my Android is now calling itself VERSE. Allow me to translate that for the IBM Notes community... 
  8. 03/17/2015A review of British Airways Premium Economy Service – How to destroy customer goodwill all at once 
  9. 02/26/2015There's a bug in how @TextToTime() and @ToTime() process date strings related to international standards and browser settings. 
  10. 01/21/2015Delivering two new presentations at Developer Camp (EntwicklerCamp) 2015 in Germany 
Click here for more articles.....


pen icon Comment Entry
Subject
Your Name
Homepage
*Your Email
* Your email address is required, but not displayed.
 
Your thoughts....
 
Remember Me  

Please wait while your document is saved.