Exam preparation Explain the layers of the SOA concept model o Business Process Layer o Orchestration Service Layer o Application Service Layer o Components Layer Map the concept model to the prototype o What layers are implemented in the prototype o Explain what we have done according to the layers Short discussion of the degree of SOA in the prototype Collection of WS-Services Service orchestration o Autonomous Description of services according to: Are not autonomous o Control of execution environment o Control of the persistent layer/database layer o What has been left out of the layers? How can this be achieved? Examples Consequences o Tight coupling between client and service o Fine-grained services vs. coarse-grained services [Linkage between SOA and WS/JAX-RPC/Prototype….] Explain the linkage between them all. SOA vs. OOAD o Service-Orientation Principle and Related Object-Orientation Principles Service reusability Object Oriented Principals or Goals like: o Reusable classes o Abstraction o Encapsulation Service reusability can be seen as a continuation of OOP Service contract Use of service contracts and interfaces when building object-oriented application Use of WSDL o Similarities as a abstraction of the description of a class Service loose coupling Use of interfaces decouples a class from the user Coupling is on of the primary concepts of SOA Use of inheritance and OOP o More tight coupling between units of processing logic o SOA design approach provides a more loose coupling Service abstraction OOP principal of abstraction requires an interface for a class Encapsulation support this concept by information hiding o Any logic within a class exposed via the interface is not accessible to the external world. o Abstraction in SOA accomplishes much of the same as OOP encapsulation. Hide the underlying details of the service Service contract is available and offered to the service provider. Service composability The association concept is supported in OOP. SOA also makes support for this principle. Hierarchy of objects can be composed in OOP. Hierarchy of services can be composed in SOA. Service autonomy Achieving a level of independence between units of processing logic is made possible in SOA => loosely coupled relationship between services. OOP provides references through object and inheritance based dependencies within object-oriented design. o Lower degree of object-level autonomy. Service statelessness In OOP objects keeps state through classes and data that are stateful. Stateless services differ from objects in OOP. Possible to create stateful services and stateless objects o Statelessness is emphasized in SOA. Service discoverability Interfaces in OOP should be designed to be: o consistent o descriptive Can ease to distinguish and identify units of processing logic. o Also makes it possible to support reuse by allowing classes to be more easily discovered. Discoverability is also a principal supported in SOA o Services can be discovered Service contracts be as communicative as possible to support discoverability at the design time and run time. Registry o Use of dynamic lookup o How client types make use of dynamic lookup of services Client types Generated stubs clients Proxy clients DII clients o How can it be used in a dynamic look-up client? o How much information is required at development time? o Not used by the prototype o Advantages/disadvantages with this client type Complex types o Usage scenario Use of complex types o [Model of the concept] o Client types and usage of complex types Proxy clients DII clients Mapping of Java collections? [Second generation Web services ] o Java/XML mapping Mapping Java to XML How this is done o Mapping of collections o Interoperability – consequences o Complex types Are Web services suited for SOA