Solved

Clarification with EJB terminology

Posted on 2006-11-07
7
249 Views
Last Modified: 2013-11-24
hi experts

I have some experience with EJB but need clarification with certain terms :

   >>    Ejb components are 1. scalable 2. Portable 3. Transactional  4. Secure   <<

1  what does scalable mean? Is it refering to the load of the applicaiton? how/where in websphere app server will i able to configure this?

2. what does portable mean? Does it mean system independence? Consider a scenario where i am using websphere application server to deploy my ejb's. Can you give an example scenario where my ejbs' are portable ?

3. what does Transactional mean?how/where in websphere app server will i be able to configure this?

4. what does Secure mean? how/where in websphere app server do i configure this?

any help appreciated..

** Please provide real time experiences.

thanks
J



0
Comment
Question by:jaggernat
  • 2
  • 2
  • 2
  • +1
7 Comments
 
LVL 16

Expert Comment

by:suprapto45
ID: 17895637
Hi J,

This is only my opinion and I am not good in WebSphere :).

1. I think scalable here means that it is able to handle the growth of transactions in your application in the right way. For configuring it, you may not need to configure it but for Session Bean, you may be able to configre the size of the pool for Session Bean.

2. I think that portable means that you can use EJB to switch to any other DB easily and you can just simply export the jar file to another app.

3. Transactional means that it supports rollback, commit and etc. For EJB 2, you do not need to configure it in your WebSphere, it is normally be defined in the ejb-jar.xml or using annotation (if you use it).

4. Secure.....mmmm.....do not really know. Is it secure in the way it manages the data in transactional behavior?

Hope that helps.
David
0
 
LVL 10

Expert Comment

by:mbvvsatish
ID: 17896016
1. For example, if an application was developed to handle 100 concurrent users with a performance of x. After sometime, the number of users/customers get doubled. In this case, we have to increase the current processing capability of the application with no degradation of the performance. We increase the number of application server instances and cluster them or increasing the size of the pool (as suprapto45 said) that would best fit the number of users.

2.The objective of portability in EJB is to allow an Enterprise Bean to be used across EJB servers. Enterprise JavaBeans applications will follow the "write-once, run anywhere" philosophy of the Java programming language. An Enterprise Bean can be developed once, and then deployed on multiple platforms without recompilation or source code modification.

3. Transactional means the declarative transaction management that it supports and the support to  rollback, commit and etc (as suprapto45 said)
http://www.unix.org.ua/orelly/java-ent/ebeans/ch08_02.htm

4. Security settings indicating which users and roles should be able to access secure EJBs or secure EJB methods.
method level security has been provided in ejb.

All the above doesnt depend on application servers, so its absolutely not related to your websphere.
you can set all these in the deployment descriptors of the ejb.
0
 
LVL 8

Expert Comment

by:colr__
ID: 17896741
Just adding to mbvvsatish's comments on question 4 - an example if enhanced security within the java platform (as opposed to EJBs specifically) is the use of PreparedStatement which pretty much eliminates the possibility of SQL injection attacks (if used properly).

It is also not possible to create buffer overflow attacks on java bytecode either, since it is a strong type-safe language that simply wont let you try and stuff 64 bits into a 32 bit integer value (C/C++ would let you do this unless the coder specifically prevents it, which is buffer overflows exist). The only posiboility of buffer overflows is in the JVM itself, hich so far has proven very hard.

As mbvvsatish states, there is additional security aspects delivered by the EJB container, which are avaiable via your application server control panel or the J2EE API's.
0
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 
LVL 10

Author Comment

by:jaggernat
ID: 17900383
thanks for the nice explanation guys

1. >>>increasing the size of the pool
Can we programmatically do this or do we have to set this in the application server.


2.>>>, and then deployed on multiple platforms
So that means if I develop my ejb s in WSAD and export the ejb-jar files(or the corresponding ear file). Can I import that ejb-jar file(or the corresponding ear file) in Jbuilder ( a different platform) and run those ejbs.
0
 
LVL 16

Assisted Solution

by:suprapto45
suprapto45 earned 120 total points
ID: 17903137
>>"Can we programmatically do this or do we have to set this in the application server."
As far as I know, this must be in the application server. I think that this is actually configuring one of the xml file.

>>"So that means if I develop my ejb s in WSAD and export the ejb-jar files(or the corresponding ear file). Can I import that ejb-jar file(or the corresponding ear file) in Jbuilder ( a different platform) and run those ejbs."
Yes, you should be able to do that.
0
 
LVL 10

Accepted Solution

by:
mbvvsatish earned 380 total points
ID: 17904224
>>"So that means if I develop my ejb s in WSAD and export the ejb-jar files(or the corresponding ear file). Can I import that ejb-jar file(or the corresponding ear file) in Jbuilder ( a different platform) and run those ejbs."
Yes, you should be able to do that.
but if you want to deploy the same ejbs in a different application server you may may need to change the server specific deployment descriptors (i.e. xml files).
0
 
LVL 10

Author Comment

by:jaggernat
ID: 18000741
>>> change the server specific deployment descriptors (i.e. xml files).

good point.
0

Featured Post

Webinar: Aligning, Automating, Winning

Join Dan Russo, Senior Manager of Operations Intelligence, for an in-depth discussion on how Dealertrack, leading provider of integrated digital solutions for the automotive industry, transformed their DevOps processes to increase collaboration and move with greater velocity.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
object oriented programming comparison 5 77
Problem to Alipay 10 43
Java syntax, or is it Selenium 6 30
Java Eclipse Loop 3 20
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
Viewers learn about the “while” loop and how to utilize it correctly in Java. Additionally, viewers begin exploring how to include conditional statements within a while loop and avoid an endless loop. Define While Loop: Basic Example: Explanatio…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question