Microsoft's SOA in the real world note 08-Chapter 1

Source: Internet
Author: User

Microsoft's SOA in the real world note 08-Chapter 1 General architecture functions and SOA abstract modelsWe can also use these five common architecture functions as a set of perspectives for observing and understanding SOA abstract models. These five architecture functions can serve as a set of lenses to help us observe and better understand the challenges we face, including exposing existing IT investments as services, combine service groups into business processes and use them between organizations. Expose expose Service enablementExposure focuses on how to design and expose services. What we are most likely to do is to expose it investment to Web Services. As the organization matures, we may begin to add new services, most likely as proxies for resources within the Organization. The most difficult part of service implementation is to determine where to start. Motion is a methodology that provides some guidance for identifying business capabilities that cocould be exposes as services. Which of the following best practices can be used to expose it investments as services?
  • Think big, but from an early age
  • Show value at every step along the way-not build it and they will come
  • Starting from the middle, middle-out-not top-down or bottom-up
  • Be pragmatic
  • Vertical-slice-not build it and they will come
  • Risk-mitigation
  • Iteration, demonstrate value in rapid iterations-not waterfall
  • New approaches to development
  • Successful MERs "Snowball"
When exposing it investment as a service, rethinking the architecture features prompted us to seriously consider them. Here we will quickly look at the considerations for each function related to service exposure (certainly not a complete list ): Messaging and services
  • Determining what to expose and how-avoid falling into the granularity trap-focus on meeting your business requirements
  • Service Operation Contracts
  • Message and data contracts
  • Configuration, behaviors and Control
  • SLAs
  • Governance
  • Versioning
  Workflow and process
  • Coordinator services for distributed, long-running processes
  • Tracking services capable of logging specific events within a Workflow
  • Compensation services
  Data
  • Entity services
  • Entity aggregation services: acts as a single point to access information that may exist in multiple systems. An entity aggregation Service has the following responsibilities:
Ø acts as a unified source of entities. ø provides a holistic view of an entity. provides a holistic view of the entity model-entities and their relationships with other entities ø provides location transparency-consumers of the entity aggregation layer do not need to know who owns the information. enforces business rules that determine the segments of entities retrieved in a given context. ø d Etermines the system of record for each data element constituting an entity. enriches the combined data model contains ss systems-the whole being better than the sum of its parts. entity factoring MDM focuses on exposing data across enterprise or department boundaries. We will discuss MDM in Chapter 4 in detail. User Experience
  • Specialized services for supporting user interfaces (caching resources, communications between UI and services, etc). Service wrappers provide coarse-grained interfaces for user app consumption, lightweight mash-ups, etc.
  Identity and access
  • Identity management
  • Impersonation and delegation services
  • Trusted subsystem-a trusted subsystem model implies that services are trusted to perform specific tasks, such as processing customer orders.
  • Authentication (Kerberos, SSL)
  • Role-Based Access Control (RBAC)
  • Create/Revoke trust relationships
Services need to make authorization decisions, such as approving an order submission before into the business transaction. the service must know the identity of the end user submitting the order. need to flow the identity of the end user is an inherent property of the delegation model, it is not so for the trusted subsystem model and special efforts must be made to include this feature. to support the notion of trust as defined by the model, the services must at least be able to: 1. authenticate/verify identity of upstream/downstream services 2. decide if the service is a trusted subsystem for specific functions (including propagating identity claims) 3. protect the integrity of the data being communicated between trusted subsystem and services. besides application data, application plumbing data, such as the identity claims of the original user, must also be protected so that no man-in-the-middle can modify the identity information that is in transit. Compose Service CompositionThe combination focuses on how to integrate service groups of various granularities into more complex processes. The most likely way to start is to use services to expose existing IT investments. A Service combination creates new services that can be used by other departments. The combination provides functions such as Asynchronous service calling and long-interval process, as well as the functions of the orchestration autonomous service. The recurring specified tural capabilities provide us with a set of considerations when composing granular services into complex processes. let's take a quick look at some of the considerations associated with each capability for service composition (this is by no means a complete list ): Messaging and services
  • Service interaction patterns
  • Exposing orchestrations as services
  • Asynchronous service invocation patterns
  Workflow and process
  • Transactions
  • High frequency of change
  • Business Rules
  • Service orchestration
  • Service interaction patterns (SIPs)
  • Process externalization
  • Long Running Processes
  • Auditing and analytics
  Data
  • Tracking the state of a given workflow instance
  • Data Transformation (ETL)
  • Reliable message processing and storage
  • Replication
  • Synchronization
  • Metadata Repository and Management
  • Instance reconciliation
  • Schema reconciliation
  • Document Replication
  • Syndication/aggregation
  User Experience
  • Composite applications (obas)
  • Human workflows (MOSS)
  • Orchestrations initiate human workflows via SharePoint Adapter
  • Pageflows
  Identity and access
  • Impersonation and Delegation
  • Provisioning
  • Identity repository Synchronization
  • Approval workflows
  Consume User ExperienceConsumption focuses on how other services, applications, and end users use services and orchestrate business processes (which can be exposed as services ). Any resource that can interact with the service can become a "consumer ". Consumers in an organization can appear in the following ways:
  • Lightweight, browser-based applications
  • Rich internet applications (RIA) are browser-based applications that can address and cache local and remote resources
  • Retriable, portal-based user experiences
  • Applications that are installed on the local machine (such as a custom windows application)
  • Revoke ate business applications with solution-specific extensions (such as Microsoft Office with context-aware activity PANES)
  • Applications designed for mobile devices
  • Services may act as consumers of other services
Remember that the SOA model is fragment-services can be used by other services, and service combinations can be exposed as new services. In the past few years, a new consumer has appeared, which can be combined to allow more consumers to use it. This new consumption type is usually called "mashup ". Mashup refers to a group of services, websites, or applications that can combine content from multiple resources into a new integrated user experience. The content used by mashup is usually obtained from a third party (service or website) through a public interface or API. Alternative methods for providing resources for mashup include newsfeeds and JSON (JavaScript construct ). The recurring specified tural capabilities provide us with a set of considerations for user experience. let's take a quick look at some of the considerations associated with each capability for user experience (this is by no means a complete list ): Messaging and services
  • Forms-based service consumption
  • Web parts
  • Service Registry-check in/check out/search
  • Ajax, rest
  Workflow and process
  • Human workflows (MOSS)
  • Event brokering (CAB)
  • Page Flows
  Data
  • Entities (Oba business data catalog)
  • Single View of the customer problem
  • JSON
  User Experience
  • Composite applications (obas)
  • Personalization, User Profiles
  • Portals
  • Business
  • Intelligence
  • Reporting
  • Content Aggregation
  • Declarative UX
  Identity and access
  • Single Sign-On (password synchronization)
  • User Identification
  • Role-Based Access (RBAC)
  • Directory Services
  • Password Management
  • Privacy (firewils, encryption)
  • Compliance
  SummaryThis chapter provides some useful analogy for understanding the fragtal characteristics of SOA. Services are the basic construction blocks of SOA, but services are not necessarily Web Services. Ideally, the Service should follow four design principles that describe a group of best practices for service demarcation, service dependency, service communication, and strategic configuration. Because these principles focus on service design, it is very important to realize that services cannot be a separate solution architecture-Microsoft uses an abstract reference model to describe different aspects of SOA. The SOA abstract reference model provides three basic concepts to help most organizations understand the role of services in the solution architecture:
  • ExposeFocuses on how existing IT investments are exposed as a set of broad, standards-based services, enabling these investments to be available to a broader set of consumers.Service implementation architectureDescribes how services are developed, deployed and managed.
 
  • ComposeFocuses on combining services into applications or cross-functional business processes.Service integration architectureDescribes a set of capabilities for composing services and other components into larger constructs such as business processes.
 
  • ConsumeFocuses on delivering new applications that enable increased productivity and enhanced insight into business performance.Service Oriented application architectureDescribes how-composed services ‖ are made available for consumption through as business processes, new services or new end-user applications.
The exposure/combination/consumption abstraction reference model provides five architecture functions: messaging and services, workflow and processes, data, user experience and identity and access. Each aspect of the expose/compose/consume abstract reference model encompasses a set of five recurring specified tural capabilities:. The five provided tural capabilities serves as a set of views to better understand the associated ExposingExisting IT investments as services, ComposingThe services into business processes and ConsumingThese processes processing ss the organization. In the chapter two we will enter into a more detailed analysis of both service orientation and Messaging and servicesInvalid tural capability.

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.