Solved

Clarification with EJB terminology

Posted on 2006-11-07
7
237 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
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
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

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…

757 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now