How do you use WebSpeed

rolandw

New Member
We have already committed to using the full set of Progress tools (Provision Plus 9.1B). We have a project well underway with database schema and data validation all in place (OK, its still in prototype but you get the story). Now we are starting work on the front end to be almost entirely web based. I could spend ages experimenting with the different WebSpeed wizards and templates or I could do my own thing. Trouble is, I don't know which is the best route.

How do you use WebSpeed? Do you use SpeedScript in html pages, do you use the CGI wrapper templates or have you started your own CGI wrapper toolset?

I may be a newbie with Progress but I've written entire web systems from scratch a couple of times - I was just expecting WebSpeed to be a whole lot easier than C++ or Perl...
 
U

Unregistered

Guest
Ouch if your focus is on the web for your data you may find webspeed can do the job, but support in terms of documentation, books, websites, resources are very very limited.

The more industry wide used options would have been to use PHP with MYSQL or Nusphere, OR active server pages with SQL 2000, OR a java / JSP with a java app server like Macromedia Jrun or IBM websphere. All of these platforms have lots of resources, lots of books, lots of informal websites and support.

I dont recommend asking for help on these boards or looking for books on webspeed. With webspeed you'll be better served by taking some webspeed courses from an authorized Progress VAR or training center. Thats really the only way you'll get the real info you want to develop with webspeed.

In regards to your question, think of speedscript like a javascript or vbscript used within your pages. The differences are that speedscript is 4GL code.

For example if you wanted to query a table you would do something like

<html>
<head>
<title>My page</title>

</head>

<body bgcolor="#FFFFFF" text="#000000">

<script language="speedscript">

for each mytable where mytable.field1 = "yes"
do
no-lock.

{out} '<table width="19%" border="0" cellspacing="0" cellpadding="0">' skip
'<tr> ' skip
'<td><B>field1 title</B></td>' skip
'</tr>' skip
'<tr> ' skip
'<td>' mytable.field1 '</td>' skip
'</tr>' skip
'</table>' skip.



</script>

</body>
</html>
 

rolandw

New Member
An unregistered correspondent replied:

> Ouch if your focus is on the web for your data you may find
> webspeed can do the job, but support in terms of
> documentation, books, websites, resources are very very
> limited.

Which does indeed seem to be one of my major problems. Why, if Progress is so heavily used, has no one written a series of half decent books on the subject and why is there no active developer community willing to offer mutual support?

> The more industry wide used options would have been to use
> PHP with MYSQL or Nusphere, OR active server pages with SQL
> 2000, OR a java / JSP with a java app server like Macromedia
> Jrun or IBM websphere. All of these platforms have lots of
> resources, lots of books, lots of informal websites and support.

We examined these options closely (and some others) but felt that the overall integration offered so much (from our third party Progress based accounts app straight through to our public web face) that we would go with it. It also offered a higher speed of development. No, please don't go on about how we have been succered by Progress sales force....

> I dont recommend asking for help on these boards or looking
> for books on webspeed. With webspeed you'll be better served
> by taking some webspeed courses from an authorized
> Progress VAR or training center. Thats really the only way you'll
> get the real info you want to develop with webspeed.

Been there, done that, didn't get the answers that we really need because when we did the course we didn't know the right questions (as in '42'). From the original posting I really wanted to get a view as to how developers approach WebSpeed as in:

Do they ignore the WIzards and Templates and do their own thing
Do they use CGI Wrappers or HTML with speedscript for the majority of their work

and so forth.
 
U

Unregistered

Guest
An unregistered correspondent replied:

> Ouch if your focus is on the web for your data you may find
> webspeed can do the job, but support in terms of
> documentation, books, websites, resources are very very
> limited.

>>Which does indeed seem to be one of my major problems. >>Why, if Progress is so heavily used, has no one written a >>series of half decent books on the subject and why is there no >>active developer community willing to offer mutual support?</b>

Well to be honest it may be heavily used a bit on the east coast in the US and and outside the US, but Progress is not used nearly as much (Especially for web development) as Oracle (too pricey), DB2, SQL 2000, Sybase. Those are some of the big guns. And you'll notice they are mostly SQL specific databases. Not 4GL. I dont understand myself, why Progress is so bad in terms of materials and support. Why they dont have tons of books by Knight Ridder etc. They are really bad. Progress people will just say hey go look in the manual, or go to the Progress web site and lookup Kbase blah blah. It was just with version 9, that Progress actually started supporting SQL 92. THey fell behind in that area. Ask any Progress programmer, and they'll tell you how bad Progress is at marketing. Go to any web development site and look up Progress or webspeed. I guarantee you wont find anything. Thats not to say webspeed is bad. But its proprietary to Progress. </i>

> The more industry wide used options would have been to use
> PHP with MYSQL or Nusphere, OR active server pages with SQL
> 2000, OR a java / JSP with a java app server like Macromedia
> Jrun or IBM websphere. All of these platforms have lots of
> resources, lots of books, lots of informal websites and support.

>>We examined these options closely (and some others) but felt >>that the overall integration offered so much (from our third >>party Progress based accounts app straight through to our >>public web face) that we would go with it. It also offered a >>higher speed of development. No, please don't go on about >>how we have been succered by Progress sales force....

If you are a Progress shop, then webspeed was a good choice because its actually a pain to figure out how to connect and develop on Progress using more common development models like PHP or ASP. Perhaps a java app server, however, would have provided a more open environemnt supporting a common development standard for web apps. Just prepare to be a bit frustrated finding a good book. I really suggest some good webspeed training classes.</i>

> I dont recommend asking for help on these boards or looking
> for books on webspeed. With webspeed you'll be better served
> by taking some webspeed courses from an authorized
> Progress VAR or training center. Thats really the only way you'll
> get the real info you want to develop with webspeed.

>>Been there, done that, didn't get the answers that we really >>need because when we did the course we didn't know the >>right questions (as in '42'). From the original posting I really >>wanted to get a view as to how developers approach >>WebSpeed as in:

>>Do they ignore the WIzards and Templates and do their own thing
>>Do they use CGI Wrappers or HTML with speedscript for the majority of their work

>>and so forth.

<i>Most Progress shops trainging you in webspeed will not recommend using the wizards in webspeed. The appbuilder pro which I haven't used, is supposedly more robust, and I bet many webspeed develpers use these tools. The bad things about the wizards is the apps they create are limited, and the codemay be hard to modify. I have however, used the wizard code to generate a base query search page that I use as a template. Because of the lack of books, it was initially an easy way to do this, so the wizard stuff does have its uses. Eventually as you learn it, you may use different ways to develop with webspeed. When Progress mentions the wizards in webspeed, they really arent much at all.

Its funny, Many Progress folks come from a unix background, so there this pride thing about not using GUI apps or WYSWYG type apps to develop with webspeed. Thats probaly why the stuff I do see online looks and operates the way it does. The problem is that webspeed itself is really just notepad with a compiler. It is not really a robust development environement with strong tools. For example with ASP you have apps like Visual Interdev or Dreamweaver Ultradev (which works with Coldfusion and JSP as well), or with java/JSP you have rich development tools like Borland J Builder or Symantec Visual Cafe that integrate with popular html editors like Homesite or Dreamweaver. These are the cool trendy apps that are hot in the web development community. Most Progress folks probaly have never heard of these.

Webspeed and Progress is all you got. You can of course use any popular html editor. But it cant integrate (work within the webspeed environment or vice versa. Also code sniplets, beans. code exampes etc forget about it. This message board for example is not written with webspeed and running on a Progress database. Its using PHP and probaly a shareware script thats freely available all over the web. It can be modded and tweaked, and its probaly running on a MySQL database. You cannot find things like this available for webspeed. Sorry to rant on, but I know your frustration. I've been dealing with this for quite some time. You might want to check out Nusphere. It is a Progress company using MySQL. I Dont understand why Progress is doing all this cool stuff with Nusphere, but not with Progress.
 

Robert

New Member
It's a rather bleak picture that you are painting.

Roland, you say that you have a project on the way so I assume that you might not want to research around for alternative products and schedule a rewrite of what you have produced so far...

If you are looking for an active webspeed comunity you should have a look at the webspeed list on the PEG (http://www.peg.com/lists/webspeed/web/). Their archives may not be the easiest to search through but this mailing list is quite busy and you should be able to get some help there if you subscribe.
Also the webspeed forum here at progresstalk can be tried but the number of users (and traffic) seems to be lesser (unfortunately).

As far as resources go
there's a fair amount of websites offering freebie code and articles.
OK, so there's nowhere near as many as for VBscript development or php... You shouldn't be surprised as webspeed is not free and is not a microsoft product.
Still, there is some stuff out there. Have a look at the following sites; they contain articles, tools and code samples...
- http://www.progress.com/v9/documentation/index.htm
- http://www.fast4gl.com
- http://www.freeframework.net
- http://www.dotr.com
- http://www.webspeed.nl
- http://www.4gl.fr
- http://www.whosplayin.com/ws/resources.html

Now, the documentation/tutorials on the PSC site are more helpfull that you would expect.
And Newbie/How-To questions are recurrent in the peg so give that a go and soon your project should be well on it's way.
 

rpenridge

New Member
I take it the speedscript needs to be processed server-side like ASP? How does this affect what web servers you can use? How is the web speed server installed exactly?

rob
 

Robert

New Member
> I take it the speedscript needs to be processed server-side like ASP?
Yes, Webspeed does server-side scripting (only) like ASP.

> How does this affect what web servers you can use?
I've seen webspeed used with IIS and Netscape Enterprise. You can find a full list of webservers supported with version 3 in the knowledgebase entry 19625. Same information for version 2.x can be found in the knowledgebase entry 19623.

> How is the web speed server installed exactly?
This depends on the version of webspeed that you have and the platform you are installing to.

HTH

Robert
 

rolandw

New Member
rpenridge said:

I take it the speedscript needs to be processed server-side like ASP? How does this affect what web servers you can use? How is the web speed server installed exactly?

which is a little different from my original request. I am not concerned about how to deploy our Webspeed script (actually we are currently using IIS on Win2000 but any cgi based solution would do) but more about how you actually use Webspeed. Some people think that Embedded SPeedscript is the way to go, others that CGI-Wrappers....

We are currently going full out on CGI-Wrappers as we are pulling our page templates out of a database rather than using an html tool to build them. This should, in theory, allow us to develop a house style and deploy this easily across a large set of pages.

Is this what you do?
 

Robert

New Member
> Some people think that Embedded Speedscript is the way to go,
> others that CGI-Wrappers....

Roland, you know that you've got 3 options to develop your application:
Speedscript, Mapped-HTML and CGI-wrappers.
What direction you choose to develop you application depends on a number of things.

Speedscript is pretty much like ASP in the sense that all code is embedded within the HTML. This means that you can (theoretically) use an html editor to do aesthetic changes to your pages even after the development process has been completed. Also if your team has a strong ASP (or other non-Progress) background and you have a separate html-design team, all parts will find this route an easy strategy to adapt to. On the other hand, Speedscript files don't provide the usual structured layout that you get with GUI code, Mapped-html and CGI-wrappers. For this reason maintenance can become a time-consuming (and costly) task.

Mapped-HTML follows concepts found in Smart Objects. So if your team has a smart objects background then they will appreciate following this route. Also logic and aesthetics are separate so, as with Speedscript, aesthetic changes can be handled after development or even concurrently.
In the other hand Mapped is SSSLOW. So if you forecast many hits to your application you've got to develop with a constant look on performance.

Finally, CGI-wrappers offer you structured code but no html/logic separation. This should be fine unless you plan to revamp you site often. Then, modifications to the html layout can become a bit of a nightmare.

I've gone through the three different routes through different projects and I can say that Speedscript is my favourite route.
I don't have a smart objects background so mapped-html is my least favourite.
CGI-wrappers pose a serious difficulty when it comes to modifying the html side of things, but I appreciate the way code is structured when using appBuilder.
Finally the lack of structure in Speedscript can be overcome using structured include files which allows to develop solutions in which aesthetics and logic are fairly independent and the include files are presented in a nice structured manner.

> We are currently going full out on CGI-Wrappers as we are
> pulling our page templates out of a database rather than using
> an html tool to build them. This should, in theory, allow us to
> develop a house style and deploy this easily across a large set
> of pages.

This sounds like a nice way of keeping html and code independent but I worry that having html templates in your database might increase the amount of accesses to you database in a serious manner, particularly if your pages are elaborate (i.e. large).

Also if one of your concerns is to develop a consistent and flexible 'house style' then you should give a good look to cascading style sheets.

HTH.

Robert Tome
 
U

Unregistered

Guest
Maybe I haven't read all of the details here, but I've been using a simple method to web-enable parts of my company's progress database. I write the code for the web pages using asp and the ado data access method. The Merant Data Direct Connect ODBC driver for Progress isn't the most efficient ODBC driver in the world, but it's the best bet for making generic apps that will work with progress.

It's simple, you build the odbc connection, then use whatever odbc compliant technique you're most comfortable with to bring data into your app (web, desktop or otherwise)...

In this manner, I've actually written our app so that customers can have their choice of a backend database. Progress was the database of our original product, and this seemed to be the best way to maintain happy customers for us.
 
U

Unregistered

Guest
From Unregistered to Unregistered. (Boy we are lazy =)

I haven't used the merant drivers, but what do they cost. I dont think the enterprise (mulitple connect) drivers come with Progress when you purchase it.

Also, Most progress folks just hate the idea of using ODBC as an additional layer to do your connect. It is, however, intriguing to be able to build your apps with ASP for the rich support and resources. We'd be building more robust web apps.

TO Roalndw. Roberts comments are dead on. I prefer using the speedscript method myself. The thing I think we are seriously looking into is seperating UI from logic. You want to create your data apps in a way so they are modular and the logic is reusable whether its being used for GUI, character screen apps or the web.
 

rolandw

New Member
Is it just lazyness or do you really not want people to know who you are?

We too are aiming to seperate business rules from UI but then we are trying to also seperate UI from static HTML and make the whole thing as dynamic as possible - not just the data enclosed. That's why we are finding embedded speedscript not so practical. Or is there a way to put embedded speedscript from the database via an embedded speedscript routine and still get it filled (ie force Webspeed to parse the output multiple times...)?
 
U

Unregistered

Guest
>From Unregistered to Unregistered. (Boy we are lazy =)

>I haven't used the merant drivers, but what do they cost. I dont >think the enterprise (mulitple connect) drivers come with >Progress when you purchase it.

Hmm... not lazy, just haven't taken the time to create an account yet.

The merant drivers are about $89 per license, but if your app is browser based, you'll only need the one license for your server. Our database is on a linux box, so we also had to purchase the progress client networking for the 2000 server (about $180 I think).

I'm not a big fan of the ODBC layer either, but it sure makes development quick and easy, and separating business logic from UI is a breeze..
 
Top