Knowledge (XXG)

Jakarta Enterprise Beans

Source đź“ť

2381: 1101:
ill-defined requirements for the so-called "client-libraries"; a set of jar files that a Java client must have on its class-path in order to communicate with the remote EJB server. These client-libraries potentially conflict with libraries the client may already have (for instance, if the client itself is also a full Java EE server) and such a conflict is deemed to be very hard or impossible to resolve.
809:-like) services to a bean like transactions, security, interceptions, injections, and remoting. As an example, a client invokes a method on a proxy, which will first start a transaction with the help of the EJB container and then call the actual bean method. When the bean method returns, the proxy ends the transaction (i.e. by committing it or doing a rollback) and transfers control back to the client. 802:, which dynamically implements either the local or remote business interface that the client requested or a sub-type of the actual bean. The proxy can then be directly cast to the interface or bean respectively. A client is said to have a 'view' on the EJB, and the local interface, remote interface and bean sub-type itself respectively correspond to the local view, remote view and no-interface view. 721:
processes them automatically. Only JMS support is required by the Java EE spec, but Message Driven Beans can support other messaging protocols. Such protocols may be asynchronous but can also be synchronous. Since session beans can also be synchronous or asynchronous, the prime difference between session- and message driven beans is not the synchronicity, but the difference between (object oriented)
1370:. Enterprise JavaBeans 3.2 was a relatively minor release that mainly contained specification clarifications and lifted some restrictions that were imposed by the spec but over time appeared to serve no real purpose. A few existing full EJB features were also demanded to be in EJB 3 lite and functionality that was proposed to be pruned in EJB 3.1 was indeed pruned (made optional). 828:
includes switching off transactions for the whole bean or specific methods, or requesting alternative strategies for transaction propagation and starting or joining a transaction. Such strategies mainly deal with what should happen if a transaction is or isn't already in progress at the time the bean is called. The following variations are supported:
1469:: This release made it much easier to write EJBs, using 'annotations' rather than the complex 'deployment descriptors' used in version 2.x. The use of home and remote interfaces and the ejb-jar.xml file were also no longer required in this release, having been replaced with a business interface and a bean that implements the interface. 599:: that is, they keep track of which calling client they are dealing with throughout a session and of the history of its requests, and thus access to the bean instance is strictly limited to only one client during its lifetime. If concurrent access to a single bean is attempted anyway the container serializes those requests, but via the 745:
Sending a configuration update to multiple nodes might be done by sending a JMS message to a 'message topic' and could be handled by a Message Driven Bean listening to this topic (the message paradigm is used here since the sender does not need to know the number of consumers, their location, or even
551:
annotation. Its addCustomer method is typically bound to some UI component, such as a button. Contrary to the EJB, the backing bean does not contain any business logic or persistence code, but delegates such concerns to the EJB. The backing bean does know about a particular presentation, of which the
631:
access to the bean is prohibited. If concurrent access to a single bean is attempted, the container simply routes each request to a different instance. This makes a stateless session bean automatically thread-safe. Instance variables can be used during a single method call from a client to the bean,
1187:
set in the Enterprise Bean implementation (at source level), although it is still possible to use an XML descriptor instead of (or in addition to) the annotations. If an XML descriptor and annotations are both applied to the same attribute within an Enterprise Bean, the XML definition overrides the
1100:
Communication via web services is typical for clients not written in the Java programming language, but is also convenient for Java clients who have trouble reaching the EJB server via a firewall. Additionally, web service based communication can be used by Java clients to circumvent the arcane and
749:
Submitting a job to a work cluster might be done by sending a JMS message to a 'message queue' and could also be handled by a Message Driven Bean, but this time listening to a queue (the message paradigm and the queue is used, since the sender doesn't have to care which worker executes the job, but
617:
Checking out in a web store might be handled by a stateful session bean that would use its state to keep track of where the customer is in the checkout process, possibly holding locks on the items the customer is purchasing (from a system architecture's point of view, it would be less ideal to have
1175:
Old EJB containers from many vendors required more deployment information than that in the EJB specification. They would require the additional information as separate XML files, or some other configuration file format. An EJB platform vendor generally provided their own tools that would read this
636:
calls. Instances of Stateless Session beans are typically pooled. If a second client accesses a specific bean right after a method call on it made by a first client has finished, it might get the same instance. The lack of overhead to maintain a conversation with the calling client makes them less
976:
A single bean can be obtained by any name matching the above patterns, depending on the 'location' of the client. Clients in the same module as the required bean can use the module scope and larger scopes, clients in the same application as the required bean can use the app scope and higher, etc.
827:
Container-managed transactions (CMT) are by default active for calls to session beans. That is, no explicit configuration is needed. This behavior may be declaratively tuned by the bean via annotations and if needed such configuration can later be overridden in the deployment descriptor. Tuning
603:
annotation the container can instead throw an exception. Stateful session beans' state may be persisted (passivated) automatically by the container to free up memory after the client hasn't accessed the bean for some time. The JPA extended persistence context is explicitly supported by Stateful
720:
annotation. They were added in EJB to allow event-driven processing. Unlike session beans, an MDB does not have a client view (Local/Remote/No-interface), i. e. clients cannot look-up an MDB instance. An MDB just listens for any incoming message on, for example, a JMS queue or topic and
675:
Singleton Session Beans are business objects having a global shared state within a JVM. Concurrent access to the one and only bean instance can be controlled by the container (Container-managed concurrency, CMC) or by the bean itself (Bean-managed concurrency, BMC). CMC can be tuned using the
653:
A user of a website clicking on a "keep me informed of future updates" box may trigger a call to an asynchronous method of the session bean to add the user to a list in the company's database (this call is asynchronous because the user does not need to wait to be informed of its success or
272:
Additionally, the Jakarta Enterprise Beans specification defines the roles played by the EJB container and the EJBs as well as how to deploy the EJBs in a container. Note that the EJB specification does not detail how an application server provides persistence (a task delegated to the JPA
1137:
in a consistent manner regardless of the specific EJB platform that was chosen. Information about how the bean should be deployed (such as the name of the home or remote interfaces, whether and how to store the bean in a database, etc.) had to be specified in the deployment descriptor.
428:). The EJB takes care of managing the persistence context and the addCustomer() method is transactional and thread-safe by default. As demonstrated, the EJB focuses only on business logic and persistence and knows nothing about any particular presentation. 1310:
Other changes included removal of deprecated APIs that were pointless to move to the new top level package and the removal of features that depended on features that were removed from Java or elsewhere in Jakarta EE 9. The following APIs were removed:
1410:. The purpose of the Enterprise JavaBeans 3.1 specification is to further simplify the EJB architecture by reducing its complexity from the developer's point of view, while also adding new functionality in response to the needs of the community: 657:
Fetching multiple independent pieces of data for a website, like a list of products and the history of the current user might be handled by asynchronous methods of a session bean as well (these calls are asynchronous because they can execute in
289:
functionality. The EJB 2.0 specification addressed this concern by adding the concept of local interfaces which could be called directly without performance penalties by applications that were not distributed over multiple servers.
797:
Clients of EJBs do not instantiate those beans directly via Java's new operator, but instead have to obtain a reference via the EJB container. This reference is usually not a reference to the implementation bean itself, but to a
680:
annotation, that designates whether a read lock or a write lock will be used for a method call. Additionally, Singleton Session Beans can explicitly request to be instantiated when the EJB container starts up, using the
1566:
Make it easy to write (enterprise) applications: Application developers will not have to understand low-level transaction and state management details, multi-threading, connection pooling, and other complex low-level
149:
software). Such software addresses the same types of problem, and solutions to these problems are often repeatedly re-implemented by programmers. Jakarta Enterprise Beans is intended to handle such common concerns as
926:. This alternative can be used in cases where injection is not available, such as in non-managed code or standalone remote Java SE clients, or when it's necessary to programmatically determine which bean to obtain. 698:
Loading a global daily price list that will be the same for every user might be done with a singleton session bean, since this will prevent the application having to do the same query to a database over and over
711:
are business objects whose execution is triggered by messages instead of by method calls. The Message Driven Bean is used among others to provide a high level ease-of-use abstraction for the lower level JMS
333:
to enable a much less verbose coding style. Accordingly, in practical terms EJB 3.0 is much more lightweight and nearly a completely new API, bearing little resemblance to the previous EJB specifications.
910:) is used to send messages from beans to clients, to let clients receive asynchronous messages from these beans. MDBs can be used to receive messages from clients asynchronously using either a 778:. The specification describes how an EJB interacts with its container and how client code interacts with the container/EJB combination. The EJB classes used by applications are included in the 572:(different JVM) interface or directly without an interface, in which case local semantics apply. All session beans support asynchronous execution for all views (local/remote/no-interface). 281:
Businesses found that using EJBs to encapsulate business logic brought a performance penalty. This is because the original specification allowed only for remote method invocation through
1125:
and two Java interfaces. The EJB container created instances of the Java implementation class to provide the EJB implementation. The Java interfaces were used by client code of the EJB.
1188:
corresponding source-level annotation, although some XML elements can also be additive (e.g., an activation-config-property in XML with a different name than already defined via an
627:
Stateless Session Beans are business objects that do not have state associated with them. However, access to a single bean instance is still limited to only one client at a time,
812:
The EJB Container is responsible for ensuring the client code has sufficient access rights to an EJB. Security aspects can be declaratively applied to an EJB via annotations.
1668:
Defined the responsibilities of an EJB Container provider and server provider; together these make up a system that supports the deployment and execution of enterprise Beans.
1823: 1133:
With EJB 2.1 and earlier, the EJB specification required a deployment descriptor to be present. This was needed to implement a mechanism that allowed EJBs to be
255: 1200:
Starting with EJB 3.1, the EJB specification defines two variants of the EJB container; a full version and a limited version. The limited version adheres to a
1384:
TimerService can retrieve all active timers in the same EJB module (could previously only retrieve timers for the bean in which the TimerService was called)
1073:
Although the EJB specification does not mention exposure as RESTful web services in any way and has no explicit support for this form of communication, the
856:
If the client has started a transaction, it is used. Otherwise a new transaction is started. (this is the default when no explicit type has been specified)
2446: 1355:, as a part of Jakarta EE 8, and despite still using "EJB" abbreviation, this set of APIs has been officially renamed to "Jakarta Enterprise Beans" by the 64: 1035:
For communication with a client that's written in the Java programming language a session bean can expose a remote-view via an interface annotated with
1746: 1077:
specification does explicitly support EJB. Following the JAX-RS spec, Stateless and Singleton session beans can be declared as root resources via the
317:, participated in the EJB 3.0 process and is an outspoken advocate of the technology. Many features originally in Hibernate were incorporated in the 2078: 650:
Sending an e-mail to customer support might be handled by a stateless bean, since this is a one-off operation and not part of a multi-step process.
898:
API. This mode of operation is called Bean Managed Transactions (BMT), since the bean itself handles the transaction instead of the container.
2103: 2221: 716:) specification. It may subscribe to JMS message queues or message topics, which typically happens via the activationConfig attribute of the 273:
specification), but instead details how business logic can easily integrate with the persistence services offered by the application server.
2738: 2478: 305:
to simplify configuration and integration of heterogeneous systems. EJB 3.0 along with the other version of the EJB can be integrated with
2270: 228: 1574:. An enterprise Bean can be developed once, and then deployed on multiple platforms without recompilation or source code modification. 2274: 2733: 1176:
deployment descriptor, and possibly generated a set of classes that would implement the now deprecated Home and Remote interfaces.
922:
As an alternative to injection, clients of an EJB can obtain a reference to the session bean's proxy object (the EJB stub) using
575:
Message Driven Beans (MDBs, also known as Message Beans). MDBs also support asynchronous execution, but via a messaging paradigm.
310: 2322: 2743: 2349:"JavaOne Conference Trip Report: Enterprise JavaBeans Technology: Developing and Deploying Business Applications as Components" 1593:
Provide interoperability between enterprise Beans and Java EE components as well as non-Java programming language applications.
1580:
Define the contracts that enable tools from multiple vendors to develop and deploy components that can interoperate at runtime.
1262:
it does not support the "persistent" attribute that full EJB 3.2 does support. The complete excluded list for EJB 3.2 Lite is:
107: 1062:
specifications. JAX-RPC support however is proposed for future removal. To support JAX-WS, the session bean is annotated with
762: 590: 213: 184: 151: 1097:
annotations. This however does not count as a "web service client view", which is used exclusively for JAX-WS and JAX-RPC.
2627: 2622: 1149:
document having an entry for each EJB to be deployed. This XML document specifies the following information for each EJB:
330: 1827: 894:
Alternatively, the bean can also declare via an annotation that it wants to handle transactions programmatically via the
2612: 2519: 1043:
which may be running on other systems (from the point of view of the EJB container, any code in another JVM is remote).
1955: 285:(and optionally other protocols), even though the large majority of business applications actually do not require this 162:
in a standard way, leaving programmers free to concentrate on the particular parts of the enterprise software at hand.
2697: 2514: 1587: 1571: 1553: 1336:"Support for Distributed Interoperability" to reflect the removal of CORBA from Java 11 and the Jakarta EE 9 Platform. 806: 251: 1583:
Be compatible with existing server platforms. Vendors will be able to extend their existing products to support EJBs.
1115: 2707: 2702: 2634: 791: 786: 297:
220) was a departure from its predecessors, following a new light-weight paradigm. EJB 3.0 shows an influence from
848:
If the client has not started a transaction, an exception is thrown. Otherwise the client's transaction is used.
722: 633: 425: 805:
This proxy is needed in order to give the EJB container the opportunity to transparently provide cross-cutting (
2617: 2471: 1522: 1122: 1046:
Stateless and Singleton session beans may also expose a "web service client view" for remote communication via
780: 596: 199: 1750: 2671: 1299:, as a part of Jakarta EE 9, was a tooling release that mainly moved API package names from the top level 294: 178: 115: 87: 2082: 663: 564:
Session Beans that can be either "Stateful", "Stateless" or "Singleton" and can be accessed via either a
1417: 1142: 662:
that way, which potentially increases performance). In this case, the asynchronous method will return a
632:
but the contents of those instance variables are not guaranteed to be preserved across different client
314: 286: 234: 1559:
Make it possible to build distributed applications by combining components developed using tools from
2579: 2554: 2509: 1506: 907: 895: 713: 628: 318: 302: 60: 2107: 1340:
Other minor changes include marking the Enterprise Beans 2.x API Group as "Optional" and making the
2650: 2594: 2569: 2546: 2464: 2348: 1577:
Address the development, deployment, and runtime aspects of an enterprise application’s life cycle.
1134: 261: 194: 188: 142: 75: 53: 2225: 2681: 2655: 2589: 1512:
Message destinations (the same idea as EJB references, resource references, etc.) has been added.
1356: 775: 725: 659: 265: 207: 171: 2411: 888:
If the client has started a transaction, an exception is thrown. No new transaction is started.
1686: 864:
If the client has started a transaction, it is suspended. A new transaction is always started.
761:
fires, the MDB is automatically invoked. Since Java EE doesn't know about Quartz by default, a
2574: 2033: 1433: 247: 224: 203: 159: 79: 49: 2391: 2301: 929:
JNDI names for EJB session beans are assigned by the EJB container via the following scheme:
145:") 'business' software typically found in enterprise applications (as opposed to 'front-end' 2401: 1518: 544: 298: 111: 1988: 2676: 2559: 2504: 2496: 1352: 1323: 1296: 1184: 729: 326: 880:
If the client has started a transaction, it is suspended. No new transaction is started.
765:
resource adapter would be needed and the MDB would be annotated with a reference to this.
141:
The EJB specification provides a standard way to implement the server-side (also called "
2302:"What's new in EJB 3.2 ? - Java EE 7 chugging along! (Arun Gupta, Miles to go ...)" 2201:"Communication between JBoss AS 5 and JBoss AS 6 | JBoss AS | JBoss Community" 872:
If the client has started a transaction, it is used. Otherwise, no transaction is used.
2380: 155: 146: 67: 2727: 2524: 2326: 1201: 799: 218: 71: 17: 1515:
EJB query language (EJB-QL) additions: ORDER BY, AVG, MIN, MAX, SUM, COUNT, and MOD.
2584: 1502:
EJB timer service (new): Event-based mechanism for invoking EJBs at specific times.
91: 83: 2386: 2374: 2604: 1885: 1659:
Defined the distinct "EJB Roles" that are assumed by the component architecture.
1488: 1446: 322: 242: 57: 1499:. Also, an EJB can easily access a Web service using the new service reference. 2487: 2280: 1081:
annotation and EJB business methods can be mapped to resource methods via the
2406: 2396: 2536: 2456: 2257:
JSR 318, Table 27 - Required contents of EJB 3.1 Lite and Full EJB 3.1 API,
31: 2323:"If you didn't know what is coming in EJB 3.2... (Marina Vatkina's Weblog)" 2200: 1638:
Specify in greater detail the responsibilities of the individual EJB roles.
1377:
Passivation of a stateful session bean can be deactivated via attribute on
2434: 2428: 2422: 2416: 1477: 1462: 127: 123: 2529: 2440: 1533: 306: 238: 119: 1246:
EJB 3.2 Lite excludes less features. Particularly it no longer excludes
1192:
annotation will be added instead of replacing all existing properties).
1121:
With EJB 2.1 and earlier, each EJB had to provide a Java implementation
424:
The above defines a service class for persisting a Customer object (via
2447:"Working with Message-Driven Beans" from EJB3 in Action, Second Edition 1648: 1205: 1055: 342:
The following shows a basic example of what an EJB looks like in code:
95: 2258: 2246: 2188: 2176: 2164: 2152: 2140: 2128: 2066: 2054: 2021: 2009: 1976: 1942: 1930: 1918: 1906: 1873: 1861: 1849: 1811: 1799: 1784: 1772: 1734: 1407: 1367: 1180: 135: 131: 1391:) can be transactional for stateful session beans using the existing 1074: 1059: 431:
Such an EJB can be used by a class in e.g. the web layer as follows:
754: 325:
in EJB 3.0. The EJB 3.0 specification relies heavily on the use of
984:
could use the following code to obtain a (local) reference to it:
282: 1326:
to reflect the removal of XML RPC from the Jakarta EE 9 Platform.
980:
E.g. code running in the same module as the CustomerService bean
2712: 1496: 1492: 1427: 1208:(which is itself a subset of the full Java EE 6 specification). 1051: 1047: 923: 821: 547:(JSF) backing bean in which the EJB is injected by means of the 329:(a feature added to the Java language with its 5.0 release) and 2460: 1651:, Sun's third Java developers conference (March 24 through 27) 1635:
Provide better support for application assembly and deployment.
1505:
Message-driven beans accepts messages from sources other than
1146: 1040: 2451: 1039:. This allows those beans to be called from clients in other 1491:
support (new): stateless session beans can be invoked over
1398:
Autocloseable interface implemented by embeddable container
774:
EJBs are deployed in an EJB container, typically within an
106:
The EJB specification was originally developed in 1997 by
1211:
EJB 3.1 Lite excludes support for the following features:
1570:
Will follow the "Write Once, Run Anywhere" philosophy of
1204:
of the specification called EJB 3.1 Lite and is part of
750:
it does need assurance that a job is only executed once).
27:
Java API for modular construction of enterprise software
982:(as given by the example shown earlier in this article) 757:
can be handled by a Message Driven Bean; when a Quartz
1747:"Optional Local Business Interfaces (Ken Saks's Blog)" 301:
in its use of plain Java objects, and its support for
1114:"Home interface" redirects here. For other uses, see 1521:
is used to specify deployment descriptors, replaces
2690: 2664: 2643: 2603: 2545: 2495: 1359:so as not to tread on the Oracle "Java" trademark. 1341: 1330: 1316: 1304: 1300: 1066:, and methods that are to be exposed remotely with 820:EJB containers must support both container managed 595:Stateful Session Beans are business objects having 1596:Be compatible with the CORBA protocols (RMI-IIOP). 972:(entries in square brackets denote optional parts) 949:java:global/<module-name>/<bean-name> 1548:The standard component architecture for building 560:An EJB container holds two major types of beans: 114:(EJB 1.0 and 1.1) in 1999 and enhanced under the 1794: 1792: 1414:Local view without interface (No-interface view) 1110:Home interfaces and required business interface 957:java:app/<module-name>/<bean-name> 78:for web related software components, including 2104:"Portable Global JNDI Names (Ken Saks's Blog)" 1439:Application Initialization and Shutdown Events 2472: 2224:. Wiki.caucho.com. 2010-02-12. Archived from 1665:Defined the enterprise Bean developer’s view. 1624:Entity Bean support - mandatory, not optional 1275:Persistent timers ("persistent" attribute on 794:used only by EJB container implementations.) 8: 1662:Defined the client view of enterprise Beans. 824:transactions and bean managed transactions. 2079:"Portable Global JNDI names (MaheshKannan)" 94:. The EJB specification is a subset of the 2479: 2465: 2457: 2379: 924:Java Naming and Directory Interface (JNDI) 832:Declarative Transactions Management Types 2222:"Resin Java EE 6 Web Profile - Resin 3.0" 1621:Security - role driven, not method driven 1552:object-oriented business applications in 1171:Stateful or Stateless (for Session Beans) 1156:Java class for the Bean (business object) 637:resource-intensive than stateful beans. 174:provides the following responsibilities: 1165:Persistent store (only for Entity Beans) 931: 830: 2276:Jakarta Enterprise Beans, Core Features 1954:Developing Quartz MDB (29 April 2009). 1678: 1423:EJB Lite: definition of a subset of EJB 1381:annotation (passivationCapable = false) 1235:Asynchronous session bean invocations ( 1022:"java:module/CustomerService" 1162:Java interface for the business object 1348:EJB 3.2.6, final release (2019-08-23) 1183:), the XML descriptor is replaced by 1159:Java interface for the Home interface 170:The EJB specification details how an 7: 1319:which has been removed from Java 14. 2259:http://jcp.org/en/jsr/detail?id=318 2247:http://jcp.org/en/jsr/detail?id=318 2189:http://jcp.org/en/jsr/detail?id=311 2177:http://jcp.org/en/jsr/detail?id=318 2165:http://jcp.org/en/jsr/detail?id=318 2153:http://jcp.org/en/jsr/detail?id=318 2141:http://jcp.org/en/jsr/detail?id=318 2129:http://jcp.org/en/jsr/detail?id=318 2067:http://jcp.org/en/jsr/detail?id=318 2055:http://jcp.org/en/jsr/detail?id=318 2022:http://jcp.org/en/jsr/detail?id=318 2010:http://jcp.org/en/jsr/detail?id=318 1977:http://jcp.org/en/jsr/detail?id=318 1943:http://jcp.org/en/jsr/detail?id=318 1931:http://jcp.org/en/jsr/detail?id=318 1919:http://jcp.org/en/jsr/detail?id=318 1907:http://jcp.org/en/jsr/detail?id=318 1874:http://jcp.org/en/jsr/detail?id=318 1862:http://jcp.org/en/jsr/detail?id=318 1850:http://jcp.org/en/jsr/detail?id=318 1812:http://jcp.org/en/jsr/detail?id=318 1800:http://jcp.org/en/jsr/detail?id=318 1785:http://jcp.org/en/jsr/detail?id=318 1773:http://jcp.org/en/jsr/detail?id=318 1735:http://jcp.org/en/jsr/detail?id=318 1601:EJB 1.1, final release (1999-12-17) 1529:EJB 2.0, final release (2001-08-22) 1473:EJB 2.1, final release (2003-11-24) 1458:EJB 3.0, final release (2006-05-11) 1403:EJB 3.1, final release (2009-12-10) 1373:The following features were added: 1363:EJB 3.2, final release (2013-05-28) 1292:EJB 4.0, final release (2020-05-22) 229:Java Naming and Directory Interface 2106:. Blogs.oracle.com. Archived from 2081:. Blogs.oracle.com. Archived from 753:Processing timing events from the 25: 1824:"Persistence Context in Stateful" 1687:"Enterprise JavaBeans Technology" 84:Java servlet lifecycle management 2279:. Jakarta Enterprise Beans 4.0. 1724:, 2002, Wrox Press Ltd., p. 19. 1116:Home interface (disambiguation) 1054:or plain XML. This follows the 618:the client manage those locks). 1712:, 2002 Wrox Press Ltd., p. 5. 1442:EJB Timer Service Enhancements 1168:Security roles and permissions 1129:Required deployment descriptor 1031:Remoting/distributed execution 965:java:module/<bean-name> 591:Conversational state (Java EE) 214:Asynchronous method invocation 1: 2271:"What is New in This Release" 918:Naming and directory services 529:"customer_overview" 331:convention over configuration 313:. Gavin King, the creator of 309:-v4 using MuleSoft certified 2245:JSR 318, 21.1 EJB 3.1 Lite, 1353:Jakarta Enterprise Beans 3.2 1297:Jakarta Enterprise Beans 4.0 1272:JAX-WS Web Service Endpoints 1221:JAX-WS Web Service Endpoints 52:for modular construction of 2739:Java specification requests 1722:J2EE Design and Development 1710:J2EE Design and Development 1420:packaging of EJB components 1331:EJBContext.getEnvironment() 293:The EJB 3.0 specification ( 2760: 1612:XML deployment descriptors 1153:Name of the Home interface 1113: 792:service provider interface 588: 523:// abbreviated for brevity 235:Interprocess Communication 70:of an application. An EJB 29: 2397:The EJB 3.0 Specification 2034:"Transaction Annotations" 1810:JSR 318, 4.3.14, 21.4.2, 1586:Be compatible with other 1436:(Singleton Session Beans) 1303:package to the top level 1269:RMI-IIOP Interoperability 1218:RMI-IIOP Interoperability 1190:@ActivationConfigProperty 556:Types of Enterprise Beans 311:PlektonLabs EJB Connector 2734:Java enterprise platform 1387:Lifecycle methods (e.g. 986: 433: 344: 268:in an application server 200:Event-driven programming 187:services offered by the 166:General responsibilities 38:Jakarta Enterprise Beans 30:Not to be confused with 1956:"Developing Quartz MDB" 1344:annotation repeatable. 1206:Java EE 6's web profile 671:Singleton Session Beans 623:Stateless Session Beans 156:transactional integrity 2744:Java platform software 2402:Sun's EJB 3.0 Tutorial 2387:Java EE 8 API Javadocs 2187:JSR 311, Chapter 6.2, 1989:"Security Annotations" 1317:java.security.Identity 585:Stateful Session Beans 552:EJB had no knowledge. 321:, the replacement for 179:Transaction processing 116:Java Community Process 88:transaction processing 2713:Streaming API for XML 2628:Web Services Metadata 2623:SOAP with Attachments 2452:Client invokes an EJB 2203:. Community.jboss.org 2127:JSR 318, Chapter 15, 2008:JSR 318, Chapter 13, 1975:JSR 318, Chapter 17, 1615:Default JNDI contexts 1393:@TransactionAttribute 1143:deployment descriptor 287:distributed computing 183:Integration with the 110:and later adopted by 18:Enterprise Java Beans 2555:Dependency injection 2392:EJB 3.0 API Javadocs 2036:. Openejb.apache.org 1991:. Openejb.apache.org 1888:. Openejb.apache.org 1643:EJB 1.0 (1998-03-24) 1426:Portable EJB Global 1282:Message-driven beans 1242:Message-driven beans 1196:Container variations 1001:CustomerServiceLocal 989:CustomerServiceLocal 908:Java Message Service 714:Java Message Service 709:Message Driven Beans 704:Message driven beans 543:The above defines a 319:Java Persistence API 303:dependency injection 48:) is one of several 46:Enterprise JavaBeans 2515:Expression Language 1958:. Mastertheboss.com 1753:on 19 November 2015 1322:methods relying on 1315:methods relying on 1224:EJB Timer Service ( 934: 833: 266:software components 195:Concurrency control 189:Jakarta Persistence 76:runtime environment 54:enterprise software 2407:EJB (3.0) Glossary 2283:. November 5, 2020 1453:for session beans) 1357:Eclipse Foundation 932: 914:Queue or a Topic. 831: 776:application server 746:their exact type). 225:directory services 208:Jakarta Connectors 172:application server 61:software component 2721: 2720: 2351:. Alephnaught.com 2053:JSR 318, 13.3.6, 2020:JSR 318, 13.6.2, 1860:JSR 318, 4.3.14, 1798:JSR 318, 4.10.3, 1655:for Release 1.0: 1631:for Release 1.1: 1561:different vendors 1266:Remote interfaces 1215:Remote interfaces 969: 968: 892: 891: 204:Jakarta Messaging 80:computer security 16:(Redirected from 2751: 2565:Enterprise Beans 2481: 2474: 2467: 2458: 2383: 2378: 2377: 2375:Official website 2360: 2359: 2357: 2356: 2345: 2339: 2338: 2336: 2334: 2325:. Archived from 2319: 2313: 2312: 2310: 2308: 2298: 2292: 2291: 2289: 2288: 2267: 2261: 2255: 2249: 2243: 2237: 2236: 2234: 2233: 2218: 2212: 2211: 2209: 2208: 2197: 2191: 2185: 2179: 2173: 2167: 2163:JSR 318, 4.3.6, 2161: 2155: 2151:JSR 318, 3.2.4, 2149: 2143: 2137: 2131: 2125: 2119: 2118: 2116: 2115: 2100: 2094: 2093: 2091: 2090: 2075: 2069: 2063: 2057: 2051: 2045: 2044: 2042: 2041: 2030: 2024: 2018: 2012: 2006: 2000: 1999: 1997: 1996: 1985: 1979: 1973: 1967: 1966: 1964: 1963: 1951: 1945: 1941:JSR 318, 5.6.2, 1939: 1933: 1929:JSR 318, 5.4.2, 1927: 1921: 1917:JSR 318, 5.7.2, 1915: 1909: 1903: 1897: 1896: 1894: 1893: 1882: 1876: 1870: 1864: 1858: 1852: 1846: 1840: 1839: 1837: 1835: 1830:on 16 March 2008 1826:. Archived from 1820: 1814: 1808: 1802: 1796: 1787: 1781: 1775: 1769: 1763: 1762: 1760: 1758: 1749:. Archived from 1743: 1737: 1731: 1725: 1719: 1713: 1707: 1701: 1700: 1698: 1697: 1683: 1452: 1394: 1390: 1380: 1343: 1332: 1318: 1306: 1302: 1278: 1261: 1257: 1253: 1249: 1238: 1231: 1227: 1191: 1185:Java annotations 1096: 1092: 1088: 1084: 1080: 1069: 1065: 1038: 1026: 1023: 1020: 1017: 1014: 1011: 1008: 1005: 1002: 999: 996: 993: 990: 935: 834: 789: 783: 755:Quartz scheduler 719: 684: 679: 602: 550: 545:JavaServer Faces 539: 536: 533: 530: 527: 524: 521: 518: 515: 512: 509: 506: 503: 500: 497: 494: 491: 488: 485: 482: 479: 476: 473: 470: 467: 464: 461: 458: 455: 452: 449: 446: 443: 440: 437: 420: 417: 414: 411: 408: 405: 402: 399: 396: 393: 390: 387: 384: 381: 378: 375: 372: 369: 366: 363: 360: 357: 354: 351: 348: 112:Sun Microsystems 21: 2759: 2758: 2754: 2753: 2752: 2750: 2749: 2748: 2724: 2723: 2722: 2717: 2686: 2660: 2639: 2599: 2560:Bean Validation 2541: 2491: 2485: 2373: 2372: 2369: 2364: 2363: 2354: 2352: 2347: 2346: 2342: 2332: 2330: 2329:on 4 March 2016 2321: 2320: 2316: 2306: 2304: 2300: 2299: 2295: 2286: 2284: 2269: 2268: 2264: 2256: 2252: 2244: 2240: 2231: 2229: 2220: 2219: 2215: 2206: 2204: 2199: 2198: 2194: 2186: 2182: 2174: 2170: 2162: 2158: 2150: 2146: 2138: 2134: 2126: 2122: 2113: 2111: 2102: 2101: 2097: 2088: 2086: 2077: 2076: 2072: 2064: 2060: 2052: 2048: 2039: 2037: 2032: 2031: 2027: 2019: 2015: 2007: 2003: 1994: 1992: 1987: 1986: 1982: 1974: 1970: 1961: 1959: 1953: 1952: 1948: 1940: 1936: 1928: 1924: 1916: 1912: 1904: 1900: 1891: 1889: 1886:"Singleton EJB" 1884: 1883: 1879: 1871: 1867: 1859: 1855: 1847: 1843: 1833: 1831: 1822: 1821: 1817: 1809: 1805: 1797: 1790: 1782: 1778: 1770: 1766: 1756: 1754: 1745: 1744: 1740: 1732: 1728: 1720: 1716: 1708: 1704: 1695: 1693: 1685: 1684: 1680: 1675: 1450: 1392: 1388: 1378: 1324:Jakarta XML RPC 1289: 1287:Version history 1276: 1259: 1255: 1251: 1247: 1236: 1229: 1225: 1198: 1189: 1179:Since EJB 3.0 ( 1131: 1119: 1112: 1107: 1094: 1090: 1086: 1082: 1078: 1067: 1063: 1036: 1033: 1028: 1027: 1024: 1021: 1018: 1015: 1012: 1009: 1006: 1003: 1000: 997: 994: 992:customerService 991: 988: 920: 904: 818: 785: 779: 772: 717: 706: 682: 677: 673: 625: 604:Session Beans. 600: 593: 587: 582: 558: 548: 541: 540: 537: 534: 531: 528: 525: 522: 519: 516: 513: 510: 507: 504: 501: 498: 495: 493:customerService 492: 489: 486: 483: 480: 477: 474: 471: 468: 465: 463:customerService 462: 460:CustomerService 459: 456: 453: 450: 448:CustomerBacking 447: 444: 441: 438: 435: 422: 421: 418: 415: 412: 409: 406: 403: 400: 397: 394: 391: 388: 385: 382: 379: 376: 373: 370: 367: 364: 361: 358: 356:CustomerService 355: 352: 349: 346: 340: 279: 168: 104: 98:specification. 35: 28: 23: 22: 15: 12: 11: 5: 2757: 2755: 2747: 2746: 2741: 2736: 2726: 2725: 2719: 2718: 2716: 2715: 2710: 2705: 2700: 2694: 2692: 2688: 2687: 2685: 2684: 2679: 2674: 2668: 2666: 2662: 2661: 2659: 2658: 2653: 2647: 2645: 2641: 2640: 2638: 2637: 2632: 2631: 2630: 2625: 2615: 2609: 2607: 2601: 2600: 2598: 2597: 2592: 2587: 2582: 2577: 2572: 2567: 2562: 2557: 2551: 2549: 2547:Enterprise app 2543: 2542: 2540: 2539: 2534: 2533: 2532: 2522: 2517: 2512: 2507: 2501: 2499: 2493: 2492: 2490:specifications 2486: 2484: 2483: 2476: 2469: 2461: 2455: 2454: 2449: 2444: 2438: 2432: 2426: 2420: 2414: 2409: 2404: 2399: 2394: 2389: 2384: 2368: 2367:External links 2365: 2362: 2361: 2340: 2314: 2293: 2262: 2250: 2238: 2213: 2192: 2180: 2175:JSR 318, 2.7, 2168: 2156: 2144: 2139:JSR 318, 2.6, 2132: 2120: 2095: 2070: 2065:JSR 318, 4.4, 2058: 2046: 2025: 2013: 2001: 1980: 1968: 1946: 1934: 1922: 1910: 1905:JSR 318, 5.1, 1898: 1877: 1872:JSR 318, 4.8, 1865: 1853: 1848:JSR 318, 4.7, 1841: 1815: 1803: 1788: 1783:JSR 318, 4.6, 1776: 1771:JSR 318, 4.5, 1764: 1738: 1733:JSR 318, 4.1, 1726: 1714: 1702: 1691:www.oracle.com 1677: 1676: 1674: 1671: 1670: 1669: 1666: 1663: 1660: 1640: 1639: 1636: 1626: 1625: 1622: 1619: 1616: 1613: 1598: 1597: 1594: 1591: 1584: 1581: 1578: 1575: 1568: 1564: 1557: 1526: 1525: 1516: 1513: 1510: 1503: 1500: 1455: 1454: 1443: 1440: 1437: 1431: 1424: 1421: 1415: 1400: 1399: 1396: 1389:@PostConstruct 1385: 1382: 1338: 1337: 1334: 1327: 1320: 1288: 1285: 1284: 1283: 1280: 1273: 1270: 1267: 1244: 1243: 1240: 1233: 1222: 1219: 1216: 1197: 1194: 1173: 1172: 1169: 1166: 1163: 1160: 1157: 1154: 1130: 1127: 1111: 1108: 1106: 1103: 1032: 1029: 1010:InitialContext 987: 967: 966: 963: 959: 958: 955: 951: 950: 947: 943: 942: 939: 919: 916: 903: 900: 890: 889: 886: 882: 881: 878: 877:NOT_SUPPORTED 874: 873: 870: 866: 865: 862: 858: 857: 854: 850: 849: 846: 842: 841: 838: 817: 814: 784:package. (The 771: 768: 767: 766: 751: 747: 742: 741: 739: 718:@MessageDriven 705: 702: 701: 700: 695: 694: 692: 672: 669: 668: 667: 655: 651: 647: 646: 644: 624: 621: 620: 619: 614: 613: 611: 601:@AccessTimeout 586: 583: 581: 578: 577: 576: 573: 568:(same JVM) or 557: 554: 439:@RequestScoped 434: 345: 339: 336: 278: 275: 270: 269: 259: 245: 232: 221: 219:Job scheduling 216: 211: 197: 192: 181: 167: 164: 147:user interface 134:(EJB 3.1) and 103: 100: 68:business logic 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 2756: 2745: 2742: 2740: 2737: 2735: 2732: 2731: 2729: 2714: 2711: 2709: 2706: 2704: 2701: 2699: 2696: 2695: 2693: 2689: 2683: 2680: 2678: 2675: 2673: 2670: 2669: 2667: 2663: 2657: 2654: 2652: 2649: 2648: 2646: 2642: 2636: 2633: 2629: 2626: 2624: 2621: 2620: 2619: 2616: 2614: 2611: 2610: 2608: 2606: 2602: 2596: 2593: 2591: 2588: 2586: 2583: 2581: 2578: 2576: 2573: 2571: 2568: 2566: 2563: 2561: 2558: 2556: 2553: 2552: 2550: 2548: 2544: 2538: 2535: 2531: 2528: 2527: 2526: 2523: 2521: 2518: 2516: 2513: 2511: 2508: 2506: 2503: 2502: 2500: 2498: 2494: 2489: 2482: 2477: 2475: 2470: 2468: 2463: 2462: 2459: 2453: 2450: 2448: 2445: 2442: 2439: 2436: 2433: 2430: 2427: 2424: 2421: 2418: 2415: 2413: 2410: 2408: 2405: 2403: 2400: 2398: 2395: 2393: 2390: 2388: 2385: 2382: 2376: 2371: 2370: 2366: 2350: 2344: 2341: 2328: 2324: 2318: 2315: 2303: 2297: 2294: 2282: 2278: 2277: 2272: 2266: 2263: 2260: 2254: 2251: 2248: 2242: 2239: 2228:on 2012-03-23 2227: 2223: 2217: 2214: 2202: 2196: 2193: 2190: 2184: 2181: 2178: 2172: 2169: 2166: 2160: 2157: 2154: 2148: 2145: 2142: 2136: 2133: 2130: 2124: 2121: 2110:on 2011-12-29 2109: 2105: 2099: 2096: 2085:on 2011-06-20 2084: 2080: 2074: 2071: 2068: 2062: 2059: 2056: 2050: 2047: 2035: 2029: 2026: 2023: 2017: 2014: 2011: 2005: 2002: 1990: 1984: 1981: 1978: 1972: 1969: 1957: 1950: 1947: 1944: 1938: 1935: 1932: 1926: 1923: 1920: 1914: 1911: 1908: 1902: 1899: 1887: 1881: 1878: 1875: 1869: 1866: 1863: 1857: 1854: 1851: 1845: 1842: 1829: 1825: 1819: 1816: 1813: 1807: 1804: 1801: 1795: 1793: 1789: 1786: 1780: 1777: 1774: 1768: 1765: 1752: 1748: 1742: 1739: 1736: 1730: 1727: 1723: 1718: 1715: 1711: 1706: 1703: 1692: 1688: 1682: 1679: 1672: 1667: 1664: 1661: 1658: 1657: 1656: 1654: 1650: 1647:Announced at 1645: 1644: 1637: 1634: 1633: 1632: 1630: 1623: 1620: 1618:RMI over IIOP 1617: 1614: 1611: 1610: 1609: 1607: 1606:Major changes 1603: 1602: 1595: 1592: 1589: 1585: 1582: 1579: 1576: 1573: 1569: 1565: 1562: 1558: 1555: 1551: 1547: 1546: 1545: 1543: 1542:Overall goals 1539: 1538:Major changes 1535: 1531: 1530: 1524: 1520: 1517: 1514: 1511: 1508: 1504: 1501: 1498: 1494: 1490: 1487: 1486: 1485: 1483: 1482:Major changes 1479: 1475: 1474: 1470: 1468: 1467:Major changes 1464: 1460: 1459: 1451:@Asynchronous 1448: 1444: 1441: 1438: 1435: 1432: 1429: 1425: 1422: 1419: 1416: 1413: 1412: 1411: 1409: 1405: 1404: 1397: 1386: 1383: 1376: 1375: 1374: 1371: 1369: 1365: 1364: 1360: 1358: 1354: 1350: 1349: 1345: 1335: 1328: 1325: 1321: 1314: 1313: 1312: 1308: 1298: 1294: 1293: 1286: 1281: 1274: 1271: 1268: 1265: 1264: 1263: 1248:@Asynchronous 1241: 1237:@Asynchronous 1234: 1223: 1220: 1217: 1214: 1213: 1212: 1209: 1207: 1203: 1202:proper subset 1195: 1193: 1186: 1182: 1177: 1170: 1167: 1164: 1161: 1158: 1155: 1152: 1151: 1150: 1148: 1144: 1139: 1136: 1128: 1126: 1124: 1117: 1109: 1104: 1102: 1098: 1076: 1071: 1061: 1057: 1053: 1049: 1044: 1042: 1030: 985: 983: 978: 974: 973: 964: 961: 960: 956: 953: 952: 948: 945: 944: 941:Name pattern 940: 937: 936: 930: 927: 925: 917: 915: 913: 909: 901: 899: 897: 887: 884: 883: 879: 876: 875: 871: 868: 867: 863: 861:REQUIRES_NEW 860: 859: 855: 852: 851: 847: 844: 843: 839: 836: 835: 829: 825: 823: 815: 813: 810: 808: 803: 801: 795: 793: 790:package is a 788: 787:javax.ejb.spi 782: 777: 769: 764: 760: 756: 752: 748: 744: 743: 740: 738: 735: 734: 733: 731: 727: 724: 715: 710: 703: 697: 696: 693: 691: 688: 687: 686: 685:annotation. 670: 665: 661: 656: 652: 649: 648: 645: 643: 640: 639: 638: 635: 630: 622: 616: 615: 612: 610: 607: 606: 605: 598: 592: 584: 580:Session beans 579: 574: 571: 567: 563: 562: 561: 555: 553: 546: 432: 429: 427: 398:entityManager 368:entityManager 365:EntityManager 343: 337: 335: 332: 328: 324: 320: 316: 312: 308: 304: 300: 296: 291: 288: 284: 276: 274: 267: 263: 260: 257: 253: 249: 246: 244: 240: 236: 233: 230: 226: 222: 220: 217: 215: 212: 209: 205: 201: 198: 196: 193: 190: 186: 182: 180: 177: 176: 175: 173: 165: 163: 161: 157: 153: 148: 144: 139: 137: 133: 129: 125: 121: 117: 113: 109: 102:Specification 101: 99: 97: 93: 89: 85: 81: 77: 73: 72:web container 69: 66: 62: 59: 55: 51: 47: 43: 39: 33: 19: 2605:Web services 2564: 2353:. Retrieved 2343: 2331:. Retrieved 2327:the original 2317: 2305:. Retrieved 2296: 2285:. Retrieved 2275: 2265: 2253: 2241: 2230:. Retrieved 2226:the original 2216: 2205:. Retrieved 2195: 2183: 2171: 2159: 2147: 2135: 2123: 2112:. Retrieved 2108:the original 2098: 2087:. Retrieved 2083:the original 2073: 2061: 2049: 2038:. Retrieved 2028: 2016: 2004: 1993:. Retrieved 1983: 1971: 1960:. Retrieved 1949: 1937: 1925: 1913: 1901: 1890:. Retrieved 1880: 1868: 1856: 1844: 1832:. Retrieved 1828:the original 1818: 1806: 1779: 1767: 1755:. Retrieved 1751:the original 1741: 1729: 1721: 1717: 1709: 1705: 1694:. Retrieved 1690: 1681: 1652: 1649:JavaOne 1998 1646: 1642: 1641: 1628: 1627: 1605: 1604: 1600: 1599: 1560: 1549: 1541: 1537: 1532: 1528: 1527: 1481: 1476: 1472: 1471: 1466: 1461: 1457: 1456: 1406: 1402: 1401: 1372: 1366: 1362: 1361: 1351: 1347: 1346: 1339: 1309: 1295: 1291: 1290: 1245: 1210: 1199: 1178: 1174: 1140: 1132: 1120: 1099: 1072: 1045: 1034: 981: 979: 975: 971: 970: 954:Application 928: 921: 911: 905: 893: 840:Explanation 826: 819: 816:Transactions 811: 804: 796: 773: 758: 736: 708: 707: 689: 674: 641: 626: 608: 594: 569: 565: 559: 542: 430: 423: 341: 323:entity beans 292: 280: 271: 243:Web services 169: 140: 105: 92:web services 90:, and other 65:encapsulates 45: 41: 37: 36: 2595:Annotations 1550:distributed 1489:Web service 1329:deprecated 1305:jakarta.ejb 1064:@WebService 933:JNDI names 499:addCustomer 475:addCustomer 426:O/R mapping 380:addCustomer 327:annotations 223:Naming and 185:persistence 152:persistence 138:(EJB 3.2). 130:(EJB 3.0), 126:(EJB 2.1), 122:(EJB 2.0), 74:provides a 58:server-side 56:. EJB is a 44:; formerly 2728:Categories 2682:Management 2488:Jakarta EE 2355:2012-06-17 2287:2020-12-05 2281:Jakarta EE 2232:2012-06-17 2207:2012-06-17 2114:2012-06-17 2089:2012-06-17 2040:2012-06-17 1995:2012-06-17 1962:2012-06-17 1892:2012-06-17 1696:2016-12-15 1673:References 1519:XML schema 1447:Asynchrony 1434:Singletons 1395:annotation 1258:, but for 1068:@WebMethod 845:MANDATORY 629:concurrent 589:See also: 517:addMessage 347:@Stateless 262:Deployment 206:(JMS) and 2537:WebSocket 2443:(EJB 2.0) 2437:(EJB 2.1) 2431:(EJB 3.0) 2425:(EJB 3.1) 2419:(EJB 3.2) 1379:@Stateful 1307:package. 1301:javax.ejb 1277:@Schedule 1260:@Schedule 1252:@Schedule 1226:@Schedule 869:SUPPORTS 853:REQUIRED 781:javax.ejb 770:Execution 730:messaging 666:instance. 654:failure). 315:Hibernate 50:Java APIs 32:JavaBeans 2530:Facelets 1342:Schedule 1256:@Timeout 1230:@Timeout 1135:deployed 737:Examples 699:again... 690:Examples 683:@Startup 660:parallel 642:Examples 609:Examples 505:customer 484:customer 481:Customer 410:customer 389:customer 386:Customer 307:MuleSoft 248:Security 239:RMI-IIOP 160:security 143:back-end 2691:Related 2677:JAX-RPC 2665:Removed 2505:Servlet 2497:Web app 2435:JSR 153 2429:JSR 220 2423:JSR 318 2417:JSR 345 2412:EJB FAQ 1478:JSR 153 1463:JSR 220 1445:Simple 1408:JSR 318 1368:JSR 345 1333:method. 1181:JSR 220 1095:@DELETE 1056:JAX-RPC 1037:@Remote 962:Module 946:Global 759:trigger 726:calling 511:context 457:private 404:persist 362:private 338:Example 277:History 136:JSR 345 132:JSR 318 128:JSR 220 124:JSR 153 96:Java EE 2618:JAX-WS 2613:JAX-RS 2441:JSR 19 2333:1 June 2307:1 June 1834:1 June 1757:1 June 1534:JSR 19 1145:is an 1105:Legacy 1075:JAX-RS 1060:JAX-WS 1016:lookup 938:Scope 902:Events 885:NEVER 723:method 664:Future 634:method 570:Remote 526:return 520:(...); 472:String 469:public 442:public 436:@Named 374:public 350:public 299:Spring 237:using 231:(JNDI) 202:using 120:JSR 19 2644:Other 2525:Faces 2510:Pages 1653:Goals 1629:Goals 1590:APIs. 1567:APIs. 1430:Names 1123:class 1091:@POST 1079:@Path 906:JMS ( 837:Type 800:proxy 678:@Lock 597:state 566:Local 445:class 353:class 283:CORBA 210:(JCA) 191:(JPA) 63:that 2703:JDBC 2698:JAXP 2672:JAXR 2651:JAXB 2635:JAXM 2585:Mail 2520:JSTL 2335:2016 2309:2016 1836:2016 1759:2016 1588:Java 1572:Java 1554:Java 1523:DTDs 1497:HTTP 1493:SOAP 1428:JNDI 1418:.war 1250:and 1141:The 1093:and 1087:@PUT 1083:@GET 1058:and 1052:SOAP 1050:and 1048:WSDL 1041:JVMs 822:ACID 728:and 549:@EJB 454:@EJB 377:void 256:JAAS 254:and 241:and 227:via 158:and 2708:JMX 2656:JAF 2590:JCA 2580:JTA 2575:JMS 2570:JPA 1507:JMS 1147:XML 1013:(). 1007:new 912:JMS 896:JTA 807:AOP 763:JCA 732:. 295:JSR 264:of 252:JCE 118:as 108:IBM 42:EJB 2730:: 2273:. 1791:^ 1689:. 1608:: 1544:: 1540:: 1536:- 1484:: 1480:- 1465:- 1228:, 1089:, 1085:, 1070:. 1025:); 508:); 413:); 154:, 86:, 82:, 2480:e 2473:t 2466:v 2358:. 2337:. 2311:. 2290:. 2235:. 2210:. 2117:. 2092:. 2043:. 1998:. 1965:. 1895:. 1838:. 1761:. 1699:. 1563:. 1556:. 1509:. 1495:/ 1449:( 1279:) 1254:/ 1239:) 1232:) 1118:. 1019:( 1004:) 998:( 995:= 712:( 538:} 535:} 532:; 514:. 502:( 496:. 490:{ 487:) 478:( 466:; 451:{ 419:} 416:} 407:( 401:. 395:{ 392:) 383:( 371:; 359:{ 258:) 250:( 40:( 34:. 20:)

Index

Enterprise Java Beans
JavaBeans
Java APIs
enterprise software
server-side
software component
encapsulates
business logic
web container
runtime environment
computer security
Java servlet lifecycle management
transaction processing
web services
Java EE
IBM
Sun Microsystems
Java Community Process
JSR 19
JSR 153
JSR 220
JSR 318
JSR 345
back-end
user interface
persistence
transactional integrity
security
application server
Transaction processing

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑