|
|
 |

 |
|
XML Web Services in the Organization
|
|
 |
Author |
 |
Chris Boar
|
 |
|
Pages |
208
|
|
Disk |
N/A
|
|
Level |
Beg/Int
|
|
Published |
06/11/2003
|
|
ISBN |
9780735618824
|
|
ISBN-10 |
0-7356-1882-8
|
|
Price(USD) |
$29.99
To see this book's discounted price, select a reseller below.
|
|
|
|
|
 |
|
|
Index
A
access. See also security
credentials for Web services, 133-134
disabling anonymous, in IIS, 132-133
remote. See remote access
Actor property, 73
Add method, 134
Add Web Reference tool, 4, 22, 62,114, 116
Adelman, Leonard, 128
algorithms
asymmetric key encryption, 120-122, 128
hashing, 161-163
symmetric key encryption, 120, 122-124
American National Standards Institute (ANSI) EDI standards, 76
anonymous access, disabling in IIS, 132-133
ANSI X12 EDI standard, 76
Ariba, 14, 179
.asmx extension, 16
ASP.NET
automatic transactions, 65
.NET Compact Framework and, 111
Web Service template, 25
asymmetric key encryption
algorithms, 120-122
asymmetric classes, 128-132
generating keys, 131-132
implementing, 158-160
AsymmetricAlgorithm class, 128
AsymmetricDecrypt method, 130, 131, 136
AsymmetricEncrypt method, 130, 131, 137
AsyncCallback delegate, 115, 116
asynchronous Web services, 115-117
asyncState object, 116
attachments, SOAP message, 177
authentication
custom performance counters and, 171
disabling anonymous access in IIS, 132-133
implementing Windows, 132-134
passing user identification and passwords in SOAP messages, 135-140
as security issue, 119. See also security
SOAP headers and, 61, 74
authorization. See authentication; security
automatic transactions, 65
B
bandwidth, 2
Begin prefix, 116
binding, dynamic, 107
Body element, SOAP, 12, 61
branding, 91
breakpoints, 56
browsers. See Web browsers
business-to-business communication, 75-90
comparing Web service SOAP messages, 86-90
designing Web service application for, 79-80
electronic data interchange (EDI), 75-79
business-to-customer support, 110-114
.NET Compact Framework and, 111-112
C
CacheDuration property, 174
caching
all data on client, 45-56
downloaded data, 117
performance and, 173
requested data on client, 37-43
scalability and, 174
System.Web.Caching namespace and, 174
Web pages offline, 110
CAPICOM, 163
categories, custom performance counter, 166-168
ChainStream method, 148
Class View window, 5
classes. See also namespaces
asymmetric encryption, 128-132
CryptoExtension, 148, 149-152
.NET Compact Framework, 111
NetworkCredential, 134
proxy. See proxy classes
RSACryptoServiceProvider, 129, 162
SHA1CryptoServiceProvider, 162
SOAP header, 61
SoapExtension, 141-142
SoapExtensionAttribute, 142-144
symmetric encryption, 122-128
system performance counter, 166
VBA and generated, 30-32
WebService, 133
clients. See also servers
caching all data on, 45-56
caching requested data on, 37-43
code, proxy. See proxy code
Code Editor, VBA, 30
Code View window, 16
code-behind files, 16
codes, mapping, 60, 79
COM (Component Object Model) protocol, 24, 92
committing transactions, 65, 69
competitive advantage, 78
complex data types, 32-37, 81
complexType elements, SOAP, 12
Component Object Model (COM) protocol, 24, 92
confidential information, 74. See also privacy
configuration file, 18
connection types, custom performance counters and, 171
constructor methods
CryptoStream, 124
SoapExtension, 141
ContractRef element, 6, 20
CounterCreationData class, 166, 168
CounterCreationDataCollection class, 166, 168
counters, custom performance. See custom performance counters
Create method, 168
credentials. See user credentials
CryptoAPI, 163
CryptoExtension class, 148, 149-152
cryptographic functions, scalability and, 174
cryptoparams.m_namespace property, 152
CryptoStream object
constructor, 124
FlushFinalBlock method, 124-125
Read method, 126
Write method, 125-126
Cust element, 140
custom data integration, 92. See also system integration
custom HttpModules, 139
custom performance counters
creating, 166-171
kinds of, 170-171
updating, 169-171
custom transactions, 65
customer support, 91-118
calling Web services asynchronously, 115-117
defining Web service interfaces to be implemented by others, 93-104
direct business-to-customer, 110-114
indirect, 92-110
.NET Compact Framework and, 111-112
setting Web service URLs at run time, 107-110
third-party data, 91-92
user interaction with Web services, 104-107
D
Daemon, Joan, 123
data
business-to-business Web services, 79
caching. See caching
errors and custom performance counters, 170
integration, 92. See also system integration
providing additional, with SOAP headers, 60-61
replication, 92
third-party, 91-92
transactions. See transactions
data types
complex, 32-37, 81
SOAP, 12
DataAdapter objects, 80
DataSet objects, 26, 80, 83, 90
debug mode, scalability and, 174
debugger, Visual Basic, 56
DES algorithm, 122
deserialization, SOAP header, 70
design
business-to-business Web services, 79-80
Web service interfaces, 173
devices
GPS, 110
mobile, 23-24
Pocket PCs. See Pocket PCs
smart. See smart device applications
Web services hardware, 3
DidUnderstand property, 73
Direct Internet Message Encapsulation (DIME), 163, 177
Direction property, 67
directories, Web service, 14-15
publishing Web services with, 15
UDDI, 14
using UDDI at run time, 14
discovery, Web service
GXA and, 177
viewing DISCO documents, 6, 19
DNS round-robin load balancing, 175
DSA class, 128
dynamic binding, 107
dynamic load balancing, 175
E
EDIFACT messages, 76, 77-78
electronic data interchange (EDI), 75-79
sample order response message, 77-78
standards, 76
Web services vs., 78
Electronic Data Interchange for Administration, Commerce, and Transport (UN/EDIFACT), 76
e-mail, SOAP and, 13
emulator support, Visual Studio .NET, 111, 112
encryption. See also security
asymmetric key, 120-122, 128-132
scalability and, 174
symmetric key, 120, 122-128
End prefix, 116
Envelope element, SOAP, 12, 61
environment, production, 173
errors. See also exceptions
custom performance counters and, 170
event log and, 171
SOAP header, 63
trapping, 39
event log, 171-173
exceptions. See also errors
application faults, 69
business-to-business Web services, 79
custom performance counters and, 170
scalability and, 173
SoapException, 63
Exists method, 168
F
F5 key, 5, 11, 18
F8 key, 56
fault tolerance, 176
faults, application, 69. See also exceptions
File Transfer Protocol. See FTP (File Transfer Protocol)
files
code-behind, 16
hidden, 8
Reference.cs and Reference.vb, 9
sample, 3, 16, 80, 98, 109, 168
Web.Config, 18
XML, 65
FileStream class, 123
Fill method, 80
firewalls, 24, 92
FlushFinalBlock method, 124, 125
Form1_Load procedure, 115
frame, HTML, 92
FTP (File Transfer Protocol), 78
functionality, Web services and, 3
future opportunities, 176-178
G
gardens, Web, 174
GET and POST protocols, HTTP, 18
GetAppointment method, 147
GetBuffer method, 124
GetBytes method, 124
GetInitializer method, 141, 148-149
GetPublicKey method, 136, 137
Global Positioning System (GPS) devices, 110
global system performance counters, 165
Global XML Web Services Architecture (GXA), 176-178
H
hardware, Web services and, 3. See also devices; Pocket PCs; smart device applications
hashing algorithms, 161-163
headers, SOAP. See also messages, SOAP; SOAP (Simple Object Access Protocol)
creating, 61-64
GXA and, 176
properties, 73
providing additional data with, 60-61
providing transaction functionality with, 64-72
trapping user and password information from, 139
Hewlett-Packard, 15
hidden files, 8
HTML frame, 92
HTTP (Hypertext Transfer Protocol)
custom data integration and, 92
GET and POST protocols, 18
GET browser-based interfaces, 71
HTTPS, 104
ports, 24
remote Web services and, 109
SOAP and, 13
HttpModules, custom, 139
Hypertext Transfer Protocol. See HTTP (Hypertext Transfer Protocol)
I
IAsyncResult objects, 116
IBM, 14, 15, 179
identification, user. See user credentials
IDs, event log, 172
IIS (Internet Information Services)
disabling anonymous access, 132-133
simulating offline use with, 117
Web publishing service, 44
Increment method, 170
IncrementBy(value) method, 170
indirect customer relationships, 91, 92-110
defining Web service interfaces to be implemented by others, 93-104
setting Web service URLs at run time, 107-110
user interaction, 104-107
Initialize method, 141, 149
installation, Visual Studio .NET 2003, 3
integration, custom data, 92. See also system integration
integrity
hash algorithms and, 161-163
as security issue, 120. See also security
interfaces, user. See user interfaces
interfaces, Web service, 93-104
intermediate Web services, 73
Internet
business-to-customer support and, 110
protocols and EDI, 78. See also transport protocols
Web browsers. See Web browsers
Web services and, 2. See also XML Web Services
Web sites. See Web sites
Internet Information Services (IIS). See IIS (Internet Information Services)
interoperability, 59
intranet, Web services and, 2
K
keys. See also encryption
asymmetric encryption
generating, 131-132
implementing, 158-160
private and public, 120
session, 148
symmetric encryption, generating, 126-128
L
laptop computers, 23. See also Pocket PCs
latency problems, 78
load balancing, 175
localhost namespace, 5
locking
Application objects, 67
data, 173
logical transactions, 64
M
Macro Security settings, 31
mapping codes, 79
mapping data, 60
MemoryStream class, 124-126
Message Queue Server (MSMQ), 65
messages, EDI, 76, 77-78
messages, SOAP, 12, 61, 73. See also SOAP (Simple Object Access Protocol)
accessing, 142
caching all data on client, 54-56
comparing, for business-to-business Web services, 86-90
complex data types in, 35
GXA and future, 176-178
parts of, 12, 61, 73. See also headers, SOAP
passing user identification and passwords, 135-140
paths, 175
ProcessMessage method and, 152
public asymmetric key requests and, 158-160
messaging, reliable, 176
methods. See also classes
constructor, 124, 141
CryptoExtension class, 148-152
CryptoStream object, 124-126
designing, 173
GetAppointment, 147
GetInitializer, 148-149
GetPublicKey, 136, 137
Initialize, 149
MemoryStream class, 124, 126
NetworkCredential class, 134
RSACryptoServiceProvider class, 129, 162
SoapExtension class, 141-142, 148-149
TestMethod, 136
Unicode class, 124
Web, 17, 61-64, 65, 174
WSDL files and, 98, 101, 104
Microsoft, 14, 15, 179
Microsoft Global XML Web Services Architecture (GXA), 176-178
Microsoft Message Queue Server (MSMQ), 65
Microsoft .NET Framework. See .NET Compact Framework; .NET Framework
Microsoft Office applications, Web services in, 26-30
Microsoft Office XP Web Services Toolkit 2, 26
Microsoft SOAP Toolkit Version 3, 10
Microsoft SQL Server, 65
Microsoft SQL Server session state, 173
Microsoft Streets and Trips, 110
Microsoft Visual Basic debugger, 56
Microsoft Visual Basic for Applications. See Visual Basic for Applications (VBA)
Microsoft Visual Studio .NET. See Visual Studio .NET 2003
Microsoft Windows. See Windows
Microsoft Word customer correspondence template, 24-26
mobile phones, 110
monitoring, 165-173
custom performance counters, 166-171
Perfmon.exe and performance counters, 165-166
writing to event log, 171-173
MustUnderstand property, 73
N
namespaces. See also classes
specifying, 17
System.Diagnostics, 166, 169
System.Security.Cryptography, 122-123
System.Web.Caching, 174
.NET Compact Framework, 110, 111-112
.NET Framework
classes. See classes; namespaces
GXA and, 177
proxy code and, 9
Visual Studio .NET and, 22
Web services and, 9
NetworkCredential class, 134
networks
firewalls and remote access, 24
load balancing, 175
networkstream class, 123, 152
NumberOfItems32 performance counter type, 168
O
objects. See classes
ODETTE organization, 76
Office applications, Web services in, 26-30
Office XP Web Services Toolkit 2, 26
offline functionality, 37-56. See also remote access
caching all data on client, 45-56
caching requested data on client, 37-43
testing, 43-45
On Error Goto statement, 39
operating systems
system integration and, 59. See also system integration
UNIX, 60
Web services and, 2, 3
Windows. See Windows
optional SOAP headers, 61, 64, 67
outbound SOAP headers, 67
output caching, 174
P
parsers, XML, 78
passwords, 74, 135-140. See also security
Perfmon.exe performance-monitoring tool, 165, 168
performance
caching, 173
counters, 166. See also custom performance counters
monitoring. See monitoring
scaling and, 174-175
Performance console, 165
Performance Logs And Alerts, 165
PerformanceCounter class, 166, 169
PerformanceCounterCategory class, 166, 168
PerformanceWebService, 169, 170
permissions, custom performance counter, 166. See also security
Personal Digital Assistants (PDAs), 24, 110
phones, mobile, 110
platforms, system integration and, 59. See also operating systems; system integration
Pocket PCs. See also smart device applications
building applications for, 111-112
business-to-customer support and, 110
as laptop alternatives, 24
policies, Web service, 177
ports
HTTP, 24
SOAP messages, Trace Utility, and, 36
TCP/IP, 10
privacy, 140-161
as security issue, 119. See also security
SoapExtension class, 141-142
SoapExtensionAttribute class, 142-144
private keys, 120
ProcessMessage method
CryptoExtension class, 148, 149-152
SoapExtension class, 142
production environment, 173
Project Explorer window, VBA, 30
projects, Visual Studio .NET, 4
properties, SOAP header, 73
protocols, transport. See transport protocols
proxy classes. See also proxy code
asynchronous Web service, 116
complex data types and, 33
generating, for SOAP headers, 62
VBA and generated, 30-32
WSDL files and, 98
proxy code. See also proxy classes
creating, 9
generated by Web Service References Tool, 27-30
viewing, 8
public keys, 120
publishing Web services, 15
R
RateOfCountsPerSecond32 performance counter type, 167-168
RawValue property, 170
RC2 algorithm, 123
Read method, 126
ReadXml method, 26, 83
Reference.cs and Reference.vb files, 9
references, Web service
Add Web Reference tool, 4, 22, 62, 114, 116
Web Service References Tool, 26-30, 33, 51
reliability, 14, 176
remote access, 23-56
caching all data on client, 45-56
caching requested data on client, 37-43
complex data types, 32-37
customer correspondence template, 24-26
defining the problem, 23-24
generated classes and VBA, 30-32
offline functionality, 37-56
testing offline functionality, 43-45
Web services in Office applications, 26-30
remote procedure call. See RPC (remote procedure call)
replication, data, 92
Required property, 67
required SOAP headers, 61
Rijmen, Vincent, 123
Rijndael algorithm, 123-124
Rivest, Ronald, 128
routing, future Web service opportunities, 176
RPC (remote procedure call)
HTTP and, 13
SOAP and, 12
RSA class, 128
RSACryptoServiceProvider class, 129, 162
run time
setting Web service URLs at, 107-110
UDDI at, 14
S
SAP, 15
scalability, future Web service opportunities, 176
scale-out alternative, 174
scaling, 14, 173-175
security, 119-179
asymmetric key encryption, 120-122, 128-132
authentication, 119, 132-134
authorization, 119, 135-140
business-to-business communication Web services, 79
custom performance counters and, 166, 171
event log sources and, 172
future Web service opportunities, 176
HTTPS and, 104
integrity, 120, 161-163
issues, 119-120
Macro Security settings, 31
privacy, 119, 140-161
symmetric key encryption, 120, 122-128
servers. See also clients
application faults, 69
scalability and, 174
service port section, WSDL file, 98
session keys, 148
session state, scalability and, 173
SHA1CryptoServiceProvider class, 162
Shamir, Adi, 128
Simple Mail Transfer Protocol. See SMTP (Simple Mail Transfer Protocol)
Simple Object Access Protocol. See SOAP (Simple Object Access Protocol)
Smart Device Application Wizard, 111
smart device applications, 110-117
asynchronous, 115-117
business-to-business support and, 110
.NET Compact Framework and, 111-112
smartphones, 24
SMTP (Simple Mail Transfer Protocol), EDI and, 78
SOAP (Simple Object Access Protocol), 11-14
alternative transports for, 13-14. See also transport protocols
failed authentications and custom performance counters, 171
GXA and future Web service opportunities, 176-177
headers. See headers, SOAP
HTTP and, 13. See also HTTP (Hypertext Transfer Protocol)
information about, 12
integrating systems with, 59-64. See also system integration
messages, 12. See also messages, SOAP
new functionality, 165
remote access and, 109
SOAP Toolkit Version 3, 10
SOAP30.DLL file, 30
standards, 61
Trace Utility and, 10-11, 22, 35, 36, 63, 86
as Web service standard, 1
Web site interactions with Web services, 106-107
SoapException errors, 63, 69
SoapExtension class, 141-142
SoapExtensionAttribute class, 142-144
SoapHeader attributes, 65, 67, 69
Solution Explorer, 4, 8, 25
source, event log, 171
specifications, GXA, 176-178
SQL Server, 65
SQL Server session state, 173
staff, remote, 23-24
standards
EDI, 76
SOAP, 61
Web service, 1
Stream class, 123
Streets and Trips, 110
StringReader objects, 84
successful transactions, custom performance counters and, 171
symmetric key encryption
algorithms, 120, 122-124
generating keys, 126-128
symmetric classes, 122-128
SymmetricDecrypt procedure, 125, 126-128
SymmetricEncrypt procedure, 126-128
system integration, 59-74
creating SOAP headers, 61-64
custom data integration, 92
providing transaction functionality with SOAP headers, 64-72
providing additional data with SOAP headers, 60-61
with SOAP, 59-64
SOAP header properties, 73
System Monitor, 165
system performance counters, 165, 166
System.Diagnostics namespace, 166, 169
System.Security.Cryptography namespace, 122-123
System.Web.Caching namespace, 174
T
TCP protocol, 92
TCP/IP ports, 10
templates
Visual Studio .NET 2003 ASP.NET Web Service, 25
Word customer correspondence, 24-26
testing
business-to-business Web services, 79
client applications, 5
offline functionality, 43-45
smart device applications, 112
Web services as test services, 14
Web services with SOAP headers, 71-72
TestMethod method, 136
TextReader class, 84
third-party data, 91-92
Throw statement, 69
Timer control, 116
Toolbox, smart device application, 112
toolsets, Web service, 177
__Total__ instance, 165
ToXmlString method, 129
Trace Utility, 10-11, 22, 35, 36, 63, 86
Transaction property, 65
transactions
automatic, 65
committing, 69
custom performance counters and, 171
future Web service opportunities, 176
logical, 64
providing functionality with SOAP headers, 64-72
transport protocols
alternative, to SOAP, 13. See also SOAP (Simple Object Access Protocol)
custom data integration and, 92
FTP. See FTP (File Transfer Protocol)
GXA, 176-178
HTTP. See HTTP (Hypertext Transfer Protocol)
remote access and, 109
Triple DES algorithm, 123
TripleDESCryptoServiceProvider class, 123
types, data. See data types
types, performance counter, 168
U
UDDI (Universal Description, Discovery, and Integration)
publishing Web services, 15
runtime usage of, 14
sites, 15
Web Service References Tool and, 26
UN/EDIFACT (Electronic Data Interchange for Administration, Commerce, and Transport), 76
Unicode class, 124
Uniform Resource Identifier (URI), 73
United Nations, 76
Universal Description, Discovery, and Integration. See UDDI
UNIX systems, Web services on, 60
Unlock method, 67
Update method, 81
Url property, 107
URLs, run-time setting of Web service, 107-110
user credentials
designing Web services and, 74
passing, in SOAP messages, 135-140
SOAP headers and, 61
Web service access, 133-134
user interfaces
, customer support Web service and, 104-107
User property, 133
using statement, 62
V
value-added networks (VANs), 78
VBA. See Visual Basic for Applications (VBA)
VerifyData method, 162
viewing
client applications, 5
DISCO and WSDL documents, 6, 19-21, 36, 94
hidden details with SOAP Trace utility, 10-11
proxy code, 8
Web service code, 16-17
Visual Basic debugger, 56
Visual Basic for Applications (VBA)
generated classes in, 30-32
Web Service References Tool and, 27
Visual Studio .NET 2003, 25
adding Web references, 4, 22
creating client applications, 4
creating proxy code, 9
creating XML schemas, 90
emulator support, 111, 112
installation, 3
.NET Compact Framework and, 111
.NET Framework and, 22
Solution Explorer, 4, 8, 25
viewing client applications, 5
viewing proxy code, 8
viewing Web service code, 16-17
Web service interfaces and, 93-94
W
Warehousing Industry Network Standards (WINS), 76
Web browsers. See also Internet; Web sites
remote access and browser-based applications, 23
testing Web service applications, 18, 71
viewing DISCO and WSDL documents, 6, 19-21, 36, 94
Web gardening, scalability and, 174
Web methods, 17, 61-64, 65, 174
Web references. See references, Web service
Web service applications, 15-22. See also XML
Web Service Enhancements 1 (WSE) service pack, 177
Web Service References Tool
complex data types and, 33
Office applications and, 26-30
regenerating proxy classes, 51
Web Services
access credentials, 133-134
asynchronous, 115-117
calling multiple, 117
calls to, 35, 52
designing business-to-business, 79-80
discovery. See discovery, Web service
EDI vs., 78
enhancements, 163
Office applications and, 26-30
references. See references, Web service
remote access and, 23
testing, 18
viewing code, 16-17
viewing DISCO and WSDL documents, 6, 19-21, 36, 94. See also WSDL (Web Service Description Language)
Web Services Description Language. See WSDL (Web Service Description Language)
Web sites. See also Internet; Web browsers
GXA, 178
ODETTE, 76
SOAP information, 12
UDDI, 15
Web service directories, 14
Web services and, 106-107
WSDL information, 8
Web.Config file, 18
WebMethod attribute, 17, 65, 174
WebService class, 133
WebService tag, 17
Windows
authentication, 132-133
event log, 171-173
system performance counters, 166
Web Service References Tool and, 27
Web services and, 2
Windows CE, 110, 111
Windows Forms applications as Web service clients, 22
Windows Installer 2, 26
Wizard, Smart Device Application, 111
Word, customer correspondence template for, 24-26
Write method
CryptoStream object, 125
MemoryStream object, 126
WriteEntry method, 172
WriteXmlSchema method, 90
WS-Addressing, 176
WS-Attachments, 163, 177
WS-Coordination, 177
WSDL (Web Service Description Language)
information about, 8
service port section, 98
as standard, 1
viewing documents, 6, 19-21, 36, 94
Web service interfaces and, 93-98
Web Service References Tool and, 26
WSDL.exe program and, 9
WSDL.exe program, 9
WS-Inspection, 177
WS-Policy, 177
WS-PolicyAssertions, 177
WS-PolicyAttachment, 177
WS-Referral, 177
WS-ReliableMessaging, 176
WS-Routing, 163, 177
WS-SecureConversation, 177
WS-Security, 163, 177
WS-SecurityPolicy, 177
WS-Transaction, 177
WS-Trust, 177
X
XML
creating schemas, 89-90
EDI and, 78
files and caching, 39-43, 46-49
files and ReadXml method and, 26
SOAP and, 12
as standard, 1
Web services. See XML Web services
XML Web services, 1-22
accessing, with client applications, 3-5.
Add Web Reference tool, 4, 22, 62, 114, 116
advantages and disadvantages, 1-3
business-to-business communication. See business-to-business communication
customer support. See customer support
developing, 15-22. See also Web service applications
discovery. See discovery, Web service
future of, 176-178
getting information about, 5-9
locating, using directories, 14-15
monitoring. See monitoring
publishing, 15
references. See references, Web service
remote access. See remote access
routing requests with, 175
scalable, 14, 173-175, 176
security. See security
SOAP and, 11-14. See also SOAP (Simple Object Access Protocol)
system integration. See system integration
viewing hidden details of, with SOAP Trace utility, 10-11, 22, 35, 36, 63, 86
Visual Studio .NET 2003 and, 3. See also Visual Studio .NET 2003
Last Updated: May 29, 2003
|