124 Patterns: Implementing Self-Service in an SOA Environment
򐂰 Acceptability of use for data transfer
XML is a standard way of putting information in a format that can be
processed and exchanged across different hardware devices, operating
systems, software applications, and the Web.
򐂰 Uniformity and conformity
XML gives you an common format that could be developed upon and is
accepted industry-wide.
򐂰 Simplicity and openness
Information coded in XML is human readable.
򐂰 Separation of data and display
The representation of the data is separated from the presentation and
formatting of the data for display in a browser or other device.
򐂰 Industry acceptance
XML has been accepted widely by the information technology and computing
industry. Numerous tools and utilities are available, along with new products
for parsing and transforming XML data to other data, or for display.
Disadvantages of XML
Some XML issues to consider are:
򐂰 Complexity
While XML tags can allow software to recognize meaningful content within
documents, this is only useful to the extent that the software reading the
document knows what the tagged content means in human terms, and knows
what to do with it.
򐂰 Standardization
When multiple applications use XML to communicate with each other they
need to agree on the tag names they are using. While industry-specific
standard tag definitions often do exist, you can still declare your own
nonstandard tags.
򐂰 Large size
XML documents tend to be larger in size than other forms of data
representation.
6.3.9 Enterprise JavaBeans
Enterprise JavaBeans is Sun Microsystem's trademarked term for its EJB
architecture, or
component model. When writing to the EJB specification, you are
developing enterprise beans or, if you prefer, EJBs for short.
Chapter 6. Technology options 125
Enterprise beans are distinguished from JavaBeans in that they are designed to
be installed on a server and accessed remotely by a client. The EJB framework
provides a standard for server-side components with transactional
characteristics.
The EJB framework specifies clearly the responsibilities of the EJB developer
and the EJB container provider. The intent is that the plumbing required to
implement transactions or database access can be implemented by the EJB
container. The EJB developer specifies the required transactional and security
characteristics of an EJB in a deployment descriptor (this is sometimes referred
to as declarative programming). In a separate step, the EJB is then deployed to
the EJB container provided by the application server vendor of your choice.
There are three types of Enterprise JavaBeans:
򐂰 Session beans
򐂰 Entity beans
򐂰 Message-driven beans
A typical session bean has the following characteristics:
򐂰 Executes on behalf of a single client.
򐂰 Can be transactional.
򐂰 Can update data in an underlying database.
򐂰 Is relatively short lived.
򐂰 Is destroyed when the EJB server is stopped. The client has to establish a
new session bean to continue computation.
򐂰 Does not represent persistent data that should be stored in a database.
򐂰 Provides a scalable runtime environment to execute a large number of
session beans concurrently.
A typical entity bean has the following characteristics:
򐂰 Represents data in a database.
򐂰 Can be transactional.
򐂰 Is shared access from multiple users.
򐂰 Can be long-lived, as long as the data in the database.
򐂰 Survives restarts of the EJB server. A restart is transparent to the client.
򐂰 Provides a scalable runtime environment for a large number of concurrently
active entity objects.
A typical message-driven bean has the following characteristics:

Get Patterns: Implementing Self-Service in an SOA Environment now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.