320 likes | 434 Views
National University of Computer and Emerging Sciences. Lecture # 8 Introduction to Service Oriented architecture. CS 415 N-Tier Application Development. By Umair Ashraf July 5 ,2013. Agenda/Contents for Today’s Lecture. SOA Introduction SOA Myths and Facts Evolution of SOA
E N D
National University of Computer and Emerging Sciences Lecture # 8 • Introduction to Service Oriented architecture CS 415 N-Tier Application Development By Umair Ashraf July 5 ,2013
Agenda/Contents for Today’s Lecture • SOA Introduction • SOA Myths and Facts • Evolution of SOA • Understanding Services • SOA Reference Model • Examples
Service Oriented Architecture (SOA) SOAs are like snowflakes – no two are alike.” - David Linthicum
Introduction to SOA • The SOA Elephant • SOA is a bit like John Godfrey Saxe’s poem about the blind men and the elephant. • The man touching the trunk believes it to be a snake • The man touching the tusk believes it to be a spear • The man touching the ear believes it to be a fan • The man touching the elephant’s side believes it to be a wall • The man touching the tail believes it to be a rope • The man touching the legs believes they are trees.
Definitions for SOA • A loosely-coupled architecture designed to meet the business needs of the organization. • A set of components which can be invoked, and whose interface descriptions can be published and discovered (W3C). • A paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations. (OASIS)
Simple Definition - SOA A method of design, deployment, and management of both applications and the software infrastructure where: • All software is organized into business services that are network accessible and executable. • Service interfaces are based on public standards for interoperability.
Characteristics of SOA • Quality of service, security and performance are specified. • Software infrastructure is responsible for managing. • Services are cataloged and discoverable. • Data are cataloged and discoverable. • Protocols use only industry standards.
What is a service ? • A Service is a reusable component. • A Service changes business data from one state to another. • A Service is the only way how data is accessed. • If you can describe a component in WSDL, it is a Service.
Example – A City • Let's take your average cosmopolitan city. • It is already full of service-oriented businesses. Individual companies are service-oriented in that each provides a distinct service that can be used by multiple consumers. • Collectively, these businesses comprise a business community. • It makes sense for a business community not to be served by a single business outlet providing all services. • By decomposing the community into specialized, individual outlets, we achieve an environment in which these outlets can be distributed.
SOA-Loose Architecture For services to interact and accomplish something meaningful, they must exchange information. A communications framework capable of preserving their loosely coupled relationship is therefore required. One such framework is messaging. After a service sends a message on its way, it loses control of what happens to the message thereafter. That is why we require messages to exist as "independent units of communication." This means that messages, like services, should be autonomous.
The Evolution of SOA Service Orientation (SO) is the natural evolution of current development models • The, 80s saw object-oriented models • Component-based development model in the 90s • Now we have service orientation (SO)
The Evolution… From Three-Tier Applications Databases Presentation Layer Application Application Application Business Layer
The Evolution to:SOA-Based Applications Service Components Process #1 Databases Presentation Process #2 Process #3
Functionality Driven Process Oriented Service Oriented Architecture Traditional Architecture Designed to last Designed for change Long development cycles Iterative development Tightly Coupled Loosely Coupled Application Specific Heterogeneous Data Oriented Business Service Oriented SOA v/s Traditional Architecture Calls for a Paradigm Shift But must be built on standards to enhance interoperability
DoD Concept How to Organize for SOA Programs Army, Navy Air Force Agencies Combatant Commands Business Mission WarFighting Mission Intelligence Mission Enterprise Information Environment Focus of this Presentation
Organization of Infrastructure Services Infrastructure Services (Enterprise Information) Data Services Security Services Computing Services Communication Services Application Services
Organization of Data Services Data Services Discovery Services Management Services Collaboration Services Interoperability Services Semantic Services
Organization of Security Services Security Services Transfer Services Protection Services Certification Services Systems Assurance Authentication Services
Organization of Computing Services Computing Services Computing Facilities Resource Planning Control & Quality Configuration Services Financial Management
Organization of Communication Services Communication Services Interoperability Services Spectrum Management Connectivity Arrangements Continuity of Services Resource Management
Organization of Application Services Application Services Component Repository Code Binding Services Maintenance Management Portals Experimental Services
A Few Key SOA Protocols • Universal Description, Discovery, and Integration, UDDI. Defines the publication and discovery of web service implementations. • The Web Services Description Language, WSDL, is an XML-based language that defines Web Services. • SOAP is the Service Oriented Architecture Protocol. It is a key SOA in which a network node (the client) sends a request to another node (the server). • The Lightweight Directory Access Protocol, or LDAP is protocol for querying and modifying directory services. • Extract, Transform, and Load, ETL, is a process of moving data from a legacy system and loading it into a SOA application.
SOA Interoperability Goals for the Department of Defense • Interoperability of solutions across the DoD strategic goal. • Rules for sharing of data and services across the enterprise. • Enforcement of standards. • All data, services, and applications shall be accessible, understandable, and trusted. • Global Information Grid for sharing of information with Federal Departments, Department of Homeland Security, the Intelligence Community, state and local governments, allied, coalition, non-governmental organizations (NGOs), academic, research and business partners.
Banking Examples of SOA Internet Banking Business Process: Stop Payment Registry and Repository: Find Stop Payment Service, Charge Fee service Security: Authenticate user Manage and monitor ESB: Routes to appropriate core system Data Services Process Services Business Logic: If Customer_Status = Gold Service_Fee = $8 else Service_Fee = $20 Orchestration: DDA / Current Account Fee database
Place customer orders: 1. Basic Data Service – access operations, 2. Composed Services - business logic, 3. Process Services – complex business logic
Why SOA Saves Code • Provides a standard way of interacting with shared software. • Enables software to become building blocks for reuse. • Shifts focus to application assembly rather than design. • Creates new applications out of existing components. • Integrates with applications in other enterprises.
Reference Material • http://msdn.microsoft.com/en-us/library/bb833022.aspx http://msdn.microsoft.com/en-us/library/aa480021.aspx http://edizsaykol.weebly.com/serviceorientedarchitectures.html