Chapter 4. Service Oriented Architecture “ Enterprise SOA Service Oriented Architecture Best Practice” 2006-05-17 Byungwook Cho K.
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
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 "
Elements of SOA
SOA is based on four key abstraction
Life cycle of elements in SOA
The estimated lifecycles of data,services, application frontends , and technologies are different
Application front end
Application frontend is
Active player of an SOA
Initiate and control all activity of enterprise system
Service is component of distinctive functional meaning that typically encapsulate a high-level business concept
purpose, functionality, constraint, usage of service
Physical implementation of interface
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.
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.
Service repository is “provides facilities to discover services and acquire all information to user the service “
Service repository is indispensable in long term
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
Development time binding
By reflection method 를 가지고 오지만 , function 에 call 방식을 미리 알 수 없다 . Meta data 로 call 에 필요한 argument 들을 가지고 오고 , 거기에 argument 에 필요한 내용을 mapping 한다 .
* It can be replaced by ESB routing feature
A service bus connects all participants of an SOA services and application frontend
Characteristics of service bus
Heterogeneity of technology
Heterogeneity of communication concept (MEP)
Technical service : logging,auditing,security,transformation,transaction