The Author Online Book Forums are Moving

The Author Online Book Forums will soon redirect to Manning's liveBook and liveVideo. All book forum content will migrate to liveBook's discussion forum and all video forum content will migrate to liveVideo. Log in to liveBook or liveVideo with your Manning credentials to join the discussion!

Thank you for your engagement in the AoF over the years! We look forward to offering you a more enhanced forum experience.

oskar.stolc (4) [Avatar] Offline
#1
Hi there,

bought the book yesterday (both printed and ebook version) and while reading the ebook version found the following typos:


1.1.1 The Basics of SCA
- line
This mix of technologies is typical of today’s applications
- should read (period is missing)
This mix of technologies is typical of today’s applications.


1.1.1 The basics of SCA
- line
The Service Component Architecture (SCA) has been designed to addresses this issue.
- should read
The Service Component Architecture (SCA) has been designed to address this issue.


Listing 1.6 The tours.composite file
- line
<implementation.java class="com.tuscanyscatours.ShoppingCartImpl"/>
- should read
<implementation.java class="com.tuscanyscatours.impl.ShoppingCartImpl"/>


1.3.2 Defining more complex components
- line
We already know what how the TripProvider component is defined but it’s interesting to note that, unlike the TripBooking component, the TripProvider component has a service but no references.
- should read
We already know how the TripProvider component is defined but it’s interesting to note that, unlike the TripBooking component, the TripProvider component has a service but no references.


1.3.3 Creating component implementations
- line says:
These are in listings 1.7, 1.8, and 1.9 respectively.
- but the listings have the following incorrect numbes: 1.6, 1.7, and 1.8


Listing 1.10
- line
String resCode = trips.checkAvailability(trip, people);
- should read
String resCode = mytrips.checkAvailability(trip, people);


1.3.3 Creating component implementations
- line
The only constructs that that we’ve seen so far that weren’t plain Java were the @Remotable and @Reference annotations in the service interface definitions and component implementations.
- should read
The only constructs that we’ve seen so far that weren’t plain Java were the @Remotable and @Reference annotations in the service interface definitions and component implementations.


Listing 1.13 Load and test trips.composite and tours.composite
- the line
new SCAContribution("introducing-trips", "../../contributions/introducing-tours/target/classes"),
- should read
new SCAContribution("introducing-trips", "../../contributions/introducing-trips/target/classes"),


1.4.1 API wrapping
- line
Return bookingCode;
- should read
return bookingCode;


Cheers,
Oskar
oskar.stolc (4) [Avatar] Offline
#2
Re: Typos in Tuscany in Action
Ahoj,

some more errata from my EAP version of Tuscany in Action e-book. Sorry for reporting errata other people have already reported...


2.2.1 Defining services
- line
In the previous example, it would be OK for the TripBooking class not to implement the Bookings interface, as long as it contains an implementation of the newBooking method.
- should read
In the previous example, it would be OK for the TripBookingImpl class not to implement the Bookings interface, as long as it contains an implementation of the newBooking method.


2.3.1 Defining references
- line in code snipet
import com.tuscanyscatours.FlightBookings;
- should read
import com.tuscanyscatours.Flights;


2.4 Configuring components using properties
- line
Implementations can enable external configuration of some of the values that that they use in their processing.
- should read
Implementations can enable external configuration of some of the values that they use in their processing.


2.4.2 Configuring values for properties
- line in componentType xml
<service name=Currencies">
- should read
<service name="CurrencyConverter">


2.4.2 Configuring values for properties
- lines in component xml
<property name="fromCurrency">EUR</property> />
<property name="toCurrency">JPY</property> />
- should read
<property name="fromCurrency">EUR</property>
<property name="toCurrency">JPY</property>


Listing 2.10 SCA configuration for property defined as global element
- lines
<t:street>123 Main Street</street>
<t:city>New York</city>
<t:state>NY</state>
<t:zip>01234</zip>
- should read
<t:street>123 Main Street</t:street>
<t:city>New York</t:city>
<t:state>NY</t:state>
<t:zip>01234</t:zip>


Listing 2.14 Component definitions for the TuscanySCAHotels domain
- line
<implementation.java class="com.tuscanyscatours.impl.HotelPartnerImpl" />
- should read
<implementation.java class="com.tuscanyscatours.using.impl.HotelPartnerImpl" />


4.2.2 Configuring remote interaction
- line
Bindings such as web service or JMS bindings can then be configured to allow clients to communication with the Hotel component.
- should read
Bindings such as web service or JMS bindings can then be configured to allow clients to communicate with the Hotel component.


4.2.3 Exploiting remote interaction
- line
In this case this means that the proxy will use SOPA/HTTP web services to call the Hotel component using the address http://host2:8081/Hotel/Search.
- should read
In this case this means that the proxy will use SOAP/HTTP web services to call the Hotel component using the address http://host2:8081/Hotel/Search.

Cheers,
Oskar
oskar.stolc (4) [Avatar] Offline
#3
Re: Typos in Tuscany in Action
4.6.1 Callback motivation
- line
In the TuscanySCATours application the TavelCatalog component uses the Hotel component to search for available hotel rooms for a customer’s trip.
- should read
In the TuscanySCATours application the TravelCatalog component uses the Hotel component to search for available hotel rooms for a customer’s trip.


4.6.2 Configuring callback interaction
- line
The hotelSearchRemote reference targets the hotel component in exactly the same way as the forward only case.
- should read
The hotelSearchOneWayCallback reference targets the hotel component in exactly the same way as the forward only case.


4.6.3 Exploiting callback interaction
- line
To send a callback message the service implement has to get hold of a proxy that points back to the calling component.
- should read
To send a callback message the service implementation has to get hold of a proxy that points back to the calling component.


4.6.3 Exploiting callback interaction
- line
You now have a high level understanding of know how to build bidirectional interfaces and describe component wiring in order to configure callbacks for operations in your application.
- should read
You now have a high level understanding of how to build bidirectional interfaces and describe component wiring in order to configure callbacks for operations in your application.


4.7.1 Conversational interaction motivation
- line
Figure 4.7 shows how the InteractionConversationClient sends multiple messages to the CarStore component in the context of a single conversation.
- should read
Figure 4.7 shows how the InteractionConversationClient sends multiple messages to the CartStore component in the context of a single conversation.


4.7.3 Exploiting conversational interaction
- line
It’s important to point out that that neither the conversational or callback interaction patterns preclude you passing conversational and callback style information along with application data in order to implement these patterns manually if you prefer.
- should read
It’s important to point out that neither the conversational or callback interaction patterns preclude you passing conversational and callback style information along with application data in order to implement these patterns manually if you prefer.


4.7.3 Exploiting conversational interaction
- line
If you want to take you own approach to implementing these patterns using application data you are free to do so.
- should read
If you want to take your own approach to implementing these patterns using application data you are free to do so.


4.9 Summary
- line
Finally conversations allow a component to related one incoming message to another so allowing state to be accumulated as a business process runs and messages are exchanges between components.
- should read
Finally conversations allow a component to related one incoming message to another so allowing state to be accumulated as a business process runs and messages are exchanged between components.


5.3 Using Java interfaces to define SCA services and references
- line
Each SCA component has a formal contact, called the component type, which defines its service, references and properties.
- should read
Each SCA component has a formal contract, called the component type, which defines its service, references and properties.


Listing 5.3 A remotable interface: com.tuscanyscatours.emailgateway.EMailGateway
- line
Listing 5.3 A remotable interface: com.tuscanyscatours.emailgateway.EMailGateway
- should read
Listing 5.3 A remotable interface: com.tuscanyscatours.emailgateway.EmailGateway


5.5 Using SCA references in a Java component implementation
- line
multiplicity: Controls how many target services can be associate with the reference
- should read
multiplicity: Controls how many target services can be associated with the reference


5.5 Using SCA references in a Java component implementation
- line
target: One or more services that that the reference will be wired to.
- should read
target: One or more services that the reference will be wired to.
simon.laws (19) [Avatar] Offline
#4
Re: Typos in Tuscany in Action
Hi

Thanks for taking the time to report these.

Regards

Simon