|
Post by kokenge on Jul 18, 2008 7:45:18 GMT -5
Ok! After writing a few development tools, I decided I was ready to write my first application.
My question is - What is the best way to integrate the applications? Far as I know, there is no way to include sections for each application. The "run" command requires a project for each program. So not a solution.
It looks like the only way is to place all the applications into one big program. Is that correct?? Not a big problem, but awkward.
Just a general question on how others have handled this?
Thanks for the help. Have a great day.. Dan
|
|
|
Post by votan on Jul 18, 2008 7:54:39 GMT -5
Guess you have to wait... like we all have to do.... to see RB evolve a bit more. There are many things missing in the current state of the software that makes real usage of RB impossible.... guess we have to push Carl and his crew to speed up development.... But how?
|
|
|
Post by kokenge on Jul 18, 2008 10:22:30 GMT -5
I really like fact that Run Basic keeps it simple. The old Kiss Model (keep it simple stupid). Even if I have to create one large program, I'll still be ahead.
I currently have a PHP application I support for Winery Management. It is currently around 1000 programs and over 120 mySQL tables. By the time you add Order Entry, Accounting, Customers, Vendors, Storage, Products, Language Translation, Inventory, Receivables and all the rest to support a company it adds up. Just to maintain most of the files is a lot of programs.
The complexity to handle session control adds a lot of overhead. Just the DB tables to do it is a maintenance problem in itself. Not sure, but I suspect it is 15 to 20% overhead.
I think in Run Basic I can drop the tables by 20% t0 30%, and the program complexity will drop because of Session Control.
If I do need to create one BIG program, I will still be ahead of the game. Wouldn't like to do it, but will if I have to..
I just want to know how others have handled Application Development. Do they do it in one big application??
Thanks again..
|
|
|
Post by mackrackit on Jul 18, 2008 12:13:41 GMT -5
This may not help in yourcase... I pass variables back and forth between app (LB and RB) via a text document. I would think you could have one RB app do its thing, save the results to a file and then a link like the in the program manager example will open the next RB app needed and read the data saved by the first app. Think of the data file as a set of global variables, maybe in this case they should be called 'universal' variables ?
|
|
|
Post by Carl Gundel - admin on Jul 18, 2008 16:17:12 GMT -5
Ok! After writing a few development tools, I decided I was ready to write my first application. My question is - What is the best way to integrate the applications? Far as I know, there is no way to include sections for each application. The "run" command requires a project for each program. So not a solution. It looks like the only way is to place all the applications into one big program. Is that correct?? Not a big problem, but awkward. Just a general question on how others have handled this? Thanks for the help. Have a great day.. Dan Look at the program manager example. It shows how to have one main program that can launch different modules. -Carl
|
|
|
Post by Carl Gundel - admin on Jul 18, 2008 16:19:12 GMT -5
Guess you have to wait... like we all have to do.... to see RB evolve a bit more. There are many things missing in the current state of the software that makes real usage of RB impossible.... Impossible for what? A few years ago someone appeared in the Liberty BASIC community appeared with great enthusiasm but then when the software didn't become what he wanted it to be he made a lot of unpleasant noise and then left in a huff. Try spreading the word about RB. The faster we can get the sales engine going the more work we will be able to do. -Carl
|
|
|
Post by votan on Jul 18, 2008 16:27:00 GMT -5
Well, that was just my opinion.... I love RB.... for me it just still lacks many features that I would need to get my projects done in RB. I actually need RB as this is the only language I can use.... PHP, Perl, Ruby etc require to much time to learn... So don't think I just wanna make some noise and then leave in a huff! I want to help make RB more usefull.. cause right now it is only suitable for a really small viority of aps.... Unfortunatily we can not see what things currently are in development or when the next version will come.... So we can only hope and wait..... (and hoping and waiting really sucks! ) Maybe you could do something like a to-do list.... together with the users, to get the things done, that users need the most.... with the list showing what features are planed and what are allready done.
|
|
|
Post by kokenge on Jul 18, 2008 17:06:48 GMT -5
I'm not offering any opinion. I simply want to know how others have done application development.
I looked at the application I have written in PHP and it's around 800 programs. And wondered how to convert it.
From everything I read, it looks like each program has to be a project. That means I'd have to manage hundreds of projects. That is something I personally can't manage.
Being new to Run Basic, I simply don't know? If I have to write one large program - so be it. Won't like it, but will do it. But multiple projects are not something I can manage.
I was a little concerned because one large program will be somewhat big. A minimum of 20,000 lines probably more like 40,000 lines of code.
I guess I still need to know how others handle application development?
Thanks for the help..
|
|
|
Post by votan on Jul 19, 2008 4:26:18 GMT -5
Yeah, well..... you are trying to compare RB with PHP. But RB is not PHP... many things you can do with PHP can't be done in RB (at least at the current state of RB). You can't use seperate classes or access external programs.... So the programs you write in RB will of cause look completely different from PHP programs... I would still not try to pack everything in one big app!! You can still split your project into several seperate programs.... you basically named the seperate programs yourself already (inventory, products, customers etc...) while all share the same DB. So you can for example see in your products catalog the current stock for that product and can link them all together. If I get you right, you will have like a company backend, where you can maintain all your products, customers etc... and a cutomer frontend, where customers can check products and place orders.... so this would also include a shopping system then. Can all be done in RB... But as soon as it comes to handling images, things become limited. When you add a product, you propably want to ad photos.... can be done.. but you have to generate all the different previews yourself and also ad them manually, as RB does not offer any sort of image manipulation or access to external programs that could do such things. Or you can't create a mail form, that allows your customers to email contracts, documents or stuff to you, as attachments aren't supportet yet. Of cause, all this can be added later, when these features become available.... but adding new features and redoing such big-sized apps really is no fun! All I want to say is.. before you decide to do such an intensive program in RB, make sure RB can do exactly what you need.... Else better wait till does! But if RB already can do anything you need.... then go for it!
|
|
|
Post by Jerry Muelver on Jul 19, 2008 5:34:50 GMT -5
Dan, take a look at rbCMS. There may be some ideas there for you. The notion of generating many pages from one script, for instance, could give you a way to organize your subprogram structure. I've only just scratched the surface with this pilot version. runbasicnet.com/demo
|
|
|
Post by kokenge on Jul 19, 2008 8:44:47 GMT -5
Thanks everyone for your ideas and help. Lots of ideas.
I thought about breaking up the system before, and it wouldn't be easy. Currently most of the wineries I have are large and they only ship to distributors. So the customers are distributors. In fact the warehouses are only a buffer and most wine is sold before it is made. Problem is, wine production is a very complex manufacturing process. The most complex manufacturing systems I ever wrote anyway. Everything is integrated. When they start a production cycle, it can take a few weeks. The wine process is constantly monitored by the winemakers, with lab samples at least once an hour. The lab system and history is another issue. For example one of the wineries has about 35 wine processes going all the time. Each takes about 3 to 6 samples once every hour so that's over 100 samples an hour 24/7. Most bottling rooms have multiple lines going and they are looking at what is coming. Tanks in general are monitored all the time with samples. One winery has about 1500 tanks and they are sampled once a day. so add another 1500 samples. Compliance is constantly checking production for government compliance along with shipping orders. Sales is looking at forecast and they link what is in the whorehouse with what is in production, and what the winemakers say they will do. The government wants to trace a bottle all the way back in history and find what the samples were, how it was blended, and what vineyard it came from. Winemakers are also looking all the time to find out what made a good blend or bad so they can improve their product. The glass plants are making bottles based on production estimates. The crush system is a very complex issue and payments based on sugar and tonnage you don't even want to know.
I can go on, but basically you can see there is no way to break it up. It has to all fit together from the day they sign a grower contract and for years after production.
So it looks like one big program.
I wrote a program to generate Run Basic code based on what is in the Database, and wrote a database management system. So I have a start on the process. The Program generator will at least cut 70% of programming time.
I'm going to try and write something simple first. So decided to try the Storage system for one of the wineries that has about 1500 tanks and see how it goes. Integrating the tank levels will be a little complex. I figure I can sample the tanks about once every 10 to 20 seconds, and monitor the moving tanks about every 5 seconds. The tank monitoring can be done on the client side and report results to the server every hour or so. If someone wants to look at the level it will ask the client system for the current level. The system has to make sure that the quantity pumped from tanks is what is received in the tanks it is pumped to.The average tank is about 600,000 gallons. Each tank has it's own gauge formula for a lot of reasons.
So I'll see how this simple process goes first. This will give me some idea of what to expect
Thanks again for the help and ideas. Dan
|
|
|
Post by milfredo on Aug 29, 2008 19:30:35 GMT -5
This may seem out of context or maybe a bit on the novice side, but I'm just looking for some guidance.
I have been programming in Liberty Basic for a long time. I have the desire to write some programs that I can market on the Internet. Not sure what to do. I suspect that I need something like Run Basic.
So here is the question? With RB can I write a program that I can market that will allow people to download to their computers and then the program will be able to access the internet and do something depending on what I choose to do..application wise?
Or would I write a program in LB and then have it interface with RB to access the Internet...if that is even possible?
Any advice would be greatly appreciated. Milfredo
|
|
|
Post by Carl Gundel - admin on Aug 29, 2008 21:33:35 GMT -5
So here is the question? With RB can I write a program that I can market that will allow people to download to their computers and then the program will be able to access the internet and do something depending on what I choose to do..application wise? Or would I write a program in LB and then have it interface with RB to access the Internet...if that is even possible? Milfredo, Run BASIC is a web appserver. It is meant that you write your application and host it on the RB server. Users access your applications in their web browsers. Now, if you really want to use Run BASIC as a way to create services that can be called by a Liberty BASIC app using HTTP, then sure, you can do this too but perhaps your application will work well in a web browser? I think the right thing to do is state what application you're trying to create. Then we can help you figure out whether RB is a good fit. I hope this helps. -Carl
|
|
|
Post by StefanPendl on Aug 30, 2008 2:32:48 GMT -5
With RB can I write a program that I can market that will allow people to download to their computers and then the program will be able to access the internet and do something depending on what I choose to do..application wise? As Carl said, is depends on the sort of application you are writing. In general people have already written applications in LB, that are downloadable by others and access the internet to collect information or get updates.
|
|
|
Post by milfredo on Sept 3, 2008 20:00:07 GMT -5
Thanks guys....man....not 2 better people to get answers from....than you two. I really appreciate it.
I will put my thinking cap on and see what I come up with. Thanks again.
I tell everybody I know about LB. Now I will spread the word about RB.
Milfredo
|
|