Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.

Similar presentations


Presentation on theme: "1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University."— Presentation transcript:

1 1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University

2 Outline 1. Introduction 2. Service-Oriented Architecture 3. Metadata Description Languages 4. Requirements of SOA 5. Design Principles of SOA 6. Types of SOA 7. Characteristics of SOA 8. Basic Web Service 9. Summary 2

3 SOA: Service-Oriented Architecture Lecture: 14 3

4 1. Introduction A facility supplying some public demand The work performed by one that SERVES, HELP, BENEFIT A Windows Service?  RPC Locator, EventLog, DHCP Client Software Service?  Distribution Service, Alert Service  Security Service, Log Service 4

5 Introduction (Continue…) Services are unassociated, loosely coupled units of functionality that have no calls to each other embedded in them Each service implements one action,  Filling out an online application for an account  Viewing an online bank statement  Placing an online booking or airline ticket order Services use defined protocols that describe how services pass and parse messages using description metadata 5

6 2. Service-Oriented Architecture (SOA) A service-oriented architecture is a set of principles and methodologies for designing and developing software in the form of interoperable services These services are well-defined business functionalities that are built as software components that can be reused for different purposes SOA design principles are used during the phases of systems development and integration SOA defines how to integrate widely disparate applications for a Web-based environment and uses multiple implementation platforms 6

7 Service-Oriented Architecture (SOA) (Continue…) SOA generally provides a way for consumers of services, such as web-based applications, to be aware of available SOA-based services Rather than defining an API, SOA defines the interface in terms of protocols and functionality  For example, several disparate departments within a company may develop and deploy SOA services in different implementation languages; their respective clients will benefit from a well-defined interface to access them  XML is often used for interfacing with SOA services, though this is not required 7

8 Service-Oriented Architecture (SOA) (Continue…) Service-orientation requires loose coupling of services with operating systems and other technologies that underlie applications SOA separates functions into distinct units, or services, which developers make accessible over a network so users can combine and reuse them These services and their corresponding consumers communicate with each other by passing data in a well-defined, shared format, or by coordinating an activity between two or more services 8

9 Service-Oriented Architecture (SOA) (Continue…) SOA developers associate individual SOA objects by using orchestration  The developer associates software functionality (services) in a non-hierarchical arrangement using a software tool  The tool contains a complete list of all available services, their characteristics, and the means to build an application utilizing these sources  Flexiant Cloud Orchestrator, ActiveVOS, Apache ODE (Orchestration Director Engine) are few tools examples Programmers have made extensive use of XML in SOA to structure data that they wrap in a nearly exhaustive description-container 9

10 3. Metadata Description Languages The Web Services Description Language (WSDL) typically describes the services themselves, while the Simple Object Access Protocol (SOAP) describes the communications protocols The metadata should posses following properties  The metadata should come in a form that software systems can use to configure dynamically by discovery and incorporation of defined services  The metadata should come in a form that system designers can understand and manage with a reasonable expenditure of cost and effort 10

11 4. Requirements of SOA There are two requirements of SOA  Interoperability among different systems and programming languages that provides the basis for integration between applications on different platforms through a communication protocol  Desire to create a federation of resources. Establish and maintain data flow to a federated database system. This allows new functionality developed to reference a common business format for each data element 11

12 5. Design Principles of SOA Four important design principles include; 1. Consistency  There are many candidate technologies for creating, publishing, discovering, and invoking services  An SOA should provide a reference architecture specifying particular mechanisms that service providers and consumers will use (consistency) 2. Simplify the Development  Any enterprise-scale SOA infrastructure should be both scalable and resilient  It should also include industrial-strength Enterprise Service Bus (ESB) and security technologies 12

13 Design Principles of SOA (Continue…) 3. Standard, formally defined, machine-readable interfaces  When we describe interfaces using a well defined machine-readable language, we enable a broad range of tooling capabilities  We strongly favor the use of formally-defined open standard languages such as WSDL (decoupling) 4. Reusability  Service designers should keep in mind that any service they product can potentially become a reusable asset  The designers should not exclusively focus on requirements of the initial consumers of a service, 13

14 6. Types of SOA 1. Service Architecture  The physical design of an individual service that encompasses all the resources used by a service  This would normally include databases, software components, legacy systems, identity stores, XML schemas etc. 2. Service Composition Architecture  The service-orientation design paradigm is composition- centric  A composition of the individual architectures of the participating services 14

15 Types of SOA (Continue…) 3. Service Inventory Architecture  A service inventory is composed of services that automate business processes  Documenting the requirements of services, independently from the business processes that they automate, helps identify processing bottlenecks 4. Service-oriented Enterprise Architecture  This umbrella architecture incorporates service, composition and inventory architectures and any enterprise-wide technological resources accessed by these architectures 15

16 7. Characteristics of SOA Services have platform independent, self describing interfaces (XML) Messages are formally defined Services can be discovered Services have quality of service characteristics defined in policies Services can be provided on any platform 16 SOASOA Interoperable Loosely Coupled Re-Usable Composable

17 8. Basic Web Services 17 WSDL Web Service (J2EE, PL/SQL,.NET,C/C++, Legacy …) Web Service (J2EE, PL/SQL,.NET,C/C++, Legacy …) Web Service Client (J2EE,.NET, PL/SQL …) Web Service Client (J2EE,.NET, PL/SQL …) Points to description Describes Service Finds Service Invokes with XML Messages SOAP UDDI Registry Points to service

18 18 Summary Any Questions?


Download ppt "1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University."

Similar presentations


Ads by Google