Service Oriented Architecture

Slides:



Advertisements
Similar presentations
Web Service Composition Prepared by Robert Ma February 5, 2007.
Advertisements

Siebel Web Services Siebel Web Services March, From
WEB SERVICES DAVIDE ZERBINO.
Service Oriented Architecture SOA. SOA has been the New New Thing for the last few years in enterprise software As with everything that gains visibility.
Service Oriented Architecture Concepts March 27, 2006 Chris Armstrong
Business Process Management Technologies. BPM Servers and BizTalk (orchestration) BPEL4WS (modelling & execution) ebXML & RosettaNet (discovery & integration)
Independent Insight for Service Oriented Practice Communicating SOA.
Business Process Orchestration
TRAVEL RESERVATION SYSTEM USING WEB SERVICES COMPOSITION LANGUAGE
B2B e-commerce standards for document exchange In350: week 13: Nov. 19,2001 Judith A. Molka-Danielsen.
Dharmender Singh Leverage Web Services with DRA to Automate User Provisioning.
Enterprise Workflow CPSC 476 Lightening Talk Brenda Griffith/Katie Soto.
Introduction to UDDI From: OASIS, Introduction to UDDI: Important Features and Functional Concepts.
2005 Adobe Systems Incorporated. All Rights Reserved. Duane Nickull Adobe ® An Introduction to the OASIS Reference Model for Service Oriented Architecture.
SOA, BPM, BPEL, jBPM.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
Web services Dr Jim Briggs 1. Evolution of electronic interaction Web Services is the next step in the automation of inter-enterprise interaction Web.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
EbXML (Electronic Business XML) Kanda Runapongsa Dept of Computer Engineering Khon Kaen University.
BPEL Business Process Engineering Language A technology used to build programs in SOA architecture.
Kemal Baykal Rasim Ismayilov
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
Dr. Rebhi S. Baraka Advanced Topics in Information Technology (SICT 4310) Department of Computer Science Faculty of Information Technology.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
SE 548 Process Modelling WEB SERVICE ORCHESTRATION AND COMPOSITION ÖZLEM BİLGİÇ.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
A service Oriented Architecture & Web Service Technology.
1 Seminar on SOA Seminar on Service Oriented Architecture BPEL Some notes selected from “Business Process Execution Language for Web Services” by Matjaz.
Business Process Execution Language (BPEL) Pınar Tekin.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
6. Application Server Issues for the Project
Java Web Services Orca Knowledge Center – Web Service key concepts.
Introduction to Web Services
SuperComputing 2003 “The Great Academia / Industry Grid Debate” ?
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Unit – 5 JAVA Web Services
Distribution and components
Hierarchical Architecture
XML Based Interoperability Components
Overview of Web Services
Implementing a service-oriented architecture using SOAP
Introduction to Web Services and SOA
Service-centric Software Engineering
Service-centric Software Engineering 1
CS 425/625 Software Engineering Architectural Design
The future of distributed systems architecture
Service Oriented Architecture
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Elements of Service-Oriented Architecture
Enterprise Architect, CNA
Service Oriented Architecture (SOA)
Tim Bornholtz Director of Technology Services
WEB SERVICES DAVIDE ZERBINO.
CSCE 813 Internet Security Fall 2012
Introduction to Web Services
Distributed Systems through Web Services
Middleware, Services, etc.
Introduction to Web Services
Introduction to Web Services and SOA
Distributed System using Web Services
Introduction to SOA Part II: SOA in the enterprise
Service-Oriented Application Integration
Presentation transcript:

Service Oriented Architecture SOA

SOA SOA has been the New New Thing for the last few years in enterprise software As with everything that gains visibility in IT, separating hype from reality quickly becomes a chore SOA is being promoted by several enterprise software consulting groups: IBM, Sun, SAP, Oracle, Microsoft Always keep an eye on your wallet when this happens. It doesn’t always wind up badly, but there is substantial early adopter risk as new technology and standards sort themselves out

SOA SOA is (ostensibly) a software architecture or design approach that may have many implementations The most typical implementation of the design approach uses web services, to the extent that the term “SOA” is nearly synonymous with “uses web services”

SOA Objectives The SOA approach emphasizes • Business processes exposed as interoperable services • Loosely coupled • Services interoperate by passing data • Services can be combined into larger business processes • Services can (in principle) be combined across business boundaries

Example You want to book a trip. You go to an airline web site and select a flight Behind the scenes the airline web site may present you with options for booking a hotel room, rental car, and restaurant reservations This automated process may be done on your behalf by the airline web site The various business processes at the car rental and hotel enterprises are exposed to at least trusted partners and can be combined into a larger business process

SOA In many ways the SOA approach is architecturally obvious and breaks no new software engineering ground. The real value lies in the agreement among sites to use interoperable standards. The SOA design is obvious; an interoperable standard is where the value proposition lies

SOA & Web Services Web services are an obvious way to implement the SOA idea. In concept they expose services, and the use of XML gives a good foundation or start to being interoperable Use of SOAP is also helpful, as are standards like WSDL, UDDI, etc But we need a software framework layered on top of web services to be really useful. We can use WSDL and UDDI to describe individual web services, but we also need a framework to coordinate combining them and working together

SOA Frameworks A framework should supply • Security • Reliable messaging and message routing • Coordination of services • Transaction support • Policy support • Metadata support that describes the services and data Ideally the services should use the same framework so everyone can be interoperable

SOA The dream is to have enough metadata to combine services on the fly across business boundaries The reality is that few business would expose their services to non-trusted partners that have not been vetted in advance In practice today most web services combined are in the same business domain or with trusted partners

Primitive SOA You can think of mashups as a sort of primitive type of SOA Realtor.com web site MS Virtual Earth mapping, realtor.com listing data, presented on web page

Mashups Mashups are usually visually oriented; they’re intended to be looked at by a user SOA may simply be a business process with no view or visual representation There may be multiple mashup inclusions on a single page Few standards; Google Maps API not necessarily similar to the Microsoft Maps API, which makes it difficult to generalize

WS-* WS-* is a catch-all term for a series of WS-SOA frameworks, including security, transactions, etc. Also called BPEL, Business Process Execution Language Generally speaking the effort is led by Microsoft and IBM, though there are many participants. Standards group is www.oasis-open.org (not W3C), an industry-driven standards group http://msdn.microsoft.com/en-us/library/ms951274.aspx

WS-* In general, WS-* relies on SOAP, WSDL, etc as the underlying infrastructure. (Even then it may use something like SMTP as a transport mechanism, but this is somewhat unusual) You can think of WS-*/BPEL as a uniform, standardized framework for combining web services to perform a task It’s useful to the extent that it is popular

Orchestration vs. Choreography There are two basic approaches to composing web services: • Orchestration: a single process controls the order in which operations/services are performed • Choreography: Execution of the overall task is a collaborative process in which each web service may participate BPEL uses the orchestration approach

BPEL Language BPEL uses an XML dialect to define the business process being conducted • Invoke: call a web service • assign: data variables • Sequence: invoke services in a sequence, waiting for each step to finish • Flow: a set of activities invoked in parallel • While: loops • Switch, Pick for branching

BPEL <receive partnerLink=“client” portType=“com:partsSupplier operation=“partsSupplier” variable=“partRequest” createInstance=“yes”/> <flow> <invoke partnerLink=“providerA” … inputVariable=“partRequest” outputVariable=“providerAResponse”/> <invoke partnerLink=“providerB”…inputVariable=“partRequest” ouputVariable=“providerBResponse”/> </flow>

BPEL Note that it’s possible for services to take hours to complete; request sent over SMTP, and requires human approval Often a dedicated BPEL server will preserve state information while this is executing BPEL can be implemented in .NET as well Microsoft biztalk server Oracle BPEL Process Manager Open source applications that run in Tomcat (activevos.com)

Netbeans Netbeans has a BPEL module