Introduction Service Component Architecture Service Data Objects Implementations Summary State of the Art of Service Component Architecture Marco Creola Supervisor: Dr. Hasan Professor: Dr. Burkhard Stiller University of Zurich, Departement of Informatics (IFI) December 16, 2010 Marco Creola, 99-708-174 Service Component Architecture
Introduction Service Component Architecture Service Data Objects Implementations Summary 1 Introduction 2 Service Component Architecture 3 Service Data Objects 4 Implementations 5 Summary Marco Creola, 99-708-174 Service Component Architecture 2
Introduction Service Component Architecture Description of the Work Service Data Objects Overview Implementations Service-oriented Architecture (SOA) Summary 1 Introduction Marco Creola, 99-708-174 Service Component Architecture 3
Introduction Service Component Architecture Description of the Work Service Data Objects Overview Implementations Service-oriented Architecture (SOA) Summary Description of the Work ❼ Understand principles of Service-oriented Architecture (SOA) ❼ Learn about Service Component Architecture (SCA) and Service Data Objects (SDO) ❼ Study SCA runtime implementations and show differences of these implementations Marco Creola, 99-708-174 Service Component Architecture 4
Introduction Service Component Architecture Description of the Work Service Data Objects Overview Implementations Service-oriented Architecture (SOA) Summary Overview ❼ Massive growth of software architectures in the past years ❼ Growth was mostly out of control ❼ Consequences: ❼ Complex architectures ❼ Not maintainable (or only with very high costs) ❼ Possible solution to overcome these shortcomings: SOA Marco Creola, 99-708-174 Service Component Architecture 5
Introduction Service Component Architecture Description of the Work Service Data Objects Overview Implementations Service-oriented Architecture (SOA) Summary SOA - Principles ❼ Many definitions ❼ Primary goal: implement business processes more efficient to provide better solutions ❼ Business process = service or composition of services ❼ Software criterias: loose coupled, encapsulated, modular, composable, reusable and as a service ❼ Rather an evolution than a revolution: combines best practices of previous software architectures Marco Creola, 99-708-174 Service Component Architecture 6
Introduction Service Component Architecture Description of the Work Service Data Objects Overview Implementations Service-oriented Architecture (SOA) Summary SOA - Implementations ❼ SOA specification does not define the implementation ❼ Most implementations use web services (more platform independent, qualified for distributed systems) ❼ Service Component Architecture (SCA) is such an implementation Marco Creola, 99-708-174 Service Component Architecture 7
Introduction Overview Service Component Architecture SCA Component Service Data Objects SCA Composite Implementations SCA Domain Summary Example 2 Service Component Architecture Marco Creola, 99-708-174 Service Component Architecture 8
Introduction Overview Service Component Architecture SCA Component Service Data Objects SCA Composite Implementations SCA Domain Summary Example Overview ❼ SCA specification by OASIS 1 ❼ OASIS is a consortium (with members like IBM, Oracle and Red Hat) ❼ Current version of specification is 1.0 (2007) (currently working on v1.1) ❼ Main characteristics ❼ Simplify and unify service-oriented paradigm ❼ Implement business processes (= services) as components and composites to create and to connect business logic (nesting) ❼ Flexible use of communication (inter SCA and with non-SCA) ❼ Programming language and platform independent 1 Organization for the Advancement of Structured Information Standards Marco Creola, 99-708-174 Service Component Architecture 9
Introduction Overview Service Component Architecture SCA Component Service Data Objects SCA Composite Implementations SCA Domain Summary Example SCA Component ❼ Basic element of SCA ❼ Represents a business process or a single task within a business process Source: OASIS: SCA Version 1.00, March 2007. Marco Creola, 99-708-174 Service Component Architecture 10
Introduction Overview Service Component Architecture SCA Component Service Data Objects SCA Composite Implementations SCA Domain Summary Example SCA Composite Source: OASIS: SCA Version 1.00, March 2007. Marco Creola, 99-708-174 Service Component Architecture 11
Introduction Overview Service Component Architecture SCA Component Service Data Objects SCA Composite Implementations SCA Domain Summary Example SCA Domain Source: D. Chappell: Introducing SCA, Whitepaper, 2007. Marco Creola, 99-708-174 Service Component Architecture 12
Introduction Overview Service Component Architecture SCA Component Service Data Objects SCA Composite Implementations SCA Domain Summary Example Example with Java - I Marco Creola, 99-708-174 Service Component Architecture 13
Introduction Overview Service Component Architecture SCA Component Service Data Objects SCA Composite Implementations SCA Domain Summary Example Example with Java - II 1 public interface AddService { 2 int add(int n1 , int n2); 3 } 1 public class AddServiceImpl implements AddService { 2 3 public int add(int n1 , int n2) { 4 return n1 + n2; 5 } 6 7 } Marco Creola, 99-708-174 Service Component Architecture 14
Introduction Overview Service Component Architecture SCA Component Service Data Objects SCA Composite Implementations SCA Domain Summary Example Example with Java - III Marco Creola, 99-708-174 Service Component Architecture 15
Introduction Overview Service Component Architecture SCA Component Service Data Objects SCA Composite Implementations SCA Domain Summary Example Example with Java - IV 1 @Remotable 2 public interface CalculatorService { 3 String getResult(int n1 , int n2); 4 } 1 public class CalculatorServiceImpl implements CalculatorService { 2 3 @Property 4 public String myProperty ; 5 6 @Reference 7 private AddService addService ; 8 9 public String getResult(int n1 , int n2) { 10 // Note: no instantiation (e.g. addService = new AddServiceImpl ()) 11 return myProperty .concat(addService .add(n1 , n2)); 12 } 13 14 } Marco Creola, 99-708-174 Service Component Architecture 16
Introduction Overview Service Component Architecture SCA Component Service Data Objects SCA Composite Implementations SCA Domain Summary Example Example with Java - V Service Component Definition Language (SCDL, ”skiddle”): 1 <composite name=" CalculatorComposite "> 2 3 <component name=" CalcServiceComponent "> 4 5 <implementation .java class=" CalculatorServiceImpl "/> 6 7 <reference name="addService " target=" AddServiceComponent " /> 8 9 <property name=" myProperty ">The result is </ property > 10 11 <service name=" CalculatorRemote "> 12 <binding.ws uri="http :// www.example.com/ calculator "/> 13 </service > 14 15 </component > 16 17 <component name=" AddServiceComponent "> 18 <implementation .java class=" AddServiceImpl "/> 19 </component > 20 21 </composite > Marco Creola, 99-708-174 Service Component Architecture 17
Introduction Overview Service Component Architecture SCA Component Service Data Objects SCA Composite Implementations SCA Domain Summary Example Example with Java - VI 1 <composite name=" CalculatorComposite "> 2 3 <component name=" CalcServiceComponent "> 4 5 <implementation .java class=" CalculatorServiceImpl "/> 6 ... 7 8 </component > 9 10 <component name=" AddServiceComponent "> 11 <!-- Ruby code --> 12 <implementation .script script=" AddServiceImpl .rb"/> 13 </component > 14 15 </composite > Marco Creola, 99-708-174 Service Component Architecture 18
Introduction Overview Service Component Architecture SCA Component Service Data Objects SCA Composite Implementations SCA Domain Summary Example Example with Java - VII 1 <composite name=" CalculatorComposite "> 2 3 <component name=" CalcServiceComponent "> 4 5 ... 6 7 <service name=" CalculatorRemote "> 8 <binding.ws ... /> 9 <binding.jsonrpc ... /> 10 </service > 11 12 </component > 13 14 ... 15 16 </composite > Marco Creola, 99-708-174 Service Component Architecture 19
Introduction Overview Service Component Architecture SCA Component Service Data Objects SCA Composite Implementations SCA Domain Summary Example Example with Java - VIII Marco Creola, 99-708-174 Service Component Architecture 20
Recommend
More recommend