Web Services Overview - PowerPoint PPT Presentation

About This Presentation
Title:

Web Services Overview

Description:

6/22/09. 1. Web Services Overview. Bill Edison. edisonwj_at_verizon.net. 6/22/09. 2. Agenda ... Early 1980's Emergence of the Internet leveraging the Internet ... – PowerPoint PPT presentation

Number of Views:1935
Avg rating:3.0/5.0
Slides: 69
Provided by: william112
Category:

less

Transcript and Presenter's Notes

Title: Web Services Overview


1
Web Services Overview
  • Bill Edison
  • edisonwj_at_verizon.net

2
Agenda
  • History
  • XML Technologies
  • SOAP
  • Web Services
  • SOA

3
Some History
  • Mid 1970s - Standard Generalized Markup Language
    (SGML) introduced by Charles Goldfarb
  • Provides an international standard for data
    representation
  • Early 1980s Emergence of the Internet
    leveraging the Internet Protocol suite, including
    TCP/IP
  • http//en.wikipedia.org/wiki/Internet
  • http//en.wikipedia.org/wiki/Internet_protocol_sui
    te
  • http//www.ietf.org/
  • Mid 1980s World Wide Web and World Wide Web
    Consortium (W3C) conceived and founded by Tim
    Berners-Lee
  • Created a formal specification for Hypertext
    Markup Language (HTML) based on SGML
  • Provides a compact and simple syntax to describe
    the format and layout of textstandard for Web
    publishing
  • First Web Browser, Silversmith, by John Bottoms
    in 1987 based on SGML
  • 1990s - W3C created Hypertext Transfer Protocol
    (HTTP) a method used to transfer or convey
    information on the World Wide Web. Its original
    purpose was to provide a way to publish and
    retrieve HTML pages.
  • Late 1990s W3C creates Extensible Markup
    Language (XML) (again based on SGML), a
    meta-language to describe the nature of
    information
  • Late 1990s Simple Object Access Protocol
    (SOAP) developed with Microsoft backing by Dave
    Winer, Don Box, Bob Atkinson, and Mohsen
    Al-Ghosein to provide a basic Web messaging
    framework--now a W3C maintained specification

Wikipedia
4
Evolution to SOA
Coyle
5
Foundation Technologies
  • TCP/IP
  • HTTP
  • HTML
  • Browsers
  • XML
  • SOAP ? SOA
  • Web Services

6
Extensible Markup Language (XML)Basics
7
XML Overview
  • A language for creating other languages
  • Tags and content, with tags that describe the
    meaning of content
  • Start tags and end tags delimit elements
    containing data
  • Example of customer information
  • John von Neumann
  • 914.631.7722
  • 914.6331.7723
  • Johnny_at_cd.com
  • Data can be specified with attributes within an
    element
  • phone914.631.7722 fax914.631.7723
    emailJohnny_at_cd.com/

Coyle
8
XML Traits
  • XML allows data to be stored in either elements
    or attributes
  • Elements and attributes can be named to give the
    data meaning
  • Start tags and end tags define elements that are
    the basis for XML tree-structured representations
    of documents
  • Elements can contain text data and/or other
    elements

Coyle
9
XML Advantages
  • XML files are textual and human readable versus
    binary formats
  • XML is widely supported by industry tools for
    developers, Web browsers, databases, application
    environments, and operating systems
  • http//www.altova.com/products/xmlspy/xml_editor.h
    tml
  • Major relational databases have the native
    capability to store, read, and generate XML data
  • XML support technologies are available for Web
    page display and report generation

Coyle
10
XML Decoupling
  • No presentation format is assumed. Unlike HTML,
    basic XML makes no rendering assumptions.
    Supporting technologies such as style sheets
    address this.
  • No built in data typing is provided. DTDs and XML
    Schema provide support for defining the structure
    and data types associated with an XML document.
  • No transport is assumed. XML makes no assumption
    about how XML is moved across the Internet.
  • Thus, XML decouples from
  • Presentation
  • Data formats
  • Transport protocols

Coyle
11
XML Specifications
DTD
describes
XML Documents
supersedes
presents
XSL
describes
searches
XSD
searches
transforms
XPath
XQuery
XSLT
uses
uses
uses
uses
Erl
12
XML Technologies
  • Structure and Data Types
  • Define how specific XML documents should be
    structured
  • Document Type Definition (DTD)
  • XML Schema Definition Language (XSD)
  • DTDs flow from the SGML world
  • Specify what elements and attributes are valid
    for a particular instance
  • Limited ability to specify data types
  • XML Schema is a W3C initiative
  • More precision that DTDs
  • XML Presentation Technologies
  • eXtensible Stylesheet Language (XSL) and XSL
    Formatting Objects support XML for various output
    media
  • XHTML, a modular XML-conformant replacement for
    HTML
  • Cascading Style Sheets (CSS) for controlling
    display properties of HTML or XML in Web browsers
  • XForms for collecting data from Web forms and
    returning XML
  • VoiceXML for delivering content to voice-enabled
    devices
  • Wireless Markup Language for delivery to wireless
    devices enabled for Wireless Application protocol
    (WAP)

Coyle
13
XML Schemas
  • Two schema definition mechanisms
  • DTD
  • XML Schemas
  • Both define the structure of XML documents
  • Used to validate the form of specific XML
    formatted instances
  • DTD focuses on structure, element and attribute
    definition--data typing is limited to text (Based
    on SGML syntax)
  • XML Schema is a newer W3C standard providing for
    structure and detailed data type specification,
    e.g. times, Boolean, binary, float, decimal,
    integer, string, token, etc.

Coyle
14
Another XML Example
  • XML declaration is first markup line and
    specifies the version being used
  • Link to a DTD
  • The part of a document within which data is
    represented is the document instance with a
    hierarchical arrangement of elements and
    attributes, here book and category
  • Child element of book, title and author
  • End of the book element
  • Joy of Integration
  • Joe Smith

15
DTD Example
  • Document type declaration of root
    element--corresponds to link in XML document
  • Characteristics of each element are specified
  • Parent-child relationships
  • Attributes
  • Validation rules
  • Data types
  • Parsed Character Data
  • Closing

16
Complete Document Specification
  • DTD
  • Instance of the above DTD
  • Joy of Integration
  • Joe Smith

17
Namespaces, Element, Attributes
  • Attributes cannot be further subdivided into
    sub-elements, but elements can always be
    subdivided
  • Use elements if data may need to be subdivided
  • Programs processing XML may have to call special
    modules to handle attributes introducing
    complexity
  • Attributes are more compact and readable
  • Element and attribute names are distinguished
    from the same names in different contexts by
    prefixing a Uniform Resource Indicator (URI) as
    namespace name. Tagging can be implicit or
    explicit using abbreviations

Namespace http//www.zwiftbooks.com
Deliverance ?

Namespace http//www.music.com
Deliverance ?

Coyle
18
XSD Example
  • chema

19
More XML Technologies
DOM SAX
RDF
DTD XML Schema
Semantic Web
Program manipulation technologies
Structure data typing
CSS XSL XSL-FO XHTML XForms VoiceXML
XSLT XPath XLink XQuery
XML Namespaces Core
XML manipulation technologies
Presentation technologies
InfoSet
Coyle
20
More XML Technologies
  • Program Manipulation technologies
  • Document Object Model (DOM) provides a platform
    and language neutral interface defined by W3C
    that allows programs and scripts to access and
    update the content, structure, and style of
    documents
  • Simple API for XML (SAX) provides a
    collaboratively developed standard interface for
    XML parsing
  • Can be manipulated using various interfaces
  • Tree-based
  • Event-based
  • Class-based
  • XML manipulation technologies
  • Extract and transform XML in different ways
  • Key for server-based XML B2B processing
  • XSL Transformation (XSLT) transforms XML from one
    format to another
  • Transform a DOM tree to an XML document
  • XPath supports navigation through an XML tree
    structure to find particular elements or subtrees
  • XLink supports creating and describing links
    between resources, enabling links that go beyond
    the simple uni-directional links of the Web
  • XQuery supports querying and extracting from XML
    repositories
  • Other
  • Resource Description Framework (RDF) provides a
    foundation for metadata processing, directed to
    automated processing of Web resources
  • InfoSet is an W3C initiative to provide a
    consistent set of definitions for use in other
    specifications that need to reference information
    in XML documents.

Coyle
21
Java APIs for XML
  • Document Oriented
  • Java API for XML Processing (JAXP) processes
    XML documents using various parsers leverages
  • SAX (Simple API for XML Parsing)
  • API for event-based parser
  • Reads the XML from beginning to end and notifies
    application for each recognized syntax
    construction
  • DOM (Document Object Model
  • Interfaces for building an object representation,
    a tree, of a parsed XML document
  • Can manipulate tree with insert and remove
    methods
  • Random access to particular pieces of data
  • Java Architecture for XML Binding (MAXB) maps
    XML elements to classes in the Java programming
    language
  • Procedure Oriented
  • Java API for XML Messaging (JAXM) sends SOAP
    messages over the Internet in a standard way
  • Java API for XML Registries (JAXR) provides a
    standard way to access business registries and
    share information
  • Java API for XML based RPC (JAX-RPC) sends SOAP
    method calls to remote parties over the Internet
    and receives the results

Sun
22
SAX API Example
  • SAXParserFactory factory SAXParserFactory.newIns
    tance() Create SAX parser factory
  • SAXParser saxParser factory.newSAXParser() C
    reate SAX parser object
  • saxParser.parse("priceList.xml",
    handler) Parse XML file
  • public void startElement(..., String elementName,
    ...) Custom startElement method
  • if(elementName.equals("name"))
  • inName true
  • else if(elementName.equals("price")
    inMochaJava )
  • inPrice true
  • inName false
  • public void characters(char buf, int offset,
    int len) Custom characters method
  • String s new String(buf, offset, len)
  • if (inName s.equals("Mocha Java"))
  • inMochaJava true
  • inName false
  • else if (inPrice)

Sun
23
SAX Parsing Example
  • parser calls startElement
  • parser calls startElement
  • MochaJava parser calls
    startElement, characters, and endElement
  • 11.95 parser calls
    startElement, characters, and endElement
  • parser calls endElement
  • ...
  • next invocation of startElement -- inName is true
  • next invocation of characters -- inMochaJava is
    true
  • next invocation of startElement -- inPrice is
    true
  • next invocation of characters -- prints price

Sun
24
XML To Be Transformed
//www.w3.org/1999/XSL/Transform version1.0 nventory Joy of
Integration Joe
Smith Integration for Dummies
John Doe
Erl
25
XSLT and XPATH Transformation
//www.w3.org/1999/XSL/Transform version1.0 sltemplate match/ / matchinventory/ h selectbook select_at_category/ selecttitle/ selectauthor/ le
Erl
26
XML Revolutions
  • Data revolution XML
  • Data is not tied to transport or language
    travels using Web protocols
  • Data previously subordinated to code and
    transport
  • Data decoupled from constraints of code and
    transport
  • Architecture revolution
  • Loosely coupled systems centered around the Web
    and message-oriented middleware
  • Previously tightly coupled object systems
  • Java Remote Method Invocation (RMI)
  • Microsoft COM/Distributed Component Object (DCOM)
  • OMG Common Object Request Broker Architecture
    (CORBA)
  • Software revolution
  • Simplicity of design and power of combination and
    collaboration
  • Previously large systems built from detailed
    specifications
  • Now, assembled systems with capability emergence

Coyle
27
Moving Data on the Web
  • Option 1 Electronic Data Interchange (EDI)
  • Defines a common data format
  • Uses proprietary transport network
  • Delivers data in agreed upon formats
  • Option 2 CORBA, RMI, DCOM
  • Agrees to a transport protocol supported on
    multiple platforms
  • Uses an object request broker to handle
    inter-object communication
  • Delivers data as parameters of method calls
  • Option 3 SOAP
  • Defines an XML envelope for data
  • Uses common internet protocols to deliver the
    SOAP envelop
  • When using HTTP for transport leverages XML data
    with attachments

Coyle
28
Simple Object Access Protocol(SOAP)
29
SOAP
  • Simple potentially not simple many possible
    options
  • Object not particularly related to
    object-oriented development often procedural in
    nature
  • Access ok one out of four
  • Protocol Not a replacement for HTTP or SMTP
    it relies on those protocols to handle the data
  • http//www.w3.org/2000/xp/Group

Iverson
30
Internet Protocol Suite
  • Application Layer
  • DHCP, DNS, FTP, HTTP(S), IMAP4, IRC, NNTP, XMPP,
    MIME, POP3, SIP, SMTP, SNMP, SSH, TELNET, BGP,
    RPC, RTP, RTCP, TLS/SSL, SDP, SOAP, L2TP, PPTP
  • Transport Layer
  • TCP, UDP, DCCP, SCTP, GTP
  • Network Layer
  • IP(IPv4, IPv6), ARP, RARP, ICMP, RSVP, IGMP,
    IPSec
  • Data Link Layer
  • ATM, Ethernet , FDDI, Frame Relay, GRS, PPP
  • Physical Layer
  • Ethernet, ISDN, Modems, PLC, RS232, SONET/SDH,
    G.709, WiFi

31
Web Data Transport
HTML document or browser compatible type
HTTP Header
Data
Browser
FTP Header
Data
Client
Server
Any file
GET file.html
HTTP
GET
Web content returned
Data passed to server
POST
HTTP
Web content returned
Coyle
32
Power of Combination
SOAP
SOAP
SOAP
HTTP
XML
SOAP Combination of HTTP and XML
HTML
HTTP
Server
Browser
Web Combination of HTML, HTTP and Browsers
Coyle
33
SOAP in Context
  • SOAP is an application layer protocol.
  • Corba Internet Inter-ORB Protocol (IIOP), Object
    Remote Procedure Call (ORPC) (basis for DCOM),
    and Java Remote Method Protocol (JRMP) are binary
    protocols, while SOAP is a text-based protocol
    that uses XML
  • Using XML for data encoding makes SOAP easier to
    debug and read.
  • Since SOAP is text based, it can move more easily
    across firewalls than IIOP, ORPC, or JRMP
  • HTTP based messages pass through port 80 on most
    firewalls
  • SOAP is based on XML which is standards driven,
    versus vendor driven.
  • SOAP messages define one-way data transmission
    however messages can be combined to implement
    patterns such as request-response

Coyle
34
SOAP
Tightly coupled network Based on a
common transport protocol
Corporate Network (CORBA, RMI, DCOM)
SOAP
Message Oriented Middleware
SOAP
SOAP
SOAP
Loosely coupled Web-based network using SOAP
and protocols (HTTP, FTP, SMTP)
SOAP
XML
Coyle
HTTP
SMTP
FTP
35
SOAP Parts
  • Encoding rules that control XML tags that define
    a SOAP message and a framework for message
    content
  • Rules for exchanging application-defined data
    types, including when to accept or discard data
    or return an exception to the sender
  • Conventions for representing remote procedure
    calls and responses

Coyle
36
SOAP Message Structure
  • SOAP Envelope Outermost element of a SOAP
    message that is the root of the XML document
    defining a SOAP message
  • SOAP Header Optional element that provides a
    modular way of directing SOAP servers to do
    processing before passing the message on, e.g.
    add transaction or security information or
    perform stages of processing in a message path
  • SOAP Body Contains the transported XML payload
    which may be data or a remote procedure call.

SOAP (Mandatory)
SOAP (Optional)
SOAP (Mandatory)
Coyle
37
SOAP Example Request
Internet
ZwiftBooks server configured to understand SOAP
Client initiating SOAP request for best
book delivery time
Request
HTTP Request Header
POST/ZwiftBooks HTTP/1.1 Host www.zwiftbooks.com
Content-Type text/xml Content-Length 134 SOAP
Action Some-URI
SOAP Content
xmlns httpw3.org/2001/09/soap-e
nvelope encodingStylehttp//www.w3.org/200
1/09/soap-encoding GetBestDeliveryTime 0-101-22
892-3 7
5230 tDeliveryTime
Coyle
38
SOAP Example Response
Internet
ZwiftBooks server
Client initiating SOAP request for best
book delivery time
Response
HTTP Request Header
HTTP/1.1 200 OK Content-Type text/xml Content-Len
gth 122
SOAP Content
xmlns httpw3.org/2001/09/soap-e
nvelope meResponse xmlnszwiftbookswww.zwi
ftbooks.com 8
hours eliveryTimeResponse
Coyle
39
SOAP Message Paths
  • SOAP messages may be routed from server to
    server, supporting processing at intermediate
    nodes
  • Pipe and filter architecture
  • Layered architecture and multi-tier patterns
  • Intermediaries can be proxies, caches,
    store-and-forward nodes, and gateways
  • SOAP server rules
  • Identify the parts of the SOAP message intended
    for the server application
  • Check for actor attribute that is URI of the
    application or the URI http//schemas.xmlsoap.org/
    soap/actor/next which means the application must
    process the header
  • Verify that all parts of the header intended for
    the application and associated with a
    mustUnderstandtrue attribute are supported,
    otherwise fault
  • Process the parts of header intended for the
    application
  • If not the ultimate destination, remove all
    header elements intended for it before forwarding
    the message

Coyle
40
Apache Axis SOAP Example
  • 1 import org.apache.axis.client.Call
  • 2 import org.apache.axis.client.Service
  • 3 import javax.xml.namespace.QName
  • 4
  • 5 public class TestClient
  • 6 public static void main(String args)
  • 7 try
  • 8 String endpoint
  • 9 "http//nagoya.apache.org
    5049/axis/services/echo"
  • 10
  • 11 Service service new Service()
  • 12 Call call (Call)
    service.createCall()
  • 13
  • 14 call.setTargetEndpointAddress( new
    java.net.URL(endpoint) )
  • 15 call.setOperationName(new
    QName("http//soapinterop.org/", "echoString"))
  • 16
  • 17 String ret (String) call.invoke(
    new Object "Hello!" )
  • 18
  • 19 System.out.println("Sent 'Hello!',
    got '" ret "'")

Apache Axis Project
41
Apache Axis SOAP Example
  • Lines 11 and 12 create new Service and Call
    objects-standard Java API for XML based RPC
    (JAX-RPC) objects that store metadata about the
    service to invoke
  • Line 14 sets up endpoint URL-the destination of
    the SOAP message
  • Line 15 defines the operation (method) name of
    the Web Service
  • Line 17 invokes the desired service passing a set
    of parametershere just one string
  • Invoking the program yields the following
  • java samples.userguide.example1.TestClient
  • Sent Hello!, got Hello!

Apache Axis Project, Sun
42
Apache Axis Example
  • xmlnsxsdhttp//www.w3.org/2001/XMLSchema
  • xmlnsSOAP-ENV"http//schemas.xmlsoap.org/soap/
    envelope/" xmlnsxsi"http//www.w3.org/2001
    /XMLSchema-instance"
  • g/"
  • Hello!
  • http//ws.apache.org/axis/java/releases.html
  • http//mirror.olnevhost.net/pub/apache/ws/axis/1_4

Apache Axis Project
43
Web Services
44
Web Services
  • A vague term that refers to distributed or
    virtual applications or processes that use the
    Internet to link activities or software
    components. A travel Web site that takes a
    reservation from a customer, and then sends a
    message to a hotel application, accessed via the
    Web, to determine if a room is available, books
    it, and tells the customer he or she has a
    reservation is an example of a Web Services
    Application.
  • Business Process Trends
  • http//www.bptrends.com/resources_glossary.cfm?
  • letterFilterWdisplayModeall

Iverson
45
XML Communication
Corporate Network
Firewall
XML
XML
XML
Repository
Web
Message Server
Provider
Client
Web Services
Option 1 Communicate directly using XML and Web
protocols
Option 3 Locate partners via Web services
repository communicate directly or via
messaging middleware
Option 2 Communicate via messaging middleware
Coyle
46
Web Services Again
  • Technology, process, and phenomenon
  • As technology, a set of protocols building on the
    SOAP, XML, and HTTP foundation
  • As process, an approach to software discovery and
    connection over the Web
  • As a phenomenon, an industry wide adoption of a
    decentralized, loosely coupled, synergistic
    approach

Coyle
47
Web Services Framework
  • Describe--Accessible descriptions of
    functionality and attributes so other
    applications can determine how to use it
  • ExposeServices register in a repository
    providing
  • Business information (White pages) holding basic
    service-provider informationname, address,
    telephone number, etc.
  • Service information (Yellow pages) listing groups
    of services by category
  • Binding information (Green pages) describing how
    to connect and use the servicesURLs, method
    names, argument types, etc.
  • InvokeRemote application can invoke service
  • RespondWhen service is invoked, results are
    returned to the requester
  • Manage/Govern Provided structure and process
    control

Coyle
48
Web Services Framework
Corporate Network
XML and SOAP provide an open-ended data exchange
mechanism for the Web
Firewall
XML/SOAP
XML/SOAP
XML/SOAP
Firewall
Web Services framework provides Protocols and
processes for providers to register and clients
to discover and use Web Services
Web Services
Corporate Network
Coyle
49
Web Services Architecture
  • Process and set of protocols for finding and
    connecting to software exposed as services over
    the Web
  • Service provider provides an interface for
    software to carry out a specific set of tasks
  • Service requester discovers and invokes
    software services to provide a business solution
  • Broker/Registry manages and publishes the
    service

50
Web Services Triad
Green
WSDL
White
...UDDI
Inquiry...
Yellow
WSDL
...UDDI
Update...
Repository/ Registry
Uses UDDI to find appropriate Web Service
UDDI
UDDI
XML/SOAP
XML/SOAP
XML/SOAP
Client
Provider
Uses UDDI to register a Web Service with
the repository
  • Universal Description, Discovery and Integration
    (UDDI)
  • Web Services Description Language (WSDL)

Coyle
51
UDDI Registries
  • Contents
  • Business entities
  • Business services
  • Specification pointers binding templates
  • Service types
  • Business relationships
  • Subscriptions
  • UDDI provides inquiry and publishing APIs

52
UDDI Example
  • Acme Corp.
  • businessKey "..."
  • Product Guide
  • serviceKey"..."
  • "http"http//acme.com/productGuide
  • tModelKey"uuidb917c13d-f451-22ef-9a44-a4c562af23
    d8"
  • http//csr
    c.nist.gov/publications/fips/fips46-3/fips46-3.pdf
  • 168 bit
    triple DES
  • http//csr
    c.nist.gov/publications/fips/fips197/fips-197.pdf/overviewURL
  • 128 bit
    AES

http//searchwebservices.techtarget.com/originalCo
ntent/0,289142,sid26_gci910817,00.html
53
WSDL Document
interface message ______________ service binding
endpoint/port

Logical grouping of operations Data description
using XML Schema Actual data structures used to
pass data
Abstract (service interface definition)
Concrete (service implementation Definition)
Service Definition Abstract Concrete Service
Description Service Definition Supplementary
Definitions
Erl
54
WSDL Constructs
  • Field Guide
  • Mr. T
  • definitions (root element)
  • interface (previously portType) -Group of
    logically related operations, i.e. component
    interfaces (methods) representing a single action
    or function
  • message Collections of input/output parameters
  • Part Incoming or outgoing operation parameter
    data
  • service Collections of endpoints including
    physical address and protocol info
  • binding- Association to operation constructs

Abstract
Concrete
Erl
55
Web Services Pros and Cons
  • Pros
  • Global method for describing and finding
    Internetbased business services
  • Packaging and publishing of applications in a
    readily understood format
  • New revenue streams through syndication of
    existing application as Web Service
  • Cons
  • Emerging technology
  • Managing and Tracking changes is a challenge
  • Transactions not fully addressed
  • Multiple, evolving security standards
  • Processing overhead

Coyle
56
Enterprise Context
.NET
J2EE
Messaging
Transactions
Security
Identity
Broker/Registry
XML/SOAP
XML/SOAP
Client
XML/SOAP
Provider
Coyle
57
WWW Characteristics
  • Simplicity
  • Modularity
  • Loose Coupling
  • Emergent Behavior

58
Enterprise Opportunities
Corporate Network
Firewall
Web
B2B Business to Business
B2C Business to Consumer
B2E Business to Employees
Coyle
59
SOA
60
SOA Concept
  • SOA enables a standards-based marketplace of
    service consumers and service providers across an
    enterprise community or across the Web
  • SOA is a specification-based architecture to
    transition the technical landscape to a
    standards-based, vendor independent, and
    loosely-coupled information sharing environment
  • Decoupling the service contract from the service
    implementation
  • Promoting design and invocation by contract

Government Overview
61
SOA Conceptual Framework
Business/ Mission Services
Enabling Services
Data Services
Legacy Applications
Infrastructure Services
Networks (...)
SOA Fabric
Service Consumers
Government Overview
62
SOA Common Infrastructure
Government Overview
63
SOA Infrastructure Standards
  • WS-RM
  • WS-RM policy
  • WS-Policy
  • WS-Addressing
  • WS-Notification
  • WSS
  • SAML
  • XACML
  • XML-Signature
  • XML-Encryption
  • WS-Trust
  • WS-Policy
  • WS-SecurityPolicy
  • XKMS
  • UDDI
  • ebXML
  • WS-Discovery
  • XSL
  • BPEL
  • WSDM
  • WS-Management
  • WS-Policy
  • XQuery
  • XPath

Government Overview
64
SOA Infrastructure Example
  • BEA AquaLogic Enterprise Repository
  • Publishing Registry
  • Design-time Governance
  • BEA AquaLogic Service Registry
  • Discovery Registry
  • AmberPoint
  • Run-time Governance
  • / Management

BEA AquaLogic Service Bus
  • IBM WebSphere DataPower
  • XML Security

65
SOA Infrastructure Example (Cont.)
  • BEA AquaLogic Service Bus
  • Reliable Messaging
  • Queuing/holding messages if applications are
    temporarily unavailable
  • In-route updates to message flow
  • Rich Transformations
  • Protocol Conversions (Http get/set style to SOAP,
    etc)
  • Routing
  • Service load-balancing
  • Web Service Call-outs
  • ESBs Built to accelerate and provide optimized
    processing of the message
  • Support for service orchestration choreography
  • Service versioning support
  • BEA AquaLogic Enterprise Repository
  • Enterprise Service Catalog for design time
    discovery, policy enforcement, and lifecycle
    management of services.
  • BEA AquaLogic Service Registry
  • Runtime service registry to enable runtime
    discovery of service endpoints. Enables movement
    of services across infrastructure without service
    application disruption.
  • AmberPoint
  • Run-time Governance
  • Metrics Monitoring
  • Dependency Tracking
  • Possible Policy Management
  • Validation of messages against Schema
  • Root-cause analysis to feed into enterprise
    management
  • Health and status of service pushed to enterprise
    management
  • Service level management
  • Define Quality of Service other SLO
  • Compliance

66
SOA Challenges
  • Governance
  • Testing
  • Compliance

67
References
  • Coyle, Frank P. XML, Web Services, and the Data
    Revolution. Addison Wesley 2002.
  • http//www.amazon.com/Services-Revolution-Addison
    -Wesley-Information-Technology/dp/0201776413
  • Erl, Thomas. Service-Oriented Architecture.
    Prentice Hall 2004.
  • http//www.soabooks.com/
  • Iverson, Will. Real World Web Services. OReilly
    2004.
  • http//www.oreilly.com/catalog/realwws/
  • Brown, Kyle and Rachel Reinitz. IBM WebSphere
    Developer Technical Journal Web Services
    Architectures and Best Practices. 2003
  • http//www-128.ibm.com/developerworks/websphere/t
    echjournal/0310_brown/brown.html
  • Schmeizer, Ronald. Zapthink - How to Think
    Loosely Coupled. 2004
  • http//www.zapthink.com/report.html?idZAPFLASH-0
    5282004
  • Wilkes, Steve. Loosen Up. 2004
  • http//dev2dev.bea.com/pub/a/2004/11/bizlogic_wil
    kes.html

68
References (Continued)
  • Apache Axis Project
  • http//ws.apache.org/axis/
  • Sun Developer Network Web Services Technical
    Articles Tips
  • http//developers.sun.com/techtopics/webservices/
    reference/techart/index.html
  • Sun Web Services Made Easier. 2002
  • http//java.sun.com/xml/webservices.pdf
  • Microsoft UDDI Services
  • http//www.microsoft.com/windowsserver2003/techno
    logies/idm/uddi/default.mspx
Write a Comment
User Comments (0)
About PowerShow.com