Service Oriented Computing
Service Oriented Computing
Service Service Oriented Architecture (SOA) Service Oriented Computing (SOC) Reference
Service Service Oriented Architecture (SOA) Service Oriented Computing (SOC) Reference
Programming with
0 and 1 Assembly Procedural programming language OOP programming
Service
An entity that provides some capability to its clients by exchanging messages (request response)
Service
Request
Response
Service
Service
Service
Web Service uses many kind of transport medium: HTTP, SMTP, JMS Web Service can go through firewall easily
8
Registry
Find Bind
Consumer
Publish
Provider
Service Service Oriented Architecture (SOA) Service Oriented Computing (SOC) Reference
10
An architectural style of building software applications that promotes loose coupling between components so that you can reuse them and work within a distributed systems architecture This architecture has been wide-accepted Some SOA product has been built by Oracle (SOA Suite), IBM(Websphere), Microsoft(BizTalk)
11
Service
12
13
14
Is the core of the SOC platform Increases quality of service Greater interoperability Loosely coupled Easier to integrate Increased reuse Reduce costs
15
Service Service Oriented Architecture (SOA) Service Oriented Computing (SOC) Reference
16
SOC is an emerging cross-disciplinary paradigm for distributed computing that is changing the way software applications are designed, architected, delivered and consumed SOC is a new computing paradigm that utilizes services as the basic constructs to support the development of rapid, low-cost and easy composition of distributed applications even in heterogeneous environments
17
The major innovation in SOC is the move from the object oriented paradigm to a service oriented one
Object Oriented: Object: stateful Service Oriented: Service: stateless
18
Features Methodology
Object-oriented computing Application development by identifying tightly coupled classes. Application architecture is hierarchical based on the inheritance relationships.
Service-oriented computing Application development by identifying loosely coupled services and composing them into executable applications.
Application development is often delegated to a single team responsible for the entire life cycle of the application. Developers must have knowledge of application domain and programming.
Development is delegated to three independent parties: application builder, service provider, and service broker. Application builders need to understand application logic and may not know how individual services are implemented. Service providers can program but do not have to understand the applications that use their services.
Code reuse through inheritance of class members and through library functions. Library functions have to be imported at compilation time and are platform dependent.
Code reuse at the service level. Services have standard interfaces and are published on Internet repository. They are platform-independent and can be searched and remotely accessed. Service brokerage enables systematic sharing of services.
Associating a name to a method at runtime. The method must have been linked to the executable code before the application is deployed.
Binding a service request to a service at runtime. The services can be discovered after the application has been deployed. This feature allows an application to be recomposed at runtime.
System maintenance
Users need to upgrade their software regularly. The application has to be stopped to perform the upgrading.
The service code resides on service providers' computers. Services can be updated without users' involvement.
19
All major computer corporations, including BEA, IBM, Microsoft, Oracle, HP, SAP, Intel, Cisco, Juniper, SAP, and Sun Microsystems, have moved towards the SOC paradigm
SOC is being adopted by major computer uses, including banks (Web banking services), retailers (Web shopping services), airlines (Web booking services)
20
Service Oriented Architecture Service Orientation Service Oriented Solution Logic Services Service Compositions Service Inventory
21
Services can be composed of other services Services can be composed by using other services in a business logic
SOC Elements
22
SOC Elements
A service inventory is an independently standardized and governed collection of complementary services within a boundary that represents an enterprise or a meaningful segment of an enterprise
23
Service orientation:
Is a design paradigm comprised of a specific set of design principles Specifies the creation of automation logic in the form of services
SOC Elements
The application of these design principles to the design of solution logic results in service oriented solution logic
24
25
26
27
The more interoperable software programs are, the easier it is for them to exchange information Integration can be seen as a process that enables interoperability
28
29
A federated IT environment is one where resources and applications are united while maintaining their individual autonomy and self-governance SOA aims to increase a federated perspective of an enterprise to whatever extent it is applied
30
31
Vendor diversification refers to the ability an organization has to pick and choose best-of-breed vendor products and technology innovations and use them together within one enterprise Vendor diversification is further supported by taking advantage of the standardsbased, vendor-neutral Web services framework
32
33
Service-oriented computing introduces a design paradigm that promotes abstraction on many levels. One of the most effective means by which functional abstraction is applied is the establishment of service layers that accurately encapsulate and represent business models Services are designed to be intrinsically interoperable directly facilitates business change
34
35
Measuring the return on investment (ROI) of automated solutions is a critical factor in determining just how cost effective a given application or system actually is Service-oriented computing advocates the creation of agnostic solution logiclogic that is agnostic to any one purpose and therefore useful for multiple purposes
36
37
Agility, on an organizational level, refers to the efficiency with which an organization can respond to change Increasing organizational agility is very attractive to corporations, especially those in the private sector
38
39
Consistently applying service-orientation results in an IT enterprise with reduced waste and redundancy, reduced size and operational cost and reduced overhead associated with its governance and evolution
An enterprise can benefit an organization through dramatic increases in efficiency and cost-effectiveness
40
[1] SOA: Principles of Service Design, Thomas Erl, Prentice Hall [2] Introduction to Service oriented computing, W.T.Tsai & Yinong Chen [3] Service oriented computing: Key concepts and principles, Michael N. Huhns & Munindar P.Singh
41
42