I def agree on the visual. I cut my teeth on tango, and loved it. It is much easier to scan a taf and see what is going on than a complex php file. Assuming that your base logic is done in the visual part of the taf.

The thing for me is that whatever gain there is with that, you lose in so many other places. Forget my complaints with the bugs in the studio even. It is true the server is more stable, but you have to stay away from too many things, not just javascript.

I think there are 2 single things for me, out of the many reasons I use PHP, that alone would keep me with zend/php. The first is the team environment support.

The second is the killer, and its the debugging. Debugging in .NET, or Zend/PHP is a beautiful thing. Line by line, and you can even alter variable values as you go. As my applications have gotten more complex, this has been the biggest time saver, and the thing I can not do without.

Thanks for your detailed response, maybe someone needs to make the witango studio render in PHP instead of xml. ;-)

--

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 Oct 25, 2007, at 10:48 AM, William M Conlon wrote:

A very fair question.  Here are some answers.

1. I am a firm believer in the power of visual programming, and I disagree with Fred Brooks on its viability. First, its the visual cortex that is the brain's parallel processor, yet most software is coded using the sequential cognitive capabilities! My point of view is as a mechanical engineer. When I worked at PG&E/Bechtel on Diablo Canyon Nuclear Power Plant, each engineer had a desk and a 4 x 8 table, so we could open full-size layout, P&ID, single-line diagrams and still have our desk for binders with specs, manuals, calculations, etc. My view of Brooks' "software crisis" is that it's because we force programmers to do linear, sequential thinking, and give them a very small viewport into the problem (most text editors are not much advanced beyond 80x24 displays).

Successful visual programing models I have used include:

a. Relay Ladder Logic: there are tens of thousands of high school or less educated technicians/mechanics able to program industrial equipment using this approach. It's fast, compact, and self- documenting. b. Function Block Diagrams for Distributed Digital Control Systems. Power plant control systems I designed with this technique in 1984 are still running, with essentially the same programs, and have millions of operating hours on them. Again, the documentation is easy to follow, and the function blocks are the BEST example of software objects I have ever seen.
c.  Witango.

BTW, I am not opposed to text based programming, and am quite expert at assembly language.

2. Span of control. There's a more au courant term for this (memory fails), but it's really important to empower the expert programmers to do more, because an army of average programmers ends up with least common denominator results. I think the Witango programming model allows me to do that, by providing abstraction in various places, notable the actions, objects, and methods.

3. I have found the server to be very robust -- linux 5.0.1.065 production server has NEVER crashed. (I know how to induce crashes with server-side JavaSscript, so I don't use it.) I like its extensibility with custom metatags, and its scalability (though I have not used it myself). I especially like variable scopes. I know there are ways to achieve equivalent functionality in PHP, but it's not as easy or natural for my brain, so these techniques would reduce MY span of control (2).

4. Writing and testing SQL queries is not really very hard; the builders don't really give me any benefit there. And complex queries (self joins) really need to be done by hand anyway. Defining custom columns for such a thing is just a confusing kludge. The builders produce HTML 3.2 code, but we use XHTML1, so they don't provide anything useful. I haven't used them in years.

I know that one benefit of the builders is quick and dirty pages for admin and such. But with well crafted methods and object instance config files, you can use previously built and debugged admin functionality, which will be better aesthetically and probably have all sorts of additional bells and whistles, like following OWASP guidelines, that the builders don't provide.


I think I'll take this note, and put it on my blog.

Bill

William M. Conlon, P.E., Ph.D.
To the Point
2330 Bryant Street
Palo Alto, CA 94301
   vox:  650.327.2175 (direct)
   fax:  650.329.8335
mobile:  650.906.9929
e-mail:  mailto:[EMAIL PROTECTED]
   web:  http://www.tothept.com


On Oct 25, 2007, at 10:01 AM, Robert Garcia wrote:

I have a question, if you go through all the work of doing everything in directDBMS, and I understand your reasons, why use witango and not php? You don't have to answer if you would rather not, I am just curious. If you eliminate the search actions and stuff, what is witango doing for you?

--

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 Oct 25, 2007, at 9:46 AM, William M Conlon wrote:

I concur.  I go a little further:

1. only use DirectDBMS, so you don't need the studio data sources at all. This has the ancillary benefit or eliminating all the problems [!CST] with the <DataDictionary /> that crop up in the Studio, and keeps the appfile smaller.

2. define the <Datasource /> parameters as variables, so they can be changed outside the appfile.

3. Move all DirectDBMS actions into TCFs (more like MVC) so the TAF provides business logic and presentation, while the TCF handles the data model. Use the OnCreate method to load the <DataSource /> variables. And, keep these variables in a separate configuration file which can be easily edited without the studio.

Bill

William M. Conlon, P.E., Ph.D.
To the Point
2330 Bryant Street
Palo Alto, CA 94301
   vox:  650.327.2175 (direct)
   fax:  650.329.8335
mobile:  650.906.9929
e-mail:  mailto:[EMAIL PROTECTED]
   web:  http://www.tothept.com


On Oct 25, 2007, at 7:02 AM, Robert Garcia wrote:

There is another way, it is still a pain in the a$$, but just about anything you do in the 5.5 studio is. You just have to choose which PITA you are most comfortable with. I have used the beta, I don't think that is going to be a solution for a long time.

I am using mysql for instance. It is possible to setup ODBC on the intel machine for witango and mysql. It is a pain, because the studio crashes with many configurations. You have to use a PowerPC binary for the mysql odbc driver on intel, because the studio is powerpc, and the mysql drivers are not universal. I wish I could use the actualtech drivers, but witango crashes.

When you create a taf with a datasource called "MyDSN" for instance, it creates an xml node within the datasources node in the xml of the taf, like this.

                <DataSource ID="MyDSN">
                        <DSType>ODBC</DSType>
                        <DSN>MyDSN</DSN>
                        <DBMS />
                        <Host>MyDSN</Host>
                        <Database>Some Vendor Driver Name</Database>
                        <UserInfo Encrypted="True">
                                <UserName>@[EMAIL PROTECTED]@[EMAIL 
PROTECTED]@#$</UserName>
                                <Password>@[EMAIL PROTECTED]@[EMAIL 
PROTECTED]@@%</Password>
                        </UserInfo>
                </DataSource>

Now if you had a mysql JDBC driver on the server, and the Datasource setup on the server as "MyDSN" but using JDBC, all you would have to do to this taf, to get it to work on the server, is change value of the DSN node to JDBC, so it looks like this:

                <DataSource ID="MyDSN">
                        <DSType>JDBC</DSType>
                        <DSN>MyDSN</DSN>
                        <DBMS />
                        <Host>MyDSN</Host>
                        <Database>Some Vendor Driver Name</Database>
                        <UserInfo Encrypted="True">
                                <UserName>@[EMAIL PROTECTED]@[EMAIL 
PROTECTED]@#$</UserName>
                                <Password>@[EMAIL PROTECTED]@[EMAIL 
PROTECTED]@@%</Password>
                        </UserInfo>
                </DataSource>

Thats it. The userid and the password will work, and the table and column definitions built from the studio using odbc will work just fine, they are the same as long as you were using the same db as odbc dsn.

I have done this with mysql, mssql, oracle, and primebase. If you are not using one of those, I imagine it would work if your DB has both jdbc and odbc drivers.

Now the REAL PITA comes in when you want to deploy, or then edit after deployment, you have to open the thing in a text editor and manually edit.

However, it would be REALLY easy to create a drag and drop little app, that would do this for you. So imagine you had an app, that you drug onto it any number of tafs. It was called "DSN - ODBC to JDBC". It would quickly parse and change the DSN nodes to JDBC. You would just drag your taf on it, and commit to your server.

You could have another app, called "DSN - JDBC to ODBC" for when you had to edit a taf from the server in the studio.

Now don't complain to me about how a$$backwards this is. ;-) I am just the messenger, but it would work.

--

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 Oct 25, 2007, at 6:07 AM, Stephen Su wrote:

thank you all, we are running on intel machines, and have tried parallels which caused more problems than using the mac os without DB connection.

: ( stephen


On Oct 25, 2007, at 6:29 AM, Dale Graham wrote:

As a stop-gap, I have been using the Windows version of the editor on Parallels.... testing with Mac server version on the same computer. Weird but works. (The irony is that because it's Intel, it runs Parallels very well, and the INTEL (Windows) JDBC works just fine, though setting up Java/JDBC on Windows can be a definite problem.)


On Oct 25, 2007, at 2:59 AM, Stephen Su wrote:

Has anyone successfully configured witango studio 5.5 to connect up with data sources via. JDBC on an intel based MacBook Pro?

- stephen


________________________________________________________________ ________ 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