text:
JBoss.orgCommunity Documentation
The XTS Background Guide contains background information, required before you can use JBoss Transaction Service to develop service-based applications, that use transaction technology to manage business processes.
This manual uses several conventions to highlight certain words and phrases and draw attention to specific pieces of information.
In PDF and paper editions, this manual uses typefaces drawn from the Liberation Fonts set. The Liberation Fonts set is also used in HTML editions if the set is installed on your system. If not, alternative but equivalent typefaces are displayed. Note: Red Hat Enterprise Linux 5 and later includes the Liberation Fonts set by default.
Four typographic conventions are used to call attention to specific words and phrases. These conventions, and the circumstances they apply to, are as follows.
Mono-spaced Bold
Used to highlight system input, including shell commands, file names and paths. Also used to highlight keycaps and key combinations. For example:
To see the contents of the file
my_next_bestselling_novelin your current working directory, enter the
cat my_next_bestselling_novelcommand at the shell prompt and press Enter to execute the command.
The above includes a file name, a shell command and a keycap, all presented in mono-spaced bold and all distinguishable thanks to context.
Key combinations can be distinguished from keycaps by the hyphen connecting each part of a key combination. For example:
Press Enter to execute the command.
Press Ctrl+Alt+F2 to switch to the first virtual terminal. Press Ctrl+Alt+F1 to return to your X-Windows session.
The first paragraph highlights the particular keycap to press. The second highlights two key combinations (each a set of three keycaps with each set pressed simultaneously).
If source code is discussed, class names, methods, functions, variable names and returned values mentioned within a paragraph will be presented as above, in
mono-spaced bold. For example:
File-related classes include
filesystemfor file systems,
filefor files, and
dirfor directories. Each class has its own associated set of permissions.
Proportional Bold
This denotes words or phrases encountered on a system, including application names; dialog box text; labeled buttons; check-box and radio button labels; menu titles and sub-menu titles. For example:
Choose Mouse Preferences. In the Buttons tab, click the Left-handed mouse check box and click to switch the primary mouse button from the left to the right (making the mouse suitable for use in the left hand).→ → from the main menu bar to launch
To insert a special character into a gedit file, choose → → from the main menu bar. Next, choose → from the Character Map menu bar, type the name of the character in the Search field and click . The character you sought will be highlighted in the Character Table. Double-click this highlighted character to place it in the Text to copy field and then click the button. Now switch back to your document and choose → from the gedit menu bar.
The above text includes application names; system-wide menu names and items; application-specific menu names; and buttons and text found within a GUI interface, all presented in proportional bold and all distinguishable by context.
Mono-spaced Bold Italic
Proportional Bold Italic
Whether mono-spaced bold or proportional bold, the addition of italics indicates replaceable or variable text. Italics denotes text you do not input literally or displayed text that changes depending on circumstance. For example:
To connect to a remote machine using ssh, type
sshat a shell prompt. If the remote machine is
example.comand your username on that machine is john, type
ssh firstname.lastname@example.com.
mount -o remountcommand remounts the named file system. For example, to remount the
/homefile system, the command is
mount -o remount /home.
To see the version of a currently installed package, use the
rpm -qcommand. It will return a result as follows:
Note the words in bold italics above — username, domain.name, file-system, package, version and release. Each word is a placeholder, either for text you enter when issuing a command or for text displayed by the system.
Aside from standard usage for presenting the title of a work, italics denotes the first use of a new and important term. For example:
Publican is a DocBook publishing system.
Terminal output and source code listings are set off visually from the surrounding text.
Output sent to a terminal is set in
mono-spaced roman and presented thus:
books Desktop documentation drafts mss photos stuff svn books_tests Desktop1 downloads images notes scripts svgs
Source-code listings are also set in
mono-spaced roman but add syntax highlighting as follows:
package org.jboss.book.jca.ex1;
import javax.naming.InitialContext;
public class ExClient
public static void main(String args[])
throws Exception
InitialContext iniCtx = new InitialContext();
Object ref = iniCtx.lookup("EchoBean");
EchoHome home = (EchoHome) ref;
Echo echo = home.create();
System.out.println("Created Echo");
System.out.println("Echo.echo('Hello') = " + echo.echo("Hello"));
Finally, we use three visual styles to draw attention to information that might otherwise be overlooked.
Notes are tips, shortcuts or alternative approaches to the task at hand. Ignoring a note should have no negative consequences, but you might miss out on a trick that makes your life easier.
Important boxes detail things that are easily missed: configuration changes that only apply to the current session, or services that need restarting before an update will apply. Ignoring a box labeled 'Important' will not cause data loss but may cause irritation and frustration.
Warnings should not be ignored. Ignoring warnings will most likely cause data loss.
The XTS Background Guide explains how to add resilience to distributed business processes based on web services, making them reliable in the event of system or network failures. It covers the background theory around Transactions in general and alsot the WS-C, WS-AT and WS-BA Web Services standards.
The JBoss Application Server implements Web Services Transactions standards using XTS (XML Transaction Service). XTS supports development and deployment of transaction-aware web services. It also enables web service clients to create and manage web service transactions from which transactional web services can be invoked. XTS ensures that the client and web services achieve consistent outcomes even if the systems on which they are running crash or temporarily lose network connectivity.
XTS is compliant with the WS-Coordination, WS-Atomic Transaction, and WS-Business Activity specifications. The implementation supports web services and clients which are based on the JaxWS standard. XTS is itself implemented using services based on JaxWS. While this guide discusses many Web Services standards like SOAP and WSDL, it does not attempt to address all of their fundamental constructs. However, basic concepts are provided where necessary.
This guide is most relevant for application developers and Web service developers who are interested in building applications and Web services that are transaction-aware. It is also useful for system analysts and project managers who are unfamiliar with transactions as they pertain to Web services.
This particular guide just provides background information. You should see the 'XTS Development and Administration Guide' for the details on how to use XTS.
JBoss Transaction Service uses the Java programming language and this manual assumes that you are familiar with programming in Java. Additional helpful skills are outlined in Prerequisite Skills for XTS Developers.
Prerequisite Skills for XTS Developers
A Working knowledge of Web Services, including XML, SOAP, and WSDL
A general understanding of transactions
A general understanding of WS-Coordination, WS-Atomic Transaction and WS-Business Activity protocols
This guide presents overview information for all of the above. However, to aid in understanding the Web Services component of JBoss Transaction Service, the WS-C[1], WS-Atomic Transaction[2], and WS-Business Activity[3] specifications are discussed in great detail.
The XML Transaction Service (XTS) component of JBoss Transaction Service supports the coordination of private and public Web Services in a business transaction. Therefore, to understand XTS, you must be familiar with Web Services, and also understand something about transactions. This chapter introduces XTS and provides a brief overview of the technologies that form the Web Services standard. Additionally, this chapter explores some of the fundamentals of transactioning technology and how it can be applied to Web Services. Much of the content presented in this chapter is detailed throughout this guide. However, only overview information about Web Services is provided. If you are new to creating Web services, please see consult your Web Services platform documentation.
JBoss Transaction Service provides the XTS component as a transaction solution for Web Services. Using XTS, business partners can coordinate complex business transactions in a controlled and reliable manner. The XTS API supports a transactional coordination model based on the WS-Coordination, WS-Atomic Transaction, and WS-Business Activity specifications.
Protocols Included in XTS
WS-Coordination (WS-C) is a generic coordination framework developed by IBM, Microsoft and BEA.
WS-Atomic Transaction (WS-AT) and WS-Business Activity (WS-BA) together comprise the WS-Transaction (WS-T) transaction protocols that utilize this framework.
JBoss Transaction Service implements versions 1.1, and 1.2 of these three specifications. Version specifications are available from http://www.oasis-open.org/specs/.
The 1.1, and 1.2 specifications only differ in a small number of details. The rest of this document employs version 1.1 of these specifications when providing explanations and example code. On the few occasions where the modifications required to adapt these to the 1.1 specifications are not obvious, an explanatory note is provided.
Web Services are modular, reusable software components that are created by exposing business functionality through a Web service interface. Web Services communicate directly with other Web Services using standards-based technologies such as SOAP and HTTP. These standards-based communication technologies enable customers, suppliers, and trading partners to access Web Services, independent of hardware operating system, or programming environment. The result is a vastly improved collaboration environment as compared to today's EDI and business-to-business (B2B) solutions, an environment where businesses can expose their current and future business applications as Web Services that can be easily discovered and accessed by external partners.
Web Services, by themselves, are not fault-tolerant. In fact, some of the reasons that the Web Services model is an attractive development solution are also the same reasons that service-based applications may have drawbacks.
Properties of Web Services
Application components that are exposed as Web Services may be owned by third parties, which provides benefits in terms of cost of maintenance, but drawbacks in terms of having exclusive control over their behavior.
Web Services are usually remotely located, increasing risk of failure due to increased network travel for invocations.
Applications that have high dependability requirements need a method of minimizing the effects of errors that may occur when an application consumes Web Services. One method of safeguarding against such failures is to interact with an application's Web Services within the context of a transaction. A transaction is a unit of work which is completed entirely, or in the case of failures is reversed to some agreed consistent state. The goal, in the event of a failure, is normally to appear as if the work had never occurred in the first place. With XTS, transactions can span multiple Web Services, meaning that work performed across multiple enterprises can be managed with transactional support.
XTS allows you to create transactions that drive complex business processes, spanning multiple Web Services. Current Web Services standards do not address the requirements for a high-level coordination of services. This is because in today's Web Services applications, which use single request/receive interactions, coordination is typically not a problem. However, for applications that engage multiple services among multiple business partners, coordinating and controlling the resulting interactions is essential. This becomes even more apparent when you realize that you generally have little in the way of formal guarantees when interacting with third-party Web Services.
XTS provides the infrastructure for coordinating services during a business process. By organizing processes as transactions, business partners can collaborate on complex business interactions in a reliable manner, insuring the integrity of their data - usually represented by multiple changes to a database – but without the usual overheads and drawbacks of directly exposing traditional transaction-processing engines directly onto the web. An Evening On the Town demonstrates how an application may manage service-based processes as transactions:
The application in question allows a user to plan a social evening. This application is responsible for reserving a table at a restaurant, and reserving tickets to a show. Both activities are paid for using a credit card. In this example, each service represents exposed Web Services provided by different service providers. XTS is used to envelop the interactions between the theater and restaurant services into a single (potentially) long-running business transaction. The business transaction must insure that seats are reserved both at the restaurant and the theater. If one event fails the user has the ability to decline both events, thus returning both services back to their original state. If both events are successful, the user's credit card is charged and both seats are booked. As you may expect, the interaction between the services must be controlled in a reliable manner over a period of time. In addition, management must span several third-party services that are remotely deployed.
Without the backing of a transaction, an undesirable outcome may occur. For example, the user credit card may be charged, even if one or both of the bookings fail.
An Evening On the Town describes the situations where XTS excels at supporting business processes across multiple enterprises. This example is further refined throughout this guide, and appears as a standard demonstrator (including source code) with the XTS distribution.
The WS-Coordination, WS-Atomic Transaction, and WS-Business Activity protocols are based on one-way interactions of entities rather than traditional synchronous request/response RPC-style interactions. One group of entities, called transaction participants, invoke operations on other entities, such as the transaction coordinator, in order to return responses to requests. The programming model is based on peer-to-peer relationships, with the result that all services, whether they are participants, coordinators or clients, must have an active component that allows them to receive unsolicited messages.
In XTS, the active component is achieved through deployment of JaxWS endpoints. Each XTS endpoint that is reachable through SOAP/XML is published via JaxWS, without developer intevention. The only requirement is that transactional client applications and transactional web services must reside within a domain capable of hosting JaxWS endpoints, such as an application server. JBoss Application Server can provide this functionality.
SOAP has emerged as the de facto message format for XML-based communication in the Web Services arena. It is a lightweight protocol that allows the user to define the content of a message and to provide hints as to how recipients should process that message.
Web Services Description Language (WSDL) is an XML-based language used to define Web service interfaces. An application that consumes a Web service parses the service's WSDL document to discover the location of the service, the operations that the service supports, the protocol bindings the service supports (SOAP, HTTP, etc), and how to access them. For each operation, WSDL describes the format that the client must follow.
This chapter deals with the theory of transactional Web Services. If you are familiar with these principles, consider this chapter a reference.
Transactions have emerged as the dominant paradigm for coordinating interactions between parties in a distributed system, and in particular to manage applications that require concurrent access to shared data. Much of the JBoss Transaction Service Web Service API is based on contemporary transaction APIs whose familiarity will enhance developer productivity and lessen the learning curve. While the following section provides the essential information that you should know before starting to use XTS for building transactional Web Services, it should not be treated as a definitive reference to all transactional technology.
A transaction is a unit of work that encapsulates multiple database actions such that that either all the encapsulated actions fail or all succeed.
Transactions ensure data integrity when an application interacts with multiple datasources.
The main components involved in using and defining transactional Web Services using XTS are illustrated in Figure 3.1, "Components Involved in an XTS Transaction".
Figure 3.1. Components Involved in an XTS Transaction
Every transaction is associated with a coordinator, which is responsible
for governing the outcome of the transaction. When a client begins a Web
Service transaction it posts a
create request to
a coordination service, which creates the coordinator and returns its
details to the client. This service may be located in its own container or
may be colocated with the application client or with one of the
transactional web services for improved performance. The coordination
service is typically responsible for managing many transactions in
parallel, so each coordinator is identified by a unique transaction
The coordinator is responsible for ensuring that the web services invoked by the client arrive at a consistent outcome. When the client asks the coordinator to complete the transaction, the coordinator ensures that each web service is ready to confirm any provisional changes it has made within the scope of the transaction. It then asks them all to make their changes permanent. If any of the web services indicates a problem at the confirmation stage, the coordinator ensures that all web services reject their provisional changes, reverting to the state before the transaction started. The coordinator also reverts all changes if the client asks it to cancel the transaction.
The negotiation between the coordinator and the web services is organized to ensure that all services will make their changes permanent, or all of them will revert to the previous state, even if the coordinator or one of the web services crashes part of the way through the transaction."
In order for a transaction to span a number of services, certain information has to be shared between those services, to propagate information about the transaction. This information is known as the Context. The coordination service hands a context back to the application client when it begins a transaction. This context is passed as an extra, hidden parameter whenever the client invokes a transactional web service. The XTS implementation saves and propagates this context automatically with only minimal involvement required on the part of the client. However, it is still helpful to understand what information is captured in a context. This information is listed in Contents of a Context.
Contents of a Context
Guarantees global uniqueness for an individual transaction.
The endpoint address participants contact to enroll.
Figure 3.2. Web Services and Context Flow
The coordinator cannot know the details of how every transactional service is implemented. In fact this knowledge is not even necessary for it to negotiate a transactional outcome. It treats each service taking part in a transaction as a participant and communicates with it according to some predefined participant coordination models appropriate to the type of transaction. When a web service receives its first service request in some given transaction, it enrolls with the coordinator as a participant, specifying the participant model it wishes to follow. The context contains a URL for the endpoint of the coordination service which handles enrollment requests. So, the term participant merely refers a transactional service enrolled in a specific transaction using a specific participant model.
Traditionally, transaction processing systems support ACID properties. ACID is an acronym for Atomic, Consistent, Isolated, and Durable. A unit of work has traditionally been considered transactional only if the ACID properties are maintained, as describe in ACID Properties.
ACID Properties
The transaction executes completely, or not at all.
The effects of the transaction preserve the internal consistency of an underlying data structure.
The transaction runs as if it were running alone, with no other transactions running, and is not visible to other transactions.
The transaction's results are not lost in the event of a failure.
The classical two-phase commit approach is the bedrock of JBoss Transaction Service, and more generally of Web Services transactions. Two-phase commit provides coordination of parties that are involved in a transaction. The general flow of a two-phase commit transaction is described in Figure 3.3, "Two-Phase Commit Overview".
Figure 3.3. Two-Phase Commit Overview
During two-phase commit transactions, coordinators and resources keep track of activity in non-volatile data stores so that they can recover in the case of a failure.
Besides the two-phase commit protocol, traditional transaction processing systems employ an additional protocol, often referred to as the synchronization protocol. With the original ACID properties, Durability is important when state changes need to be available despite failures. Applications interact with a persistence store of some kind, such as a database, and this interaction can impose a significant overhead, because disk access is much slower to access than main computer memory.
One solution to the problem disk access time is to cache the state in main memory and only operate on the cache for the duration of a transaction. Unfortunately, this solution needs a way to flush the state back to the persistent store before the transaction terminates, or risk losing the full ACID properties. This is what the synchronization protocol does, with Synchronization Participants.
Synchronizations are informed that a transaction is about to commit. At that point, they can flush cached state, which might be used to improve performance of an application, to a durable representation prior to the transaction committing. The synchronizations are then informed about when the transaction completes and its completion state.
Procedure 3.1. The "Four Phase Protocol" Created By Synchronizations
Synchronizations essentially turn the two-phase commit protocol into a four-phase protocol:
Step 1
Before the transaction starts the two-phase commit, all registered Synchronizations are informed. Any failure at this point will cause the transaction to roll back.
Steps 2 and 3
The coordinator then conducts the normal two-phase commit protocol.
Step 4
Once the transaction has terminated, all registered Synchronizations are informed. However, this is a courtesy invocation because any failures at this stage are ignored: the transaction has terminated so there's nothing to affect.
The synchronization protocol does not have the same failure requirements as the traditional two-phase commit protocol. For example, Synchronization participants do not need the ability to recover in the event of failures, because any failure before the two-phase commit protocol completes cause the transaction to roll back, and failures after it completes have no effect on the data which the Synchronization participants are responsible for.
There are several variants to the standard two-phase commit protocol that are worth knowing about, because they can have an impact on performance and failure recovery. Table 3.1, "Variants to the Two-Phase Commit Protocol" gives more information about each one.
Table 3.1. Variants to the Two-Phase Commit Protocol
Presumed Abort
If a transaction is going to roll back, the coordinator may record this information locally and tell
all enlisted participants. Failure to contact a participant has no effect on the transaction outcome. The
coordinator is informing participants only as a courtesy. Once all participants have been contacted, the
information about the transaction can be removed. If a subsequent request for the status of the transaction
occurs, no information will be available and the requester can assume that the transaction has aborted. This
optimization has the benefit that no information about participants need be made persistent until the transaction
has progressed to the end of the
If only a single participant is involved in the transaction, the coordinator does not need to drive
it through the
When a participant is asked to prepare, it can indicate to the coordinator that no information or data that it controls has been modified during the transaction. Such a participant does not need to be informed about the outcome of the transaction since the fate of the participant has no affect on the transaction. Therefore, a read-only participant can be omitted from the second phase of the commit protocol.
The WS-Atomic Transaction protocol does not support the one-phase commit optimization.
In order to guarantee atomicity, the two-phase commit protocol is blocking. As a result of failures, participants may remain blocked for an indefinite period of time, even if failure recovery mechanisms exist. Some applications and participants cannot tolerate this blocking.
To break this blocking nature, participants that are past the
prepare phase are allowed
to make autonomous decisions about whether to commit or rollback. Such a participant must record its decision, so
that it can complete the original transaction if it eventually gets a request to do so. If the coordinator
eventually informs the participant of the transaction outcome, and it is the same as the choice the participant
made, no conflict exists. If the decisions of the participant and coordinator are different, the situation is
referred to as a non-atomic outcome, and more specifically as a heuristic outcome.
Resolving and reporting heuristic outcomes to the application is usually the domain of complex, manually driven system administration tools, because attempting an automatic resolution requires semantic information about the nature of participants involved in the transactions.
Precisely when a participant makes a heuristic decision depends on the specific implementation. Likewise, the choice the participant makes about whether to commit or to roll back depends upon the implementation, and possibly the application and the environment in which it finds itself. The possible heuristic outcomes are discussed in Table 3.2, "Heuristic Outcomes".
Table 3.2. Heuristic Outcomes
Heuristic Rollback
The commit operation failed because some or all of the participants unilaterally rolled back the transaction.
Heuristic Commit
An attempted rollback operation failed because all of the participants unilaterally committed. One
situation where this might happen is if the coordinator is able to successfully
Heuristic Mixed
Some participants commit ed, while others were rolled back.
Heuristic Hazard
The disposition of some of the updates is unknown. For those which are known, they have either all been committed or all rolled back.
Heuristic decisions should be used with care and only in exceptional circumstances, since the decision may possibly differ from that determined by the transaction service. This type of difference can lead to a loss of integrity in the system. Try to avoid needing to perform resolution of heuristics, either by working with services and participants that do not cause heuristics, or by using a transaction service that provides assistance in the resolution process.
Interposition is a scoping mechanism which allows coordination of a transaction to be delegated across a hierarchy of coordinators. See Figure 3.4, "Interpositions" for a graphical representation of this concept.
Figure 3.4. Interpositions
Interposition is particularly useful for Web Services transactions, as a way of limiting the amount of network
traffic required for coordination. For example, if communications between the top-level coordinator and a web
service are slow because of network traffic or distance, the web service might benefit from executing in a
subordinate transaction which employs a local coordinator service. In Figure 3.4, "Interpositions",to
prepare, the top-level coordinator only needs to send one
prepare message to the subordinate coordinator, and receive one
prepared or
aborted reply. The subordinate coordinator forwards
prepare locally to each participant and combines the results to decide whether to send
a single
prepared or
aborted reply.
Many component technologies offer mechanisms for coordinating ACID transactions based on two-phase commit semantics. Some of these are CORBA/OTS, JTS/JTA, and MTS/MSDTC. ACID transactions are not suitable for all Web Services transactions, as explained in Reasons ACID is Not Suitable for Web Services.
Reasons ACID is Not Suitable for Web Services
Classic ACID transactions assume that an organization that develops and deploys applications owns the entire infrastructure for the applications. This infrastructure has traditionally taken the form of an Intranet. Ownership implies that transactions operate in a trusted and predictable manner. To assure ACIDity, potentially long-lived locks can be kept on underlying data structures during two-phase commit. Resources can be used for any period of time and released when the transaction is complete.
In Web Services, these assumptions are no longer valid. One obvious reason is that the owners of data exposed through a Web service refuse to allow their data to be locked for extended periods, since allowing such locks invites denial-of-service attacks.
All application infrastructures are generally owned by a single party. Systems using classical ACID transactions normally assume that participants in a transaction will obey the directives of the transaction manager and only infrequently make unilateral decisions which harm other participants in a transaction.
Web Services participating in a transaction can effectively decide to resign from the transaction at any time, and the consumer of the service generally has little in the way of quality of service guarantees to prevent this.
Extended transaction models which relax the ACID properties have been proposed over the years. WS-T provides a new transaction protocol to implement these concepts for the Web Services architecture. XTS is designed to accommodate four underlying requirements inherent in any loosely coupled architecture like Web Services. These requirements are discussed in Requirements of Web Services.
Requirements of Web Services
Ability to handle multiple successful outcomes to a transaction, and to involve operations whose effects may not be isolated or durable.
Coordination of autonomous parties whose relationships are governed by contracts, rather than the dictates of a central design authority.
Discontinuous service, where parties are expected to suffer outages during their lifetimes, and coordinated work must be able to survive such outages.
Interoperation using XML over multiple communication protocols. XTS uses SOAP encoding carried over HTTP.
This section discusses fundamental concepts associated with the WS-Coordination, WS-Atomic Transaction and WS-Business Activity protocols, as defined in each protocol's specification. Foundational information about these protocols is important to understanding the remaining material covered in this guide.
If you are familiar with the WS-Coordination, WS-Atomic Transaction, and WS-Business Activity specifications you may only need to skim this chapter.
In general terms, coordination is the act of one entity,known as the coordinator, disseminating information to a number of participants for some domain-specific reason. This reason could be to reach consensus on a decision by a distributed transaction protocol, or to guarantee that all participants obtain a specific message, such as in a reliable multicast environment. When parties are being coordinated, information, known as the coordination context, is propagated to tie together operations which are logically part of the same coordinated work or activity. This context information may flow with normal application messages, or may be an explicit part of a message exchange. It is specific to the type of coordination being performed.
The fundamental idea underpinning WS-Coordination (WS-C) is that a coordination infrastructure is needed in a Web Services environment. The WS-C specification defines a framework that allows different coordination protocols to be plugged in to coordinate work between clients, services, and participants, as shown in Figure 4.1, "WS-C Architecture".
Figure 4.1. WS-C Architecture
Whatever coordination protocol is used, and in whatever domain it is deployed, the same generic requirements are present.
Generic Requirements for WS-C
Instantiation, or activation, of a new coordinator for the specific coordination protocol, for a particular application instance.
Registration of participants with the coordinator, such that they will receive that coordinator's protocol messages during (some part of) the application's lifetime.
Propagation of contextual information between Web Services that comprise the application.
An entity to drive the coordination protocol through to completion.
The first three of the points in Generic Requirements for WS-C are the direct responsibility of WS-C, while the fourth is the responsibility of a third-party entity. The third-party entity is usually the client component of the overall application. These four WS-C roles and their relationships are shown in Figure 4.2, "Four Roles in WS-C".
Figure 4.2. Four Roles in WS-C
The WS-C framework exposes an Activation Service which supports the creation of coordinators for specific
coordination protocols and retrieval of associated contexts. Activation services are invoked synchronously using an
RPC style exchange. So, the service WSDL defines a single port declaring a
CreateCoordinationContext operation. This operation takes an input specfying the details of
the transaction to be created, including the type of coordination required, timeout, and other relevant
information. It returns an output containing the details of the newly-created transaction context: the transaction
identifier, coordination type, and registration service URL.
Example 4.1.
<!-- Activation Service portType Declaration -->
<wsdl:portType name="ActivationCoordinatorPortType">
<wsdl:operation name="CreateCoordinationContext">
<wsdl:input message="wscoor:CreateCoordinationContext"/>
<wsdl:output message="wscoor:CreateCoordinationContextResponse"/>
The context returned by the activation service includes the URL of a Registration Service. When a web service receieves a service request accompanied by a transaction context, it contacts the Registration Service to enroll as a participant in the transaction. The registration request includes a participant protocol defining the role the web service wishes to take in the transaction. Depending upon the coordination protocol, more than one choice of participant protocol may be available.
Like the activation service, the registration service assumes synchronous communication. Thus, the service WSDL
exposes a single port declaring a
Register operation. This operation takes an input
specifying the details of the participant which is to be registered, including the participant protocol type. It
returns a corresponding output response.
Example 4.2. Registration ServiceWSDL Interface
<!-- Registration Service portType Declaration --> <wsdl:portType name="RegistrationCoordinatorPortType"> <wsdl:operation name="Register"> <wsdl:input message="wscoor:Register"/> <wsdl:output message="wscoor:RegisterResponse"/> </wsdl:operation> </wsdl:portType>
Once a participant is registered with a coordinator through the registration service, it receives coordination messages from the coordinator. Typical messages include such things as "prepare to complete" and "complete" messages, if a two-phase protocol is used. Where the coordinator's protocol supports it, participants can also send messages back to the coordinator.
The role of terminator is generally filled by the client application. At an appropriate point, the client asks the coordinator to perform its particular coordination function with any registered participants, to drive the protocol through to its completion. After completion, the client application may be informed of an outcome for the activity. This outcome may take any form along the spectrum from simple success or failure notification, to complex structured data detailing the activity's status.
WS-Transaction (WS-T) comprises the pair of transaction coordination protocols, WS-Atomic Transaction (WS-AT) and WS-Business Activity (WS-BA), which utilize the coordination framework provided by WS-Coordination (WS-C).
WS-Transactions was developed to unify existing traditional transaction processing systems, allowing them to communicate reliably with one another without changes to the systems' own function.
WS-Transaction is layered upon the WS-Coordination protocol, as shown in as shown in Figure 4.3, "WS-Coordination, WS-Transaction, and WS-Business Activity".
Figure 4.3. WS-Coordination, WS-Transaction, and WS-Business Activity
WS-C provides a generic framework for specific coordination protocols, like WS-Transaction, used in a modular fashion. WS-C provides only context management, allowing contexts to be created and activities to be registered with those contexts. WS-Transaction leverages the context management framework provided by WS-C in two ways.
It extends the WS-C context to create a transaction context.
It augments the activation and registration services with a number of additional services (Completion, Volatile2PC, Durable2PC, BusinessAgreementWithParticipantCompletion, and BusinessAgreementWithCoordinatorCompletion) and two protocol message sets (one for each of the transaction models supported in WS-Transaction), to build a fully-fledged transaction coordinator on top of the WS-C protocol infrastructure.
An important aspect of WS-Transaction that differs from traditional transaction protocols is that a synchronous request/response model is not assumed. Sequences of one way messages are used to implement communications between the client/participant and the coordination services appropriate to the transaction's coordination and participant protocols. This is significant because it means that the client and participant containers must deploy XTS service endpoints to receive messages from the coordinator service.
This requirement is visible in the details of the
Register and
RegisterResponse messages declared in the Registration Service WSDL in Example 4.2, "Registration ServiceWSDL Interface". The
Register message contains the URL of an
endpoint in the client or web service container. This URL is used when a WS-Transaction coordination service
wishes to dispatch a message to the clinet or web service. Similarly, the
RegisterResponse message contains a URL iendtifying an endpoint for the
protocol-specific WS-Transaction coordination service for which the client/web service is registered, allowing
messages to be addressed to the transaction coordinator.
WS-Transaction distnguishes the transaction-aware web service in its role executing business-logic, from the web service acting as a participant in the transaction, communicating with and responding to its transaction coordinator. Transaction-aware web services deal with application clients using business-level protocols, while the participant handles the underlying WS-Transaction protocols, as shown in Figure 4.4, "WS-Transaction Global View".
Figure 4.4. WS-Transaction Global View
A transaction-aware web service encapsulates the business logic or work that needs to be conducted within the scope of a transaction. This work cannot be confirmed by the application unless the transaction also commits. Thus, control is ultimately removed from the application and given to the transaction.
The participant is the entity that, under the dictates of the transaction coordinator, controls the outcome of the work performed by the transaction-aware Web service. In Figure 4.4, "WS-Transaction Global View", each web service is shown with one associated participant that manages the transaction protocol messages on behalf of its web service. Figure 4.5, "WS-Transaction Web Services and Participants", however, shows a close-up view of a single web service, and a client application with their associated participants.
Figure 4.5. WS-Transaction Web Services and Participants
The transaction-aware web service employs a back end database accessed via a JDBC driver, which sends SQL statements to the database for processing. However, those statements should only commit if the enclosing web service transaction does. For this to work, the web service must employ transaction bridging. Transaction bridging registers a participant with the coordinator for the web service transaction and creates a matching XA transaction within which it can invoke the driver to make tentative changes to the database. The web service ensures that service requests associated with a specific web service transaction are executed in the scope of the corresponding XA transaction, grouping changes common to a given transaction while isolating changes belonging to different transactions. The participant responds to prepare, commit, or rollback requests associated from the web service transaction coordinator by forwarding the same operations to the underlying XA transaction coordinator, ensuring that the local outcome in the database corresponds with the global outcome of the web service transaction as a whole.
Things are less complex for the client. Through its API, the client application registers a participant with the transaction, and uses this participant to control termination of the transaction.
It has been established that traditional transaction models are not appropriate for Web Services. No one specific protocol is likely to be sufficient, given the wide range of situations where Web service transactions are likely to be used. The WS-Transaction specification proposes two distinct models, where each supports the semantics of a particular kind of B2B interaction.
The following discussion presents the interactions between the client, web service and the transaction coordinator in great detail for expository purposes only. Most of this activity happens automatically behind the scenes. The actual APIs used to initiate and complete a transaction and to register a participant and drive it through the commit or abort process are described in ???.
An atomic transaction (AT) is similar to traditional ACID transactions, and is designed to support short-duration interactions where ACID semantics are appropriate. Within the scope of an AT, web services typically employ bridging to allow them to access XA resources, such as databases and message queues, under the control of the web service transaction. When the transaction terminates, the participant propagates the outcome decision of the AT to the XA resources, and the appropriate commit or rollback actions are taken by each.
All services and associated participants are expected to provide ACID semantics, and it is expected that any use of atomic transactions occurs in environments and situations where ACID is appropriate. Usually, this environment is a trusted domain, over short durations.
Procedure 4.1. Atomic Transaction Process
To begin an atomic transaction, the client application first locates a WS-C Activation Coordinator web service that supports WS-Transaction.
The client sends a WS-C
CreateCoordinationContext message to the service, specifying
http://schemas.xmlsoap.org/ws/2004/10/wsat as its coordination type.
The client receives an appropriate WS-Transaction context from the activation service.
The response to the
CreateCoordinationContext message, the transaction context, has
CoordinationType element set to the WS-Atomic Transaction namespace, http://schemas.xmlsoap.org/ws/2004/10/wsat. It also contains a reference to the atomic transaction
coordinator endpoint, the WS-C Registration Service, where participants can be enlisted.
The client normally proceeds to invoke Web Services and complete the transaction, either committing all the
changes made by the web services, or rolling them back. In order to be able to drive this completion activity,
the client must register itself as a participant for the
Completion protocol, by
sending a
Register message to the Registration Service whose endpoint was returned in
the Coordination Context.
Once registered for Completion, the client application then interacts with Web Services to accomplish its business-level work. With each invocation of a business Web service, the client inserts the transaction context into a SOAP header block, such that each invocation is implicitly scoped by the transaction. The toolkits that support WS-Atomic Transaction-aware Web Services provide facilities to correlate contexts found in SOAP header blocks with back-end operations. This ensures that modifications made by the Web service are done within the scope of the same transaction as the client and subject to commit or rollback by the transaction coordinator.
Once all the necessary application-level work is complete, the client can terminate the transaction, with the intent of making any changes to the service state permanent. The completion participant instructs the coordinator to try to commit or roll back the transaction. When the commit or roll-back operation completes, a status is returned to the participant to indicate the outcome of the transaction.
Although this description of the completion protocol seems straightforward, it hides the fact that in order to resolve the transaction to an outcome, several other participant protocols need to be followed.
The first of these protocols is the optional Volatile2PC (2PC is an abbreviation referring to the two-phase commit). The Volatile2PC protocol is the WS-Atomic Transaction equivalent of the synchronization protocol discussed earlier. It is typically executed where a Web service needs to flush volatile (cached) state, which may be used to improve performance of an application, to a database prior to the transaction committing. Once flushed, the data is controlled by a two-phase aware participant.
When the completion participant initiates a
commit operation, all Volatile2PC
participants are informed that the transaction is about to complete, via the
message. The participants can respond with one of three messages:
aborted, or
readonly. A failure at this stage causes the
transaction to roll back.
The next protocol in the WS-Atomic Transaction is Durable2PC. The Durable2PC protocol is at the core of WS-Atomic Transaction. It brings about the necessary consensus between participants in a transaction, so the transaction can safely be terminated.
The Durable2PC protocol ensures atomicity between participants, and is based on the classic technique of two-phase commit with presumed abort.
Procedure 4.2. Durable2PC Procedure
During the first phase, when the coordinator sends the prepare message, a participant must make durable any
state changes that occurred during the scope of the transaction, so these changes can either be rolled back or
committed later. None of the original state information can be lost at this point, since the atomic
transaction may still roll back. If the participant cannot
prepare, it must inform
the coordinator, by means of the
aborted message. The transaction will ultimately
roll back. If the participant is responsible for a service that did not change any of the transaction's data,,
it can return the
readonly message, causing it to be omitted from the second phase of
the commit protocol. Otherwise, the
prepared message is sent by the participant.
If no failures occur during the first phase, Durable2PC proceeds to the second phase, in which the coordinator
sends the
commit message to participants. Participants then make permanent the
tentative work done by their associated services, and send a
committed message to the
coordinator. If any failures occur, the coordinator sends the
rollback message to all
participants, causing them to discard tentative work done by their associated services, and delete any state
information saved to persistent storage at
prepare, if they have reached that
stage. Participants respond to a rollback by sending an
aborted message to the
The semantics of the WS-Atomic Transaction protocol do not include the one-phase commit optimization. A full two-phase commit is always used, even where only a single participant is enlisted.
Figure 4.6, "WS-Atomic Two-Phase Participant State Transitions" shows the state transitions of a WS-Atomic Transaction and the message exchanges between coordinator and participant. Messages generated by the coordinator are represented by solid lines, while the participants' messages use dashed lines.
Figure 4.6. WS-Atomic Two-Phase Participant State Transitions
Once the Durable2PC protocol completes, the
Completion protocol that originally began the
termination of the transaction can complete, and inform the client application whether the transaction was
committed or rolled back. Additionally, the Volatile2PC protocol may complete.
Like the
prepare phase of Volatile2PC, the final phase is optional and can be used to
inform participants about the transaction's completion, so that they can release resources such as database
Any registered Volatile2PC participants are invoked after the transaction terminates, and are informed about the transaction's completion state by the coordinator. Since the transaction has terminated, any failures of participants at this stage are ignored, since they have no impact on outcomes.
Figure 4.7, "" illustrates the intricate interweaving of individual protocols comprising the AT as a whole.
Figure 4.7.
Most B2B applications require transactional support in order to guarantee consistent outcome and correct execution. These applications often involve long-running computations, loosely coupled systems, and components that do not share data, location, or administration. It is difficult to incorporate atomic transactions within such architectures.
For example, an online bookshop may reserve books for an individual for a specific period of time. However, if the individual does not purchase the books within that period, they become available again for purchase by other customers. Because it is not possible to have an infinite supply of stock, some online shops may seem, from the user's perspective, to reserve items for them, while actually allow others to preempt the reservation. A user may discover, to his disappointment, that the item is no longer available.
A Business Activity (BA) is designed specifically for these kinds of long-duration interactions, where it is impossible or impractical to exclusively lock resources.
Procedure 4.3. BA Process Overview
Services are requested to do work.
Where those services have the ability to undo any work, they inform the BA, in case the BA later decides the
cancel the work. If the BA suffers a failure. it can instruct the service to execute its
undo behavior.
The key to BA is that how services do their work and provide compensation mechanisms is not the responsibility of the WS-BA specification. It is delegated to the service provider.
The WS-BA defines a protocol for Web Services-based applications to enable existing business processing and work-flow systems to wrap their proprietary mechanisms and interoperate across implementations and business boundaries.
Unlike the WS-AT protocol model, where participants inform the coordinator of their state only when asked, a child activity within a BA can specify its outcome to the coordinator directly, without waiting for a request. A participant may choose to exit the activity or may notify the coordinator of a failure at any point. This feature is useful when tasks fail, since the notification can be used to modify the goals and drive processing forward, without the need to wait until the end of the transaction to identify failures. A well-designed Business Activity should be proactive.
The BA protocols employ a compensation-based transaction model. When a participant in a business activity completes its work, it may choose to exit the activity. This choice does not allow any subsequent rollback. Alternatively, the participant can complete its activity, signaling to the coordinator that the work it has done can be compensated if, at some later point, another participant notifies a failure to the coordinator. In this latter case, the coordinator asks each non-exited participant to compensate for the failure, giving them the opportunity to execute whatever compensating action they consider appropriate. For instance, participant might credit a bank account which it previously debited. If all participants exit or complete without failure, the coordinator notifies each completed participant that the activity has been closed.
Underpinning all of this are three fundamental assumptions, detailed in Assumptions of WS-BA.
Assumptions of WS-BA
All state transitions are reliably recorded, including application state and coordination metadata (the record of sent and received messages).
All request messages are acknowledged, so that problems are detected as early as possible. This avoids executing unnecessary tasks and can also detect a problem earlier when rectifying it is simpler and less expensive.
As with atomic transactions, a response is defined as a separate operation, not as the output of the request. Message I/O implementations typically have timeout requirements too short for BA responses. If the response is not received after a timeout, it is re-sent, repeatedly, until a response is received. The receiver discards all but one identical request received.
The BA model has two participant protocols:
BusinessAgreementWithParticipantCompletion and
BusinessAgreementWithCoordinatorCompletion. Unlike the AT protocols which are driven from
the coordinator down to participants, this protocol takes the opposite approach.
A participant is initially created in the Active state.
If it finishes its work and it is no longer needed within the scope of the BA (such as when the activity
operates on immutable data), the participant can unilaterally decide to exit, sending an
exited message to the coordinator. However, if the participant finishes and wishes to
continue in the BA, it must be able to compensate for the work it has performed. In this case, it sends a
completed message to the coordinator and waits for the coordinator to notify it about
the final outcome of the BA. This outcome is either a
close message, meaning the BA
has completed successfully, or a
compensate message indicating that the participant
needs to reverse its work.
BusinessAgreementWithCoordinatorCompletion differs from the
BusinessAgreementWithParticipantCompletion protocol in that the participant cannot
autonomously decide to complete its participation in the BA, even if it can be compensated.
Instead, the completion stage is driven by the client which created the BA, which sends a
completed message to the coordinator.
The coordinator sends a
complete message to each participant, indicating that no
further requests will be sent to the service associated with the participant.
The participant continues on in the same manner as in the BusinessAgreementWithParticipantCompletion protocol.
The advantage of the BA model, compared to the AT model, is that is allows the participation of services that cannot lock resources for extended periods.
While the full ACID semantics are not maintained by a BA, consistency can still be maintained through compensation. The task of writing correct compensating actions to preserve overall system consistency is the responsibility of the developers of the individual services under control of the BA. Such compensations may use backward error recovery, but forward recovery is more common.
Figure 4.8, "" shows the state transitions of a WS-BA
BusinessAgreementWithParticipantCompletion participant and the message exchanges between
coordinator and participant. Messages generated by the coordinator are shown with solid lines, while the
participants' messages are illustrated with dashed lines.
Figure 4.8.
Figure 4.9, "" shows the state transitions of a WS-BA
BusinessAgreementWithCoordinatorCompletion participant and the message exchanges between
coordinator and participant. Messages generated by the coordinator are shown with solid lines, while the
participants' messages are illustrated with dashed lines.
Figure 4.9.
Application messages are the requests and responses sent between parties, that constitute the work of a business process. Any such messages are considered opaque by XTS, and there is no mandatory message format, protocol binding, or encoding style. This means that you are free to use any appropriate Web Services protocol. In XTS, the transaction context is propagated within the headers of SOAP messages.
XTS ships with support for service developers building WS-Transactions-aware services on the JBoss Application Server. Interceptors are provided for automatic context handling at both client and service, which significantly simplifies development, allowing you to concentrate on writing the business logic without being sidetracked by the transactional infrastructure. The interceptors add and remove context elements to application messages, without altering the semantics of the messages themselves. Any service which understands what to do with a WS-C context can use it. Services which are not aware of WS-C, WS-Atomic Transaction and WS-Business Activity can ignore the context. XTS manages contexts without user intervention.
Although the application or service developer is rarely interested in the messages exchanged by the transactional infrastructure, it is useful to understand what kinds of exchanges occur so that the underlying model can be fitted in to an overall architecture.
WS-Coordination, WS-Atomic Transaction and WS-Business Activity-specific messages are transported using SOAP
messaging over HTTP. The types of messages that are propagated include instructions to perform standard transaction
operations like
begin and
XTS messages do not interfere with messages from the application, an application need not use the same transport as the transaction-specific messages. For example, a client application might deliver its application-specific messages using SOAP RPC over SMTP, even though the XTS messages are delivered using a different mechanism.
XTS provides a coordination infrastructure which allows transactions to run between services owned by different business, across the Internet. That infrastructure is based on the WS-C, WS-Atomic Transaction and WS-Business Activity specifications. It supports two kinds of transactions: atomic transactions and business activities, which can be combined in arbitrary ways to map elegantly onto the transactional requirements of the underlying problem. The use of the whole infrastructure is simple, because its functionality is exposed through a simple transactioning API. XTS provides everything necessary to keep application and transactional aspects of an application separate, and to ensure that a system's use of transactions does not interfere with the functional aspects of the system itself.


text:
Hot Babe Watches Hubby With Petite Coed
Suggest video details
Wähle die nachstehenden Einzelheiten, die dieses Video beschreiben. Wir wissen deine Hilfe zu schätzen und werden diese Informationen nutzen, um unseren Service zu verbessern.
Erkennst du den Pornostar in diesem Video? Hilf uns, Pornostars auf YouPorn einfacher zu finden, indem du uns sagst, wer in diesem Video zu sehen ist.
Hilf uns: Erscheint dieser Pornostar in diesem Video?
Alle Kommentare (89)
@shirly ill fuck you shirly!
im free to join you all let me know asap???.
I love milf what are have sexy asssssss
Man I have done this twice. Keeps getting better.
Anne, I gave my best friend a blow job after his wife asked me to do it...When I went down on his dick, I swear she went wild with excitement..later that night she asked me to do it again and she and he climaxed during the sucking and watching.....let's talk about more
Anne, I'm your guy. I would let your hubby suck my cock and I would suck his while you watched. I would lick the cum from your pussy after he came in you. My cock is dripping right now. I'm thinking about cumming on your face then lickinf it off.
brown chick is jessica valentino
My bf was very understanding about my bisexual curiosities and allowed me to seduce the young coed we had renting our condo,she really knew her way around a pussy and had a great tight little body on her.i asked her on several occasions to join my bf and I in a threesome but she never seemed interested until she asked if the three of us could spend a weekend together.We started off with him fucking me from behind while I went down on her little pussy and then she sucked his dick clean before he spread her pussylips and entered her ,he wasn't supposed to cum inside her but he was so excited his first load ended up inside her.We fucked and sucked each other all weekend and he left a bunch of cream pies inside her virgin ass and his cock was raw the last day as we all were sore from the weekends activity.
soundls like fun....would love to suck all of you
thats very fuck.. thats really call
I hope my girlfriend brings one home like that soon... oh well, I keep on dreaming and watching this petite fucking and sucking.
I nominate HER for "Wife of the Year!"
@jim you're a fucking liar
Sassy, I would love to watch you play with your clit after your boyfriend and I spewed cum on it. I would suck the juices dry from your pussy.
wow. such porn. so horny.
any one ever done a threesome, with there wife and a young coed?
Oooo ya, the girl is following my wife every move and adding to the lust of the new experiences for our fun and wonderful
An excellent example showing how the addition of a nice girl in a couple is favourable for its equilibrium. The addition of an extra guy is also excellent. Sharing My Wife is valid for Sharing My Husband as well.
i would love to have the same experience
It probably wasn't their only experience either,so very sexy!
sex is awesome thing.
Who want to fuck me ? I'm 33 years, blond and Horny as hell.
Would love to eat you and fuck you
wow nice
I'd love to have a go with the wife....
I love hot sex
What is the name of the blonde one???
Jennifer Simpson
the brown hair chick is a dime
I wish i could talk my wife into a 3-some she has a lot of strong bi feelings but is scared to go thru with it.She fanyasizes about eating Janet Jacksons pussy all the time.Just looking for a woman here in kc that can turn her out.So this is a lucky ass dude
Dan' Yea i've sucked a guy off while a girl watched and she even joined in by sucking his balls as he climaxed, she then kissed me and shared the sperm. This is sex at it's best
devon lee
devon lee
Something tells me this won't be the last and only time,these three sexy people have a fun,delicious time ,very sexy and hot!
Kissing sloppy butt
I wish my wife would let me fuck the lady next door. I love to have my wife lady down and let her lick her pussy as i fuck the other lady and fill her wet pussy on my cock and then my wife lick her pussy as i fuck my wife pussy and cum in my wife pussy
I would love to bring the lady next door to come over and due this with my wife. I would love to have my wife pussy lick and i can join in with them if they what my cock as a sex toy
I would love to find a young woman my age to come in the bedroom with my boyfriend and I for his birthday. I've never been with a woman before and I think he would go wild for it. Getting wet just thinking about it
I'm your man call me 07708482756 Jimmy can't wait xx
Put the wife in restraints then brunette coed & stud fuck the blonde wife for hours every which way, dildoes, strap-ons and more...till she begs to stop. Then it's brunette's turn for hours.
Devon Lee is absolutely ravishing. splendid perky breasts with nipples looking skyward.I must research her early work, The unfortunate wife ? (if it were not staged) would be humbled by such a lovely Teen being on the same Set. Saggy Melons, for me are Passe'
This is a GREAT short. They say the girl is for the guy. Then the woman strips off and then strips the girl. Love to see her feed her mans cock to the girl. Man my bone is hard !!
Love it wish you would swing this way
I love when my wife briengs one of the girls from the office
Hot girl
Damn she got it good me and my boyfriend just got done fucking yall made us horney
I love how the guy is super nice to his wife in this one, but anytime it's the wife fucking a new cock, she acts like a fucking cunt
That escalated quickly...
Her real name kalla hunt in baltimore md
Nice tip and nice pussy girls
very hot ..love seeing wife 69 with teen and vice versa
didn't show enough of the young hottie. Big mistake.
This video is in the same room and looks like the same people too: http://www.youporn.com/watch/8145915/teen-shared-with-wife-and-hubby/
Lucky fucker! Every couple should have a sexy college slut in their life! ;)
I would like to share my cum with both of these sexy beauties.
God damn she has amazing tits would love to suck on them hoes
hi good
Lucky mofo!
fudia a loira tuda ai maeizinha fuck you
Yeah, sure, find me a wife--- or girlfriend -- out there that would be this understanding about her man banging another woman.....LMAO..
mmm really hot, the blond is the best, beautyful tits
Beautiful people,needs more action...
This is wiked good sex I love to fuck bothe of them they are hot
I would suck cock, have my cocked sucked just so I ould do these girls. They are both stunning.
man i love getting off on swingers, my girlfriend wont even fuck me let alone let me fuck her and some other tight pussy
disappointed that he didn't come inside their little swinging partner. first time with a new woman, i would make sure i came inside her, while my wife watched me orgasm inside a different woman.
Ken, that sounds incredible. My pussy is so wet thinking of watching two men suck cock and one blow his load in my hungry hole. Ohhhh, the thought of the other guy slurping spunk out of my cunt is making me cum now.
I have done it for my hubby but he came after half a minute so mostly he watched me and the girl eat pussy and so on. Am hoping to get a guy next time so I can watch hubby suck a cock. I get wet thinking of it.
these guys are fucking and sucking like crazy...but he has to stroke himself to cum on her tits? and not much of a cumshot. I liked Jessica Valentino...looked more natural.
Pfft. Id love to join them. pfft. he didnt cum shit. loser
Lucky Boy! I think i'll grow a daft beard like his, i might get somewhere.
ill fuck u shirly
fuck me..... plssss.
@ kiss090 lol no you havent
For two hot fucks and sucks, he shot a small load. These girls deserved more for their efforts.
i want to do this
i agree with mandy.i'd love to suck his wife out while he fucks my pussy
Would totally love to do his wife. She's hott as
what is the name of the young girl ther in the middle?
wow!!!!!!!! its a nice sex, mmmmmmmmmm
@ Greg : his name is Devon Lee ;-)
Download Full Video
No download links available now

subset: commoncrawl


text:
Do you wanna know what is happening behind the
closeddoors in Hollywood?
Now you have a chance!!!Hurry up and get your own
12 months unlimited accessto our site for just $1.00!!!
Limited offer only TODAY
Georgina BaillieSextape Scandal
Georgina Baillie is Andrew Sachs (from Fawlty Towers) granddaughter. Two British radio personalities, Jonathan Ross and Russell Brand left a message on Sachs` answering machine while on the air and blurted out that one of them had slept with Georgina. The publicity generated by this prank led to the discovery that Georgina was in a performance group called the Satanic Sluts. Well guess what, Georgina and the Satanic Sluts can now be found in the Scandals section. Login and watch her do unheavenly acts!
Want to see it?JOIN NOW for only 1 dollar!!!Limited offer only todayHURRY UP!!!


text:
Delay TonePrint by Soren Andersen
Three settings in one TonePrint! That's the result of Soren Andersen's creative take on a Flashback Delay TonePrint. By the turn of a knob his TonePrint takes you from an analog-like delay, to a slap echo, and a big ambience delay.
Get the TonePrint Now
Have an iOS or Android device? Use the TonePrint AppDownload the TonePrint EditorDelay TonePrint by Soren Andersen
<iframe width="920" height="518" src="http://www.youtube.com/embed/iRk5p0eO7Q0?rel=0&wmode=transparent"></iframe>
Other TonePrints by Soren Andersen
Soren Andersen was destined to become a musician. He grew up in a home stuffed with musical instruments, and at age 8, he picked up the guitar – he never let go! Right after grade school, Søren headed out for a career as a professional musician, and that's all he's been doing ever since. Today, he tours with Glenn Hughes (Deep Purple) and Mike Tramp (White Lion). Further, he has built up quite a reputation as a producer, and he is a co-owner of the 'Medley' studio in Copenhagen where he has played with and/or produced for e.g. Marco Mendoza (Thin Lizzy, Straitjackets, etc.), Tommy Aldridge (Ozzy Osbourne, Gary Moore, Thin Lizzy, Whitesnake, etc.), Artillery, Oliver Weers and Jay Nash.
Soren grew up with the 70's classic rock as his main influence, but because he was a teenager in the 80's, he is also influenced by many synthpop bands as well as the 90's grunge and its mix of classic rock and pop songs. Soren is an open-minded musician/producer/songwriter with ears for many kinds of music.
Soren has been touring as a guitar player for over 20 years now, and has played huge clubs, small cafés, open air festivals and TV shows all around the world. He does a lot of international clinics for different gear companies as well, as he cares a lot about sound. Songwriting is also a big part of Sorens musical life. He writes songs for his own recordings, as well as for other artists..
Sorens Flashback Delay TonePrint Soren usually has 3-4 delay presets in his setup. His Flashback TonePrint reflects this and Soren is able to get three distictlively different sounds from just one TonePrint! By the turn of a knob his TonePrint takes you from an analog delay type over slap-back echo to a big ambience delay. Soren likes an analog 70's delay, with a 300 milliseconds of delay time. For slap-back delay Soren prefers a fast delay time with only one percent of feeback. This gives a Jimmy Page like sound that is excellent for riffs. If you turn off the feedback time to max you can get a ray gun effect. His 'big' delay for big rhythm parts and an 80's type lead sounds, sports 800 milliseconds of delay time with a little bit of modulation. All his settings on the pedal has a 20 ms off-set in stereo mode for a really wide sound. In fact this Toneprint is a direct replica of Soren's favorite settings on his G-System.
TC: Who inspired you over the years when you were creating your own personal guitar tone? Soren: Early Gary Moore, Angus Young, Jimi Hendrix, Van Halen and Richie Blackmore. Thoose are my top five heroes in random order.
TC: What are the main ingredients in your tone in terms of effects (e.g. chorus, flanger, delay, etc.)? Soren: Sometimes very fast chorus and very wide and slow flangers. Then I'm very happy about modulated analogue sounding delays. Dark and fluttering. If I use reverb, I use emulated springs very wet.
TC: Have you ever been so inspired by a tone you created that you ended up writing a tune based on ideas triggered by that specific tone? Soren: Yes! Happens all the time!
TC: Do you work on developing your tone continuously, or do you feel that you have found a fundamental tone that will last throughout your career? Soren: I think I found my tone by now...
TC: What inspired you when you created your TonePrint(s)? Soren: I normally play with presets, so I tweaked the pedals to work as a 3-preset box. By that, you can get 3 different tones very fast.
TC: Normally, do you prefer having access to many parameters, or do you like simple pedals with just a few knobs better? Soren: I'm a nerd! And I'm a studioguy as well, so yes, I really like fooling around with effects.
TC: In your opinion, what is the single coolest thing about TonePrints? Soren: The new app!!! So cool...Read more about Soren Andersen


text:
2013 Biennial Faculty Art Exhibition
Schmidt Center Gallery | September 21 – December 7
Ritter Art Gallery | September 21 – November 9
Closed for Thanksgiving | November 28 – 30
Noon-time Artist Talks
Recent works by faculty from the following :
Dorothy F. Schmidt College of Arts and Letters
Department of Visual Arts & Art History
School of Communication & Multimedia Studies
College for Design and Social Inquiry
School of Architecture
Campus Libraries
Artists in the exhibition: Ariel Baron-Robbins, Amy S. Broderick, Stephanie Cunningham, Jeane Cooper, Joshua Hunter Davis, Angela DiCosola,
Rod Faulds, Chanda Glendinning, Sharon Lee Hart, Walter Hnatysh, Suzanne Khalil, Tammy Knipp, Eric Landes, Jeffrey Larson, Dorotha Grace Lemeh, Brian McConnell, Kathleen O'Connor, Mark Joseph Oliver, Annette M. Piskel, Carol Prusa, Bonnie Seeman, Tom Scicluna, Victoria Skinner, Jillian Taylor, Juana Valdes, Sommer Wood, Joey Bargsten, Shane Christian Eason, Mark Franz, Brad Lewter, Ruth von Spalding, Emmanouil Vermisso, Henning Haupt, Birds are Nice (aka Diane Arrieta) and John Cutrone
The 2013 Biennial Faculty Art Exhibition features a wide range of recent artworks by faculty teaching in the Department of Visual Arts and Art History; the School of Communication and Multimedia Studies; and the School of Architecture. Media and disciplines represented will include drawing, painting, sculpture, ceramics, photography and video. Public gallery talks and/or lectures will be scheduled to include several participating artists.
short films by international artists
selected by Mark Coetzee
for PUMA.Peace will be featured throughout the exhibition in the Ritter Art Gallery.
Click here for more information on
The University Galleries exhibition and education programs are supported in part by the Cultural Council of Palm Beach County; the R.A. Ritter Foundation; Beatrice Cummings Mayer and individual contributors. Museum Education programs are made possible by the Kaye Endowment for Arts Integration.


text:
Joan Rivers, Comedian and Talk-Show Host, Dies at 81
Daughter Says She Died Surrounded by Family, Friends
Joan Rivers, a talk-show host, actress and red-carpet critic who rose to the top of comedy's ranks while unapologetically skewering everyone and everything she passed along the way, died Thursday in New York following complications from a medical procedure. She was 81 years old.
"She passed peacefully at 1:17 p.m. surrounded by family and close friends," her daughter, Melissa Rivers, said in a statement.


text:
Australia To Propose Copyright Reform That Includes Fair Use
from the good-move dept
Thankfully, it appears that Australia is willing to go that extra step. There was apparently a meeting held yesterday by the Australian Law Reform Commission, in which they revealed some of the proposed reforms, which were to be officially released in a paper at the end of May. We've heard from some people who attended that the information revealed in the meeting was supposed to be kept secret, but it appears that the Australian Law Library Association jumped the gun with some thankfully revealing tweets.


text:
Reel World
Architecture on Screen—As part of Albuquerque's ongoing Tricentennial celebration, the city is sponsoring a night of short film screenings at the Guild Cinema in Nob Hill. September has been named Architecture Month, so the city has teamed with the American Institute of Architects-New Mexico to present "In Focus: Architecture in Film." The screening will consist of three short documentaries, each concentrating on one of the architecture world's most famous figures. Antonio Gaudi (designer of Barcelona's Cathedral of the Sagrada Familia), Frank Lloyd Wright (designer of Pennsylvania's Falling Water) and Frank Geary (designer of the Walt Disney Concert Hall in Los Angeles) are the three subjects. The films are simple introductions to and interviews with the subjects at hand, so an advanced knowledge of architecture is not necessary--just an appreciation of beautiful buildings. Yours truly, Alibi's humble film editor, will be on hand to introduce the films and to give a (decidedly) uneducated perspective on the proceedings. The screening starts at 8 p.m. on Saturday, Sept. 10. The event is free and open to the public. Call 260-0571 for more info.
Film Review
The Exorcism of Emily Rose
Laura Linney is "Perry Mason: Paranormal Litigator"
After a summer of stultifyingly formulaic films, it rests on the shoulders of the fall movie season to provide some relief. To give credit where credit is due, writer/director Scott Derrickson (writer of Urban Legends: Final Cut, director of Hellraiser: Inferno and lover of colons) has come up with an arguably original idea--namely, the world's first courtroom horror drama. Instead of the hoped-for Reese's Peanut Butter Cup combination of chocolate and peanut butter, however, Derrickson's film ends up as an unholy mixture of oil and water.
Film Review
A State of Mind
Eye-opening look behind the Bamboo Curtain shows North Koreans just want to dance, dance, dance
According to President George W. Bush, North Korea is a founding member of the Axis of Evil. Aside from that rather broadly unhelpful description, what do we as Westerners know about the country? Well, not much, really.
Idiot Box
Must Flee TV
Hurricane Katrina around the dial
Admit it. You treat The Weather Channel like one of those ex-boyfriends/ex-girlfriends you look up once a year when you're desperately horny and looking for a booty call. You never even think twice about The Weather Channel. OK, maybe you'll flip past it when you're going on vacation--just for a second to see if you need long or short sleeves. Other than that, you ignore it completely. Until a hurricane shows up. And then you're glued to it like weather porn.
Week in Sloth
The Week in Sloth
"Monday Night Football" (KOAT-7 7 p.m.) Hey, don't tell me. I know it's not Monday. But ABC is jumping the gun a bit presenting the season kickoff game of Oakland at New England.
"Reunion" (KASA-2 8 p.m.) Fox's companion piece to "The O.C." finds a group of high school friends reunited after 20 years by the death of a friend. The show splits its time between the teenage and the thirtysomething versions of the cast, uncovering a murder mystery not unlike the one that got "Desperate Housewives" percolating with soapy secrets.


text:
I recently hosted a playdate that had us outside in our courtyard doing crafts with the neighbors. My boyfriend, Mark, was my fabulous co-host. We've been dating a year and a half, and he's becoming a bigger part of our family with each passing day.
While I made monsters with toilet paper tubes and googly eyes, he manned the hot dogs on the grill. As Mark gently served my son, Jav, a plate, his pal, Cullen, turned to him and asked, "Are you Javier's dad?"
There was a lightning-fast moment of tension (for me, anyway), as there is never an easy answer when kids start to ask questions about atypical families, divorce and the like. But Mark slid in with a winning response. "Nope, Jav already has a dad. He's a great, great dad, and a really nice guy. I'm Jav's friend, but I love him very, very much, too."
Mark is a sweetie—and now I know that my son knows it, too. Because the second Mark slipped inside the house to grab some BBQ sauce, Jav turned to Cullen and said, "Mark was being really nice when he said that about my dad. He's a very generous person. It's why I like him so much."
Whoa. As if it wasn't enough that my beau had just blown me away, my son took it to a whole other level. Not only did Jav's words speak volumes about the budding relationship between my boy and my boyfriend, it signaled to me that Jav has developed the empathy, the smarts and the heart to know when a person is going above and beyond just to make someone else feel better. I could have cried—but I was too busy beaming.
There is no perfect response to a question like that. Anyone who's divorced or separated can tell you it's one of the stickiest situations involving our kids—how to handle the Qs that inevitably come—but my boys both found a way to handle it beautifully (and I didn't have to say a word). Later that night I thanked Mark for saying nice things about Jav's dad. "It was all true," he said. "If someone asked [my ex-wife's boyfriend] the same question, I'd hope he'd say the same about me."
There you have it ladies and gents. In a world where so many split families spew petty complaints, I feel lucky to have found a guy who handles things with class and honesty—and to have a son who's a perfect match.
Have you ever been in a sticky situation like this? How did you handle it? Mama wants to know!


text:
Alfredo Di Stefano may have kicked a ball about with Argentine compatriot Jorge Mario Bergoglio, who was elected Pope Francis I last week, when they were growing up around the same time in Buenos Aires, the Real Madrid great has said.
Di Stefano, who is just over 10 years older than the 76-year-old Bergoglio, wrote in his regular column in sports daily Marca on Monday that the pair had gone to the same school and lived close to each other in the Argentine capital.
"As you can imagine his election filled me with enormous joy," Di Stefano wrote.
"The Pope was probably one of those kids with whom I played football in the street," he added.
"In the neighbourhood we put together proper matches with everyone against everyone until it got dark.
"You'll have to ask him because at that time I was the famous one, from when I was very small, as I belonged to the River Plate youth academy, everyone knew me."
Di Stefano is widely considered one of the greatest players of all time and helped to turn Real Madrid, the La Liga club he joined in 1953, into one of the world's leading sides.
One of Pope Francis's predecessors, John Paul II, who died in 2005, was a goalkeeper in his youth.
Photograph: Andrea Comas/Reuters


text:
Bull Market Could Last Through the First Quarter
Bullish investors returning to equities have sparked a market rally in 2013. The WSJ's Mark Cranfield tells us why this may last-at least through the first quarter.
This transcript has been automatically generated and may not be 100% accurate.
I ... the ... eighteen spring to be had to endure first stock markets around the world but how long will this latest rally at last ... Cheney me now the Wall Street Journal Mark Cranfield from Singapore ... a K Mart seems like we got through the fiscal cliff crisis ... at the end of last year things it's ... been a good year so far ... so what's in store ... so the big dog Transocean said the move to a fiscal cliff is ... going to vote on being the written even seem to be too bold with the Brumby ... the debt ceiling seems to be good news all good whispers coming off ... the bat we sold pretty easily ... so though that all those radio far away ... and probably for the next couple of months it was a ... fitting to run for markets providing this surprising ... external effects ... economies are doing reasonably well ... and U S ... forces become and that Europe is president of Vikram ... Pandit late to book a reasonable sum or an all ... the different the stomach of ... things to worry about the people for such we can look ... for the good news ... again not to be a pessimist are anything but a lot of talk last year about comp ... at us and bring a fiscal cry at the cliff Christ this ... was really just cut a kicking the can down the red ... I know we're also facing elections in your app so what do you think is the next speed bump on the markets are going to face ... but that will be the next big long ... tumultuous the Italian elections ... we're seeing that Berlusconi has turned his back into the picture ... and ... those with and he's over hipper unpredictable character ... it really ... was doing quite well last year they repaired of of of things that that in terms of that that situation ... but it Berlusconi's popularity rises and it does well in the March elections ... but the pro Europe into disarray so entomologist for the next big one ... under the costs which are in need of the June elections in September ... a can of course here in Asia and we've seen have Japanese exporters' benefiting ... from a weaker yen ... what's in store for the region here and email and ... I did things look as optimistic and a bullish as they do elsewhere ... midges defended potentially a ... huge story courses is Goebel detentions in its midst of a wrongly ... the prime ministership ... recently and ... already the surprising thing is that he's ... his ratings on the wretched been on the rise of autism yeti values ... but Japan ... um ... is really a could be the first time in decades ... the Japan is no longer a drag on world growth which will ... mean a lot because ... investors have been shying away from Japanese markets aid to states that every big markets of ... but investors it's hard to ignore ... Japan when it assigns a growth pick up a lot of money swings ... from the rest of the robots which ... I'm ... because of Japan to goodwill Trek money back into other parts of Asia ... there will be one of two competitors ... in a nation of one of these unhappy career is a Mobius ... exalt you can see the currency to strengthen them openly might want to try to reverse that ... but all in all it is to Penney's ... it is not slowing down of dependency turning positive ... I can be very good news for the poodle Malaysia ... at camp with a lot of people looking to see it that two percent ... inflation target will be in that ... thanks Fran that's my Penfold dining us from Singapore ... for more on the markets you can get to Des beest dot com I'm Deborah con ...


text:
Ethiopian sets Chicago Marathon record
The Associated Press | October 8, 2012
So he started waving.
Kebede had plenty to celebrate in his course-record win Sunday in the Chicago Marathon.
He pulled away late and was all alone, smiling to fans as he neared the finish at Grant Park and crossing the line in 2 hours, 4 minutes, 38 seconds. That easily eclipsed the previous mark of 2:05:37 set by Kenya's Moses Mosop last year and was more than enough to beat countrymen Feyisa Lilesa (2:04:52) and Tilahun Regassa (2:05:28).
"This is a great day for us, for Ethiopia, especially," Kebede said.
Atsede Baysa made it a sweep for the country with a thrilling win in the women's race, edging Kenya's Rita Jeptoo by about a step. The two traded leads down the stretch, with Jeptoo briefly grabbing it as they turned into Grant Park and Baysa quickly regaining it.
She kept looking over her shoulder during the final stretch and barely hung on, with Jeptoo making one final push and raising her arms at the finish line.
Baysa broke the tape, though, finishing in 2:22:03, a second ahead of Jeptoo. That ended the three-year run of Russia's Liliya Shobukhova, who placed fourth at 2:22:59. Kenya's Lucy Kabuu (2:22:41) was third.
"I came to win this race," Baysa said. "When I came upon the finish line, I knew I won the race."
Jeptoo knew it, too, but was elated anyway. That's why she raised her arms at the line.
"I was happy because I finished second, and I had a lot of energy to finish," Jeptoo said.
The winners each received $100,000. Kebede earned an extra $50,000 for setting the course record and Baysa got another $10,000 for running a sub 2:24:00.
On a cool day that seemed made for a course record, Kebede delivered.
He and Lilesa started to break away over the final three miles, and with about a mile to go, it was clear that this was Kebede's race.
The runner-up to the late Sammy Wanjiru in 2010 in a stirring finish, he ended a nine-year run by Kenyan men and, maybe, sent a message that he should have made the Ethiopian Olympic team.
He got passed over after taking third in Beijing in 2008 but came through Sunday with the first win by an Ethiopian man in Chicago. It was also the second major marathon victory for Kebede to go with the top prize at London in 2010.
With 42-degree temperatures at the start, the conditions were good for a race marked by tragedy and mishap in recent years.
There was also a mishap in 2006, when champion Robert Cheruiyot of Kenya slipped on a wet decal and banged his head as he crossed the finish line. In 2007, Chad Schieber, a 35-year-old Michigan police officer and father of three, died in near-90 degree heat.
Race organizers improved communication among various agencies and the runners. They also added more water distribution points and medical aid stations, but tragedy struck again in 2011 when William Caviness, a 35-year-old North Carolina firefighter, collapsed about 500 yards from the finish line and died on a day when temperatures reached the high 70s.
On Sunday, a 47-year-old man suffered a cardiac arrest around the 21st mile and was taken to Chicago's Mercy Hospital and Medical Center. Race medical director Dr. George Chiampas told reporters the man was alert and talking after being shocked twice, and he said through a race spokeswoman late Sunday afternoon that the runner was in stable condition.
"We obviously are always concerned, and we're still waiting for more information from the hospital and we're obviously getting updated," said Chiampas, who would not say where the runner was from "out of respect for the family."
He wasn't sure if the runner had a previous heart condition.
Nine other runners had also been taken by ambulance as of Sunday afternoon with injuries or ailments, although none were life-threatening, Chiampas said.
As for the race itself, Mosop did not enter after missing the Olympics because of an injury. He is scheduled to run the New York City Marathon next month.
That left Wesley Korir as the favourite in his fifth Chicago appearance after winning in Boston this year, but he dropped off the lead pack around the 20th mile and took fifth.
Is Kebede the best marathon runner in the world at the moment? Korir said he'd let the fans decide that.
"But I think the marathon world is getting very competitive," he added. "There are a lot of other people that are coming up. But I think at the moment, definitely, he's a very good competitor. And I think I'll be honoured if he's the best marathoner in the world right now."
He was certainly the best on this day, and the same goes for Baysa — barely. She managed to come out on top and end an impressive run by a three-time defending champion.
Shobukhova was looking to put aside a disappointing Olympics and become just the second four-time winner — male or female — in Chicago. The only other runner to do that was Khalid Khannouchi (1997, 1999, 2000, 2002).
She had been dealing with a hamstring problem before this race, although she said it was not an issue Sunday, after she was unable to finish at the London Games because of stomach cramps.
"It just gives me some perspective, just take one step back and go for it again," Shobukhova said.
Ethiomedia.com - An African-American news and views website.
Copyright 2012 Ethiomedia.com. Email: email@example.com


text:
There is nothing worse than catching someone glancing in your windows. Many subdivisions have houses so close that you can practically see what is on a neighbor's dinner table, or what they are watching on television. If this sounds like where you live, then you are fully aware how frustrating it can be to feel as though you can't get any privacy. Even if you don't physically catch someone peeking at you, you still know when you are being watched. A wooden shutter is just what you need.
Will a Wooden Shutter Go With Your Décor
Fair enough, you may be saying that a wooden shutter just is not going to complement your décor. After all, you didn't spend a small fortune on those expensive curtains for nothing, right? Well, the great thing about buying quality shutters is that they fit perfectly, so they will provide you with all the privacy you need, however they can still be covered with curtains. You simply need to purchase a rod that gives you extra depth to compensate for the blinds, and then you can hang your curtains in front.


text:
Yes, you will vote how Google tells you
Exclusive: Andrea Shea King covers intersection of politics, technology
President Google
Fox News anchor Bret Baier recently hosted a special report when the PRISM scandal first broke about how Google will change our lives, and in it, psychologist Robert Epstein argued that Google could surreptitiously tilt an election.
He writes in a recent research paper: "We conclude (1) that the outcomes of real elections – especially tight races – can conceivably be determined by the strategic manipulation of search engine rankings and (2) that the manipulation can be accomplished without people being aware of it. We speculate that unregulated search engines could pose a serious threat to the democratic system of government."
Baier's report also concluded that Google staffers built much of Obama's technology. Ben Howe at Red State recently covered Google's closeness to the Obama campaign here, here (complete with staffer dossiers), and here.
Claims like Dr. Epstein's usually assume that Google manipulates results directly, perhaps adjusting its search algorithm to favor certain results. Google denies it.
But as one reader of this column points out, everybody seems to miss the other possibility: "Google doesn't have to tinker around with algorithms to favor certain content. They know how their technology works. They can just tell the right content providers (Huffington Post, the Obama website developers, etc.) how to optimize their site content, ads, etc., to game the search results. The net effect, then, becomes the same, as if they had manipulated their algorithms, but Google can technically claim they don't manipulate the algorithm and clear themselves of allegations of foul play … and nobody ever knows the difference."
WND senior staff reporter Jerome R. Corsi, author the new WND book "What Went Wrong? The Inside Story of the GOP Debacle of 2012 … And How It Can Be Avoided Next Time," recently wrote that President Obama's plan to introduce Google-like features to federal government websites shows he understands the power of data mining.
"Obama wants to collect so much macro-data on our behavior as communicators and consumers that he can predict and control our political behavior, down to which candidate we prefer and when we are going to vote," Corsi said.
Speaking of Google, what does the future hold for the Orwellian company whose plans include implanting a chip in our brain? The Independent UK took a look, and here's what they learned.
And if you're using Google Chrome, here are some helpful tips to make your experience smoother.
Knock, knock, who's tweeting?
How do you know if a social media account is a federal account? This tool will tell you if it's managed by federal agencies, elected officials, heads of agencies or members of the President's Cabinet.
As you probably know, the government uses Twitter, Facebook, YouTube and other social platforms to "connect" with people and communicate official info. For example: http://twitter.com/whitehouse.
Other verified social media accounts include Blip, Disqus, Flickr, Foursquare, Google+, LinkedIn, Pinterest, and many more.
Running for mayor?
Geraldo Rivera posted a nude photo on Twitter. Of himself. No, really, he did.
It's a "selfie" (the term used to describe a self-photo) taken by the Fox News commentator of himself standing at his bathroom mirror, his, er … man parts discreetly covered by a towel.
Rivera texted, "70 is the new 50 (Erica and family are going to be so pissed … but at my age …)"
The twittersphere erupted, and the Twitchy team reacted, capturing many of the ensuing and hilarious comments in companion posts here and here.
"Late Saturday night, Fox News anchor Geraldo Rivera somehow got it into his brain that posting a half-naked, sideways selfie was a good idea. Twitter users everywhere gasped. In horror. And reached for the eye bleach," Twitchy noted.
My favorite tweet? This of several that were chirped by Fox News colleague Greg Gutfeld:
Bestselling spy-thriller author Brad Thor weighed in, giving "props" to Geraldo:
Last week Thor made news when he tweeted his views about the Department of Justice's hold on the gun owned by George Zimmerman, acquitted of charges in the death of Trayvon Martin. (See last week's column.)
Thor's latest novel "Hidden Order" tells of a secret domestic organization that operates without any accountability to the American people, hiding in the shadows pretending to be part of the United States Government.
Thor offered to purchase a new firearm for Zimmerman in a series of tweets that made clear his intentions. The offer included not only the gun of his choice but also all the ammo he wanted.
"Read this carefully, as I don't want 2 be misunderstood: SCREW the #DOJ. If they won't give #Zimmerman his gun back, I'll buy him a new one," the novelist tweeted late last Friday night.
Thor also explained why he made the offer in an interview on a Chicago TV program. Watch it here.