I was reading these two threads on InfoQ and I was thinking that Java has had such a big success because starting from James Gosling back the old days and "ending" nowadays with Jonathan Scwartz (SIC!) the Java platform has benefited from several (lots) of the brightest minds of all times. Of course I use Jonathan more to indicate a point in time than a brilliant mind (I'm just joking, it's MY blog after all !).
No what made my day is this:
On one side we have John Crupi (of SUN) evangelizing SOA, and the whole WS* thing, telling us how they basically define, design and publish enterprise services having XML Schema as a fist class citizen: "...whether it's one mega-schema that has all your use-cases and you have to pull out the parts that have been populated or the use-cases are finer grained associated with the schemas at a lower level" etc. Here's the link.
On the other hand, up one slot (on InfoQ) we have Tim Bray (of SUN) who obviously doesn't like what vendors currently do, or trying to do with all that SOA hype, and parts of all this WS* initiative: "...and they are based on XML schema and WSDL, which are two of the ugliest, most broken and irritating specifications in the history of the universe."
So what I did is I had a really good laugh, but after all, these guys are both for real. Obviously they are deeply involved professionals, you cannot laugh at one and disconsider the other. After watching both the interviews, it's sooo easy to make your choice and choose the path you want to go.
So this "being able to choose which way to go", which at a lower level in Java manifests itself by being able to choose between technology and implementations, is available at the concept level also as proven by the difference of vision between these two guys. That's one thing where the Java ecosystem got it right. Being able to choose. But there are lots of other reasons for the success of Java of course. Mhhhm. Mmm.
Which way do you go ? :-D
As a side note, it seems that InfoQ is starting to deliver isn't it ? :-) . Well, that's happening since some time now, what Iwant to say is that now it's becoming more and more obvious. Congrats Floyd and team, and keep up the good work.
Thursday, October 12, 2006
Wednesday, October 11, 2006
Gregory Benford sau Isaac Asimov ? Amandoi ?
Am terminat de citit "Teama Fundatiei", scrisa de Gregory Benford si autorizata de patrimoniul Isaac Asimov. Volumul face parte din "A doua trilogie a Fundatiei", prima (trilogie) fiind scrisa de de Asimov.
Asimov mi s-a parut mai digerabil, mai usor de citit. Benford este mai greu de citit, dar cu atat mai mare este satisfactia cand actiunea incepe sa se lege, si explorezi, pe masura posibilitatilor intelectuale, un univers creat de o gandire mult mai ampla, mai complexa, neingradita de bariere conventionale.
De fiecare data cand termin un volum SF ma intreb cum a fost posibil ca un om sa creeze un univers, sa il descrie in detaliu, sa descrie mecanismele functionarii lui si interactiunile intre indivizi in asa fel incat sa rezulte o capodopera a genului (unde e cazul bine-nteles). Ce fel de pregatire, ce gandire si ce cumul de informatii si imaginatie trebuie sa posede un om ca sa te incante cu o lectura de genul "Fundatia" (Isaac Asimov) sau "Dune" (Frank Herbert) ? In acelasi timp nu ma pot opri sa nu observ esecul calculatorului (puneti aici orice joc in mod text sau grafic piratat sau cumparat cu care v-ati pierdut vreodata timpul :-D ) in crearea unei lumi virtuale de complexitatea celor care sunt posibile prin lectura unui SF (probabil si alte genuri) de calitate. Sa fie oare o problema senzoriala ? (text+lume interioara VS surogat de lume virtuala externa, perceputa in cea mai mare parte vizual ?).
Asimov mi s-a parut mai digerabil, mai usor de citit. Benford este mai greu de citit, dar cu atat mai mare este satisfactia cand actiunea incepe sa se lege, si explorezi, pe masura posibilitatilor intelectuale, un univers creat de o gandire mult mai ampla, mai complexa, neingradita de bariere conventionale.
De fiecare data cand termin un volum SF ma intreb cum a fost posibil ca un om sa creeze un univers, sa il descrie in detaliu, sa descrie mecanismele functionarii lui si interactiunile intre indivizi in asa fel incat sa rezulte o capodopera a genului (unde e cazul bine-nteles). Ce fel de pregatire, ce gandire si ce cumul de informatii si imaginatie trebuie sa posede un om ca sa te incante cu o lectura de genul "Fundatia" (Isaac Asimov) sau "Dune" (Frank Herbert) ? In acelasi timp nu ma pot opri sa nu observ esecul calculatorului (puneti aici orice joc in mod text sau grafic piratat sau cumparat cu care v-ati pierdut vreodata timpul :-D ) in crearea unei lumi virtuale de complexitatea celor care sunt posibile prin lectura unui SF (probabil si alte genuri) de calitate. Sa fie oare o problema senzoriala ? (text+lume interioara VS surogat de lume virtuala externa, perceputa in cea mai mare parte vizual ?).
Tuesday, October 10, 2006
O(pen) S(ource) JTA Transaction Managers
Maybe not lots of you needed things like XA transactions, two phase comit, and won't need it soon but anyway if you need transactions that span more than one data source (2 databases for example) or transactions that span a database and a JMS destination (pretty common usecase), you may want to look at the following:
All of these are usable/configurable outside a full blown J2EE container (I'm not sure about JBOSS Transactions though, anyway it's highly probable that it can be done).
All of these are supported and can be easily integrated with the Spring framework, if you don't want to use a J2EE container.
For more on Spring, Jencks and Geronimo Transaction Manager see here.
For more on Spring and JOTM see here.
For more on Spring and Atomikos see here.
For more on Spring and JBOSS see here.
For more on Spring Transaction Abstraction see here. It's not related to JTA entirely but it will give you some usefull info about transactions in general.
Update:
Thanks to Guy for replying and pointing me where I was wrong about Jencks.
- Atomikos TransactionsEssentials™
- JBOSS Transactions, which since 3-April-2006 includes technology aquired in 2005 from Arjuna.
- JOTM, the transaction manager developed by ObjectWeb.
- The Tyrex Transaction Manager.
- Simple-jta - A standalone JTA compliant Transaction Manager
- Bitronix Transaction Manager - a simple but complete implementation of the JTA API.
- See also here for some details on Glassfish's transaction manager.
All of these are usable/configurable outside a full blown J2EE container (I'm not sure about JBOSS Transactions though, anyway it's highly probable that it can be done).
All of these are supported and can be easily integrated with the Spring framework, if you don't want to use a J2EE container.
For more on Spring, Jencks and Geronimo Transaction Manager see here.
For more on Spring and JOTM see here.
For more on Spring and Atomikos see here.
For more on Spring and JBOSS see here.
For more on Spring Transaction Abstraction see here. It's not related to JTA entirely but it will give you some usefull info about transactions in general.
Update:
Thanks to Guy for replying and pointing me where I was wrong about Jencks.
Wednesday, September 27, 2006
Sybase SQL Anywhere joys
To connect to the f**king stupid Sybase SQL Anywhere (vers 5.5 and down) from a Java app on Windows NT/XP, you'll need, aside from the stupid SQL Anywhere server, another stupid piece of garbage named Open Server Gateway which enables remote client connections to a SQL Anywhere instance.
So what you have to do is:
1.) When installing SQL Anywhere Server make sure you find and check the checkbox that says
'Install the Open Gateway Components' or such shit
2.) Start a SQL Anywhere db engine like this:
dbsrv50.exe c:/sqlany50/sademo.db -n demo
This basically says start the DB from that file, and name it demo
3.) Go to C:\sybase\bin folder or wherever the installation put that stupid folder and start sqledit.exe
In there you'll need to define an Open Gateway instance as follows:
3.1) Into 'Input Server Name' put the name of the OGS instance like 'remote'
3.2) Choose Service Type = 'master'
3.3) Choose Platform = NT
3.4) Choose Net Library driver NLWNSCK
3.5) Connection information/network address - put here the IP the Open gateway will run on and the port, comma separated, like this:
192.168.4.5,5555 - intuitive huh ? Stupid schmucks !
3.6) Click on add service
3.7) Go to File - > Save and exit the DAMN ANTIC tool !
4.) Start the dbos50.exe with a command line like this:
dbos50.exe -e demo remote
Which means: start a damn Open Server Gateway instance named 'remote', use as the SQL Server Engine (-e demo) the one you find with the name 'demo'
Basically what you need to get right is to pass in the OGS name you've configured with sqlqedit (in this case 'remote')
After this, you'll be able to use JConnect from java to access this database as with any DB using JDBC follows:
private static final String USR = "dba";
private static final String PASS = "sql";
private static final String HOST = "192.168.4.55";
private static final String URL = "jdbc:sybase:Tds:" + HOST + ":5555";
.........
5.) If you agree with me that this is all completely BULLSHIT, pursue everybody to DUMP this shit and use PostgreSQL or the free version from Oracle or whatever else instead of this abysmal piece of shit and garbage named SQL Anywhere Server or Open Gateway Server or whatever else.
I've spent 2 days of my developer life to search the net for this information, including those useless Sybase resources, when for any other DB all you need to do is hit the fucking install.exe, grab a JDBC driver and connect to the freacking default DB that is there no doubt.
Some people never learn.
So what you have to do is:
1.) When installing SQL Anywhere Server make sure you find and check the checkbox that says
'Install the Open Gateway Components' or such shit
2.) Start a SQL Anywhere db engine like this:
dbsrv50.exe c:/sqlany50/sademo.db -n demo
This basically says start the DB from that file, and name it demo
3.) Go to C:\sybase\bin folder or wherever the installation put that stupid folder and start sqledit.exe
In there you'll need to define an Open Gateway instance as follows:
3.1) Into 'Input Server Name' put the name of the OGS instance like 'remote'
3.2) Choose Service Type = 'master'
3.3) Choose Platform = NT
3.4) Choose Net Library driver NLWNSCK
3.5) Connection information/network address - put here the IP the Open gateway will run on and the port, comma separated, like this:
192.168.4.5,5555 - intuitive huh ? Stupid schmucks !
3.6) Click on add service
3.7) Go to File - > Save and exit the DAMN ANTIC tool !
4.) Start the dbos50.exe with a command line like this:
dbos50.exe -e demo remote
Which means: start a damn Open Server Gateway instance named 'remote', use as the SQL Server Engine (-e demo) the one you find with the name 'demo'
Basically what you need to get right is to pass in the OGS name you've configured with sqlqedit (in this case 'remote')
After this, you'll be able to use JConnect from java to access this database as with any DB using JDBC follows:
private static final String USR = "dba";
private static final String PASS = "sql";
private static final String HOST = "192.168.4.55";
private static final String URL = "jdbc:sybase:Tds:" + HOST + ":5555";
.........
5.) If you agree with me that this is all completely BULLSHIT, pursue everybody to DUMP this shit and use PostgreSQL or the free version from Oracle or whatever else instead of this abysmal piece of shit and garbage named SQL Anywhere Server or Open Gateway Server or whatever else.
I've spent 2 days of my developer life to search the net for this information, including those useless Sybase resources, when for any other DB all you need to do is hit the fucking install.exe, grab a JDBC driver and connect to the freacking default DB that is there no doubt.
Some people never learn.
Thursday, September 21, 2006
E destul de rau sa nu ai despre ce scrie
Mi-am facut Blog si deocamdata nu imi vine sa injur pe nimeni. Cam asta este intentia mea de fapt. Exista MULTE lucruri care ma deranjeaza in viata publica romaneasca, lucruri care ma fac sa injur. Acum am si unde.
Stay tuned.
PS. As vrea sa aiba si topics sa nu amestec Java cu politica romaneasca...
Stay tuned.
PS. As vrea sa aiba si topics sa nu amestec Java cu politica romaneasca...
Subscribe to:
Posts (Atom)