Why use J2EE?

I have to start convincing a few people at work why we should make a move to J2EE.
Why should we use J2EE, in particular EJBs on a payment processing type system.
Personaly I have used EJBs, but the extent of "Hello World" type applications...

> But I can say .Net or any 3rd party offers scalability, concurency, transactions, security etc...
Of course many other vendors will also supply you with a solution that meets your needs - that's what vendors do and that's why there's competition in the market.
However, with respect to the other vendors you've mentioned I would say this:
J2EE is a real technology, tested and hosting live enterprise applications. It has been around for several years and is subsequently both well understood and well supported. Furthermore it is a standard, enabling you to choose the implementation that best suits your need/budget (as well as enabling you to develop on a cheaper system to what you deploy to). The range of implementations is impressive, ranging from free to very expensive (but still worth it for some businesses).
> In what way can I apply this to my application "payment processing"....
I'm not going to claim that J2EE will solve all your problems or that J2EE is the only platform that can deliver what you want. In an honest world I would tell you what J2EE is capable of and where it meets your requirements. Since your requirement is pretty vague I've given you an overview of where I think J2EE will be able to provide some real value - providing the detail is a job for a consultant who's investigated your problem domain.
> Do you think that we will cost much more money to develope EJB system?
Yes I do. EJB places constraints on what you can do and how you must program. It requires a great deal more forethought and design to achieve a system that performs well and meets your requirements. This all adds up to design and development time and in the end that means cost. At any rate, I would expect an experienced enterprise architect/developer to be more highly paid.
But you'll get a lot more for your money! You might argue that it would take longer to develop a transactionally-safe, secure application without J2EE. Perhaps it would. But if you were implementing all this yourself you'd only implement what you needed; J2EE requires a little bit of effort all round.
Don't misunderstand me - I think that J2EE is excellent and well worth implementing if you need (or will need) it. If you have a business need then go for it but don't forget that there are other Java technologies (perhaps a subset of J2EE such as Servlet/JSP) that may also provide what you need.

Similar Messages

  • CFID and CFTOKEN still set when using J2EE sessions

    I'm using CF10 and "Use J2EE session variables" is selected in the CF admin.
    When I visit an application, I get the JSESSIONID cookie, but I also get the CFID and CFTOKEN persistent cookies. The app I'm working with is older and uses Application.cfm instead of Application.cfc, but the clientmanagement and setclientcookies application attributes are set to false.
    I'm not sure why CFID and CFTOKEN are still set. Are they set regardless of the client and session management settings?

    cherdt
    There are ways to force the CF create cookies SESSION simply change the cfcookie to be a session cookie and tag you find these two links:
    http://www.bennadel.com/blog/1131-ask-ben-ending-coldfusion-session-when-user-closes-brows er.htm
    http://www.johnwbartlett.com/cf_tipsntricks/index.cfm?TopicID=75
    BKBK
    I agree with his statement and is so even though the documentation says.

  • Why use Oracle 8.1.5 for Linux?

    Dear,
    If it is really pain in the ass to install Oracle on Linux, why
    use it? I have spent more than 4 full days (more than what I
    excepted) to try to install Oracle on a Linux box.
    I guess I will go for mySQL since I can just install the RPM
    package and do not have to worry those critical issues.
    Just a note for Oracle, please design a better Installer next
    time which is going to work! Thank you.
    Best Regards,
    Alex Yu
    null

    I have some sympathy for your plight. I have 8.0.5 installed on
    RedHat Linux. Apart from patching the Pro*C configuration file,
    everything is fine.
    It does seem 8.1.5 is more problematic. If you're purely
    evaluating Oracle, maybe you should consider 8.0.5 until 8i
    stabilises unless you really are gagging for some 8i feature.
    Alex Yu (guest) wrote:
    : Dear,
    : If it is really pain in the ass to install Oracle on Linux, why
    : use it? I have spent more than 4 full days (more than what I
    : excepted) to try to install Oracle on a Linux box.
    : I guess I will go for mySQL since I can just install the RPM
    : package and do not have to worry those critical issues.
    : Just a note for Oracle, please design a better Installer next
    : time which is going to work! Thank you.
    : Best Regards,
    : Alex Yu
    null

  • Unable to use j2ee -stop or the deploytool

    I am a J2EE newbie. I have recently installed j2sdkee1.3.1 on Windows XP. The J2SDK version I am using is j2sdk1.4.0_01.
    I can start the J2EE server successfully and view http://localhost:8000/index.html.
    However, I am unable to stop the server using j2ee -stop. When I try to start deploytool, it hangs.
    Any suggestions

    I am havgin the same problem. When I try to stop I get error as:
    Shutting down the J2EE server.
    javax.naming.CommunicationException: Can't find SerialContextProvider
    at com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.java:63)
    at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:120)
    at javax.naming.InitialContext.lookup(InitialContext.java:347)
    at com.sun.enterprise.util.Utility.lookupObject(Utility.java:108)
    at com.sun.enterprise.server.J2EEServer.clientShutdown(J2EEServer.java:996)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:936)
    could you please help...
    thanks

  • Why Using Top Link is best in DB Adapter?

    Hi All,
    Can any one suggest , Why Using Top Link (Build-in Insert, Select etc. operation) is best in DB Adapter over using custom query?
    Thanks

    Hi Vikky,
    for insert/select it depends on what kind of user you are. TopLink lets you browse and click on a tables and have everything generated for you. If you are more a DBA or show me the SQL type then you can just type SQL directly.
    Some advantages of TopLink would be:
    -The range of SQL generated by TopLink is limited, but if you hard code complex SQL into your service you need to maintain it.
    -TopLink can generate at runtime the correct SQL for a given database, making switching from say DB2 to Oracle easy.
    -The merge operation will compare the input XML to the columns on the database and update only what has changed. It can also do a sparse merge. If only 4 columns in the XML were set, only those 4 columns in the database will be updated.
    -For inbound polling the strategy used (LogicalDelete, Sequencing Table, etc) is a configuration property and then at runtime multiple SQL statements are generated. The SQL also takes advantage of advanced syntax like the Oracle-only FOR UPDATE SKIP LOCKED, writing it all yourself may be tedious and error prone.
    -The main benefit of TopLink is when you go beyond thinking about a single table. If you import multiple related tables at once, TopLink will generate the SQL to select from and maintain multiple tables, establish a commit order, and generate a hierarchical XSD. With custom SQL the matching XSD is always flat. I.e. if you just need to insert an emp you could get away with custom SQL. If you need to insert a dept and emps, I would use TopLink.
    -This is also when the intermediary abstraction of an object/table makes more sense, as you only need to import a complex relational schema once, then generate inserts, selects, etc.
    So I hope that helps. They are each equally viable and can do something that the other can't. Where you see an overlap I would go with personal preference.
    Thanks
    Steve

  • Why use interlaced ?

    We shoot with DVCpro50 at 24p.
    A few questions.
    1. Is there anytime that there is an advantage, or a time when you have to use field dominance ?
    Interlaced footage looks like crap. Stills look horrible in an interlaced timeline - why ever use it ?
    It seems I can just switch the field dominance from "lower/even" to "none" and everything looks 10 times better on computer and NTSC monitor.
    2. Is there anytime that there is a disadvantage to removing the pulldown and editing in 24fps. It looks 10 times better without the screwd up "B/C & C/D" frames if you leave it in and edit at 29.97fps.
    3. is there any advantage or quality enhancement by removing the pulldown in "Shake" rather than letting FCP do it while capturing. And after removing, should your sequence timeline be set to 24fps or 23.98fps and why ?
    4. Have G5, OSX 10.4.8, AJA IO hooked up to NTSC monitor, and can't view 24fps timeline on external NTSC monitor - only frames when parked - is that because these monitors will only accept 29.97 field dominated footage ?

    Fist off - thanks for the help on part 4.
    I know how TV works and why NTSC was invented over a half century ago.
    Now that I can monitor on the external I will always edit in 24. I'm only the editor - they shoot with a SPX900 in 24p - if you don't remove the pulldown, frames 3 & 4 out of the 5 frame cycle combined with the interlacing gives really bad results. So out of curiosity I switched the sequence dominance setting from "lower/even" to "none" - at this point is ii still treated as interlaced or if it is set to "none" is it now progressive, like when you are editing in 24 and the field dominance window is greyed out. I would think that this would look jittery on a TV because the field order isn't right - but it doesn't - I can make DVD, VHS(not sure why), and monitor and the only difference is that the stills look incredibly better - there's no banding and stair stepping on the shoulders- on either the computer monitor or the NTSC monitor. And with it set to "lower/even" the bigger the computer or TV screen the worse it looks - but with it set to "none" the stills just get softer as you view them on bigger screens as if the right amount of gaussian blur was being added automatically - Isn't that wht you want ?
    So that was why I ask "why use interlace" if you have a choice?
    I'm not trying to be cool - these are ligitimate questions. I consider this doing my homework - isn't that what forums are for - I help people with answers all of the time.
    As for part 3 - Does "standard pulldown" refer to going back & forth between 24fps (film) and 29.97 (video) and "advanced pulldown" from 23.98 to 29.97 ?
    Are all of these modern video cameras actually shooting at 23.98 ?
    2 G5s 1.8Ghz single & 2.7Ghz Dual (PPC)   Mac OS X (10.4.8)   FCP Studio 5.0.4, Shake 4.1, AJA IO, 1.5G RAM & 3G RAM
    2 G5s 1.8Ghz single & 2.7Ghz Dual (PPC)   Mac OS X (10.4.8)   FCP Studio 5.0.4, Shake 4.1, AJA IO, 1.5G RAM & 3G RAM

  • Error in Java based iView when trying to use J2EE bean

    I am trying to create a iView based on Java Portal app.
    [Java portal app has dynPage based Portal App Object]
    I created a PAR and uploaded to Portal. I created iView and worked it fine in (preview).
    [iView created using "Content Administration -> Portal Content -> New From Par -> iView"]
    I deleted my iView and removed my archive (using "Java Developer -> Portal Archive Deployer/Remover").
    I changed java portal project so that I can reference a bean from J2EE app already deployed on server.
    [Edited Portalapp.xml to add a
        <property name="PrivateSharingReference" value="SAPJ2EE::service:p4, SAPJ2EE::test.myApp/myBean"/>
    This time PAR installs fine, but when I try to preview iView, get following error.
    Portal Runtime Error
    An exception occurred while processing a request for :
    iView : N/A
    Component Name : N/A
    com/sapportals/portal/htmlb/page/PageProcessorComponent.
    Exception id: 02:36_11/08/05_0016_4991450
    See the details for the exception ID in the log file
    I removed "SAPJ2EE::test.myApp/myBean" from portalapp.xml and rebuilt PAR and rebuilt iView but I get same error as above.
    1. Where are logs located (for iView errors)?
    2. Any pointers on using J2EE bean? (I am trying to use step described in topic  "J2EE Applications Access from Portal Applications" from manuals).
    3. Do I need to reference any additional libraries to use p4?
    Thanks.

    The problem seems to be in portalapp.xml
    I created second PrivateSharingReference in it
    <property name="PrivateSharingReference" value="com.sap.portal.htmlb">
    <property name="PrivateSharingReference" value=" SAPJ2EE::service:p4, SAPJ2EE::test.myApp/myBean"/>
    I changed to be one entry only like
    <property name="PrivateSharingReference" value="com.sap.portal.htmlb, SAPJ2EE::service:p4, SAPJ2EE::test.myApp/myBean"/>
    Now iView works again....But still donot know where log is..

  • How to upload a file into server using j2ee jsp and servlet with bean?

    How to upload a file into server using j2ee jsp and servlet with bean? Please give me the reference or url about how to do that. If related to struts is more suitable.
    Anyone help me please!

    u don't need j2ee and struts to do file uploading. An example is as such
    in JSP. u use the <input> file tag like
    <input type="file"....>You need a bean to capture the file contents like
    class FileUploadObj {
        private FormFile srcFile;
        private byte[] fileContent;
        // all the getter and setter methods
    }Then in the servlet, you process the file for uploading
        * The following loads the uploaded binary data into a byte Array.
        FileUploadObj form = new FileUploadObj();
        byte[] byteArr = null;
        if (form.signFile != null) {
            int filesize = form.srcFile.getFileSize();
            byteArr = new byte[filesize];
            ByteArrayInputStream bytein = new ByteArrayInputStream (form.srcFile.getFileData());
            bytein.read(byteArr);
            bytein.close();
            form.setFileContent(byteArr);
        // Write file content using Writer class into the destination file in the server.
        ...

  • Why use symbol {   } in the following script?

    Why use symbol *{   }* in the following script?
    <read-write-backing-map-scheme>
    <scheme-name>SampleDatabaseScheme</scheme-name>
    <internal-cache-scheme>
    <local-scheme>
    <scheme-ref>SampleMemoryScheme</scheme-ref>
    </local-scheme>
    </internal-cache-scheme>
    <cachestore-scheme>
    <class-scheme>
    <class-name>com.tangosol.examples.coherence.DBCacheStore</class-name>
    <init-params>
    <init-param>
    <param-type>java.lang.String</param-type>
    *<param-value>{cache-name}</param-value>*
    </init-param>
    </init-params>
    </class-scheme>
    </cachestore-scheme>
    </read-write-backing-map-scheme>
    Thank you very much
    Edited by: jetq on Jun 24, 2009 6:26 PM

    Hi Frank,
    In the example, the "{cache-name}" is supposed to be replaced by the database's table or view name that will be queried for the data to be cached. It's purpose is demonstrate how to pass parameters to the class constructor.
    Regards,
    Harv

  • Why use layer masks and adjustment layers?

    I've been using PSE and CS successfully for years.
    One thing I have never understood is: why use layer masks and adjustment layers, instead of simply creating a copy of the subject layer (the one I want to make changes to) and experimenting with that?  It's quick (Ctrl-J), I can do it as many times as I want, I'm not affecting my Background layer.  If I like the changes, I can keep them.  I can switch the copy on and off to compare with the Background layer.  I can do any type of blend or combination I desire.  I can insert Gradient layer(s), select any part of the copy and (Ctrl-J) create a new layer containing only the selected part.  I can adjust size, rotate, do anything.
    It almost seems that "layer mask" and "adjustment layer" are mainly another layer of terminology; can anyone explain (preferably in 50 words or less) how they are intrinsically different from or superior to working with copies of the Background layer?  What can be done with them that can't be done simply using copies of the Background layer?

    Here's a very basic example of the advantage of using a layer mask.
    I have this picture of a sunflower and I want to convert the background to black & white, leaving just the flower in color.  I duplicated the Background layer, converted it to B&W and proceeded to use the Eraser to uncover the flower color. But I made a mistake and erased outside the flower.  There is no way to correct this other than deleting the layer and starting again.
    Now let's use a layer mask on the B&W layer. Set the Foreground/Background colors to the defaults black/white. Using the Brush tool paint on the mask with black to reveal the color.  Here I painted too far, revealing a green leaf in the background.  No need to start over.  Simply switch to white and paint the excess to convert back to the B&W.
    Tip: while painting you can type "X" to toggle between black and white.
    You could also select the flower using the various selection tools and then fill the selection with black. If it turns out the selection was not 100% accurate you can then fine-tune the result by painting on the mask with black or white as necessary.

  • Unable to run Servlet program using J2EE SDK

    Hello,
    i am a newbie to all this j2ee stuff and servlets even.so the problem that i have maybe a very common one and i hope that most of you may have a fix to it...
    i use J2EE SDK to compile and run Servlet programs.I have a Servlet program with the class name defined as
    public class MyServlet extends HttpServlet ....
    the file is stored as MyServlet.java
    i set the CLASSPATH variable so that the required classes for the compilation of the program can be located.
    the program compiles without any glitches.
    However when i run the program by saying
    java MyServlet
    ( i dont think its any different to run servlet code is it?)
    i get the message
    java.lang.NoClassDefFoundException:MyServlet
    Can someone suggest a remedy?
    thank you
    -NDK

    First, I don't understand what you are trying to do. Running a servlet ?
    Servlets are ran by an application server ! (Apache Tomcat ....).
    Second, is your class in any package ?

  • Why using workarea for internal table is better in performance

    Please tell me
    why using workarea for internal table is better in performance

    Hi Vineet ,
      Why would we choose to use an internal table without a header line when it is easier to code one  with a header line?
    it has following reason.
    1)Separate Internal Table Work Area:
         The work area (staging area) defined for the internal table   is not limited to use with just one internal table.
    take ex-
    Suppose you want two internal tables for EMPLOYEE – one to contain all records and one to contain only those records where country = ‘USA’.  You could create both of these internal tables without header lines and use only one work area to load data into both of them. You would append all records from the work area into the first internal table.  You would conditionally append the ‘USA’ records from the same work area into the second internal table.
    2)  Performance Issues:  Using an internal table without a header line is more efficient than one  with a header line
    3) Nested Internal Tables:  If you want to include an internal table within a structure or another   internal table, you must use one without a header line.
    If this one is helpful ,then rewards me
    Regards
    Shambhu

  • Why use go:title etc...

    I've just seen this in the meta data of a website:
    <meta property="og:title" content="foobar...
    There's loads of them… go:description… go:audio… go:keywords… and so on
    Apparently it's to do with open graph and Facebook which I don't fully understand, but why use it and what are the advantages? I've googled it, but I'm finding little ore than what I already mentioned. Just wondering if anybody here knew a little more detail than the info I've found.
    Thanks.
    Mat

    From this page - Facebook Content Sharing Best Practices
    I read:
    Use proper Open Graph tags
    Open Graph tags are included in your page’s HTML and allow the Facebook Crawler to generate previews when your content is shared on Facebook.
    We give examples below, but the basic Open Graph tags you should implement are:
    og:title – The title of your article, excluding any branding.
    og:site_name - The name of your website. Not the URL, but the name. (i.e. "IMDb" not "imdb.com".)
    og:url – This URL serves as the unique identifier for your post. It should match your canonical URL used for SEO, and it should not include any session variables, user identifying parameters, or counters. If you use this improperly, likes and shares will not be aggregated for this URL and will be spread across all of the variations of the URL. 
    og:description – A detailed description of the piece of content, usually between 2 and 4 sentences. This tag is technically optional, but can improve the rate at which links are read and shared.
    etc.

  • Why use “synchronized” to decorate an object which its type is Vector

    Hello,guys.
    Recently,I readed the source code of java.util.Observable.Unfortunately,I encounted some problems&#12290;In the source code ,there is an object named “obs”.Its type is Vector. As we all know,Vector is thread-safe.why use “synchronized” in below code?
        public synchronized void deleteObservers() {
         obs.removeAllElements();
        }thanks.
    Edited by: qiao123 on Dec 21, 2009 7:07 PM

    My " NewBie" Definition of Thread Safe :Is of no interest. It already has a definition and that isn't it.I wanted to make clear what my definition is.
    The [JLS DEF FOR COLLECTION|http://java.sun.com/j2se/1.4.2/docs/api/java/util/Collections.html] says:
    That is the Javadoc for Collections actually, nothing to do with the JLS or Collection.They are authoritative links for Java Language and the discussion in hand, not Fantasies of Lucy Aunty.
    So,how do we draw any inference(s) here?Yes, that you have selectively quoted the Javadoc, which goes on to talk about how you have to use it when iterating.Still not answering my question,Sir.
    ejp,you seem to have knowledge but you don't have the attitude to forward the same to others or bear what others say,even when initiative has been taken by others to put forward a problem.
    P.S : Not all hackers are arrogant and not all arrogant are hackers.
    Another P.S : Waste of my time really !!!
    Edited by: punter on Dec 22, 2009 1:09 AM

  • Why use KeyExtractor here? How about remove it?

    Please see the following script:
    setResults = cache.entrySet(new AndFilter(
    new LikeFilter(new KeyExtractor("getLastName"), "S%",
    (char) 0, false),
    new EqualsFilter("getHomeAddress.getState", "MA")));Why use KeyExtractor here? How about remove it and make it like:
    setResults = cache.entrySet(new AndFilter(
    new LikeFilter("getLastName"), "S%"),
    new EqualsFilter("getHomeAddress.getState", "MA")));Is this scrip right?
    Edited by: jetq on Oct 23, 2009 2:08 PM

    I Googled for KeyExtractor and the likeliest-looking thing was javadocs for com.tangosol.util.extractor.KeyExtractor on an Oracle site.
    Why don't you check around the Oracle developer site for a forum specifically about whatever product this is?

Maybe you are looking for