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

Reply via email to