Hi!
I'm thinking about evaluating Dolphin Smalltalk for the construction of a small business application for the Windows platform which I might need to write. I'd love to get comments on the questions raised below. I know Smalltalk very well and I also know Dolphin Smalltalk, but I wonder what's available beside the base tools. My application will probably consist (as most application) of four parts: storage, presentation, workflow and reporting. To store data, I could imagine either a relational database or some OODB. As the amount and structure of the data is still very unclear, whatever solution I'll choose, the database schema must be easily changeable. I found MinneStore as a free OODB. I know DS Professional comes with ODBC support. MinneStore looks nice, but is very slow in saving objects (as each object gets its own file) and furthermore, my second test case lead to a recusion-too-deep-exception in the STBFiler code. I also worry whether you can really change the structure of old objects. Is there any Object-relational-mapper available which helps to store an object model into an RDB? I see no problems with the UI (presentation) and workflow stuff. Actually, I think, Smalltalk will help me to implement the latter faster. Will DS be supported on XP? I can seamlessly embedd an IE5 into the UI, can't I? Currently, me biggest concern is printing. I need to generate and print different letters, orders, tabular inventories and so on. If possible at all, I don't want to use an expensive, separately to install third party product like crystal reports. The application should have no administration overhead and should run right from the CD if possible. So are there any solutions written in DS for database access and/or printing? bye -- Stefan Matthias Aust \/ Truth Until Paradox |
Stefan:
I am also interested in this area, and look forward to the answers you get. Concerning Minnestore - have you looked at Omnibase www.gorisek.com? I think there may also be an OR mapping to PostgreSQL Mike "Stefan Matthias Aust" <[hidden email]> wrote in message news:[hidden email]... > Hi! > > I'm thinking about evaluating Dolphin Smalltalk for the construction > of a small business application for the Windows platform which I might > need to write. I'd love to get comments on the questions raised > below. > > I know Smalltalk very well and I also know Dolphin Smalltalk, but I > wonder what's available beside the base tools. > > My application will probably consist (as most application) of four > parts: storage, presentation, workflow and reporting. > > To store data, I could imagine either a relational database or some > OODB. As the amount and structure of the data is still very unclear, > whatever solution I'll choose, the database schema must be easily > changeable. > > I found MinneStore as a free OODB. I know DS Professional comes with > ODBC support. MinneStore looks nice, but is very slow in saving > objects (as each object gets its own file) and furthermore, my second > test case lead to a recusion-too-deep-exception in the STBFiler code. > I also worry whether you can really change the structure of old > objects. > > Is there any Object-relational-mapper available which helps to store > an object model into an RDB? > > I see no problems with the UI (presentation) and workflow stuff. > Actually, I think, Smalltalk will help me to implement the latter > faster. > > Will DS be supported on XP? > > I can seamlessly embedd an IE5 into the UI, can't I? > > Currently, me biggest concern is printing. I need to generate and > print different letters, orders, tabular inventories and so on. If > possible at all, I don't want to use an expensive, separately to > install third party product like crystal reports. > > The application should have no administration overhead and should run > right from the CD if possible. > > So are there any solutions written in DS for database access and/or > printing? > > > bye > -- > Stefan Matthias Aust \/ Truth Until Paradox |
In reply to this post by Stefan Matthias Aust
Stefan Matthias Aust <[hidden email]> wrote in message
news:[hidden email]... > > Is there any Object-relational-mapper available which helps to store > an object model into an RDB? I have been using ReStore ( http://www.solutionsoft.co.uk/restore/ ) for the past few weeks, and I am very impressed with it. It is a very comprehensive implementation. Using the system is almost transparent. At a minimum you have to add a class method to your persistent classes to define how they should be stored. The database tables are defined by the class structure, and it changes as your classes change. The price and features are great. The service is also excellent. I will be using it for a big project in the near future. > Will DS be supported on XP? I sure hope so. ;) I think Andy or Blair can confirm that. > Currently, me biggest concern is printing. I need to generate and > print different letters, orders, tabular inventories and so on. If > possible at all, I don't want to use an expensive, separately to > install third party product like crystal reports. This is going to be an issue for me as well. I am not currently sure how I will handle this. I think I will end up using Crystal Reports unless I can find a better approach. I am under the impression that the Crystal Reports engine can be integrated into an application in a somewhat seamless way. I would be interested to know what you end up using. > The application should have no administration overhead and should run > right from the CD if possible. This _might_ be a problem with Dolphin. I believe it requires that some DLLs be installed and registered. Perhaps someone knows a way around this. If you do have to develop a setup program consider using Inno Setup http://www.jrsoftware.org/isinfo.htm ), it is free and has all the right features. Someone previously recommended it here, and it does exactly what I need. Chris |
In reply to this post by Stefan Matthias Aust
Stefan,
"Stefan Matthias Aust" <[hidden email]> wrote in message news:[hidden email]... [...] > To store data, I could imagine either a relational database or some[...] I've been using ADO (with Dolphin-generated wrappers) with SQL Server 7 and Access 2000. Both work quite nicely, although I've had to add a number of methods to make it (ADO) less annoying to use. Depending on whether you need any of the features of ADO as opposed to ODBC (e.g., some cursor types are only available in ADO), you might want to use the Database Connection. Of course, my data fits pretty well into tables. That, plus the need for an ad hoc front-end like Access (and we already have both Access and SQL Server), pretty much ruled any OODB we could affort (i.e., OmniBase). I plan to come up with with a good excuse to get that eventually, though. [...] > I can seamlessly embedd an IE5 into the UI, can't I? Yes. I've been using the DHTMLEdit control (IE 5.5?), but if you don't need any editing capability, the WebBrowser2 stuff that OA includes seems pretty much ready to use. [...] > Currently, me biggest concern is printing. I need to generate and > print different letters, orders, tabular inventories and so on. If > possible at all, I don't want to use an expensive, separately to > install third party product like crystal reports. If HTML works, IE gives you a lot of printing capabilities, including preview, although control over page layout is admittedly limited. [...] > The application should have no administration overhead and should run > right from the CD if possible. That shouldn't be a problem. IIRC, I think that Windows has been smart enought to look in the (application's) current directory for DLLs since Win 95 or thereabouts. [...] > Stefan Matthias Aust \/ Truth Until Paradox HTH Don |
In reply to this post by Christopher J. Demers
Stefan:
What are your thoughts on Restore for a rank beginner in OODB design? Would it be approachable in the same way that Dolphin is. Another concern I have with these smaller OODB is potential problems with their persistence in the market. It wouldn't do to build your app on an OODB that disappeared. Mike "Christopher J. Demers" <[hidden email]> wrote in message news:9l9a7b$84m84$[hidden email]... > Stefan Matthias Aust <[hidden email]> wrote in message > news:[hidden email]... > > > > Is there any Object-relational-mapper available which helps to store > > an object model into an RDB? > > I have been using ReStore ( http://www.solutionsoft.co.uk/restore/ ) for the > past few weeks, and I am very impressed with it. It is a very comprehensive > implementation. Using the system is almost transparent. At a minimum you > have to add a class method to your persistent classes to define how they > should be stored. The database tables are defined by the class structure, > and it changes as your classes change. The price and features are great. > The service is also excellent. I will be using it for a big project in the > near future. > > > Will DS be supported on XP? > > I sure hope so. ;) I think Andy or Blair can confirm that. > > > Currently, me biggest concern is printing. I need to generate and > > print different letters, orders, tabular inventories and so on. If > > possible at all, I don't want to use an expensive, separately to > > install third party product like crystal reports. > > This is going to be an issue for me as well. I am not currently sure how > will handle this. I think I will end up using Crystal Reports unless I can > find a better approach. I am under the impression that the Crystal Reports > engine can be integrated into an application in a somewhat seamless way. I > would be interested to know what you end up using. > > > The application should have no administration overhead and should run > > right from the CD if possible. > > This _might_ be a problem with Dolphin. I believe it requires that some > DLLs be installed and registered. Perhaps someone knows a way around this. > If you do have to develop a setup program consider using Inno Setup > http://www.jrsoftware.org/isinfo.htm ), it is free and has all the right > features. Someone previously recommended it here, and it does exactly what > I need. > > Chris > > |
Oops I see Restore is an OR mapping program, my mistake. For that matter
have you looked at Glorp? Mike "Michael Chean" <[hidden email]> wrote in message news:[hidden email]... > Stefan: > > What are your thoughts on Restore for a rank beginner in OODB design? Would > it be approachable in the > same way that Dolphin is. Another concern I have with these smaller OODB is > potential problems with > their persistence in the market. It wouldn't do to build your app on an > OODB that disappeared. > > Mike > > "Christopher J. Demers" <[hidden email]> wrote in > message news:9l9a7b$84m84$[hidden email]... > > Stefan Matthias Aust <[hidden email]> wrote in message > > news:[hidden email]... > > > > > > Is there any Object-relational-mapper available which helps to store > > > an object model into an RDB? > > > > I have been using ReStore ( http://www.solutionsoft.co.uk/restore/ ) for > the > > past few weeks, and I am very impressed with it. It is a very > comprehensive > > implementation. Using the system is almost transparent. At a minimum > > have to add a class method to your persistent classes to define how they > > should be stored. The database tables are defined by the class structure, > > and it changes as your classes change. The price and features are great. > > The service is also excellent. I will be using it for a big project in > the > > near future. > > > > > Will DS be supported on XP? > > > > I sure hope so. ;) I think Andy or Blair can confirm that. > > > > > Currently, me biggest concern is printing. I need to generate and > > > print different letters, orders, tabular inventories and so on. If > > > possible at all, I don't want to use an expensive, separately to > > > install third party product like crystal reports. > > > > This is going to be an issue for me as well. I am not currently sure > I > > will handle this. I think I will end up using Crystal Reports unless I > can > > find a better approach. I am under the impression that the Crystal > Reports > > engine can be integrated into an application in a somewhat seamless way. > I > > would be interested to know what you end up using. > > > > > The application should have no administration overhead and should run > > > right from the CD if possible. > > > > This _might_ be a problem with Dolphin. I believe it requires that some > > DLLs be installed and registered. Perhaps someone knows a way around > this. > > If you do have to develop a setup program consider using Inno Setup > > http://www.jrsoftware.org/isinfo.htm ), it is free and has all the > > features. Someone previously recommended it here, and it does exactly > what > > I need. > > > > Chris > > > > > > |
In reply to this post by Stefan Matthias Aust
Stefan,
A partial reply: > I found MinneStore as a free OODB. I know DS Professional comes with > ODBC support. MinneStore looks nice, but is very slow in saving > objects (as each object gets its own file) and furthermore, my second > test case lead to a recusion-too-deep-exception in the STBFiler code. > I also worry whether you can really change the structure of old > objects. I can't comment on MinneStore, but, I use STB in various situations and have found it to be reliable. Conversions are indeed possible; one simply needs to write conversion methods. I recommend using the "incremental approach" that's illustrated in the base system. Did you change a layout prior to encountering the stack overflow error? If so, you might want to try writing a converter method. You might have to resort to some tricks if you have different instance variable layouts all claiming to be at STB version 0. Rather than resort to hacks like that, you might prefer to simply create a new database and change the STB version number as you alter the layout so that the newer objects would report a different version number. Have a good one, Bill -- Wilhelm K. Schwab, Ph.D. [hidden email] |
In reply to this post by Stefan Matthias Aust
Hi Stefan,
> To store data, I could imagine either a relational database or some > OODB. As the amount and structure of the data is still very unclear, > whatever solution I'll choose, the database schema must be easily > changeable. > > I found MinneStore as a free OODB. I know DS Professional comes with > ODBC support. MinneStore looks nice, but is very slow in saving > objects (as each object gets its own file) and furthermore, my second > test case lead to a recusion-too-deep-exception in the STBFiler code. > I also worry whether you can really change the structure of old > objects. I'd recommend OmniBase for an OODB. I haven't used it "in anger" but playing around with it seemed to suggest that it was well implemented. OmniBase is used as the repository in David Gorisek's Source Tracking System; an ENVY-like multi-developer product which is also a steal at $75 (www.gorisek.com). > Is there any Object-relational-mapper available which helps to store > an object model into an RDB? Yes, try ReStore, which seems to work well ( http://www.solutionsoft.co.uk). I don't think the Camp Smalltalk GLORP project has been ported to Dolphin yet. > Will DS be supported on XP? Yes. > I can seamlessly embedd an IE5 into the UI, can't I? Yes. The "Simple Web Browser" package does this as does the TipOfTheDay window. > Currently, me biggest concern is printing. I need to generate and > print different letters, orders, tabular inventories and so on. If > possible at all, I don't want to use an expensive, separately to > install third party product like crystal reports. I have no real suggestions here. > The application should have no administration overhead and should run > right from the CD if possible. You should be able to get your Dolphin app to run directly from the CD if you include the VM in the same directory as the EXE. If there is no VM registered on the user's computer this one should be found and used okay. If you ever picked up one of the Dolphin 4.0 trial CDs you'll see that the AutoPlay executable was written in Dolphin and executes directly from the CD in this manner. Best Regards, Andy Bower Dolphin Support http://www.object-arts.com --- Are you trying too hard? http://www.object-arts.com/Relax.htm --- |
In reply to this post by mchean
Michael Chean <[hidden email]> wrote in message
news:[hidden email]... > Oops I see Restore is an OR mapping program, my mistake. For that matter > have you looked at Glorp? I did try to look into Glorp. When I looked at it it looked like it had not been updated for a few months, and did not look like it was in a complete state, the status is "pre-alpha". I also did not think there was a Dolphin version available. As I was in the process of considering different db options I heard about ReStore. The introductory price is $150, and it does just about everything I need in an almost transparent way it was exactly what I was looking for. I found it easy to use (even before the manual was released). The class determines the table structure, and it can create all the tables automatically. The resulting DB tables are easy to make sense of, so one could use them to interface with other systems if needed or conceivably even for direct reporting (like in Crystal Reports). It uses transactions that can be rolled back and can handle conflicts on a multi-user system. It even does some block parsing in order to avoid instantiating objects when filtering in queries. It is a very powerful system, but the user is sheltered from most of the complexities. I have not done any heavy lifting with ReStore yet, but I have been doing some experiments using my objects to put it through its paces and so far I am very pleased with it. After I go through the motions of using it in a real application, that will put it through some heavy lifting, I will post a review in this group. Chris |
In reply to this post by mchean
Michael Chean <[hidden email]> wrote:
> Oops I see Restore is an OR mapping program, my mistake. For that matter > have you looked at Glorp? ReStore approaches the O-R mapping problem from a slightly different angle to most other interfaces (including GLORP) by using your Smalltalk object model as the basis for the DB schema. The advantage of this approach is that the database structure is optimised for O-R mapping (although it is a sensible database structure that other applications could easily interface with). Also ReStore is able to automatically maintain the database as your object model changes - a serious advantage, especially if you have limited database experience. For further details on ReStore, please see the FAQ: http://www.solutionsoft.co.uk/restore/faq Regards, John Aspinall Solutions Software www.solutionsoft.co.uk www.solutionsoft.co.uk/restore |
In reply to this post by Christopher J. Demers
Christopher J. Demers <[hidden email]> wrote:
> As I was in the process of considering different db options I heard about > ReStore. The introductory price is $150, and it does just about everything > I need in an almost transparent way it was exactly what I was looking for. There's not much I can add to Chris' comments, except to say that ReStore is configurable for most databases which have an ODBC driver. Out of the box, there are configurations for MS Access and MySQL; other customers are using SQL Server and PostgreSQL, and configurations for Oracle 7 and 8 are in development. Regards, John Aspinall Solutions Software www.solutionsoft.co.uk www.solutionsoft.co.uk/restore |
In reply to this post by Andy Bower
"Andy Bower" <[hidden email]> wrote in message
news:9l9qb8$8a2pc$[hidden email]... > ... > > The application should have no administration overhead and should run > > right from the CD if possible. > > You should be able to get your Dolphin app to run directly from the CD if > you include the VM in the same directory as the EXE. If there is no VM > registered on the user's computer this one should be found and used okay. If > you ever picked up one of the Dolphin 4.0 trial CDs you'll see that the > AutoPlay executable was written in Dolphin and executes directly from the CD > in this manner. For the sake of completeness I'll just mention that we forgot to include the C runtime libraries (MSVCRT.DLL and MSVCIRT.DLL) on the trial CD, so it doesn't autorun on systems where those are not installed (not common, given the ubiquity of those DLLs, but it does occur). This is easily fixed though, and if VM and CRT DLLs are on the CD then a Dolphin app. will run directly off a CD as long as it doesn't use the Dolphin compiler at runtime. The compiler still needs to be registered separately in the current release, although it would be pretty easy to arrange for the application to register it. You can read about the complete installation requirements in the education centre: http://www.object-arts.com/Lib/EducationCentre4/htm/distributingyourapplicat ion.htm Regards Blair |
In reply to this post by Don Rylander-3
Don -
I'm curious to hear more about your experience with the DHTMLEdit control - we have been using WebBrowser to display HTML reports, but are interested in getting basic HTML editing into our application. Are you using this control to provide the user with HTML editing? What were your experiences? TIA - Jeff Odell "Don Rylander" <[hidden email]> wrote in message news:9l9e9u$8am0o$[hidden email]... > Stefan, > > "Stefan Matthias Aust" <[hidden email]> wrote in message > news:[hidden email]... > [...] > > To store data, I could imagine either a relational database or some[...] > > I've been using ADO (with Dolphin-generated wrappers) with SQL Server 7 and > Access 2000. Both work quite nicely, although I've had to add a number of > methods to make it (ADO) less annoying to use. Depending on whether you need > any of the features of ADO as opposed to ODBC (e.g., some cursor types are only > available in ADO), you might want to use the Database Connection. Of course, > my data fits pretty well into tables. That, plus the need for an ad hoc > front-end like Access (and we already have both Access and SQL Server), pretty > much ruled any OODB we could affort (i.e., OmniBase). I plan to come up with > with a good excuse to get that eventually, though. > > [...] > > I can seamlessly embedd an IE5 into the UI, can't I? > > Yes. I've been using the DHTMLEdit control (IE 5.5?), but if you don't need > any editing capability, the WebBrowser2 stuff that OA includes seems pretty > much ready to use. > > [...] > > Currently, me biggest concern is printing. I need to generate and > > print different letters, orders, tabular inventories and so on. If > > possible at all, I don't want to use an expensive, separately to > > install third party product like crystal reports. > > If HTML works, IE gives you a lot of printing capabilities, including preview, > although control over page layout is admittedly limited. > > [...] > > The application should have no administration overhead and should run > > right from the CD if possible. > That shouldn't be a problem. IIRC, I think that Windows has been smart enought > to look in the (application's) current directory for DLLs since Win 95 or > thereabouts. > > [...] > > Stefan Matthias Aust \/ Truth Until Paradox > > HTH > > Don > > |
Jeff,
"Jeffrey Odell" <[hidden email]> wrote in message news:3b78c3fe$[hidden email]... > Don - > > I'm curious to hear more about your experience with the DHTMLEdit control - > we have been using WebBrowser to display HTML reports, but are interested in > getting basic HTML editing into our application. Are you using this control > to provide the user with HTML editing? What were your experiences? I just started using it a few weeks ago, and coding has become a small part of my job these days, so that doesn't amount to much experience with it. It's nice to have what's essentially a full-fledged word processor to embed in your application, though. I started out using the IE stuff based on the way OA did it for tips, where you just set the document's HTML as an "about:" URL, but quickly got beyond the URL's maximum length (somewhere between 1 and 2K, IIRC--the control doesn't give an error, by the way). The only real issue I've had with the control is that I wish its document object model were available sooner. It's not there until the window is fully created, so you need to be a bit careful. You can always set the documentHTML property of the control, but that seems to result in the creation of a new DOM, which isn't always what you want. The other thing is that the MSHTML package is huge, over 7MB. For that reason, I switched back to doing my initial rudimentary word processing (bullets, indentation, heading styles, etc.) stuff in a multiline text edit. It also makes it easier to confirm that I've set tags correctly. It's probably not a good idea to spend too much time heading down that path, though, since I think most of what I want is already done in the MSHTML stuff. HTH Don > > TIA - > > Jeff Odell |
In reply to this post by John Aspinall-2
John:
This sounds very interesting. Its hard to get a clear picture of it from the web page, but I will look at it again. Are you happy with the speed of data access using ReStore as a OR layer? I've had mixed results using ODBC. Without a doubt its slower than Visual Foxpro native tables. Can I ask what size tables you'll be dealing with? Mike "John Aspinall" <[hidden email]> wrote in message news:9laqd7$8ag1q$[hidden email]... > Michael Chean <[hidden email]> wrote: > > Oops I see Restore is an OR mapping program, my mistake. For that matter > > have you looked at Glorp? > > ReStore approaches the O-R mapping problem from a slightly different angle > to most other interfaces (including GLORP) by using your Smalltalk object > model as the basis for the DB schema. The advantage of this approach is that > the database structure is optimised for O-R mapping (although it is a > sensible database structure that other applications could easily interface > with). Also ReStore is able to automatically maintain the database as your > object model changes - a serious advantage, especially if you have limited > database experience. > > For further details on ReStore, please see the FAQ: > > http://www.solutionsoft.co.uk/restore/faq > > > Regards, > > John Aspinall > Solutions Software > www.solutionsoft.co.uk > www.solutionsoft.co.uk/restore > > |
Mike,
> This sounds very interesting. Its hard to get a clear picture of it from > the web page, but I will look at it again. Please feel free to email me off list if you have any specific questions. As a quick summary, with ReStore you can add relational persistency to your Dolphin application by defining just one method per class - ReStore will then create your table structure when you tell it to synchronizeAllClasses. This is in contrast to a traditional O-R mapping tool where you would need to create the tables yourself and define a mapping between those and your Dolphin classes - and then manually keep the two in sync. > Are you happy with the speed of data access using ReStore as a OR layer? > I've had mixed results using ODBC. I've not noticed any problems with the databases I use most of the time (Access and MySQL). The performance overhead of ReStore itself is fairly minimal; overall performance will depend primarily on the database and the ODBC driver. As a very rough guide, for the following simple class: Object subclass: #Person instanceVariableNames: 'surname firstName emailAddress' ...it takes around 1.5 seconds to create and insert 1000 instances into an Access database (running on the same 800MHz machine as the image). Reading back and instantiating the instances takes 260ms. The figures for MySQL are similar, with creation being slightly faster. This isn't really a very representative test, however - in general ReStore accesses the database on demand as you traverse your object model, so interaction tends to be frequent, with smaller amounts of data. > Without a doubt its slower than Visual Foxpro native tables. Can I ask > what size tables you'll be dealing with? I've no direct experience with Foxpro. As for table sizes, my test cases vary from the very simple (e.g. the above) to more comprehensive tests covering all possible datatypes and relationships. If you have anything specific in mind, please let me know. Regards, John Aspinall Solutions Software www.solutionsoft.co.uk www.solutionsoft.co.uk/restore |
Free forum by Nabble | Edit this page |