-
Course Code
ΨΣ-ΔΚ-513
Type of Course
Mandatory [M]
-
Semester
1st Semester
-
ECTS Credits
7,5
Objective
In the past, organizations have adopted computer applications to improve and automate their business processes. These applications have not been implemented according to a strategic plan or based on a common integrated IT infrastructure. Instead, it was based on the needs of each individual department of the company and always according to current technologies. Thus, most organizations have developed information infrastructures consisting of a set of autonomous and in many cases heterogeneous systems. As a result, the need for automated and integrated business processes has increased over the years but organizations were unable to build an integrated IT infrastructure as heterogeneous applications have had several connection problems. In recent years Service Oriented Architectures (SOA) and technologies are widely used to help organizations overcome these problems. In this context, the objective of this course is to study SOA model and it emphases on the analysis, design and development of SOA based applications. Upon completion this course, students will be able to implement service oriented systems and architectures.
Course Contents
- Service Oriented Architectures (SOA): The integration problem and the need for flexible and efficient integrated IT infrastructures, Service Oriented Architectures, architectural principles, architectural model, SOA rules, best practices, building blocks.
- Designing service oriented architectures: SOA applications’ lifecycle, techniques and SOA development methodologies, top down methodology, bottom up methodology, middle out methodology, comparison and evaluation of SOA development methodologies, best practices, examples.
- Web services: Definitions, roles, functions, characteristics and attributes, web services types, service hierarchies, examples and exercises.
- Lab 1 – XML: Structure of XML documents, valid XML documents, introduction to schema languages, document type definition (DTD), structure of DTD, presentation of XML schema, querying XML documents, the XPath language, XPath axes, XPath query formulation, examples of XPath querying, the XQuery language, XQuery syntax, XQuery examples.
- Lab 2 – XML: Development of dynamically transformed web pages with XSL, the XSLT language, XSLT processing, XML web application development using XML data management systems, XML storage in relational databases, XML storage in native XML databases.
- SOAP, REST, WSDL and UDDI: SOAP message structure, SOAP bindings, REST message structure, REST Vs SOAP, WSDL, types, WSDL message, WSDL functionality, ports, ports types, bindings, UDDI, data definition, data types, interfaces, application development, SOAP and UDDI, WSDL and UDDI.
- Quality of service (QoS): Definition of QoS, service requirements, user requirements specification, domain independent, domain depended services, service providers and QoS, security requirements, selection and matching of web service depending on the quality requirements of the client application, factors affecting QoS, pricing and QoS.
- Lab 3 – web services programming: Hands on training on Microsoft Visual Studio .Net, building web services and service oriented architectures with C#, service interfaces, user interfaces, connecting web services with databases and external systems or services, examples, exercises.
- Orchestration and choreography: Basic principles and definitions, orchestration, choreography, differences between choreography and orchestration, BPEL structure, message flow, control flow, data flow, data handling, fault management, activities, examples and exercises.
- SOA security: Risks and threads, confidentiality, authentication, integrity, security services, WS-Security, security policies, firewalls, message-level security, security as a service, standards of service security, SOAP related security, web services security framework.
- Michael Papazoglou (2008): Web Services: Principles and Technology’, Pearson, Prentice Hall, New York, ISBN: 0321155556.
- Thomas Erl (2009): SOA Design Patterns, The Prentice Hall Service-Oriented Computing Series, Prentice Hall, London, ISBN: 0136135161.
- David Linthicum, (2009), “Cloud Computing and SOA Convergence in Your Enterprise: A Step-by-Step Guide”, Addison-Wesley Professional, New York, ISBN 0136009220.
- Sanjiva Weerawarana, Francisco Curbera, Frank Leymann and Tony Storey (2005): Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging, and More, Prentice Hall, New York, ISBN: 0131488740.
Additional Readings
- Marc Fiammante, (2009): Dynamic SOA and BPM: Best Practices for Business Process Management and SOA Agility. IBM Press, ISBN: 0137018916.
- Paul Brown (2007). ‘Succeeding with SOA: Realizing Business Value Through Total Architecture’, Addison-Wesley Professional.
- Nicolai Josuttis, (2007): SOA in Practice: The Art of Distributed System Design (Theory in Practice), Paris, ISBN 0596529554.
- Thomas Erl (2005): Service-Oriented Architecture (SOA): Concepts, Technology, and Design, Prentice Hall, London, ISBN: 0131858580.
- Eric Marks, (2008): Service-Oriented Architecture (SOA) Governance for the Services Driven Enterprise, John, Wiley and Sons Inc, New York, ISBN: 0470171251.