Discussions

News: TSS Announces Sun ONE Application Server Added to Cluster

  1. TheServerSide has added to its J2EE portability cluster, by launching an additional Sun ONE Application Server 7 server into thr group.

    The TSS application was ported to Sun ONE, and has joined the distributed cluster (adding to the BEA WebLogic and Oracle9iAS servers).

    We have written up the issues that came up with porting to Sun ONE.

    Read more about this Sun ONE cluster launch in our article about it:
    http://www.theserverside.com/resources/article.jsp?l=tsscluster2

    Read about the original cluster launch at:
    http://www.theserverside.com/resources/article.jsp?l=tsscluster

    TheServerSide as an application now stands as a great example of J2EE portability in action. It's a production system with heavy loads (over 2 million pageviews/month) that runs with the same J2EE application binaries deployed across different vendors servers. Each server is J2EE 1.3 compliant and runs TSS in a consistent fashion.

    Threaded Messages (60)

  2. I have to agree[ Go to top ]

    It's been almost a year since I started working with SunOne and am very impressed. To put it simply, it just works. Everything I have asked it to do, it's done. The forums are quite active and documention is plentiful.

    I look forward to Sun's clustered version.
  3. I think this whole cluster thing is pretty cool, running your app on these servers at the same time and all. This is way more interesting than the petstore or the J2EE deployathon.

    Next time I hear an MS guy claim J2EE isn't really portable, I'll show them this link. :)
  4. Next time I hear an MS guy claim J2EE isn't really portable, I'll

    >show them this link. :)

    Dont forget to ask him is this possible with MS stuff!
  5. error message again?[ Go to top ]

    Geoffrey,

    I would recommend you to think twice before I show this link to any MS guys, or to any people whatsoever.

    That a forum application (with a complexity only slightly larger than “Hello World” - with about one hit pr sec), was possible to port between different app servers with some effort, is hardly rocket science.

    Especially when you very often get an error message instead of the page or that it sometimes is inexplicable slow and that it is very often down in the night and during the weekends.

    If it were written in “LAMP”, it would have been faster and more stable. More maintainable too.

    It gets one to think of “what if it was a medium sized app like the original Petshop” (30000 LOC, 700 files)? Alternatively, a real application like the Siebel CRM System?

    Regards
    Rolf Tollerud
  6. error message again?[ Go to top ]

    That a forum application (with a complexity only slightly larger than “Hello World” - with about one hit pr sec), was possible to port between different app servers with some effort, is hardly rocket science.


      Rolf, TSS is far more complex than 'hello world'. It is a lot more than just a 'forums' application, it is more like a news.com - forums, portal, some personalization, distributed caching, the whole bit).

      And whether it is hard to port a J2EE app to different applications is not the point. The point is that this is *possible* with J2EE, and here we are proving it with a *production system at run time*.

      Please do not begin a flamewar here.

    Floyd

    ps - about those error messages, please email us next time you see one.
  7. the TSS laboratory[ Go to top ]

    Floyd,

    I am convinced that TSS is complex enough, as you have said before - it is kind of test bed for new technologies. But the point is that it does not have to be that - the original app, without clustering that is not needed with the actual load, and written as "KISS" would be something complete different.

    But I accept as it is a kind of laboratory today, that is okay - but keep in mind that a similar setup with a very big enterprise application would be incredible complex, on the whole questionable if it could be done at all..

    I will email Dino directly any error messages I get. Because the time differences us in Europe are more heavy users of the database when it is unmanned - at least I think you do not have 24X7 staff at this time..

    Regards
    Rolf Tollerud
  8. the TSS laboratory[ Go to top ]

    I meant Dion of course!
  9. the TSS laboratory[ Go to top ]

    Dear Trolf:

    Error messages?? If TSS ran on any MS related technology, you would consider any error message as a *feature*. Am I rigth?? :-))

    Please, don't start another pointless flamewar but contribute something, share your experience, do something useful !!!

    For example... How can I implement a distributed event notifier using .NET?? Is it feasible? Is it hard to implement? What are the drawbacks?? Performance??

    Thanks!!!
  10. the TSS laboratory[ Go to top ]

    The surest way to kill a flamewar is to keep quite. regardless. period.

    /bernard
  11. distributed event notifier[ Go to top ]

    Roberto,

    "How can I implement a distributed event notifier using .NET?"

    You might want to read the overview at
    http://www.fawcette.com/dotnetmag/2003_03/magazine/columns/sqlconnection/default.asp

    about .NET Notification Services API and
    SQL Server's Notification Services.

    Regards
    Rolf Tollerud
  12. distributed event notifier[ Go to top ]

    To Rolf:

    Is there some article that explains how to build a SCALABLE solution with .NOT ? Or portable even between different windows versions ? Or one that you just deploy and use it and don't have to patch the OS every month because of security holes ? Or one that you can choose between 10 top notch platforms to deploy on ?

    To all the others: I am sorry for this. This doesn't add any value to the thread but I just couldn't shut up.

    To Floyd: Great job as allways. Keep it running. I'm looking forward to see Jboss in the cluster.
  13. distributed event notifier[ Go to top ]

    Dorel,

    I have many practical examples of very scalable solutions with .NET - that must be better that any explanation, or?

    Until you or anybody else can give me one(1) single bona fide example on a commercial J2EE site (with the name of the company), run with EJB and "a big Java App Server" that have thousands of hits per second, let just give up this discussion which as you say "doesn't add any value to the thread".

    On the other hand, I know large-scale sites run by Resin!

    I look forward to your example..

    Regards
    Rolf Tollerud
  14. How about..[ Go to top ]

    How about these:

    Sears
    Home Depot
    Hallmark
  15. why so laconic?[ Go to top ]

    OK, so how many tps do they have? What Java App server are they using? What about interesting details about the solution, hardware, EJB, O/R, clustering, cache etc etc, come on, give me a success story!

    Regards
    Rolf Tollerud
  16. why so comic?[ Go to top ]

    J2EE Success story:

    http://java.sun.com/javaone/javaone2001/pdfs/1807.pdf

    I don't need to say which company likes to promote new products based on air. Hint: it's not a baloon manufacturer.
  17. Thank you Henrique, for the interesting case. I would love to read more of those!

    Unfortunatly the project only underlines my favorite theme: use an ordinary servlet container and add J2EE components – Open Source or Commercial – never use “the big Java App Server”.

    Regards
    Rolf Tollerud
  18. underlines my point perfectly[ Go to top ]

    Rolf,

    I'm a bit surprised at how hard you harp this point. I can use WebLogic or WebSphere without using all the pieces of it. Yes, I may be paying more for software licenses than I could elsewhere, but there is nothing about these products that requires you to use all of their features.

    Similarly, under Windows Start menu, under Programs, Accessories, there is something called "Imaging". I don't even know what it is, but it is part of Windows. I don't run it, and I don't ask Microsoft for money back for not using it. And I don't complain about it being there, either.

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  19. Cameron,

    "I'm a bit surprised at how hard you harp this point"

    Why should I not be interested to have a system that is as "lean and mean" as possible? Without any excess fat? The analogy with windows is apt - if I had a choice I would take away everything I do not use in Windows too, I am sure the speed would be faster and with less bugs

    Henrique case study was extremely interesting, why is there not more stories like that available?

    The Yann examples too are impressing - but as we are missing the details we do not know many things - for example to what extent entity beans is used.

    To summarize, I know that Java is capable of anything in modern web technology - as is .NET. However, the "Big App Server with EJB" is unnecessary (in most cases) and even harmful IMO.

    But I am in no way the only one who “harp this point” – Jakarta, 5-6 of the most experienced Java people in this forum including Juergen Hoeller, and even SUN (Inderjeet Singh in the Enterprise Java BluePrints chat), advocate the same. So why shall I have to take all the blame?

    I do not say that I cannot change my mind in the future if I am convinced of otherwise.

    Regards
    Rolf Tollerud
  20. Rolf,

    "The Yann examples too are impressing - but as we are missing the details we do not know many things - for example to what extent entity beans is used."

    You'll understand that it is not a common practice that such information be published. Given the performance level required, my take is that they would not be used. Some things in J2EE are bad, or do not hold their promises (such as entity beans). It also seems (are we still a happy few having the impression ?) that indeed EJBs overall are not justified for most collocated web applications: there is a growing trend towards J2WE and AOP servers with POJOs. I would have a few questions for TSS in that vein: what have EJBs brought to TSS compared to a non-EJB solution ? What was the justification to using EJBs in the first place ? If TSS was to be written from scratch again, would they still use EJBs and why ? Wouldn't it have been easier to set up the TSS cluster with non-EJB applications ?

    My own experience with porting J2EE web applications to different application servers is that non-EJB applications are extremely easy to port (sometimes down to copying the war file from one appserver to another if there are not too many proprietary features) whereas due to the EJB deployment descriptors and various interpretations of the specs, you end up with tough refactoring with EJB-based applications.

    But then, such porting is fairly unusual and yet overall, even with EJBs, it is not such a daunting task.

    By the way, congrats to the TSS team for this work and the reports!

                    Yann
  21. I have come to agree with a lot of this sentiment. EJB's do have their uses, but I find I rarely need those particular uses (RMI, some of the declaritive stuff, standards, callbacks, whatever).

    I talk to more and more people who are moving to either POJO app's or ORM frameworks. I don't believe that J2EE = EJB, which is something that Rolf seems to consistently harp on. And I find that more and more of my colleagues feel the same way. And sure, I use full J2EE app servers in some cases (often JRun or Orion). But I'm moving NACSE to use ORM wherever possible, and POJO or JDBC/SQL where needed. Performance doesn't seem to be a problem. Portability is usually a matter of changing JNDI lookups (JDBC datasources etc).

    I'm writing a pretty wide ranging-application right now using Castor (XML), AXIS/SOAP, OJB, and some other stuff. Everything seems to work fine on Resin, Tomcat, JRun, Orion.

    I also agree that performance, scale, and robustness are more often an impact of design over the inderlying technology. I've met people who couldn't get Oracle to handle anything, and people who could probably get FoxPro to do the big-times (OK, bit of an exaggeration).

    Jason McKerr
    Northwest Alliance for Computational Science and Engineering
  22. Rolf,

    The only website that uses .aspx I have seen is the test website I have developed few months ago (And I have decided not to use C# or .Net again after that). I have never seen any sizable websites that use .Net, could you please
    give me the url of those websites?

    Thank you!

    Edmond
  23. J2EE sites[ Go to top ]

    Rolf,

    Royal Bank of Scotland (already posted that one some time ago http://www.fxmicropay.com/fxmp/default.asp?page=fxmp_media, WebLogic, 3.000 tx/s) "The application has been developed by The Royal Bank of Scotland Financial Markets on BEA WebLogic Server, with the capacity to process 3,000 transactions per second, 24 hours a day."

    TradeDoubler: they migrated from Microsoft to WebLogic and now get 4.000 tx/s(http://industry.java.sun.com/javanews/stories/story2/0,1072,45339,00.html) "We used Microsoft products, but came to a dead-end as they were not able to help us to scale up the capacity needed to meet the increased demand from the market on our service."

    United Airlines: tens of thousands of simultaneous users with thousands of transactions per second. (http://216.239.53.100/search?q=cache:ZJ7sb_OMb9EC:www.istart.co.nz/index/HM20/PC0/PV21904/EX299/CS2301+weblogic+%22transactions+per+second%22&hl=en&ie=UTF-8)

    Financial sector worldwide: 6.000 tx/s using WebSphere (http://www.entology.com/press/cs_3.html) "The client required high transactional volume for its system. When Entology proved that the system handles over 6,000 transactions per second, the client knew that its challenge had been met."

    Visa: 10.000 tx/s - 24/7/365 (BEA WebLogic no EJBs and Tuxedo)

    What about this one: http://www.teliasonera.com/bvo/com/ts_first_page.jsp?OID=ts_en_first_page ? Sounds familiar to you I guess. :) I think it's enough of a big company to run J2EE. They also seem to be a close Sun Microsystems friend. Ok your hosting data center is all Microsoft 2000 (because Telia was interested in Dell servers)... Any .NET or Mono yet for your own purposes ? :)

    Shouldn't I work in PR ? :)

    Rolf, no offense. There are many such examples, most of them cannot be publicised. I'm sure the same applies for .NET. I have a J2EE application at my office that takes 1.100 tx/s with more than 2.500 simultaneous users on a simple 4-CPU Intel-based Pentium.

    Performance and scalability are much more a question of design than of technology. I'm pretty sure a clean design works perfectly well on J2EE and .NET and with a similar cost of ownership. The rest is only a question of religion. I know religious wars and provocations are on fashion these days but that's no good reason... It's such a waste of time and positive energy... I think you would be much more useful to your cause by participating in RFPs and calls for tender. JMO.

                    Yann
  24. Universal Studio - Iclassics Division
    Towers Perrin - Internal Employee Portal( Serving in more than 20 Countries)

    Both of them were nightmare for the companies and their IT people under Micro soft technologies.
  25. J2EE sites[ Go to top ]

    Yann Caroff:
    >>>"What about this one: http://www.teliasonera.com/bvo/com/ts_first_page.jsp?OID=ts_en_first_page ? Sounds familiar to you I guess. :) I think it's enough of a big company to run J2EE. They also seem to be a close Sun Microsystems friend. Ok your hosting data center is all Microsoft 2000 (because Telia was interested in Dell servers)... Any .NET or Mono yet for your own purposes ? :)"<<<

    I used to work for Sonera before the TeliaSonera merger (left ca. 2 years ago). The R&D dept was almost entirely a Java/J2EE shop and there is no doubt they still are. I don't know what deals Sonera has/had with Sun but the production systems were almost entirely SUN/Solaris based what comes to critical/semi-critical systems. To come to think of it, I can't remember a single guy who knew about visual basic, so not much of a chance that .NET will thrive there. Rolf must be the only one these days :)
  26. A huge J2EE site[ Go to top ]

    Check out
    www.bankofamerica.com

    -Abhijit
  27. A huge J2EE site[ Go to top ]

    All links seem to point to either CGI scripts (.cgi) or ColdFusion pages (.cfm).
    I'd be interested to hear about how is J2EE employed in the background?
  28. Clustering mechanism ?[ Go to top ]

    Could TSS shed more light on the load balancer s/w or h/w used, clustering mechanism ?

    Thanks,
    Sharmin.
  29. If you look at the two articles you will see information on the cluster. A harware load balancer sends requests to random servers. It is NOT sticky. Each member of the cluster joins a Tangosol Coherence distributed cache, which contains DTO's from the data layer. Coherence allows us to not touch the database a lot of the time!
  30. error message again?[ Go to top ]

    Floyd,

    About that personalization. Is it possible to add a feature that allows someone to filter out comments made by certain individuals. You could call label them as the 'Rolf Filters'

    Thanks,
    Matt
  31. error message again?[ Go to top ]

    Hey,
       You guys are great, this portability work is damn good and I was watching the way you explain the ideas as part of portability and have applied some of them in my previous project. Reading the news about adding a new application server into this group is a great thing and I would like to know whether you guys are planning to add one open source app server too, so that developers can get a pretty good idea to extend the portability technology through out the J2EE community.

    Thanks
    T.Q
  32. error message again?[ Go to top ]

    Hey Rolf,

    Since you seem to be a .NET evangelist, why don't you point out what's possible with it instead of posting your regular flamers. We would love to hear about your experiences in the .NET world.

    We 'get' what you are trying to say although we do not necessarily agree.ie J2EE is over-hyped, is a ton of shit yadadadada... Every news item on theserverside.com with even the slightest hint of the virtues of J2EE predictably gets a flame reply from you.

    So, what's it going to be? More Flamers or some insightful, thought provoking reply from you? I personally do not have the slightest idea of what's possible on the 'otherside' although I had dabbled in MFC a few years ago.

    --RbrtKmr
  33. Read more about this Sun ONE cluster launch in our article about it:


    great article !

    This one is really good !
  34. Nightmare[ Go to top ]

    It would have been a nightmare if you have tried this (porting) on iPlanet.

    Good to know Sun has re-written the application server and much stable now

    Good article

    - Binu
    Accenture
  35. WebSphere?[ Go to top ]

    Hi,

    Any reason why WebSphere (4 or 5) is not included (yet) in the portability cluster?

    Regards,
    Jaap
  36. High Load ?[ Go to top ]

    No intention to be offensive here but would you consider 2000000 pageviews/month highload ?
  37. High Load ?[ Go to top ]

    2 million pages is not that much, but TheServerSide.com serves up some very large pages. For example, a number of threads are well over 1MB of HTML (in IE there is a File -> Properties menu item to see how big a page is.) It's definitely a good candidate for a a "whitespace filter" and a load balancer with GZIP compression for HTTP traffic ;-)

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  38. High Load ?[ Go to top ]

    "but TheServerSide.com serves up some very large pages"

    That is very unusual. For instance, the medium size of the 17 post om the board in this moment is 72KB. But I have to say that everything seems to work better since the addition of the Sun Server. Have not seen any error message after the change, and it "feels" faster.

    Regards
    Rolf Tollerud
  39. High Load ?[ Go to top ]

    Cameron,
            I dont understand how a "whitespace filter" would help in rendering large files over http faster??? Could you point me to a good link, where I could learn more about this. It just sounds interesting. Also would like to know which load balancer's can do GZIP compression. I'm involved in writing a middleware application with an XML interface. It primarily passes a lot of data back & forth. Thats one of the reason, why your reply caught my attention.
    Winston

    > 2 million pages is not that much, but TheServerSide.com serves up some very large pages. For example, a number of threads are well over 1MB of HTML (in IE there is a File -> Properties menu item to see how big a page is.) It's definitely a good candidate for a a "whitespace filter" and a load balancer with GZIP compression for HTTP traffic ;-)
    >
    > Peace,
    >
    > Cameron Purdy
    > Tangosol, Inc.
    > Coherence: Easily share live data across a cluster!
  40. High Load ?[ Go to top ]

    See for example www.servletsuite.com/servlets/trimflt.htm
  41. High Load ?[ Go to top ]

    Check out http://www.redlinenetworks.com for an web accelerator that does Gzip compression among with many other tricks to improve performance.
  42. High Load ?[ Go to top ]

    Winston: I dont understand how a "whitespace filter" would help in rendering large files over http faster???

    If you look at the "typical" page of a "typical" site, anywhere from 10% to 60% of the page is composed of white-space. If you cut out the white-space, you might save 50% of your bandwidth usage. For a customer on a dial-up connection, that can mean that pages load up to 2x as fast!

    Winston: which load balancer's can do GZIP compression

    I've seen them, but don't remember the names. I googled a while back on it.

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  43. High Load ?[ Go to top ]

    Probably, I should have worded my question more clearly. I do know that getting rid of whitespaces could save quiet a lot on bandwidth usage. But, what I didnt really understand is the application of such techniques for a site like TSS(or me extrapolating any such technique to my non-http middleware app). If TSS removes all white spaces while pushing out data to our browsers, isnt an applet or something needed to reformat that data back to its original style?? Even if TSS ends up using an applet to do such a thing, wouldnt it be wiser to send a zipstream over the wire, which would automatically compress any whitespaces. Isnt using whitespace filter with a GZIP compression only become redundant?? Maybe I'm not understanding properly how this technique could be applied and in what layer of the architecture. Could you please expand on your thoughts.
    Thanks,
    Winston
  44. mod_gzip[ Go to top ]

    Take a look at http://sourceforge.net/projects/mod-gzip/
    You can save 80% with ease....

    Rgrds,
    Klaas
  45. Whitespaces[ Go to top ]

    <cameron>
    If you cut out the white-space, you might save 50% of your bandwidth usage. For a customer on a dial-up connection, that can mean that pages load up to 2x as fast!
    </cameron>

    ItlookslikeFloydturnedthefilteron.Itseemstoworkprettywell.

    --
    Cedric
    http://beust.com/weblog
  46. Whitespaces[ Go to top ]

    "ItlookslikeFloydturnedthefilteron.Itseemstoworkprettywell."

    Maybeconvertingallcharstolowercasewoulddecreasethedownloadtimeaswellorusingverysmallfonts(6pt:)
  47. High Load ?[ Go to top ]

    Actually, we're at about 3 million pageviews per month now, which comes down to a bit over one view per sec, and multiple transactions per second.

    Floyd
  48. WebSphere?[ Go to top ]

    Jaap,

      I'd love to see Websphere in the cluster, but there marketing department has this habit of ignoring my emails. It's astounding they've gotten to where they are today with such poor PR habits.

    Floyd
  49. WebSphere?[ Go to top ]

    Floyd,

    I emailed IBM about this scandalous situation. Let's see what happens.

    Re Jaap

    P.S. I don't mind keeping you in the loop on the email-chain, but only via personal mail. Email me if you want to ;)
  50. new app server in cluster[ Go to top ]

    and what about Jboss 3.x ?
  51. Postgresql[ Go to top ]

    Hi,

     i am glad to see that Sun seems to have improved its application
    server. But i think it's a little bit too late as Sun One Application
    Server suffers from a very bad reputation.

    Nevermind, i just wanted to know if you are satisfied
    of postgresql database in terms of performance, administration,
    operating ... Why did you choose postgresql ( was it because it was
    a "neutral" database ?)?

    I would be very pleased to see your comments on its topic .

    Luc
  52. pgSQL[ Go to top ]

    I am not sure about what your questions is, but I will say pgSQL is avery, very good db, very fast, very scalable, very ANSI SQL.

    I have used other DBS in the past: Oracle, MS, MySQL, Sybase, and Informix.
    I must say pgSQL is a cut above.

    Sort of like Orion and Resin are better J2EE, this is it in DB.
    Simple, fast, reliable.
    .V
  53. Re Pgsql[ Go to top ]

    In fact i just wanted to know if postgresql supports
    heavy production constraints.
    Can it recover
    commited transactions from a crash as Oracle does with its redolog
    mechanism? Postgresql doesn't also seem to offer space control
    over database, database tables as Oracle does with its tablespace
    and extents, etc. Postgresql for me seems to fit for small databases
    that do not require high availability and perfect consistency.

    Anyway, the thread i launched is not very J2EE related so i'll understand
    if nobodies answers; but in a certain point of view it's a question about the data tiers in a multitiers architecture...
  54. Add JBoss[ Go to top ]

    Floyd, have you considered adding JBoss to the cluster? Its opponents like to describe as not standard by J2EE so it'd be interesting to see what portablityt issues you would uncover.
  55. JBoss is a good idea[ Go to top ]

    I would definatetly love to see JBoss join the TSS cluster.

    And I convinced that it would work fine.

    The problems will likely be that:
      - who will sponsor the JBoss box (I assume that is part
        of the deal) ?
      - will the commercial vendors get pissed if they see
        JBoss join ?
  56. a question[ Go to top ]

    It's good to see TSS working on yet another server.

    I do have one question though. I was reading through your original article about clustering TSS. It describes how you use Tangosol Coherence as a cache in front of the database, and that you used BMP to check the cache before going to the database. Does that mean your website doesn't use CMP? If so, does that also mean you do not use the CMP features of any of the app servers in your cluster?

    I'm only asking as I want to be clear exactly what features of J2EE you are porting between app servers. Whilst you are showing that many features of J2EE applications can easily be ported, I am not clear as to what you've done with the data persistence layer. Have you not just used Coherence on each server, and so showed little about portability of entity beans (BMP only)?
  57. BMP Layer Only[ Go to top ]

    Hi A P -

    We are using BMP entity beans for our data access (I talk about that in the article). This does make our porting a lot easier, as we do not have to:

    a) go through the work of setting up the CMP engine for each app server
    b) try to get the CMP layers working with eachother

    We could have tried to use an external CMP engine (Cocobase, TOPLink, etc) and plug that into all servers, but then decided to not bother (time constraints etc).

    Remember, this cluster is NOT real world in that you wouldn't run a cluster of different types of servers. If you ran a cluster of server X, then it would be trivial to use CMP and have it all Just Work (tm).

    Dion
  58. Deployment portability[ Go to top ]

    The first article reads: "The J2EE Blueprints had proved that a J2EE application could be ported at deployment time to a different vendor's appserver, simply by changing deployment descriptors and re-packaging an application. This deployment time portability already gave J2EE a major edge over other enterprise platforms."

    Deployment time portability is not a reality yet, and it is confirmed further in the article: "We updated the deployment descriptors to EJB 2, and to the latest set of the vendor specific descriptors." So TSS still had to update DDs and to recompile the source or at least to run EJBC.

    The same happened with Sun ONE, where the DDs were updated for Sun server and EAR was recreated again. I do not know much about Sun ONE and Oracle, but Weblogic creates different stubs if running EJBC on different DDs. At the very minimum the code changes include different support for various transaction modes and caching. For example, the optimistic transaction support code is included only if this mode is mentioned in DD. What deployment time portability we can talk about in this case?

    I am personally not happy that WebLogic recompiles stubs each time I want to change the DD. I spent couple of days about a year ago, when I came across this "feature" while making changes to DD, and not seeing changes in application behaviour. Which means, that "hot-swap" portability is not possible yet. If one wants to redeploy the application on a different server keeping the same EAR for all servers, he have to run EJBC and redeploy the whole thing. It is not possible just to add new server and to deploy existing EAR on it. And this is a pity.

    Still, I am impressed, that this distributed cluster system did not have to be modified heavily. This indeed means that WORA almost works.

    Like others here, I would like to know the details, which J2EE features exactly were used in you application, so it would be easy to understand, what exactly was ported. Thanks.
  59. Vendor lock in?[ Go to top ]

    Michael,

    I am a little confused over that when people talk about portability, they are not taking into consideration the size of the application!

    We have,

    1) Small applications
    2) Medium size app like the Original Petshop (30000 LOC, 700 files)
    3) Real enterprise app like the Siebel System (shall we guess 2 mill LOC, 500 EJB, 4000 files?)

    Then we also have to guess that Siebel would have to take advantage of every possible native functionality in the Websphere to get any advantage against the 50+ other CRM systems that competes on the market.

    So after that - how long time then to port to another container?

    In other words the word "proportions".

    Regards
    Rolf Tollerud
  60. Hello all, I'm geting ClassCastException when I call getXXX from one entity. The field XXX in the entity is java.sql.Timestamp and calling this field (with getXXX) using Sun ONE Server, throw ClassClastException because the field of entity deployed is oracle.sql.Timestamp and this class not extend java.sql.Timestamp.

    somebody can help-me?
    Below is exception and logging

    [29/Apr/2003:11:28:22] FINEST ( 9881): marking key field idAgendamento as present.
    [29/Apr/2003:11:28:22] FINEST ( 9881): NullSemaphore.acquire() for PersistenceManagerImpl.cacheLock.
    [29/Apr/2003:11:28:22] FINEST ( 9881): NullSemaphore.release() for PersistenceManagerImpl.cacheLock.
    [29/Apr/2003:11:28:22] FINEST ( 9881): NullSemaphore.acquire() for SQLStateManager.
    [29/Apr/2003:11:28:22] FINEST ( 9881): convertValue: oracle.sql.TIMESTAMP@3e1a4f From: oracle.sql.TIMESTAMP To: class java.sql.Timestamp.
    [29/Apr/2003:11:28:22] FINEST ( 9881): NullSemaphore.release() for SQLStateManager.
    [29/Apr/2003:11:28:22] FINEST ( 9881): --- TransactionImpl.releaseConnection(): TX optimistic: false Inside Commit: false referenceCount: 0 for com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerImpl@1fb6d8.
    [29/Apr/2003:11:28:22] FINEST ( 9881): --- TransactionImpl.closeConnection() com.sun.enterprise.resource.JdbcXAConnection$JdbcConnection@7056df for com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerImpl@1fb6d8.
    [29/Apr/2003:11:28:22] FINE ( 9881): Exception.
    java.lang.ClassCastException: oracle.sql.TIMESTAMP
            at com.sun.jdo.spi.persistence.support.sqlstore.model.FieldDesc.convertValue(FieldDesc.java:463)
            at com.sun.jdo.spi.persistence.support.sqlstore.ResultDesc.getConvertedObject(ResultDesc.java:399)
            at com.sun.jdo.spi.persistence.support.sqlstore.ResultDesc.setFields(ResultDesc.java:746)
            at com.sun.jdo.spi.persistence.support.sqlstore.ResultDesc.getResult(ResultDesc.java:635)
            at com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager.executeQuery(SQLStoreManager.java:648)
            at com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager.retrieve(SQLStoreManager.java:500)
            at com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager.retrieve(SQLStoreManager.java:458)
            at com.sun.jdo.spi.persistence.support.sqlstore.sql.RetrieveDescImpl.realizeFields(RetrieveDescImpl.java:755)
            at com.sun.jdo.spi.persistence.support.sqlstore.SQLStateManager.realizeField(SQLStateManager.java:2155)
            at com.sun.jdo.spi.persistence.support.sqlstore.SQLStateManager.prepareGetField(SQLStateManager.java:1866)
            at com.sun.jdo.spi.persistence.support.sqlstore.SQLStateManager.prepareGetField(SQLStateManager.java:1819)
            at br.com.inttegra.infra.bean.agenda.AgendamentoEJB449212383_JDOState.getDataInicial(AgendamentoEJB449212383_JDOState.java:113)
            at br.com.inttegra.infra.bean.agenda.AgendamentoEJB449212383_ConcreteImpl.getDataInicial(AgendamentoEJB449212383_ConcreteImpl.java:132)
            at br.com.inttegra.infra.bean.agenda.AgendamentoEJB449212383_ConcreteImpl_EJBLocalObjectImpl.getDataInicial(AgendamentoEJB449212383_ConcreteImpl_EJBLocalObjectImpl.java:376)
            at br.com.inttegra.infra.bean.agenda.AgendamentoBizBean._loadHelperByReflection(AgendamentoBizBean.java:162)
            at br.com.inttegra.infra.bean.agenda.AgendamentoBizBean.convertToData(AgendamentoBizBean.java:585)
            at br.com.inttegra.infra.bean.agenda.AgendamentoBizBean_EJBLocalObjectImpl.convertToData(AgendamentoBizBean_EJBLocalObjectImpl.java:468)
            at br.com.inttegra.infra.bean.pacote.PacoteBizBean.convertToData(PacoteBizBean.java:359)
            at br.com.inttegra.infra.bean.pacote.PacoteBizBean.findAll(PacoteBizBean.java:167)
            at br.com.inttegra.infra.bean.pacote.PacoteBizBean_EJBLocalObjectImpl.findAll(PacoteBizBean_EJBLocalObjectImpl.java:322)
            at br.com.inttegra.infra.businesslayer.ejb.ControllerBean.findAll(ControllerBean.java:338)
            at br.com.inttegra.infra.businesslayer.ejb.ControllerBean_EJBObjectImpl.findAll(ControllerBean_EJBObjectImpl.java:242)
            at br.com.inttegra.infra.businesslayer.ejb._ControllerBean_EJBObjectImpl_Tie._invoke(Unknown Source)
            at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(GenericPOAServerSC.java:569)
            at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(GenericPOAServerSC.java:211)
            at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAServerSC.java:113)
            at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:275)
            at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProcessor.java:83)
            at com.iplanet.ias.corba.ee.internal.iiop.ServicableWrapper.service(ServicableWrapper.java:25)
            at com.iplanet.ias.util.threadpool.FastThreadPool$ThreadPoolThread.run(FastThreadPool.java:283)
            at java.lang.Thread.run(Thread.java:536)
     
    [29/Apr/2003:11:28:22] FINEST ( 9881): NullSemaphore.release() for SQLStateManager.
    [29/Apr/2003:11:28:22] FINEST ( 9881): <-- SqlStateManager.prepareGetField().
    [29/Apr/2003:11:28:22] INFO ( 9881): Bean Agendamento method getDataInicial:
    com.sun.jdo.api.persistence.support.JDOFatalInternalException: Failed to get field.
  61. try to post your problem to the Application server 7 forum at http://softwareforum.sun.com/

    Peter