We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you two Citrix podcasts. Learn about 2020 trends and get answers to your biggest Citrix questions!Listen Now

x

Clarification with EJB terminology

jaggernat
jaggernat asked
on
Medium Priority
289 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



Comment
Watch Question

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
CERTIFIED EXPERT

Commented:
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.

Commented:
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.

Author

Commented:
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.
>>"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.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
CERTIFIED EXPERT
Commented:
>>"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).

Author

Commented:
>>> change the server specific deployment descriptors (i.e. xml files).

good point.
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.