Академический Документы
Профессиональный Документы
Культура Документы
SOA Timeline
XML allowed developers to attach meaning and context to a document that was transmitted across internet protocols XML was used as the basis for additional standards including XSD (schema definition) and XSLT (transformation language)
XML
XML data representation is the foundation layer of SOA XML establishes the structure of messages traveling between services XSD schemas preserve the integrity and validity of message data XSLT is used to enable communication between disparate data representations by schema mapping
Web Services
W3C recieves Simple Object Access Protocol (SOAP) in 2003 SOAP messages now represent the communications layer for SOA This provided a proprietary-free Internet communications layer This led to the idea of creating a pure, Webbased, distributed technology Web services This helped bridge the enormous disparity between and within organizations
Web Services
The most important part of a Web service is its public interface This is the central piece of information that assigns a service an identity and enables its invocation WSDL (Web Services Description Language) was one of the first initiatives in support of Web services WSDL was submitted to W3C in 2001
Web Services
Web services required an Internet-friendly and XML-compliant communications format Other alternatives were considered (XML-RPC), but SOAP was the winning technology W3C responded by releasing newer versions of SOAP that allow RPC-style and document-style messages SOAP became a standalone term as the acronym no longer matched the purpose
UDDI
Universal Description, Discovery and Integration Submitted to OASIS Allows for the creation of standardized service description registries Services can be registered in a central location and discovered by service requestors Unlike WSDL and SOAP, UDDI hasnt yet attained industry-wide acceptance Remains an optional extension to SOA
SOA Extensions
This early model has been extended by WS-* specifications The goal was to elevate Web services technology to an enterprise level There was also an interest in applying serviceoriented concepts to business analysis This vision was supported by the rise of business process definition languages WSBPEL
SOA History
Business Process Management models (BPM) can now be expressed in a concrete executable format SOA is still evolving New standards are still be developed and adopted
Retrofitting Issues
Data Representation and Service Modeling standards must be aligned SOAP is used for all inter-service communication. XML documents and XSD schemas are modeled with SOAP in mind Document-style messaging is standard. Changing from RPC-style imposes changing on services
Retrofitting Issues
SOAP promotes a content and intelligence-heavy message model. This supports statelessness, autonomy and minimizes message sending RPC-style messaging supported granular XML documents with targeted data Transition models for applications may be needed until advance messaging with WS* is available
Standard Organizations
Internet standards organizations have agendas that overlap and are not always distinct The primary contributors to vendor-neutral standards are the vendors themselves
Standard Organizations
The World Wide Web Consortium (W3C)
Founded by Tm Berners-Lee in 1994 Began with HTML XML, XML Schema, XSLT, SOAP, WSDL, and Web Services Formal and rigorous with many public reviews Two to three years for standards to be adopted
Standard Organizations
Organization for the Advancement of Structured Information Standards (OASIS)
Created in 1993 as SGML Open Renamed when their scope changed from SGML to XML standards Over 600 organizations WS-BPEL, ebXML, contributions to UDDI, SAML (security), XACML Focuses on core, industry-agonostic standards, leveraging standards to support vertical industries Shorter development times than W3C
Standard Organizations
The Web Services Interoperability Organization (WS-I)
Does not create new standards but ensures the goal of open interoperability 200 organizations, all major SOA vendors Basic Profile a recommendation-based document that establishes which available standards form the most desirable interoperability architecture Positions specific versions of WSDL, SOAP, UDDI, XML, XML Schema Basic Security Profile
Vendor Influence
Each vendor has its own vision for SOA IBM uses WebSphere Microsoft supports .NET and its operating system Vendors try to influence decisions using proprietary designs
Vendor Alliances
Vendors form loose alliances for common goals IBM, Microsoft and BEA have collaborated on several WS-* extentions OASIS supported WS-ReliableMessaging. Microsoft and IBM announced their own specification WS-Reliability, which has become the contender
Roots of SOA
With the rise of multi-tier applications, the variations with which applications could be delivered began to increase A definition of a baseline definition application becomes important The definition is abstract but describes the technology, boundaries, rules, limitations and design characteristics that apply to all solutions an application architecture
Application Architecture
An application architecture is a blueprint Different levels can be specified, depending on the organization Might include physical and logical representations, data models, communication flow diagrams, security requirements Several application architectures may exist in an enterprise and kept in alignment by an enterprise architecture
Enterprise Architecture
Enterprise architectures provide high-level views of all forms of heterogenity Urban plan for a city Contain a long-term vision of how an organization will evolve its technologies
SOA Characteristics
Presentation layer can be any software capable of exchanging SOAP messages SOA principles dictate partitioning logic into autonomous units SOA units of logic are solution agnostic
SOA Characteristics
Processing with SOA is highly distributed Each service has explicit functional boundaries and resource requirements SOA allows many options for deploying services Enterprise solutions consist of multiple servers with sets of Web services and supporting middleware With SOA there is no fixed processing ratio
SOA Characteristics
Supports synchronous and asynchronous communication between service and requestors Messages are loaded with intelligence to support message-level context management Smart messaging promotes stateless and autonomous services
Application Processing
Distributed Internet architecture promotes the use of proprietary communication protocols (DCOM, CORBA) SOA relies on message-based communication Messages use serialization, transmission, deserialization of SOAP messages containing XML payloads RPC communication is faster than SOAP and SOAP processing overhead is a significant design issue
Application Processing
Messaging framework supports a wide range message exchange patterns Asynchronous patterns encouraged Support for stateless services is supported by context management options (WSCoordination, WS-BPEL
Technology
Distributed Internet architecture now includes XML data representation XML and Web services are optional for distributed Internet architecture but not for SOA
Security
When application logic crosses physical boundaries, security becomes more difficult Traditional security architectures incorporate delegation and impersonation as well as encryption SOAs depart from this model by relying heavily on WS-Security to provide security logic on the messaging level SOAP messages carry headers where security logic can be stored
Administration
Maintaining component-base applications involves:
keeping track of individual components tracing local and remote communication problems Monitoring server resource demands Standard database administrative tasks
Distributed Internet Architecture introduces the Web server and its physical environment
Administration
SOA requires additional runtime administration:
Problems with messaging frameworks Additional administration of a private or public registry of services