Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Definition of Web Services Key concepts Difference from traditional web model
Context
Service-oriented architecture
Distributed computing
Overview
Microsoft .NET vision Web Services
Difference from traditional web model Context
Service-oriented architecture
Distributed computing
Microsoft .NET
and, after the marketing people got there Re-launch business servers
Add .NET based functionality Old names poorly understood by system administrators
HTML
Presentation Programmability
Web P ages
Web
Serv ices
Marshalling
Platforms and languages hold data differently
No common type system Distributed systems must map data
Marshal
Marshal
Java
Common representation
Communication is synchronous
E.g. supply-chain management (ordering, invoicing, ...) Vision of dynamic discovery/ binding of business services Document-orientation/ loose coupling are key Security and trust are also crucial
Wrap legacy applications as Web Services so they can be composed with other Web Services and made available remotely Potentially reduces the cost of IT integration (e.g. when combining systems following a business merger)
Typical Interaction
Business orchestration
Store
Partner
FAX
M Eail
Partner
User
Roles
Purchase request PO request approval PO approval Purchase order Purchase order acknowledgement Configuration Review Purchase confirmation and ETA Invoice request approval Invoice Shipping order
M HT
B2C Website
Credit Info
Client
Actions
Retype
Invoice approval
Payment
B2C
B2B
Web Service engine (holds Java code, C# code, Ent.JavaBeans, etc.) SOAP, HTTP, SMTP, FTP, EDI, JMS, RMI, ... XML XML N/A Software application
Java classes, Enterprise Java classes, Enterprise Java Beans (etc.) Java Beans (etc.) CGI, Servlets, JSPs
Supply Chains
Head Office
EDI
Communications protocol
Stores
Large Suppliers
Customers
Client
describes tags <address> <name>Old Police Station</name> <number>8</number> <street>Letsby Avenue</street> <town>Yelling</town> <county>Huntingdon</county> </address>
(describe)
Service Requester Service Provider
?
Java
COBOL
Composition example
A book trip Web Service
book flight Web Service book hotel Web Service book taxi Web Service
Client
Book Trip
UDDI
Reliability Security
Attachments
Public Specifications for Web Services Process Orchestration (XLANG) Service Description (WSDL) XML Schemas Directory (UDDI)
Schemas for service description Schemas for business description Based on XML and SOAP
Routing
IBM, Microsoft, Ariba, Sun, Oracle, HP, Intel, SAP, i2, Intel, Fujitsu and 200 others
Wire
Description
Discovery
4. 2.
Marketplaces, search engines, and business applications query the registry to discover services at other companies and to facilitate integration
UDDI Registry
Implementers populate the registry with descriptions of their businesses and the services they expose
Implementations Service Types
3.
UDDI Registry assigns a programmatically unique identifier to each service and registration Large businesses apply the same architecture and technologies internally
Web Forms
Web Services
Notification Identity
Data and System Base Classes ADO.NET IO XML Net SQL Security Threading Service Process
ISA Server 2000 Mobile Information 2001 Server Host Integration Server 2000
Exchange 2000
Infrastructure
Common Language Runtime Security Engine IL to Native Compiler Thread Support Type System Exception Handler Garbage Collector
Enterprise Servers
Multi-Device Support
<mobile:Form id="Form1" runat="server"> <mobile:Calendar runat="server" id="calThis" OnSelectionChanged="ShowDate" /> </mobile:Form>
Metadata
All .NET objects carry metadata
Object name Method names and parameters Variables names and types
Serialization
(e.g. SOAP)
Metadata
(and code)
Profiler
Schema Generator
JIT Compiler
MSIL: Microsoft Intermediate Language
Request
Language Language Language Compilers Compilers Compilers Response .NET CLR Runtime MSIL Compiled Code
What is the name of the assembly? Who signed and published assembly?
Public Key based digital signatures
Web Services
XSD, XSL, XPATH
Scalability
Web Forms
Service Logic
BizTalk
Enterprise Server Application 2000 Integration (EAI) Business To Business (B2B)
ADO+
SQL
Exchange
Work Surface
XLANG