Skip to content

Commit

Permalink
First commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Spearing authored and Spearing committed Oct 5, 2016
0 parents commit 2f8b64d
Show file tree
Hide file tree
Showing 248 changed files with 11,906 additions and 0 deletions.
18 changes: 18 additions & 0 deletions 713.html
@@ -0,0 +1,18 @@
Chapter 1: Introducing Web Service Patterns <br />
Chapter 2: Introducing the P.T. Monday Case Study<br />
Chapter 3: Exploring the Service-Oriented Architecture Pattern <br />
Chapter 4: Exploring the Architecture Adapter Pattern <br />
Chapter 5: Introducing the Service Directory Pattern <br />
Chapter 6: Exploring the Business Object Pattern <br />
Chapter 7: Exploring the Business Object Collection Pattern <br />
Chapter 8: Exploring the Business Process (Composition) Pattern <br />
Chapter 9: Exploring the Asynchronous Business Process Pattern <br />
Chapter 10: Exploring the Event Monitor Pattern<br />
Chapter 11: Implementing the Observer Pattern <br />
Chapter 12: Implementing the Publish/Subscribe Pattern <br />
Chapter 13: Exploring the Physical Tiers Pattern <br />
Chapter 14: Exploring the Faux Implementation Pattern<br />
Chapter 15: Exploring the Service Factory Pattern <br />
Chapter 16: Implementing the Data Transfer Object Pattern <br />
Chapter 17: Exploring the Partial Population Pattern <br />
Appendix: Using the Pattern Code
Expand Down
Binary file added 863.pdf
Binary file not shown.
Binary file added 864.pdf
Binary file not shown.
148 changes: 148 additions & 0 deletions 929.html
@@ -0,0 +1,148 @@
<html>

<head>
<title>Errata for Web Service Design Patterns: Java Edition</title>

<!-- Styles -->
<style type="text/css">
body {
color: black;
font-family: verdana, arial, helvetica, sans-serif;
}

p {
font-family: verdana, arial, helvetica, sans-serif;
text-align: justify;
}

a:link, a:active, a:visited {
color: red;
}

tr.alt {
background-color:#eeeeee;
}

td {
font-family: verdana, arial, helvetica, sans-serif;
}

ol {
font-family: verdana, arial, helvetica, sans-serif;
}

ul {
list-style-type: square;
text-align: justify;
}

h1 {
font-family: verdana, arial, helvetica, sans-serif;
}

table {
border-color: black;
border-style: solid;
}

.table-header {
background-color:red;
color: black;
font-weight: bold;
}

</style>

</head>

<body>
&lt;<a href="mailto:pmonday@attbi.com">pmonday@attbi.com</a>&gt;
<h1>Errata</h1>
<h2>Chapter 4</h2>
<p>
<ul>
<li>Table 4-1, the files CustomerCollectionImpl.java, CustomerImpl.java
CustomerInformationImpl.java are located in
src\com\servicefoundry\books\webservices\entities (not entitities)</li>
</ul>
</p>
<h2>Chapter 5</h2>
<p>
<ul>
<li>Table 5-2, the file Publish.java is located within the "src" directory, so
the complete path is
src\com\servicefoundry\books\webservices\util</li>
</ul>
</p>
<h2>Chapter 8</h2>
<p>
<ul>
<li>The code in the book does <i>not</i> match the source code. I've been
working to refactor the source code a bit with respect to how it handles
persistence and the underlying JDO implementation.</li>
<li>There is an issue
with updating and maintaining multiple transactions not discussed in the book.
Rather than taking the approach that a business process contains a single,
monolithic transaction, the code maintains that each business activity is
a single transaction (this differs than the source code in the book which
attempts to maintain a single, monolithic transaction).
</li>
<li>Make sure you've updated ProductOrderTest.java with customer
and product skus that match the data residing in your database.
You can query your customer by opening the MySqlManager tool from
the MySql .\bin directory (reference Appendix A) and running the
query "select customerId from wsbook.csbwe_customerimpl;". You can obtain a
product key to roder by running the query
"select sku from wsbook.csbwe_roastedcoffeebeansimpl;". You can get away
with doing an "ant build" and not redeploying the services, since you
are only effecting a client program, not a service.
</li>
</ul>
</p>
<h2>Chapter 9</h2>
<p>
<ul>
<li>The Ant target in Table 9-3 is incorrect. The correct target is
"testasyncproductorder". </li>
<li>Make sure you've updated ProductOrderTest.java with customer
and product skus that match the data residing in your database (see
the Chapter 8 errata for more information).
</li>
</ul>
</p>
<h2>Chapter 10</h2>
<p>
<ul>
<li>Table 10-3 should include a pointer to
src\com\servicefoundry\books\webservices\patterns\eventmonitor\Client.java
and
src\com\servicefoundry\books\webservices\patterns\eventmonitor\ModifyOrderStatus.java
</li>
<li>
You are required to have an available order before running the Ant targets. The
Ant targets prompt you for the order number. You can use the order number printed
from Chapter 8 or Chapter 9 as input to the client side programs. The <b>SAME</b>
order number should be used for both Ant targets (testeventmonitor and changeorderstatus).
</li>
<li>The changeorderstatus Ant target requires a second parameter, the integer value
to change the order status to. You will be prompted for this parameter. Changing the
order status to the same value as previously entered should NOT prompt the event monitor
to react. Changing the order status more than once between event monitor polls (5 seconds) will
yield only a single event monitor trigger.</li>
</ul>
</p>
<h2>Chapter 14</h2>
<p>
<ul>
<li>The socket listening program is currently in debug. I am not able
to generate a proper response for Axis during the last builds. Hopefully
I'll have this bug fixed soon. I actually believe the error is in
the way I'm retrieving the message and handling the socket, or possibly
in how Java is dealing with the socket between the reading and writing phase.
Argh, this is one of the problems with Faux Implementation...fragility.</li>
</ul>
</p>

</body>

</html>
Binary file added 9781590590843.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 27 additions & 0 deletions LICENSE.txt
@@ -0,0 +1,27 @@
Freeware License, some rights reserved

Copyright (c) 2003 Paul B. Monday

Permission is hereby granted, free of charge, to anyone obtaining a copy
of this software and associated documentation files (the "Software"),
to work with the Software within the limits of freeware distribution and fair use.
This includes the rights to use, copy, and modify the Software for personal use.
Users are also allowed and encouraged to submit corrections and modifications
to the Software for the benefit of other users.

It is not allowed to reuse, modify, or redistribute the Software for
commercial use in any way, or for a user�s educational materials such as books
or blog articles without prior permission from the copyright holder.

The above copyright notice and this permission notice need to be included
in all copies or substantial portions of the software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS OR APRESS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


15 changes: 15 additions & 0 deletions README.md
@@ -0,0 +1,15 @@
#Apress Source Code

This repository accompanies [*Web Service Patterns*](http://www.apress.com/9781590590843) by Paul B. Monday (Apress, 2003).

![Cover image](9781590590843.jpg)

Download the files as a zip using the green button, or clone the repository to your machine using Git.

##Releases

Release v1.0 corresponds to the code in the published book, without corrections or updates.

##Contributions

See the file Contributing.md for more information on how you can contribute to this repository.
3 changes: 3 additions & 0 deletions bin/ant.bat
@@ -0,0 +1,3 @@
set ANT_HOME=c:\java\jakarta-ant-1.5
set JAVA_HOME=c:\j2sdk1.4.0_01
%JAVA_HOME%\bin\java -classpath %ANT_HOME%\lib\ant.jar;%ANT_HOME%\lib\jaxp.jar;%ANT_HOME%\lib\parser.jar;%JAVA_HOME%\lib\tools.jar -Dant.home="%ANT_HOME%" %ANT_OPTS% org.apache.tools.ant.Main %1 %2 %3 %4
9 changes: 9 additions & 0 deletions bin/axissetenv.bat
@@ -0,0 +1,9 @@
set BASE=c:\java\WebServicesBook
set BUILDLIB=%BASE%\builds\lib
set JAVA=c:\java\j2sdk1.4.0_01
set SOAP=c:\java\soap-2_3_1
set MAIL=c:\java\javamail-1.3
set ACTIVATION=c:\java\jaf-1.0.2
set AXIS=c:\java\axis-1_0
set STAGING=%BASE%\builds\staging
set CLASSPATH=%STAGING%;%BUILDLIB%\wsp_classes.jar;%BUILDLIB%\axis.jar;%BUILDLIB%\commons-logging.jar;%BUILDLIB%\jaxrpc.jar;%BUILDLIB%\log4j-core.jar;%BUILDLIB%\tt-bytecode.jar;%BUILDLIB%\xerces.jar;%BUILDLIB%\uddi4j.jar;%SOAP%\lib\soap.jar;%MAIL%\mail.jar;%ACTIVATION%\activation.jar;%AXIS%\lib\axis.jar;%AXIS%\lib\commons-logging.jar;%AXIS%\lib\jaxrpc.jar;%AXIS%\lib\log4j-1.2.4.jar;%AXIS%\lib\saaj.jar;%AXIS%\lib\tt-bytecode.jar;%AXIS%\lib\wsdl4j.jar;
61 changes: 61 additions & 0 deletions bin/build.properties
@@ -0,0 +1,61 @@
# If any directory contained in this file is specified as a relative directory,
# it is relative to the current directory. For example, if ant is run from d:\temp,
# and the ${build}='build' then the build directory is d:\temp\build. Absolute
# directory paths may also be specified, for example: ${build}=d:\anotherdir\build.

# The source base directory - this must exist already.
base=/java/WebServicesBook

# The following properties are where ant finds the directories it needs to build the project.
# These directories should always be configured relative to the ${base} property since (in some
# cases) the build process uses the ${base} directory directly to add a subtree. Each of
# these directories must exist prior to running a given target if they are to be used.
srcDir=${base}/src
configDir=${base}/config
helpDir=${base}/help
pubDocDir=${base}/doc/public
priDocDir=${base}/doc/private
binDir=${base}/bin
libDir=${base}/lib
# The build directory. If this does not exist, it
# will be created. It is also deleted if clean target is run.
build=${base}/builds

# The lib directory. If this does not exist, it will be created under the ${build} dir.
lib=lib

# The build jar file name.
jarPrefix=wsp

wsdd=${base}/descriptors/services.wsdd
axisbaseserviceurl=http://localhost:8080/axis
axisdeployurl=http://localhost:8080/axis/services/AdminService

#Directory to place webapp deployment components for axis
tomcatDeployDir=/Program Files/Apache Group/Tomcat 4.1
axisDeployDir=/Program Files/Apache Group/Tomcat 4.1/webapps/axis
#Location for WSDL2Java Stub Generation
stubDir=${base}/stubs
#Directory containing latest Apache SOAP Processor
soap=/java/soap-2_3_1
#Directory containing latest Axis version
axis=/java/xml-axis-10

# Persistence settings
jdo=/dev/lido
jdbc=c:/java/mm.mysql-2.0.14
metadata=${base}/bin
jdbcDriver=org.gjt.mm.mysql.Driver
database=jdbc:mysql://localhost/wsbook

uddiPublishURL=https://uddi.ibm.com/testregistry/publishapi

uddiInquiryURL=https://uddi.ibm.com/testregistry/inquiryapi

uddiUserId=ibmTestRegistryId

uddiPassword=ibmTestRegistryPassword

uddiBase=/java/uddi4j

uddiBusinessName=P.T. Monday Coffee

0 comments on commit 2f8b64d

Please sign in to comment.