OO design is provoking
Hello,
I want to build a good website rapidly that is easy to add new features. I want to program my site in a platform-independant programming language so it can be ported to different platforms easily.
One suggestion is to program the interface using XSLT. There are XSLT compilers that translate them to Java code for speed. XSLT can translate tomany different formats.
I used to program in PHP but it is getting harder to manage. I want my site to be programmed in Java.
I want a database abstraction layer that supports stored procedures, or an object-relational mapper that supports stored procedures. I want one platform-independant language that generates both database code and business object code. If the DBMS management system does not support stored procedures, it generates code on in Java (for example, a loop in Java that calls the database many times, but it increases latency). If the DBMS does support it, it generates stored procedures for the DBMS maximum efficiency.
I want the user to easily customize the layout of the site.
The site is going to have many faceted navigation and layout. Many faceted navigation are harder to manage.
I want the site to be automatically translatable by software.
I want my site to support automatic pagination. I want the site to generate automatic table of contents. I want the content to be stored to XML in the database. Allow the user to navigate the hierarchy of the site easily.
By default, the site should automatically generate Ajax to reduce latency. If the browser does not support Ajax, the page is reloaded on every callback.
The site should also genereate cascading stylesheets from XSLT templates.
In MVC, instead of writing code for every View, I want the View to directly query the database through a database abstraction layer. Therefore, the user can modify the site very easily.
I want the website to automatically generate web forms. The forms that are submitted to DB must be the same maxlength as the DB column size. Use Ajax on forms. Forms are generated from the DB columns' size and type and formatted by CSS. The forms must be validated with JavaScript first. Most of the JavaScript is automatically generated by the server. Forms are validated against the server next. Automatically generate informative and translatable messages of why the input is invalid if it is invalid.
The database shema and form validation code are automatically generated from a platform-independant language.
Everything must be abstract as possible.
Add another View should be very easy by only adding a XSLT template that quies data from the database. The XSLT template generates Ajax, XHTML, CSS, SQL, labels, captions, forms, JavaScript validation for forms, and images automatically.
The XSLT should also generate PNG and JPEG image files from svg. For example, I want to add a gradient to a navigational element to the website layout. However, CSS only support colors, not gradients. I want to specify a gradient in XSLT and then generates PNG and JPEG images that are gradients for CSS. PDF supports gradients.
Another example, I want to generate text with borders and drop shadows. CSS does not support them. When I want to specify the text in XSLT or XML to be bordered, I add a tag that makes borders on the text. The XSLT generates bordered text images.
I want my site to automatically learn stuff by reading information from the Internet. I want my site to automatically generate quality content from the stuff it learned. I want my site to have strong artificial intelligence. I want my site to automatically write articles for me. I want my site to have the ability to modify the itself.
How do I start making a site like this?
Thank you very much.
[3849 byte] By [
alta] at [2007-10-2 18:17:08]

> Hello,
>
> I want to build a good website rapidly that is easy
> to add new features. I want to program my site in a
> platform-independant programming language so it can
> be ported to different platforms easily.
What do you mean by "platform"? From Java EE to .NET? Or Windows to *nix? Or WebLogic to Tomcat?
I'd worry more about making it functional than portable. JMO.
> One suggestion is to program the interface using
> XSLT. There are XSLT compilers that translate them to
> Java code for speed. XSLT can translate tomany
> different formats.
Don't see an advantage here. What's wrong with straight JSP or Velocity? Unless you have your data as XML now, XSLT isn't going to buy you much.
> I used to program in PHP but it is getting harder to
> manage. I want my site to be programmed in Java.
You can make a mess in any language.
> I want a database abstraction layer that supports
> stored procedures, or an object-relational mapper
> that supports stored procedures.
Why stored procedures?
iBatis or Hibernate will do here. Learn the DAO pattern for your persistence layer.
> I want one
> platform-independant language that generates both
> database code and business object code.
Huh? You've got to generate something. Usually people will write the business objects and use annotations to generate the persistence layer from that. You've got write something sometime.
> If the DBMS
> management system does not support stored procedures,
> it generates code on in Java (for example, a loop in
> Java that calls the database many times, but it
> increases latency). If the DBMS does support it, it
> generates stored procedures for the DBMS maximum
> efficiency.
If you're looping in Java to do network calls, you haven't done it right. Learn how to write JOINs.
> I want the user to easily customize the layout of the site.
Maybe AJAX is the thing for you here.
> The site is going to have many faceted navigation and
> layout. Many faceted navigation are harder to
> manage.
What does "many faceted" mean?
Complex navigation can be done with Spring Web Flow, but it won't be dynamic. You'll have it configured when you start the app.
> I want the site to be automatically translatable by software.
Sounds like you're one of those folks who would like to push a button and generate a whole application from UML. Good luck with that.
> I want my site to support automatic pagination. I
What does this mean? If you have a query that returns millions of results, you want to be able to let users walk through them 10-25 at a time, like Google? You'll have to write that.
> want the site to generate automatic table of contents.
Put it in a database and generate it.
> I want the content to be stored to XML in the database.
Sounds static to me. Better to have more dynamic content.
> Allow the user to navigate the hierarchy of the site easily.
That's a design issue. You said you were a PHP programmer. Were you good at site design? Java won't make you better if you weren't.
> By default, the site should automatically generate
> Ajax to reduce latency.
I don't know of any tool that will do all this automatic stuff that you keep referring to. I'll be watching this thread to see if anyone else answers.
> If the browser does not
> support Ajax, the page is reloaded on every
> callback.
What browser doesn't support AJAX? Do you know what AJAX is?
> The site should also genereate cascading stylesheets
> from XSLT templates.
Nobody can do that for you. You have to generate what the look of the page is. XSLT doesn't replace or generate CSS.
> In MVC, instead of writing code for every View, I
> want the View to directly query the database through
> a database abstraction layer. Therefore, the user can
> modify the site very easily.
>
> I want the website to automatically generate web
> forms. The forms that are submitted to DB must be the
> same maxlength as the DB column size. Use Ajax on
> forms. Forms are generated from the DB columns' size
> and type and formatted by CSS. The forms must be
> validated with JavaScript first. Most of the
> JavaScript is automatically generated by the server.
> Forms are validated against the server next.
> Automatically generate informative and translatable
> messages of why the input is invalid if it is
> invalid.
>
> The database shema and form validation code are
> automatically generated from a platform-independant
> language.
>
> Everything must be abstract as possible.
>
> Add another View should be very easy by only adding a
> XSLT template that quies data from the database. The
> XSLT template generates Ajax, XHTML, CSS, SQL,
> labels, captions, forms, JavaScript validation for
> forms, and images automatically.
>
> The XSLT should also generate PNG and JPEG image
> files from svg. For example, I want to add a gradient
> to a navigational element to the website layout.
> However, CSS only support colors, not gradients. I
> want to specify a gradient in XSLT and then generates
> PNG and JPEG images that are gradients for CSS. PDF
> supports gradients.
>
> Another example, I want to generate text with borders
> and drop shadows. CSS does not support them. When I
> want to specify the text in XSLT or XML to be
> bordered, I add a tag that makes borders on the text.
> The XSLT generates bordered text images.
>
> I want my site to automatically learn stuff by
> reading information from the Internet. I want my site
> to automatically generate quality content from the
> stuff it learned. I want my site to have strong
> artificial intelligence. I want my site to
> automatically write articles for me.
> I want my site
> to have the ability to modify the itself.
Let's see - a site that completely generates and modifies itself. Good luck with that. Issac Asimov, is that you?
> How do I start making a site like this?
I don't know. You're asking far too much for me to answer.
I'll recommend that you learn Spring. I think it'll help with some of it.
But you'll also have to temper some of your expectations. Either you're overreaching or you're far more talented than I am. I don't think a lot of what you require can be done at all; certainly not easily. Your requirements border on laughable.
%
> How do I start making a site like this?
I don't know but I want that too, only better than you just described.
Dig into all the technologies that claim to be the best and so soft for
your hands yadda yadda yadda. If/when you emerge try to pick as few
of those technologies that can handle your requirements and hope
that they're (those technologies) still there after a couple of years.
Don't be misled by all the marketing hype around all those half decent,
half thought out technologies and variations thereof. Mankind can not
escape entropy, iow maximisation of chaos, we're part of it.
kind regards,
Jos ( < optimist ;-)
JosAHa at 2007-7-13 19:37:24 >

> Hello,
>
> I want to build a good website rapidly that is easy
> to add new features. I want to program my site in a
> platform-independant programming language so it can
> be ported to different platforms easily.
You have come and post this in Java forum.. so anonymous choice would be go for java technologies..... and other than that ther is nothing exists
>
> One suggestion is to program the interface using
> XSLT. There are XSLT compilers that translate them to
> Java code for speed. XSLT can translate tomany
> different formats.
>
Correct.. There are many standard frame works available in the market like Struts , JADE .. ... you can choose one of those and start the rapid application development.
> I used to program in PHP but it is getting harder to
> manage. I want my site to be programmed in Java.
>
Use those frmeworks, thye are going to take care of all the qualitiies of the application. They would enforce the discipline across the programmers.
> I want a database abstraction layer that supports
> stored procedures, or an object-relational mapper
> that supports stored procedures. I want one
> platform-independant language that generates both
> database code and business object code. If the DBMS
> management system does not support stored procedures,
> it generates code on in Java (for example, a loop in
> Java that calls the database many times, but it
> increases latency). If the DBMS does support it, it
> generates stored procedures for the DBMS maximum
> efficiency.
See, generation of cide is not possible ... YOu have to write your code.. Tell me one RDBMS that does not support stroed procedure.. Yes I agree, stored procedures are different from different DBs.. so as you said you can write Java strored procedures and deploy whichever DB u have.........
Generation code is ruled out
I want the moon in a bucket. Is there a framework that will deliver that?
Thank you all for your generous.
However, I want to build a scientific site.
I am experienced with SQL, graphic design, web design, and Java. However, I am new to Java web development. I used to use PHP because of its simplicity for web design--I do not need to compile PHP, and PHP is easy to setup for very rapid application development. Using PHP is far beyond competence to make a the application.
The prominent reasons I switched to Java because it is easier to maintain, much faster than PHP, includes a wide variety of prewritten libraries.
Speed, scientific libraries, and the similarity between C and C++ of Java are vital to scientific web and desktop application development.
I can generate MathML code using libraries. If MathML is not supported, then using SVG to display equations is a possibility. If SVG is not supported, then use PNG to display equations.
I use Batik to rasterize SVG images.
I use a ray-tracer such as POV-Ray to render 3D objects.
I use arbitrary-precision arithmetic packages to do mathematical computations.
I use math libraries and computer algebra systems to do symbolic and numeric computation.
But writing the GUI is irksome. GUIs generated from XSL are not search-engine-friendly. I want search-engine friendly URLs.
The existing frameworks only generate HTML. It does not generate other formats. It's hard to port the web application to a desktop application. Its hard to port it to a educational Java applet and scientific Java games.
I want it to generate at least XHTML 1.0 strict, CSS valid, WAI-AA WCAG 1.0, WAI-AA ATAG 1.0, and WAI-AA UAAG 1.0 pages. I know how to write them by hand, but I must generate it. Using the available frameworks will not generate them.
I want to write a custom platform-independant math-oriented programming language using a compiler-compiler such as JavaCC.
I want to write mathematical Java applets. I can write Java applets using JOGL to make 3D objects.
However, is there any quick way to port a web application to a Java applet and vice versa? For example, I want to write an educational game in a Java applet and reuse some of the code in the server. If I want to reuse some scientific code stored on the database server and use it in a Java applet.
One way to overcome the problem is to use a platform-independant language that can be interpreted by the server and both the Java applet. What are other ways?
But the main thing that provokes me is the web GUI. The GUI gets harder and harder to maintain when the XHTML specification changes, or XForms have to be generated.
One solution is to use a XSLT to style and query everything from the database. Then use XSL-FO to generate pagination for PDF documents.
However, using perplexing XSLT is a huge mistake. Suppose I have to write a web form using XSLT. It's hard so I have to use XForms.
Using XForms is a much cleaner way, but not adequate for modification. One of the disadvantages of XForms is the lack of support of integrating the database with XForms. Suppose you have to submit data to a database. You have to set the type of each input and the type of each database column. That's duplicate code. Object-relational mapping would be a therapy to reduce duplication, but it is not a cure. An idea is to use user options.
User custom user options may be a cure for the esoteric and chaotic GUI development. I am not a pessimist nor a monist, but greatly overwhelmed by the once percieved "simplistic" view of GUI development which is indeed a meandering complexity of GUI and business logic; maintaining the code is like solving the Goldbach's conjecture. Suppose I want users to register for a site. There is a form and an option I want the user is to choose where he/she lives. I would use a drop-down menu that lists each country in the form that's about to submit to the database. Let's we want to change the drop-down countries list to a list of radio options. How can we do that? We can do that in XSLT but let's say there are manu customizable options that can change (e.g. a checkboxs to "drop-down lists that can select multiple options"; or change the drop-down menu to a search box to type in the country.). Do we have to make every permutation of the web form in XSLT? The answer is no, CSS can do the job. I mentioned that the user can customize ALL of the site's options to fit their own personality. I can specify what type of menu, wheater it's a drop-down, search box, or radio, it's all by the user options. The user has the ability to customize the options.
But what else we have to implement to make the GUI as abstract as possible? One example is to substitute "buttons" for XHTML links. When the user clicks on a "button" (actually a link in XHTML), the event handler of the "button" is called for Ajax (which is default the site uses). If JavaScript is disabled, when the "button" is clicked and the page reloads as a fallback.
I can think of much more abstract ideas for developing a very portable GUI from web applications to desktop applications, from mobile devices to Java applets. However, such framework is not going to be known of yet. Over the days that passed by me, the existence of such a framework dreaded me more and more. The days passed by me are like the intervals of a graph of a decreasing function. I still have a spark of hope in my subconscious mind for such a solution.
Are there such frameworks? If not, how do I start making one?
Thank you very much.
alta at 2007-7-13 19:37:24 >

> Thank you all for your generous.
>
> However, I want to build a scientific site.
"Scientific"? To display what?
> I am experienced with SQL, graphic design, web
> design, and Java. However, I am new to Java web
> development.
Then you are biting off far more than you can chew.
> I used to use PHP because of its
> simplicity for web design--I do not need to compile
> PHP, and PHP is easy to setup for very rapid
> application development. Using PHP is far beyond
> competence to make a the application.
> The prominent reasons I switched to Java because it
> is easier to maintain, much faster than PHP, includes
> a wide variety of prewritten libraries.
I don't think you're correct. Java can be hard to maintain if done badly. PHP is reputed to be very fast. As far as libraries go, I have no knowledge of PHP so I'll take your word for it.
> Speed, scientific libraries, and the similarity
> between C and C++ of Java are vital to scientific web
> and desktop application development.
You don't know much about scientific computing, then. Most numerical work is done in Fortran and C/C++. Java isn't important in the computing that I know.
> I can generate MathML code using libraries. If MathML
> is not supported, then using SVG to display equations
> is a possibility. If SVG is not supported, then use
> PNG to display equations.
SVG would not be a good way to display equations. MathML isn't very widespread. Your best bet, IMO, is LaTex and PDFs.
> I use Batik to rasterize SVG images.
> I use a ray-tracer such as POV-Ray to render 3D
> objects.
No Java3D? No OpenGL?
> I use arbitrary-precision arithmetic packages to do
> mathematical computations.
No one else does.
> I use math libraries and computer algebra systems to
> do symbolic and numeric computation.
Mathematica? Matlab? Nice.
Which linear algebra package do you use? LINPACK?
> But writing the GUI is irksome.
UI usually is the hardest thing.
> GUIs generated from
> XSL are not search-engine-friendly.
This statement makes no sense. By the time a search engine gets to look for a UI, it doesn't know if the HTML was generated using XSL-T or a JSP engine. The technology used to generate the page has nothing to do with how "search engine friendly" it is. Meta tags in the page have a much greater influence than what puts them there.
> I want search-engine friendly URLs.
You're better off figuring out how to move your pages up in Google's ranking.
> The existing frameworks only generate HTML. It does
> not generate other formats.
Wrong. You can generate PDFs using XSL-T.
What other format do you intend to display in a browser?
> It's hard to port the web application to a desktop application.
They're usually different enough where most folks don't want to.
But if you must maybe you just need a Swing UI for a desktop and an applet in the browser.
>Its hard to
> port it to a educational Java applet and scientific
> Java games.
>
> I want it to generate at least XHTML 1.0 strict, CSS
> valid, WAI-AA WCAG 1.0, WAI-AA ATAG 1.0, and WAI-AA
> UAAG 1.0 pages. I know how to write them by hand, but
> I must generate it. Using the available frameworks
> will not generate them.
Macromedia won't do it? I know it generates XHTML and CSS. I don't know what those other standards are.
If there truly is no such tool, write and sell it. Make yourself a lot of money.
>
> I want to write a custom platform-independant
> math-oriented programming language using a
> compiler-compiler such as JavaCC.
I'd recommend that you use Mathematica instead of writing your own. Stephen Wolfram has already done it better than you ever will.
> I want to write mathematical Java applets. I can
> write Java applets using JOGL to make 3D objects.
>
> However, is there any quick way to port a web
> application to a Java applet and vice versa? For
> example, I want to write an educational game in a
> Java applet and reuse some of the code in the server.
> If I want to reuse some scientific code stored on
> the database server and use it in a Java applet.
Scientific code stored in a database? Like what? "Scientific" is such a broad term. Do you mean the input for an FEA analysis? Human genome sequences? "Science" is pretty big.
> One way to overcome the problem is to use a
> platform-independant language that can be interpreted
> by the server and both the Java applet. What are
> other ways?
"Interpreted by the server and both the Java applet" - what does this mean? More platform independent than Java itself? You need to invent your own language then.
> But the main thing that provokes me is the web GUI.
> The GUI gets harder and harder to maintain when the
> XHTML specification changes, or XForms have to be
> generated.
Or when your requirements are so broad and dynamic that no UI could possibly keep up.
> One solution is to use a XSLT to style and query
> everything from the database. Then use XSL-FO to
> generate pagination for PDF documents.
>
> However, using perplexing XSLT is a huge mistake.
> Suppose I have to write a web form using XSLT. It's
> hard so I have to use XForms.
> Using XForms is a much cleaner way, but not adequate
> for modification. One of the disadvantages of XForms
> is the lack of support of integrating the database
> with XForms. Suppose you have to submit data to a
> database. You have to set the type of each input and
> the type of each database column. That's duplicate
> code. Object-relational mapping would be a therapy to
> reduce duplication, but it is not a cure. An idea is
> to use user options.
>
> User custom user options may be a cure for the
> esoteric and chaotic GUI development. I am not a
> pessimist nor a monist, but greatly overwhelmed by
> the once percieved "simplistic" view of GUI
> development which is indeed a meandering complexity
> of GUI and business logic; maintaining the code is
> like solving the Goldbach's conjecture. Suppose I
> want users to register for a site. There is a form
> and an option I want the user is to choose where
> he/she lives. I would use a drop-down menu that lists
> each country in the form that's about to submit to
> the database. Let's we want to change the drop-down
> countries list to a list of radio options. How can we
> do that? We can do that in XSLT but let's say there
> are manu customizable options that can change (e.g. a
> checkboxs to "drop-down lists that can select
> multiple options"; or change the drop-down menu to a
> search box to type in the country.). Do we have to
> make every permutation of the web form in XSLT? The
> answer is no, CSS can do the job. I mentioned that
> the user can customize ALL of the site's options to
> fit their own personality. I can specify what type of
> menu, wheater it's a drop-down, search box, or radio,
> it's all by the user options. The user has the
> ability to customize the options.
>
> But what else we have to implement to make the GUI as
> abstract as possible? One example is to substitute
> "buttons" for XHTML links. When the user clicks on a
> "button" (actually a link in XHTML), the event
> handler of the "button" is called for Ajax (which is
> default the site uses). If JavaScript is disabled,
> when the "button" is clicked and the page reloads as
> a fallback.
>
> I can think of much more abstract ideas for
> developing a very portable GUI from web applications
> to desktop applications, from mobile devices to Java
> applets. However, such framework is not going to be
> known of yet. Over the days that passed by me, the
> existence of such a framework dreaded me more and
> more. The days passed by me are like the intervals of
> a graph of a decreasing function. I still have a
> spark of hope in my subconscious mind for such a
> solution.
>
> Are there such frameworks? If not, how do I start
> making one?
>
> Thank you very much.
You sound like somebody who has ingested a lot of buzzwords without any real understanding of computer science or anything else. Your question is so rambling and broad that I'd be surprised if anyone was capable of helping you.
%
IBM - EADJ -- Framework... This is comes along with suite of various products line .. JADE, EMERALD..etc .. I hope your problem will be answered by this product
I'm not aware of any framework that does all of what you want.
The XML/XSL frameworks I've come across aren't as advanced as the HTML based ones - you'd probably save yourself time by picking a really good web framework (tapestry, spring MVC, velocity etc), separating out your presentation and business logic, then re-writing the front end in swing for the desktop version.
I think the approach that will serve you best is an agile one.
List your requirements
Prioritise them
Add an estimate - Small / Medium / Large
Then work through in priority order, picking the best tools for the job in hand.
I want my site to automatically learn stuff by reading information from the Internet. I want my site to automatically generate quality content from the stuff it learned. I want my site to have strong artificial intelligence. I want my site to automatically write articles for me. I want my site to have the ability to modify the itself.
How do I start making a site like this?
I started smiling when I read this post. The further down I read, the wider my smile became. By these lines, however, I burst out laughing. I had to double check the post date to verify that it wasn't posted on 4/1. There's no way this is not a joke.
... right?
If I dangle a few more buzzwords, will you bite?
I've developed a multi-faceted open-source framework to neural synaptic hybrid web services. It's based on aspect-oriented ORM clusters with an SOA/AJAX architecture. It uses the latest ATM interweaving strategies, complete with transactional realtime adaptation configured through XMLM and hyperthreaded VoIP.
In other words, I think it's exactly what you're looking for.
~
> In other words, I think it's exactly what you're looking for.I almost forgot: it's written in CLisp.
"aspect-oriented ORM clusters" - mmmmm. Sounds like a good breakfast cereal. I'll bite. Do they come in honey bunches of oats?%
> honey bunches of oats?heheh, heheh, he almost said "goats"kind regards,Jos (< nuts (been studying "Spring" for the last three weeks) ;-)
JosAHa at 2007-7-13 19:37:24 >

> > honey bunches of oats?
>
> heheh, heheh, he almost said "goats"
>
> kind regards,
>
> Jos (< nuts (been studying "Spring" for the last
> three weeks) ;-)
How do you like it so far, Jos? I'll be very interested indeed in your opinion.
%
> > Jos (< nuts (been studying "Spring" for the last three weeks) ;-)
>
> How do you like it so far, Jos? I'll be very interested indeed in your opinion.
Well so far I like it a lot; The IoC (Inversion of Control) or DI (Dependency
Injection) mechanism is very 'elegant' (excusez le mot). DI completely
decouples those Java objects (POJOs) from any technology being
used and from everything else as a matter of fact.
I don't like all that XML configuration though, but that's just because I don't
like XML much, but I can't come up with a better way to configure those
beans in Spring.
The JDBC and DAO packages are great except for the fact that I'm using
Apache Commons packages too and I find the latter very ill documented
(or I haven't found the right documentation yet).
Most of the time in the last three weeks I've been struggling with that darn
Tomcat though to get everything working together (Tomcat, Spring, and
a Postgress RDBMS). And again all that XML was against me: "no, you
can't specify a servlet mapping and a server definition again" ... "no,
you have to put a slash before that URI" ... etc. etc. I think I never'll like
Tomcat and XML much ;-)
I ordered a few books from Amazon and before they arrive I'll struggle on ;-)
Do you have any tips for good books, links and other literature?
kind regards,
Jos
JosAHa at 2007-7-20 23:37:22 >

> Well so far I like it a lot; The IoC (Inversion of
> Control) or DI (Dependency
> Injection) mechanism is very 'elegant' (excusez le
> mot). DI completely
> decouples those Java objects (POJOs) from any
> technology being
> used and from everything else as a matter of fact.
Elegant, indeed.These are some smart folks.
> I don't like all that XML configuration though, but
> that's just because I don't
> like XML much, but I can't come up with a better way
> to configure those
> beans in Spring.
That's a big complaint that I read and hear a lot. I don't have a better answer. I'm wondering if they'll use annotations to keep configuration in the code and eliminate the XML.
I can't eliminate the application context XML, but I find that breaking them up by package helps a lot. It keeps them small and makes my packages portable - just pick up the package and go.
> The JDBC and DAO packages are great except for the
> fact that I'm using
> Apache Commons packages too and I find the latter
> very ill documented
> (or I haven't found the right documentation yet).
Writing DAOs in Spring is a great selling point, particularly if you use Hibernate (alas, more XML, but it's easily generated using XDoclet). The implementations become so small, usually just one line per method. The plumbing code in all the template support classes is excellent, very well written. No more worrying about resource management, no unclosed connections.
And declarative transactions are terrific. The notation is the same as EJBs, except now you don't need a container. JTA is all that's necessary, along with the appropriate XA JDBC drivers.
> Most of the time in the last three weeks I've been
> struggling with that darn
> Tomcat though to get everything working together
> (Tomcat, Spring, and
> a Postgress RDBMS). And again all that XML was
> against me: "no, you
> can't specify a servlet mapping and a server
> definition again" ... "no,
> you have to put a slash before that URI" ... etc.
> etc. I think I never'll like
> Tomcat and XML much ;-)
It's a cross we all have to bear.
> I ordered a few books from Amazon and before they
> arrive I'll struggle on ;-)
Which ones did you get? I have a copy of Rob Harrop's "Pro Spring". At first glance I didn't like the bulk of it. I feared that it would be another weighty tome that wasn't useful. But Mr. Harrop is a very smart young guy who did a great job on that book. It doesn't have anything about ACEGI, the security plug-in. "Spring In Action" has a chapter on it.
I have a copy of Rod Johnson's original inspiration for Interface21/Spring, "Expert 1:1 J2EE wo/EJBs". It was blowing my head apart while I read it. I wondered how long it would take me to get his ideas into code. Thank God, Spring was open sourced soon afterwards, so I didn't have to kill myself writing it. He's got a new Wrox book "Professional Spring" that's supposed to be very good. I haven't gotten a copy, because I've got a huge reading backlog right now.
> Do you have any tips for good books, links and other literature?
I don't know about you, but I find all of it to be pretty well documented. The Spring sites are excellent. I posted a problem on the Spring forum that was answered within 24 hours by a guy in Australia. (A WebLogic question regarding services is still unresolved after three months. So much for paid support.)
If you look at the code the quality is excellent. I hear that Jurgen rode herd on everyone to make sure that code standards were high. It shows.
Knowing you, you'll be the master of Spring in short order.
How's business? How are you doing these days? Is spring arriving nicely in Holland?
%
> > I don't like all that XML configuration though, but that's just because I
> > don't like XML much, but I can't come up with a better way to configure
> > those beans in Spring.
>
> That's a big complaint that I read and hear a lot. I don't have a better
> answer. I'm wondering if they'll use annotations to keep configuration
> in the code and eliminate the XML.
To me XML is like instead of saying "I want a Grolsch at 5:00pm" I have
to put it this way:
<sentence>
<noun-phrase>
<noun>I</noun>
<noun-phrase>
<verb-phrase>
<verb><want></verb>
<noun-phrase>
etc. etc. etc.
> I can't eliminate the application context XML, but I find that breaking
> them up by package helps a lot.
That's exactly what I figured out a few days ago.
> It keeps them small and makes my packages portable -
> just pick up the package and go.
> > The JDBC and DAO packages are great except for the fact that I'm
> > using Apache Commons packages too and I find the latter very ill
> > documented (or I haven't found the right documentation yet).
>
> Writing DAOs in Spring is a great selling point, particularly if you use
> Hibernate (alas, more XML, but it's easily generated using XDoclet).
> The implementations become so small, usually just one line per
> method. The plumbing code in all the template support classes is
> excellent, very well written. No more worrying about resource
> management, no unclosed connections.
I use PostgreSQL for the back end tier and use Apache Commons DBCP
for its PerUserConnectionPool (or whatever it's named). It took me more
than an afternoon and a lot of cursing and swearing before I managed
to set it up properly ;-)
> > Most of the time in the last three weeks I've been struggling with that
> > darn Tomcat
> It's a cross we all have to bear.
I hate it. I struggled for days and days just to accomplish the most simple
thingy. And sometimes it turned out *not* to be Tomcat but just me because
I had forgotten to disable caching on the client side *grmbl*
> > I ordered a few books from Amazon and before they arrive I'll
> > struggle on ;-)
>
> Which ones did you get? I have a copy of Rob Harrop's "Pro Spring".
That's one I ordered. I read it was written by *two* authors and one of
them was "not-so-good" I forgot which one the not-so-good one was ...
> I have a copy of Rod Johnson's original inspiration for Interface21/Spring,
> "Expert 1:1 J2EE wo/EJBs". It was blowing my head apart while I read
> it. I wondered how long it would take me to get his ideas into code.
That's the other one I ordered. I already have his "Expert 1:1 J2EE" book
in which he already mentions quite a few tricks about DI (or IoC).
> He's got a new Wrox book "Professional Spring" that's supposed to
> be very good.
I'll check that one out too; thanks for mentioning it.
> > Do you have any tips for good books, links and other literature?
>
> I don't know about you, but I find all of it to be pretty well documented.
It is, I just have to get used to all those "AbstractControllerResolverHandler"
terms. I still miss a documentation part where the big picture is layed
out for me (I'm blind of course, it should be easy to find).
> Knowing you, you'll be the master of Spring in short order.
Thanks for the compliment but I'm afraid I need at least one (or two)
month(s) to really understand all that implementation glue code and
the structure of that framework (not to mention that darn Tomcat ;-)
> How's business? How are you doing these days? Is spring arriving
> nicely in Holland?
The Spring framework is doing fine overhere but now the new hype is
Ajax. It's all over the place and I'm afraid that this all is going to end up
in some sort of technology "maelstrom". My feeling is that all those
different technologies which all promise to be the Mother of all Technologies
are creating the next generation of the IT mess again ...
Business is fine; too fine almost; I've been working seven days a week
for the last couple of months (which I don't care about as long as the
weather is nice and as long I can work in my back garden ;-)
Wednesday I have to drive to Hannover (Germany) again to fix some last
little thingies and give those folks instructions about the system. They're
quite enthusiastic and they want to buy more systems if everything goes
well. Our customers in Rotterdam are happy too and a new customer
is knocking on the door: it's about egg-breaking equipment; I visited
their plant and you don't want to know what twelve million broken eggs
per day smell like ;-)
kind regards,
Jos
JosAHa at 2007-7-20 23:37:22 >

> To me XML is like instead of saying "I want a Grolsch
> at 5:00pm" I have
> to put it this way:
> <sentence>
><noun-phrase>
><noun>I</noun>
> <noun-phrase>
><verb-phrase>
><verb><want></verb>
><noun-phrase>
>etc. etc. etc.
I'll bet you're still waiting for that Grolsch. 8)
> I use PostgreSQL for the back end tier and use Apache
> Commons DBCP
> for its PerUserConnectionPool (or whatever it's
> named). It took me more
> than an afternoon and a lot of cursing and swearing
> before I managed
> to set it up properly ;-)
I find that to be one of the most common questions on the servlet forum. Tomcat doesn't make it easy, that's for sure. I do like their context XML in META-INF. At least that keeps WAR files portable and self-contained.
> That's one I ordered. I read it was written by *two*
> authors and one of
> them was "not-so-good" I forgot which one the
> not-so-good one was ...
I can't speak for the second author, but I really like what I've seen of Rob Harrop. Smart, energetic young guy.
> I'll check that one out too; thanks for mentioning it.
The literature is growing. Spring Web flow is coming along. They're getting their plumbing into a lot of stuff. I hope they can keep the quality and momentum going. We're using it these days to make interactions with services easier.
> > I don't know about you, but I find all of it to be
> pretty well documented.
>
> It is, I just have to get used to all those
> "AbstractControllerResolverHandler"
> terms. I still miss a documentation part where the
> big picture is layed
> out for me (I'm blind of course, it should be easy to
> find).
My favorite class is in the spring-mock.jar. It's AbstractTransactionalDataSourceSpringContextTests in the org.springframework.test package. I think it wins the prize for longest class name in the framework. (Or at least a runner-up prize.) It's surprisingly useful. It's a subclass of JUnit TestCase that lets you run database tests with auto commit turned off. When the tests are done it rolls the database back to its original state, as if you were never there. Most helpful.
>
> Thanks for the compliment but I'm afraid I need at
> least one (or two)
> month(s) to really understand all that implementation
> glue code and
> the structure of that framework (not to mention that
> darn Tomcat ;-)
I'm still learning it myself. I haven't been nearly diligent enough. My reading backlog has become unmanagable. (I still haven't gotten through Dave Minter's "Pro Hibernate".)
> The Spring framework is doing fine overhere but now
> the new hype is Ajax.
Word overloading - I was referring to the season, not the framework. 8)
But AJAX is another great topic to discuss. I'm with you - I'm a bit leery of it. Part of that is never learning JavaScript properly as a language in its own right. Someone like you with a Lisp background should feel more comfortable. I'm warming up to that part.
But I worry about people getting out of control and writing complex client side code and piling abstraction on top of abstraction. You can't throw a rock without hitting another AJAX framework. I don't think we know which ones are the best and will survive the shakeout. It's possible to write a big, fat client again - it just runs in the browser. How is this progress? If we have big, fat AJAX clients making XML calls to enterprise services it starts to feel like mainframes and green screens all over again.
> It's all over the place and I'm afraid that
> this all is going to end up
> in some sort of technology "maelstrom". My feeling is
> that all those
> different technologies which all promise to be the
> Mother of all Technologies
> are creating the next generation of the IT mess again
See above. I'm with you. I like some of the things that AJAX can do (e.g., type ahead help, populate one drop down from the result of another, etc.) Just don't overdo it.
But that's another technology that I'm not keeping up with.
> Business is fine; too fine almost; I've been working
> seven days a week
> for the last couple of months (which I don't care
> about as long as the
> weather is nice and as long I can work in my back
> garden ;-)
Excellent! There's nothing better than having good work when you're independent. It's when the phone stops ringing that you worry. It's no surprise with your talent.
> Wednesday I have to drive to Hannover (Germany) again
> to fix some last
> little thingies and give those folks instructions
> about the system. They're
> quite enthusiastic and they want to buy more systems
> if everything goes
> well. Our customers in Rotterdam are happy too and a
> new customer
> is knocking on the door: it's about egg-breaking
> equipment; I visited
> their plant and you don't want to know what twelve
> million broken eggs
> per day smell like ;-)
Wow! Sounds like a socially important problem. Did the plant's neighbors chip in to hire you? 8)
%
> > To me XML is like instead of saying "I want a Grolsch at 5:00pm" I have
> > to put it this way:
> > <sentence>
> ><noun-phrase>
> ><noun>I</noun>
> >etc. etc. etc.
>
> I'll bet you're still waiting for that Grolsch. 8)
Nah, I wrote my own PsychicBeanFactory and the moment I typed in that
last right curly bracket it noticed I was suffering from degrolschation ;-)
> The literature is growing. Spring Web flow is coming along. They're
> getting their plumbing into a lot of stuff. I hope they can keep the
> quality and momentum going. We're using it these days to make
> interactions with services easier.
I read a bit about SWF but I've stacked it on my TODO list. I can't handle
so many different technologies and implementations at the same time.
> My favorite class is in the spring-mock.jar. It's
> AbstractTransactionalDataSourceSpringContextTests in the
> org.springframework.test package. I think it wins the prize for longest
> class name in the framework. (Or at least a runner-up prize.)
That's what I'm all about: those long names lose there "meaning" when
you're still struggling to understand the entire structure of it all.
> I'm still learning it myself. I haven't been nearly diligent enough. My
> reading backlog has become unmanagable. (I still haven't gotten
> through Dave Minter's "Pro Hibernate".)
I've got that ProgreSQL book in front of me explaining all those fancy
little ProgreSQL features ... *sigh*
> > The Spring framework is doing fine overhere but now [ blahblah ]
> > the new hype is Ajax.
>
> Word overloading - I was referring to the season, not the framework. 8)
See? I'm suffering from tunnel vision already. I've had this same defect
for years now when I read the Dutch/French word 'file' which means
'traffic jam' for normal people. ;-)
> But I worry about people getting out of control and writing complex
> client side code and piling abstraction on top of abstraction. You can't
> throw a rock without hitting another AJAX framework. I don't think we
> know which ones are the best and will survive the shakeout. It's
> possible to write a big, fat client again - it just runs in the browser.
> How is this progress?
It isn't IMHO. I visited a software shop lately that transfers tons of MBs
to the client just to run their fat client side applications. They look nice,
but all I was thinking is "poor network wire". Again IMHO there should
be a (dynamic possibly) tradeoff between which party (client or server)
should do what. Something like a balancer between servers and
clients. iow, some 'header' information should be able to tell what the
client is capable of and what not. Something like the old 'gnots' in
Plan/9 or something similar ...
> > It's all over the place and I'm afraid that this all is going to end up
> > in some sort of technology "maelstrom". My feeling is that all those
> > different technologies which all promise to be the Mother of all
> > Technologies are creating the next generation of the IT mess again
>
> See above. I'm with you. I like some of the things that AJAX can do
> (e.g., type ahead help, populate one drop down from the result of
> another, etc.) Just don't overdo it.
Let's shake hands "mid-life man" ;-) Sometimes I feel like an old Roman
spectator at the gladiator games; let them fight it all out in the arena and
may the 'best' (mind the quotes) technology win. I'll study that one then ;-)
> > weather is nice and as long I can work in my back garden ;-)
>
> Excellent! There's nothing better than having good work when you're
> independent. It's when the phone stops ringing that you worry. It's no
> surprise with your talent.
Stop flattering me; you'd make me blush if I wasn't too stupid to blush,
sweat or shiver ;-) I wrote it moons ago already: you're way ahead of me
w.r.t. all those technologies and I consider that a talent too.
> > it's about egg-breaking equipment; I visited their plant and you don't
> > want to know what twelve million broken eggs per day smell like ;-)
>
> Wow! Sounds like a socially important problem. Did the plant's
> neighbors chip in to hire you? 8)
Nope. I smelled too bad after I left that plant ;-) They told me that they can
even produce artificial skin from that egg white (never knew that). So it's
quite obvious that this egg white has to be a 'pure' as possible, i.e. no
other core or envelope or shell particles, no blood particles etc.
We conducted a little test overthere and within two or three millisecs
the system can determine the good parts from the bad parts. I like to
watch our system doint that sort of things. Colour determination (that's
what our system basically does) can be deployed in a lot of industries.
The fun thing is that the main part is written in Java; just those micro
thingies had to be written in C.
kind regards,
Jos
JosAHa at 2007-7-20 23:37:22 >

