11
Chapter 4. Service Oriented Architecture “Enterprise SOA Service Oriented Architecture Best Practice” 2006-05-17 Byungwook Cho K.

Enterprise Soa Concept

Embed Size (px)

DESCRIPTION

Simple concept of SOA

Citation preview

Page 1: Enterprise Soa Concept

Chapter 4. Service Oriented Architecture

“Enterprise SOA Service Oriented Architecture Best Practice”

2006-05-17Byungwook Cho K.

Page 2: Enterprise Soa Concept

What is software architecture?

• “An architecture is the set of significant decisions about organization of a software system” – Booch, Rumbaugh, Jacobson

• “The software architecture of program or computing system is the structure or structure of system, which comprise software elements, the externally visible properties of those elements, and relationships among them” – Brass, Clements, and Kazman

Page 3: Enterprise Soa Concept

What is SOA?

• "A SOA is software architecture that is based on the key concepts of application frontend,service,service repository, and service bus. A service consists of contract (WSDL), interface and implementation "

Page 4: Enterprise Soa Concept

Elements of SOA

• SOA is based on four key abstraction– Application frontend– Service– Service Repository– Service Bus

Page 5: Enterprise Soa Concept

Life cycle of elements in SOA

• The estimated lifecycles of data,services, application frontends , and technologies are different

Page 6: Enterprise Soa Concept

Application front end

• Application frontend is – Active player of an SOA– Service consumer– Initiate and control all activity of enterprise system

Page 7: Enterprise Soa Concept

Service

• Service is component of distinctive functional meaning that typically encapsulate a high-level business concept

• Consists of– Contract

• purpose, functionality, constraint, usage of service

– Interface• Physical implementation of interface

– Implementation• programs, configuration data ,database• Business logic , Data

NOTE : The types of service [ from Service Oriented Architecture - Thomas Erl]Business Service vs Technical Service (utility Service, application service)Process service, Task centric service, Entity centric business service, utility application service.Hybrid application service.

Page 8: Enterprise Soa Concept

Service

• Conceptual structure of service

NOTE: Every service is an entity of distinctive functional meaning that typically encapsulates a high-level business entity. Services impose a strong vertical slicing of application that defines the coarse-grained structure of the whole system.

Page 9: Enterprise Soa Concept

Service repository

• Service repository is “provides facilities to discover services and acquire all information to user the service “

• Service repository is indispensable in long term• It contains

– In addition to service contract : location,provider,contact ,usage fee,technical constraints,security issues and availble service level

– SVC Info,ACL,SLA,Transactional properties of SVC & operation (CRUD)

– In cross enterprise : security,user registration, service subscription,billing and versioning

Page 10: Enterprise Soa Concept

Service repository

• Binding Type– Development time binding– Runtime binding

• By name• By properties• By reflection method 를 가지고 오지만 , function 에 call 방식을

미리 알 수 없다 . Meta data 로 call 에 필요한 argument 들을 가지고 오고 , 거기에 argument 에 필요한 내용을 mapping 한다 .

* It can be replaced by ESB routing feature

Page 11: Enterprise Soa Concept

Service bus

• A service bus connects all participants of an SOA services and application frontend

• Characteristics of service bus– Connectivity– Heterogeneity of technology– Heterogeneity of communication concept (MEP)– Technical service :

logging,auditing,security,transformation,transaction