Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Service-Orientation

Similar presentations


Presentation on theme: "Introduction to Service-Orientation"— Presentation transcript:

1 Introduction to Service-Orientation

2 Outline SOA definition and its business and technology values
Service-orientation vs. object-orientation Service-oriented architecture vs. distributed object architecture 2019/4/25

3 A CD Player Example Take a CD for instance. If you want to play it, you put your CD into a CD player and the player plays it for you. The CD player offers a CD playing service. Which is nice because you can replace one CD player with another. You can play the same CD on a portable player or on your expensive stereo. They both offer the same CD playing service, but the quality of service is different. 2019/4/25

4 The SOA Story Application 1 Application 2 Business Process
Auto-searchable Found Service broker Services Registration Registration Registration An SOA enables software components to become standard services that can be invoked at runtime or on demand. A business-driven SOA strategy will help focus on the goal of Dynamic Business Interoperability and lead to achievement of desired business outcomes. Organization X Organization Z Organization Y Component Library 2019/4/25

5 Why Service-Orientation?
Distributed Data Distributed Computation Distributed users ….. 2019/4/25

6 Why Service-Orientation?
Interoperation issues Heterogeneous network protocols Heterogeneous hardware platforms Heterogeneous operating systems Heterogeneous application formats …… There must be consensus On Interoperability ! 2019/4/25

7 Why Service-Orientation?
Changing Market Dynamics Business Technology Business process decision-making Rigid organizational structure Slow and steady economic growth Long-term product lifecycle Passive operational risk management Fixed Costs Proprietary systems Labor-intensive Users adapt to technology Static On Demand Collaborative, integrated value nets Dynamic, adaptive, learning Unpredictable fluctuations Shortening product lifecycle Proactive risk management Increased focus on privacy and security Variable costs Open, integrated systems Self-healing, self-managing systems Technology adapts to users 2019/4/25

8 Why Service-Orientation?
2019/4/25

9 Technology Drivers Software architecture design principles Abstraction
Separation of concerns Anticipation of changes Design with reuse 2019/4/25

10 Related Concepts SOA Enterprise Integration Object BPM Oriented
CBSD Distributed Computing Web Application CBSD: Component-Based Software Development BPM: Business Process Management 2019/4/25

11 SOA Evolution SOA Paradigm Program Distributed Computing 1950 1960
1970 1980 1990 2000 Assembler COBOL SIMULA Pascal Modular2 Smalltalk PROLOG Ada C++ Java C# VT3270 VT100 Client/Server RPC Stored Procedure TCP/IP CORBA EAI WWW MQ EJB NFS WSDL SOAP SOA 2019/4/25

12 SOA Characteristics Based on open standards
Foster inherent reusability Foster intrinsic interoperability Emphasizes extensibility Fundamentally autonomous Promotes dynamic discovery Promotes architectural composability Promotes loose coupling throughout the enterprise Supports incremental implementation 2019/4/25

13 Service Orientation vs. Object Orientation

14 Conceptual Relationship
Several principles of service-orientation are related to and derived from object-orientation principles. abstraction -- decomposition Encapsulation Reusability Interface first -- Loose coupling Composition Autonomy Statelessness -- Discoverability Some object-orientation principles, such as inheritance, do not fit into the service-orientation world. Some service-orientation principles, such as loose coupling and autonomy, are not directly promoted by object-orientation. 2019/4/25

15 Conceptual Differences
Service-Orientation Object-Orientation Loose coupling between units of processing logic. Based on predefined class dependencies, resulting in more tightly bound objects. Coarse-grained interfaces (service description) Message-based communication Fine-grained interfaces (APIs), Communication based on RPC or local API calls. Large unit of processing logic (service), May vary significantly in scope. Unit of logic (object) tend to be smaller and More specific in scope. Promotes the creation of activity-agnostic units of processing logic (services) that are driven into action by intelligent units of communication (message). Encourages the binding of processing logic with data, resulting in highly intelligent units (object). Prefers that units of processing logic (services) be designed to remain as stateless as possible. Promotes binding of data and logic, resulting In the creation of more stateful units (objects). 2019/4/25

16 The Paradigm Shift Technology & Methodology Programming Language
OOAD OO Framework OODB OO Process model Technology & Methodology Simula Smalltalk Objective C C++ Java Programming Language UML Modeling Object-Oriented Concept & Architecture XML UDDI ebXML WSDL SOAP OWL Standard Specification MDA SO Framework Ontology / Service DB SO lifecycle process Technology & Methodology BPEL WSFL XLANG Modeling Service-Oriented Concept & Architecture 2019/4/25

17 Service Oriented Architecture vs. Distributed Object Architecture

18 Distributed System Architecture
Server Data Management Application Processing Two Tier with Thin Client Client Presentation Presentation Application Processing Server Data Management Two Tier with Fat Client Client Presentation Server Application Processing Server Data Management Client Three Tier 2019/4/25

19 Multi-Tier System Architecture
RPC-based Client and middleware server is tightly coupled Remote Object based Remote objects communicates through standard interface languages Object models: OMG CORBA, SUN Java RMI, MS DCOM Web based Browser + “Dynamic content generation” Enabling techniques: CGI, Java Servlet/JSP, MS ASP 2019/4/25

20 J2EE Application Architecture
Enterprise Information System Client Side Presentation Server Side Presentation Server Side Business Logic Browser Web Server EJB Container Pure HTML JSP EJB Java Applet JSP EJB Desktop Java Servlet EJB Java Application Other Device J2EE platform J2EE platform J2EE Client 2019/4/25

21 J2EE Middleware Architecture
2019/4/25

22 J2EE Interoperability 2019/4/25

23 J2EE Services HTTP/HTTPS
JAAS – Java Authorization and Authentication Service JTA – Java Transaction API JNDI – Java Naming and Directory Service RMI-IIOP JDBC – Java DataBase Connectivity JMS – Java Message Service JavaMail JAXP – Java API for XML Parsing Java IDL …… 2019/4/25


Download ppt "Introduction to Service-Orientation"

Similar presentations


Ads by Google