I could have saved myself a lot of time, if I would have waited a day, Zend just announced new updated server platform, 3.6, and new eclipse studio v6. Here are features of server, many I mention:

http://www.zend.com/en/products/platform/product-comparison/

and the studio

http://www.zend.com/en/products/studio/features

--

Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/

On Jan 28, 2008, at 3:13 PM, Robert Garcia wrote:

Not complete apples and oranges, but I understand what you are saying. But I was more comparing to witango, and also, I wanted personal support. Zend is a decent sized company, but not like MS, and the license you spend for zend, is really just for support. Dev servers of Zend are free.

I mean, you mentioned the ability of witango to port to java, but thats not even a reasonable feature IMHO. I was there, along with you in philly when they first demoed that. And we were all excited to be able to have that possibility, and be able to server on another platform. But the fine print is to use this feature you have to pay some $5k license to run on a single server. Why? You love witango that much you would pay $5k to compile over instead of learn JAVA/JSP? I mean, that probably made sense for the big company with the huge app. The OEMS that witango inherited from Pervasive. But its those decisions, that has sent so many small shops and developers running for the hills.

I have no problem what I pay to zend, because I pay it for support, and its worth it. 1 year of upgrades, would get you ZERO value with witango, but with zend, that is several .5 level software revisions and lots of great enhancements. HIGH AVAILABILITY was one of the most recent great enhancements. And we all have learned the money you pay for witango is only to have the priveledge of downloading and installing the product. Support is above and beyond, you must pay.

MS support is not as bad as witango, but still pretty tough.

And believe it or not, when a zend update comes out, it works. I have 4 php devs working with me, and we code all kinds of stuff, new projects, and witango ports, and we don't tip toe around bugs. The servers run, and the code works, occasionally an issue comes up, you report it, there is usually a reasonable workaround, and it gets fixed.

Anyway, I know what it costs to own witango, and own zend/php, zend php is less. MS, I haven't compared as much, but I love linux, and the performance it allows you to squeeze out of the hardware. And when you see how tight the integration and performance is between zend/php/mysql<->mysqli/linux/apache, its a dream for a small shop like me.

Oh, sorry, one last thing I forgot. zphp actually informs you of every single error and problem, before you even know they exist. I get detailed emails of each app failure, and even slow script execution. Each error is logged and prioritized in a mysql database, and is searchable. Each error shows every piece of data you can think of, like all variable values and get arguments and such. You can assign an error to a developer, or just acknowledge. It tracks by which server had the error also. You can click on a single error, and get the raw data, and even click one button which will activate the remote logging in your zend ide dev studio, and reproduce the error in your console with the exact same criteria as when it occurred. You can even configure your zend studio to be fed any errors direct from the server as they occur, so everytime you open your IDE it shows you any new errors, you click on each, and either remote debug, or archive.

--

Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/

On Jan 28, 2008, at 2:26 PM, Scott Cadillac wrote:

Thank you for the cost figures Robert,

Yes, it's less expensive than Tango, although the licensing models are different (apples and oranges?).

I like the Visual Studio and ASP.NET license model. Pay for the Pro versions of the IDE as a one-time purchase or subscription (the Express versions are free), and there are no special Server licenses required of any kind. Build it, and deploy to as many servers as you want.

Yes, to use IIS with ASP.NET you need a licensed Windows Server OS, but 2003 Web Edition is still cheaper than Zend from the sounds of it.

As well, you can get ASP.NET running on Linux and Mac for free by alternative open-source vendors that are 90% as complete as the Microsoft version.

An MSDN subscription with Visual Studio Team Server (5 licenses) costs about $ 5,500.00 a year, plus you get all sorts of OS', SQL Server and Office.

A single copy of Visual Studio Professional is about $ 1,100.00 to buy out-right, and your covered for 2 machines, including remote debugging.

I'm not trying to shoot down your model, just providing information. Apples and oranges, eh ;-)

Take care.

Scott,


On Monday, January 28, 2008 5:52pm, Robert Garcia <[EMAIL PROTECTED] > said:

Sorry, 4 dev studios, and 6 servers for like $7k. Don't remember
exact, it was under 7, more than 6.

--

Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/

On Jan 28, 2008, at 1:38 PM, Robert Garcia wrote:

Y, they used to post on the site. First, I agree. I HATED having to
leave witango. It pissed me off to even have to consider, and I am
sure that attitude has come through in the past. ;-) It was VERY
hard, and took me almost 18 months of research and testing. PHP 4
was def not the answer, PHP 5 was OOP, but the enterprise level
features, were all over the map. Look at sites like DIGG and stuff,
and its full of roll your own clustering and hacks and stuff. The
Zend Platform is what pulled it all together for me, and gave me all
I needed and more.

First, license is subscription, not perpetual, but I have found cost
of ownership to me much less than witango, especially when you
consider how they treat multicore processor and x64 arch. I pay
approximately $1000/yr per each single CPU server. This includes one
year of FULL and COMPLETE support, with 24 hour response time, with
unlimited upgrades during that time. I am talking about the high end
zend platform, I Think they call it the enterprise version or
something. Now, I paid less, I got a bundle deal with 4 dev studios,
for like $7k or something like that. The dev studios are perpetual,
but include one year of upgrades for $299. The cost of the studio is
made up with the remote debugging alone.

I also forgot to mention, the zend platform has a full JAVA bridge.
Any java compiled code, can be loaded into class path, and called
right from php script. Here is an example of a PHP function that
uses the payflowpro JAVA class.

<pre>
private function pfp_authorize($ParmList,$istest=true,$CertPath="/
data/websites/phpws/certs",$Timeout=30){
        $pfp = new java("com.Verisign.payment.PFProAPI");
        if ($istest){
                $HostAddress = "test-payflow.verisign.com";
        }else{
                $HostAddress = "payflow.verisign.com";
        }
        $HostPort = (int)443;
        $ProxyAddress = (string)"";
        $ProxyPort = (int)0;
        $ProxyLogon = (string)"";
        $ProxyPassword = (string)"";

        $pfp->SetCertPath($CertPath);
        $pfp->CreateContext($HostAddress,$HostPort,$Timeout,$ProxyAddress,
$ProxyPort,$ProxyLogon,$ProxyPassword);
        $res = $pfp->SubmitTransaction($ParmList);
        return $res;
}
</pre>

by callign this:

$pfp = new java("com.Verisign.payment.PFProAPI");

you then can call the java methods and such, as if were a PHP class.
Also, in the studio, if you load the java class in the studio, you
have full code autocompletion and introspection in the code editor.
So this also adds to the dynamic caching, and the optimizer, to give you the best of any world, all the way to complete compiled code, if you wish. Just roll a java class. And unlike witango, the java class
doesn't have to meet the crazy exact spec, they just work.

In fairness, the first time I setup the java bridge, it was a bitch
to set up. ;-)

--

Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/

On Jan 28, 2008, at 1:07 PM, Scott Cadillac wrote:

Hi Robert,

Thank you, a very comprehensive break down of the development
features. You should publish that in a blog post or something.

PHP is sounding all grow'd up. It has almost as many features of
ASP.NET and Visual Studio ;-) But of course I'm curious what a Zend
Server (Platform?) license costs (the website just say to contact
sales).

Scott,


On Monday, January 28, 2008 3:47pm, Robert Garcia <[EMAIL PROTECTED]
said:

There are couple of things I would like to add to these comments.

First, I think PHP is more of a programming language, and less of a
scripting language in terms of its methodology and abilities. It
is a
script language only in that it doesn't compile, but allows you to program at a very low level, like you would with Java, VB, C#, and
the
like. I use PHP the most, but I use all of these languages
regularly.

Second, I would agree about some of the limitations of php, like
load
balancing and such. But that is why I have always tried to be
careful
to mention and compare witango to Zend/PHP, or more specifically the Zend Platform. The zend platform is an amazing server platform for
PHP
that gives it the robust enterprise level qualities and features.
For
instance, it allows for clustering of servers very simply. It is not
only easier to setup than witango, but more more robust and
reliable.

So first, I would like to make my position clear, that when I
refer to
the benefits of PHP, I am referring to PHP 5 and the Zend Platform together. I was never fond of PHP 4, and adhere to PHP 5 OOP methods
as much as possible.

I remember a couple of years ago, fielding a question on this list, regarding whether witango was ready for the enterprise. I defended
it
at the time, with its load balancing techniques. However, now that I
have put witango under very heavy loads, I wouldn't make the same
defense. I would also not say that PHP on its own is enterprise
ready.
However, I believe Zend/PHP 5 is well suited for the enterprise, and here is my reasoning. This is not complete, and you may have other
comparisons.

Load balancing: Witango load balancing and Zend/PHP (zphp) are very
similar, but the zphp system is much more robust, and reliable.
Witango load balancing is not configurable other than setting up the servers in the group. ZPHP has some very cool features, one of them being the ability to save session data onto disk, instead of memory, for better reliability than memory. Witango, stores session data in memory, and dumps to disk on restart. And we all know, this is one
of
the things you have to be careful to delete when the system crashes.
ZPHP can work the same way, or it can instead save the session
data to
disk. There are even 2 choices with that. One is more secure, it
writes to disk, and the process waits while it is written, another
is
it threads writing the process to disk, and it is in memory, until
it
gets the chance to right to disk. So you have 3 choices, just
memory,
combination of memory and disk, and just disk. I have found the
middle
to be just as fast as the memory version, and very secure. Even if
the
cluster daemon crashes, the session data is still in tact on the
disk.
There are also additional features to the ZPHP load balancing
system,
that make it far superior to witango.
Session data shared among servers, more EFFICIENT load balancing:
When
a witango web server receives a request, witango gives it a
sessionid
which is encoded with which server in the load group this request
belongs to. So this means, that this session/user, will stay on the SAME witango server during the entire session. Even if a subsequent request comes into a different webserver, the sessionid will dictate it to go to the same witango server. There are 2 problems with this. First, it doesn't distribute load effectively, when 1 session may be
performing very intensive tasks, and others may not be. Also,
servers
crash, especially witango servers. They are not stable with complex applications under heavy load. When a server crashes, all subsequent requests from that crashed server, will hang. They contain a session
id, and so the witango plugin will force it to a server that is
dead.
Client plug in error insert here. The user may close the browser,
lose
session id, but then they come back, and will get a working witango
server but all session data is lost. Also, witango is SUPPOSED TO
not
send requests to a crashed witango server, but witango many times
enters a crash state, where it responds to the plugin, so the plugin thinks it can take requests, but it just hangs. ZPHP also assigns a session id to the first request, and the zphp server that receives
the
request, OWNS the session data for this session/user. However, on
subsequent requests, the request may come into any other zphp server
in the cluster. If the server that receives this subsequent
request is
NOT the owning server, it communicates in the background and
receives
the session data from the owning server. This means that requests
into
a zphp cluster, are truly distributed by REQUEST, and not SESSION, which is much more efficient. This arrangement seemed more complex,
and slower. However, after using it for 2 years, it has never
failed,
and even under severe load.
HIGH AVAILABILITY: This is an additional feature, that you can turn on. As already explained zphp servers share session data with each
other constantly. However, one server OWNS one or more sessions,
many
sessions spread across cluster, however the owning server is always updated with the session data it owns. High availability makes sure
that each session is owned on one server, and fully backed up in
real
time on at least ONE other server. This means, that is a zphp has a disk failure or something, nothing is missed, nothing is lossed. The
backup zphp server for that session, is now the owning server for
that
session.
The above 2 features seems very complex, and resource hogging. But
it
works, and is extremely fast and transparent. In 18 months, I have
not
seen a failure. Also, I have yet to see a zphp server crash for
anything other than a hardware failure. Also, setup is very easy in
install wizard, and then there is the ZendPHP dashboard. Remember
when
witango had a web based config utility, that worked? The Zend PHP
dashboard allows you to change all of these settings, add servers,
and
it works well. You can even edit php.ini settings, and then copy
them
to the rest of your group of servers.
Reliablity: Witango servers crash, my zend php servers don't, ever. Also, I have 3 large sites, that were first witango sites, and now
zphp sites, so I am comparing apples to apples.
Team Development: First, the zend php development system is
completely
integrated with either subversion or CVS, witango still is not. This is a huge issue for the enterprise, as team development is a must.
There is another hinderance to team dev, which I didn't realize
until
digging in. Its the TAF file structure. SVN and CVS work really well
with text files, like PHP files and html, but not tafs and tcfs.
They
work, but its like dealing with binaries in SVN. Allow me to
esplain.
One of the benefits of svn, is if 2 people work on the same file, it can show you the differences, so that you can merge the work of both programmers. This does NOT work in a taf, and is a pain in the butt.
Also, with php, you tend to use many files, and lots of includes,
which is VERY SVN friendly, and keeps people from stepping on toes. However, how many tafs do you have, that have become ginormous, that
would be like 50 seperate html pages or php files? I have a few.
In a
team environment, the taf/tcf file structure is not an assett, but a
liability.
Debugging: This is huge, and honestly, I didn't even realize it,
until
I had it. .NET also has line by line step debugging, which is SO
VERY
necessary and helpful. But zphp has something for team development,
called REMOTE DEBUGGING. In a witango team environment, you have
to do
one of two things. You have a single staging server, that everyone
commits code to, or everyone has their own witango personal dev
server. I have found that most witango devs like the latter, and
its a
nightmare to administrate. Because for an app to be properly tested, it must be tested on a server, setup IDENTICAL to production. And so you have to setup multiple personal witango servers identically. Not so tough with simple apps. But what about when you have com objects?
JDBC? Java Beans? External objects? etc. So you setup one central
witango server, and you have to commit, test, commit, test, and you can't step, debugging and testing is SLOW AND PAINFUL. I have found that a lot of witango devs, will dev on there own personal servers, then commit to the BigHead staging server to test. Just prolonging
the
process further. Then if the witango code actually crashes the
staging
server, everybody has to stop and figure out what is going on. With zphp remote debugging you setup a single zphp server, identically to
your production system. You setup each zend dev studio to talk to
the
zphp server. The dev studios comm to the server securely, and debug over a tunnel, and results show in your firefox browser as you step line by line. Processing being handled by the centrally configured server for consistency, but the ability to test code locally without committing. And if you code crashes the server, or does an infinite
loop or something, no worries, its just a single thread of httpd,
and
doesn't take down the zphp server, and everyone just keeps working. Don't let me understate this, IT IS FRICKING UNBELIEVABLY BEAUTIFUL. Its not a vapor feature either, it really works with the zend studio
and a zend provided firefox plugin.
Zend Optimization/Precompiling: It is true that zphp is NOT compiled
code, and compiled code is faster. But the zend platform includes
the
zend optimizer, which does something called precompiling. I gotta be honest here, this is one of the features, I have not dived into, and don't thoroughly understand. However, I don't have to understand to
reap its benefits. While zphp code is not compiled, and not as
fast as
compiled code, zphp code runs circles around witango code. This is extremely noticeable with any data processing within loops. zphp can sometimes rival compiled code in the zend optimizer. I have created
many tests and have done the pepsi challenges. I think I posted
results on this before.
Dynamic Data Caching: This is another feature, that allows you to
incredibly effect performance of everyday operations, with just a
few
clicks. First a simple example. Think of a css drop down menu on a site, that is built dynamically from a database. Every time a page
on
the site is called, the code hits the db, loops through menus and
builds the css. On witango, you would start by trying to build a
system where the data is cached in domain variables, then optimize
the
processing and such. On zphp, just go to your zend dashboard, and
find
this page under "Dynamic Content Caching" and check it. Set its
refresh time to 5 minutes, or 5 hours, whatever you want. zphp will automatically cache the OUTPUT of the script on the first hit, and then just return the cached output on subsequent hits. This is dream to guys like me monitoring traffic, server load, programming hours, etc. Now here is the real cool part. This feature is VERY smart. You
can specify get arguments, or even server variables that can be
looked
at to cache different results. So for instance, /products.php?
sku=abc123 and /products.php?sku=ghj789 will cache as seperate
output
files. This allows you to code quick, and easily gain huge levels of
performance, and never needing to compile. Go HERE to see a demo.

There are other features that I could add, but these are one that
really tip the scale in my opinion. Kinda turn the scale up on its
head. The last piece, is that zend sales and service/support has
been
wonderful. I called them direct, and they allowed me to have a 6
month
trial of a 3 server cluster so that I could fully evaluate the
system
before purchasing. They had to give me special keys and everything. After I purchased, I can call or email, or use support tickets, all
responsive and wonderful. After almost 2 years, not once crash.
Witango crashes in the thousands.

For the record, someone from this list had asked me to make this
comparison, and I had been working on it, and planned to send to
them.
But this topic made me pull it out, finish, and just post here.

--

Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/

On Jan 28, 2008, at 10:07 AM, Rick Sanders wrote:

Those are some really good points Scott.

PhP though in my opinion isn't as robust of a language, at least on
Windows. It needs constant attention, load-balancing isn't
available, and it has far too many security holes which makes it
easily hackable. If you use PhP, I suggest using on Linux with
Apache, that's what it was built for in the first place!

Needless to say, I love Witango and it is by far the best
development language for rapid application development. However,
looking at Visual Studio 2008, and Dreamweaver CS3, the WiTango
editor is light-years behind these development platforms. The
integration between code and design layers just isn't there.
Typically I would build the application, then plug-in the design
with a series of include files, then build any additional WiTango app functionality in the include files. TCF's are great, but is it
me or when the TCF's get too large they tend to not function as
well, and bog-down the server? I don't have any issues when using cfc's with Cold Fusion. And, I build my CSS in dreamweaver because it's so easy to do. It doesn't make sense today to use 5 programs
to
develop an application.

ASP.NET is a tough language to learn if you are new to it. However,
the control you have over the code and options you have for
developing are phenomenal. It ties into the operating system
extremely well, and you can build web applications that talk to
active directory, and even go to the extent of installing a network
printer and defining permissions right from a web application
without any external components! Building CSS in Visual Studio 2008 is also a breeze. Unforunately, Mac users can't take advantage of
Visual Studio, or host ASP.NET applications on a Mac.

Cold Fusion is a faster development language, and I would say it's
as fast as WiTango if you are familiar with Dreamweaver.
Dreamweaver
will build the SQL just like WiTango, and integrating it with the
design layer is a snap! Cold fusion 8 has alot of new features
built-
in, like uploading a picture and resizing it on the fly like image magic. If you use flash alot for applications, video and such, then
Flex is the ultimate design tool for developing a graphic layer
around Cold Fusion.

Converting WiTango code to Cold Fusion is fairly easy. I've
converted many apps, and they work just as well.

Customers are getting smarter and more educated about web
programming and database platforms, which makes it increasingly
difficult to suggest WiTango as a language. Very few people host
it,
and have heard of it. I know that Pervasive is a dirty word to alot
of you, but they did do alot of marketing and promotion of the
product to gain awareness, and they did make the product into XML
instead of binary code.


Rick Sanders
Webenergy
Canada: 902-401-7689
USA:       919-799-9076
Canada: www.webenergy.ca
USA:       www.webenergyusa.com

-----Original Message-----
From: Scott Cadillac [mailto:[EMAIL PROTECTED]
Sent: January-28-08 12:38 PM
To: [email protected]
Subject: RE: Witango-Talk: Re: is witango alive?

Hi Stefan,

That's an interesting observation. I did the opposite. I was
actually doing ColdFusion prior to starting in Tango, which I found
was one of the reason I found Tango so easy to learn. The syntax
and
tag methodologies are very similar.

PHP is not too dissimilar as well I think, given that all three are
interpreted languages.

I guess the difference with PHP is that additional architecture
features have been bolted on to PHP since its original design, and of course many serious developers want to take advantage of that. I
think PHP apps can even be compiled now if I'm not mistaken, but
maybe I have that wrong?

With ASP.NET for example, it's not an interpreted language (classic ASP was), it's compiled. And given that it's integrated with IIS to create a real application server, the underlying architecture that handles the code execution is very different than ColdFusion, Tango
or PHP. Java is also in this class of architecture, to a degree.
This makes the transition from Tango to ASP.NET much more
challenging.

I've converted many Tango apps to ASP.NET for myself and other
folks, and as long as you know both languages well, the transposing
of the code is reasonably painless.

I guess the key is, depending on where you're heading, is to learn
your new platform first before the conversion, and just don't
assume
as you start out that it'll be just like Tango.

For those not interested in PHP, I would checkout the conversion
tool in Witango that compiles to Java. I haven't used it myself,
but
I bet that would fast track anybody's learning curve to a deeper
application architecture very much.

When Phil first proposed the Java compiler apparently there was
plans for a .NET compiler too, but it never materialized
unfortunately. Oh well.


Scott,


On Monday, January 28, 2008 11:36am, Stefan Gonick
<[EMAIL PROTECTED]
said:

Hi Everyone,

I'm here and continuing to program in Witango for my existing
clients.

I found it very interesting to read how hard it is to convert a
Witango application
to PHP since I don't know PHP. Years ago I learned ColdFusion and
converted
a Witango application back then.

I found it extremely easy to do the conversion. The two languages
were very
compatible in how they did things. In fact, mostly all I did was
promote the
html result actions into their own pages and substitute
equivalent CF
tags for the
Witango ones. Obviously, I had to add the sql query at the top of
the page, but
I even used the View SQL command of the search action to get a
head
start on
that. It was very quick and easy.

I later did a CF application from scratch but actually found
development to go
faster by using the search and new record builders in the Witango
editor and then
convert the results to CF!  Pretty cool. :)  Anyway, I just
thought
that I would share
my experience of the compatibility between CF and Witango.

I appreciate this thread. I've been wondering if Witango is alive
lately myself. A major
part of what has been making me wonder about the viability of
Witango
is the lack of
news from With. It would be great if they would chip in at some
point...

Best to all,
Stefan

=====================================================
Database WebWorks: Dynamic web sites through database integration
http://www.DatabaseWebWorks.com

________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/
maillist.taf



________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf




________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf



________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/ maillist.taf

________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf



________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

Reply via email to