Introduction to Service Orientation MIS 181.9: Service Oriented Architecture 2 nd Semester,
Learning Objectives ► At the end of this section, students should be able to ► understand the key principles of service orientation ► Give different examples of services and principles applied in different contexts
Have you availed of a service lately? ► Food service ► Gift-wrapping service ► Cleaning service ► Haircut service ► Transportation service ► Car repair service ► Security service ► Communication service ► Internet connection service ► Electricity service
Group Assignment ► Choose a specific service that you are familiar with. Identify a specific provider of this service ► Answer the following: ► What is the name of the service/s provided? ► How do potential users know of such services? ► Who avails of this service? Do they belong to only one category? ► What do they use as basis of what to be done to complete the service? ► What are the different steps/ components needed to be done to complete the service? ► Do they require other entities to complete the services? Are these relationships perpetually exclusive? ► Who makes the decision on the services as they are executed?
Service-Orientation Design Principles ► Service loose coupling ► Service contract ► Service abstraction ► Service reusability ► Service composability ► Service componentization ► Service autonomy ► Service optimization ► Service encapsulation ► Service provisioning ► Service discoverability ► Service identification ► Service metrics
Service Loose Coupling ► Coupling: connection or relationship between 2 things ► Independent design and evolution of a service ► Continue interoperability with clients
Service Loose Coupling ► Allows a service to become agile ► Ability to adapt to changes in the external environment ► Limits dependencies on another service ► Allows a requestor to tap other services
Standardized Service Contract ► Used to express the purpose and capabilities of services ► Formal interface that clearly defines what it does ► Defined during analysis and design of SOA applications
Service Contract ► Provides formal definition of: ► Service endpoint ► Each service operation ► Every input and output message supported by each operation ► Rules and characteristics of the service and its operations ► Examples: ► WSDL (Web Service Definition Language) ► XSD (XML Schema Definition)
Web Service Definition Language … <schema targetNamespace=" xmlns=" …
XML Schema Definition …
Service Contract
Service Abstraction ► Encapsulates the technologies, capabilities offered by a service ► Service interface-level abstraction ► Services are black boxes: details are hidden from the outside world ► Services: containers of the operations ► Requestor is only concerned of the output
Service Reusability ► Allows a service to accommodate future requirements with less development effort ► For all kinds of reuse ► Inter-application interoperability ► Creation of cross-cutting utility services ► No need for wrapper services ► Generic interface ► Real world services: there for anyone who requests for it ► Library Service ► Car Wash Service
Service Composability ► Service can represent different operations, including other services ► Allows a service to participate as members of other service compositions
Service Composability
Service Componentization ► must have well defined interfaces ► must not share state ► must communicate by messages.
Service Autonomy ► Range of logic exposed by a service exist within an explicit boundary ► Allows a service to execute self-governance of all its processing ► Eliminates dependencies on other services ► But does not grant a service exclusive ownership of logic it encapsulates ► Control is guaranteed ONLY at the time of EXECUTION
Service Optimization ► must be constructed modularly ► coded unambiguously ► be highly secure ► designed for high performance and scalability
Service Encapsulation ► separates the contractual interface from its implementation ► internal mechanisms and data structures of a service are hidden behind a defined interface ► allows for changes and improvements to the service without impacting service consumers ► allows the service to be replaced or superseded with another service that supports the same interface
Service Provisioning ► Each service shall have a provider responsible for provisioning the service ► service consumers - those with needs who make use of services
Service Discoverability ► Discovery helps avoid the accidental creation of redundant services ► Metadata attached to a service needs to sufficiently describe functionality offered by its operations ► Accomplished with service registry ► Must be easily identified by their purpose ► Must be easily found by other agencies
Service Identification ► Services must be uniquely identified, secured and versioned
Service Metrics ► Provides information for quality of service, performance, and reuse ► Helps agencies plan for and maintain services
References ► ► Chapter 8, Service-Oriented Architecture: Concepts, Technology, and Design by Thomas Erl ► Standards.doc