Your SlideShare is downloading. ×
0
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Service Oriented Architecture, Web Services and Web 2.0:
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Service Oriented Architecture, Web Services and Web 2.0:

458

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
458
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Service Oriented Architecture, Web Services and Web 2.0: Applications, Infrastructure, Standards Dr. Donald F. Ferguson donald.ferguson@ca.com SVP, Distinguished Engineer Chief Architect, CA Products 1/22/2009 © Donald F. Ferguson 2008 1
  • 2. Today’s Agenda • Course Housekeeping 11:00 – Format – Communication – Student work and grading • Motivating Scenario 11:15 • Introducing the Base Concepts 11:30 – SOA and Web services – Web 2.0 – Mapping to the scenario • Break 11:50 • SOA and Web Services 12:00 – Core Concepts – Standards – Implementing a basic Web service • Discuss 1st Assignment 12:40 1/22/2009 © Donald F. Ferguson 2008 2
  • 3. Today’s Agenda • Course Housekeeping 11:00 – Format – Communication – Student work and grading • Motivating Scenario 11:15 • Introducing the Base Concepts We are going to 11:30 – SOA and Web services implement this scenario – Web 2.0 and – Mapping to the scenario learn what happens • Break 11:50 under the hood. • SOA and Web Services 12:00 – Core Concepts – Standards – Implementing a basic Web service • Discuss 1st Assignment 12:40 1/22/2009 © Donald F. Ferguson 2008 3
  • 4. Today’s Agenda • Course Housekeeping 11:00 – Format – Communication – Student work and grading • Motivating Scenario 11:15 • Introducing the Base Concepts 11:30 – SOA and Web services – Web 2.0 – Mapping to the scenario • Break 11:50 • SOA and Web Services 12:00 – Core Concepts – Standards – Implementing a basic Web service • Discuss 1st Assignment 12:40 1/22/2009 © Donald F. Ferguson 2008 4
  • 5. Course Overview • Content – Analogous to 1st course in operating systems or compilers. – Approach • Broad coverage of concepts, architecture and design, etc. • Deep dives for specific topics – For each topic Will adapt rate and pace. • Architecture and concepts I do not know what you know. • Examples of realization I do not know how quickly • Implementation you can absorb the info. • Course Objectives: At the end of this course you should be able to – Build SOA and Web 2.0 solutions. – Have sufficient knowledge to be a technical project leader. – Understand, define and consult on enterprise architecture. 1/22/2009 © Donald F. Ferguson 2008 5
  • 6. Course Overview • Content – Analogous to 1st course infun! Have operating systems or compilers. – Approach • Broad coverage of concepts, architecture and design, etc. • Deep divesyou are not having fun, If for specific topics – For each me know and we can discuss. let topic • Architecture and concepts • Examples of realization • Implementation • Course Objectives: At the end of this course you should be able to – Build SOA and Web 2.0 solutions. – Have sufficient knowledge to be a technical project leader. – Understand, define and consult on enterprise architecture. 1/22/2009 © Donald F. Ferguson 2008 6
  • 7. Course Overview • Format Will post slides in advance – Lecture with discussion. to allow you to take notes – Self-directed reading and research. on the slides. • Homework and focus questions will guide research. • There is plenty of information out there. • Will provide some pointers. – Will refine rate, pace and depth based on student feedback. • Work and Grade – Class participation; shows that you are doing the reading. – Weekly short paper • Answering focus questions. • Top-level design specification for solving problem or question. – Development projects implementing (some) designs. 1/22/2009 © Donald F. Ferguson 2008 7
  • 8. Course Overview • Contact Information – Office hours • 9:30 – 10:30 in the CSB Lounge but confirm first. • Special arrangements by request. – Email: I am bad at reading email but • It is the best way to contact me. • donff2@aol.com or donald.ferguson@ca.com. • Be patient and persistent. – Will post slides as well as other material at http://donald-ferguson.net/blog/?page_id=75. • Miscellaneous – Will try to avoid canceling class due to business/personal commitment. – If I cannot make a class, • We will schedule a make up. • May use a Web meeting for lecture and add extra office hours. 1/22/2009 © Donald F. Ferguson 2008 8
  • 9. Your Experience • XML – XML documents – XML Schema Definition – XSLT, XPath • Java – J2EE Are you familiar with? – JDBC, JMS – JAX-WS, JAXB • Web Services Have you read papers, books, specs about? – WSDL, SOAP – WS-Security Have you written programs using? – BPEL • Web 2.0 – Programmed RSS or Atom – REST – AJAX 1/22/2009 © Donald F. Ferguson 2008 9
  • 10. Today’s Agenda • Course Housekeeping 11:00 – Format – Communication – Student work and grading • Motivating Scenario 11:15 • Introducing the Base Concepts 11:30 – SOA and Web services – Web 2.0 – Mapping to the scenario • Break 11:50 • SOA and Web Services 12:00 – Core Concepts – Standards – Implementing a basic Web service • Discuss 1st Assignment 12:40 1/22/2009 © Donald F. Ferguson 2008 10
  • 11. Scenario Contoso Acme Travel Feed Inform Transform Car Service Contoso Receive Filter Transform Cancel New Hotel Reservation New Hotel Success Success • Reservation Mid-size insurance company • Works with independent agents, branches, … Acme Travel • Relies on Acme Corporate Travel • Self-service portal • B2B links to airlines, hotels, etc. • Internal itinerary mgmt and other processes. • User identity and profile info. © Donald F. Ferguson 2008
  • 12. A Scenario Contoso Acme Travel We need to have regional Feed partner meetings. Inform Transform Car Service Receive Filter New Transform Cancel Hotel Success Reservation New Hotel Success Reservation © Donald F. Ferguson 2008
  • 13. A Scenario Contoso Acme Needs to quickly do a POC for Travel entering the convention Small IT staff mgmt business, and then wants We need to have to build expand into production. Feed a regional partners simple, customizable, Inform Transform Car Service Receive Filter New Transform Cancel Hotel Success Reservation New Hotel Success Reservation meeting. connected BPs for Each customer is different. meeting mgmt. Flexible deployment and data center model is essential. End Users and SMBs build mashups or quick modification to Web Need to enable sites to go from UI connectivity with to API people and simple apps © Donald F. Ferguson 2008
  • 14. Today’s Agenda • Course Housekeeping 11:00 – Format – Communication – Student work and grading • Motivating Scenario 11:15 • Introducing the Base Concepts 11:30 – SOA and Web services – Web 2.0 – Mapping to the scenario • Break 11:50 • SOA and Web Services 12:00 – Core Concepts – Standards – Implementing a basic Web service • Discuss 1st Assignment 12:40 1/22/2009 © Donald F. Ferguson 2008 14
  • 15. Complexity – A Pre-SOA Enterprise Solution 15 © Donald F. Ferguson 2008
  • 16. Complexity Complexity • Cause – Multiple protocols and formats. – Unknown connections between systems. • Produces an environment: – Is almost impossible to monitor. – Problem and performance management is impossible. – Cannot answer simple questions like • What systems do I need to change if a reengineer app X? • What systems do I need to integrate a new app Y with? 16 © Donald F. Ferguson 2008
  • 17. Complexity Complexity will get much worse • Increasing partnerships and multi-organization • Line-of-business (LOB) and departmental systems drive increased portfolio of apps. • SOA creates semi-dynamic flexible use of core enterprise services. • Competition and business opportunities drive rapid change of business processes. • Innovation by selecting new technology. 17 © Donald F. Ferguson 2008
  • 18. What is …..? Actually a set of reusable operations … a service? … service orientation? A way of integrating your A repeatable business business as linked task – e.g., check services customer credit; open and the outcomes that new account they bring Actually, there are … service oriented four styles of … a composite application? architecture (SOA)? composite application. A set of related & An IT architectural style integrated services that that supports support a business process service orientation built on an SOA 18 © Donald F. Ferguson 2008 18
  • 19. Composite Application 1/22/2009 © Donald F. Ferguson 2008 19
  • 20. Composite Application • “In computing, the term composite application expresses a perspective of software engineering that defines an application built by combining multiple existing functions into a new application.” (http://en.wikipedia.org/wiki/Composite_application) • Four Core Styles 1. On the glass to provides user, task and skill specific UI page, e.g. portal services, mashups 2. Event/Message driven architectures implement integration between independent applications and databases, e.g. Enterprise Service Bus, Event Driven Architecture 3. Business processes and workflows that orchestrate the sequence of operations to perform a high layer task, e.g. 1. HR product adding an employee to payroll, directory, etc. 2. Purchase order processing in enterprise resource planning (ERP) system. 4. Information Integration builds a single schema and data space by merging and transforming information in multiple databases, e.g. generating reports, Business intelligence and data mining • All solutions are a combination of styles. 1/22/2009 © Donald F. Ferguson 2008 20
  • 21. Composite Application • “In computing, the term composite application expresses a perspective of software engineering that defines an application built by combining multiple existing functions into a new application.” (http://en.wikipedia.org/wiki/Composite_application) • Four Core Styles 1. On the glass to provides user, task and skill specific UI page, e.g. portal services, mashups 2. Event/Message driven architectures implement integration between independent applications and databases, e.g. Enterprise Service Bus, Event DrivenWikipedia references may be incomplete, biased Architecture 3. Business processes and workflows inaccurate but the sequence of and/or that orchestrate operations to perform a high layer task, e.g.to find are a good place reference and pointers. 1. HR product adding an employee to payroll, directory, etc. 2. Purchase order processing in enterprise resource planning (ERP) system. 4. Information Integration builds a single schema and data space by merging and transforming information in multiple databases, e.g. generating reports, Business intelligence and data mining • All solutions are a combination of styles. 1/22/2009 © Donald F. Ferguson 2008 21
  • 22. SOA and Web Services • SOA is an architectural style following some principles – Input and output messages completely describe behavior  No private signaling , configuring or shared data. – Coarse grain interactions, unlike OO. – Self-describing, cataloged, well-defined messages – etc. • SOA “resonates” because many programmers have been doing it for years. SOA codifies a set of best practices for – Message Driven Processing (MQ). – SessionBeans and the Transfer Object Pattern – CICS TP Systems • Web Services are a set of standards for SOA – Enable interoperability between infrastructure (middleware), and between different development tools. – Eliminates the need to integrate the infrastructure before integrating business logic to form new, composite applications. – SOAP/HTTP – WSDL, WS-Policy, specific policy assertions, BPEL4WS © Donald F. Ferguson 2008 22
  • 23. Interface Implementation SW Definition Catalog Database Not SOA Inventory Catalog Catalog Two SOA Shared Data Approaches Inventory Inventory © Donald F. Ferguson 2008
  • 24. Web Service is SOA + Standards Web Services Definition by W3C A Web service is a software application • Identified by a URI • Whose interfaces and binding are capable of being – Defined – Described – Discovered by XML artifacts • Supports direct interactions with other software applications – Using XML based messages – Via internet-based protocols 1/22/2009 © Donald F. Ferguson 2008 24
  • 25. Web 2.0 http://en.wikipedia.org/wiki/Web_2.0 1/22/2009 © Donald F. Ferguson 2008 25
  • 26. Web 2.0 • No one really knows what Web 2.0 is, or more accurately – Everyone thinks they know what it is. – Everyone’s definition and opinion are different. • Core set of concepts (which we will cover) – Better UI model than browser/HTML, e.g. AJAX, Silverlight – REST, or simple HTTP operations – Feeds (RSS, ATOM) – Mashups – Community: Blogs, wikis, tagging, etc. • This course will focus on application development and execution using Web 2.0. • The fundamental notion – Does for applications what wikis did for Web pages or Excel did for data. – End user “programs the Web” to be what he/she wants. 1/22/2009 © Donald F. Ferguson 2008 26
  • 27. Mapping to Our Scenario • Acme – Provides a composite application. • UI for self-service. • Integrates information from airlines, hotels, … • Orchestrates and controls the steps in building an itinerary. • Events to integrate with flight cancellations, synchronize changes with user calendars, … – Uses Web services and SOA • Simplify integration • Business-to-business • Contoso: Meeting coordinator wants to • Move to a mashup interacting with Web addressable systems • To replace Excel spreadsheets, email and phone calls. • Small and medium businesses want to – Move from UIs and manual tasks for customers – To “REST” callable APIs, feeds, … – To plug into Acme’s solution and enable meeting coordinator mashup. 1/22/2009 © Donald F. Ferguson 2008 27
  • 28. Today’s Agenda • Course Housekeeping 11:00 – Format – Communication – Student work and grading • Motivating Scenario 11:15 • Introducing the Base Concepts 11:30 – SOA and Web services – Web 2.0 – Mapping to the scenario • Break 11:50 • SOA and Web Services 12:00 – Core Concepts – Standards – Implementing a basic Web service • Discuss 1st Assignment 12:40 1/22/2009 © Donald F. Ferguson 2008 28
  • 29. Today’s Agenda • Course Housekeeping 11:00 – Format – Communication – Student work and grading • Motivating Scenario 11:15 • Introducing the Base Concepts 11:30 – SOA and Web services – Web 2.0 – Mapping to the scenario • Break 11:50 • SOA and Web Services 12:00 – Core Concepts – Standards – Implementing a basic Web service • Discuss 1st Assignment 12:40 1/22/2009 © Donald F. Ferguson 2008 29
  • 30. SOA/Web Service Concepts ESB • Required Interfaces • Events Stub • Policy Points Prolog •…… Types Messages “Resources” JMS/MQ HTTP Port Types IIOP Container BPEL Operations …… C# Bindings Impl. CICS TP “Abstract Process” JAVA “Business State” SQL …… Policy Control Descriptors Deployment Descriptors 30 © Donald F. Ferguson 2008
  • 31. SOA and Web Service Concepts • One way to think about an application is – Nouns, e.g. customer, itinerary – Verbs, e.g. cancel trip, change seat – Adverbs, e.g. securely, reliably. – Policy, e.g. you cannot make a hotel reservation until you have put a credit card in your profile. • SOA/Web Service concepts realize this model. – Interface (Verbs) • What operations/verbs does the service implement? How do you call it? • Web Service Description Language, BPEL Abstract Process – Resources (Nouns) • What do I create, retrieve, update, delete (CRUD)? • WS-Transfer, WS-Addressing – Policy (Adverbs) (Infrastructure Policy) • Attach “policy” to services and verbs. • WS-Security, WS-Reliable Messaging, WS-Policy 1/22/2009 © Donald F. Ferguson 2008 31
  • 32. SOA and Web Service Concepts SOA/Web Service concepts realize this model (cont) • What is the address and how. – What protocols can the caller use? – The “WS-*” equivalent of US Mail, Fax, etc. – SOAP, IIOP • Policy (Business Policy) – What • Constraints, invariants, preconditions, etc. • For verbs and nouns. • They are “changeable” • And should not be hard coded. – Examples: Design patterns, rule engines, handlers • Container – The thing that loads and runs my code. – Automates complex tasks that I do not want to write. – Tomcat, Apache Web Server Modules 1/22/2009 © Donald F. Ferguson 2008 32
  • 33. SOA and Web Service Concepts SOA/Web Service concepts realize this model (cont) • Stub and Skeleton – Stub is a class that I generate from interface for calling service. – Skeleton is a generated class that • Implements the interface First project concepts. • Has “Your code goes here” for the methods. – WSDL2Java, .NET Windows Communication Foundation annotations • Required Interfaces and Events – Sort of like import in Java but – Class documents what it calls – Logically like public class CommerceImpl implements ICommerce requires com.somecompany.commerce.CreditCardService – Four core Message Exchange Patterns • In-Out (RPC) An event. • In (I act on a message) • Out (I emit this message) • Out-In (I need someone to implement this verb). Required Interface 1/22/2009 © Donald F. Ferguson 2008 33
  • 34. Building a Basic Web Service: Your 1st Assignment • WSO2 – www.wso2.com – Download and install application server. (http://wso2.org/downloads/wsas). – Read the tutorials for building a simple Web service. • WSO2 has tutorials • http://ws.apache.org/axis2/1_4_1/contents.html • Many Axis2 Tomcat documents on the Web • Your 1st Project – Define a simple person object, e.g. name, id, etc. – Implement a POJO Web service for CRUDing a person. – Write a simple Java client for calling the service. – Explain the concepts and technology that you used and their relationship (5-6 pages). 1/22/2009 © Donald F. Ferguson 2008 34
  • 35. Focus Questions • Compare and contrast “top-down” versus “bottom up” development of POJO Web services. – What are top-down and bottom-up? – What are the pros and cons? • Propose and define an email binding (not implement) – How would you add support for invoking the service and receiving the response by sending email? – Explain the design. – What are some of the complexities? • 2-3 pages for each focus question. 1/22/2009 © Donald F. Ferguson 2008 35
  • 36. Comments • You may work together – Make this explicit in your documents. – Who did what? – The content of a 3 person team should be at least 2.5 times as much as a 1-person team. • DO NOT PANIC! DO NOT DROP THE CLASS! – I may be expecting too much. – This may • Be too many concepts too quickly. • Too much work. – It is OK to come back an say “I failed miserably.” – My jobs is to teach you how to do this. 1/22/2009 © Donald F. Ferguson 2008 36
  • 37. Web Service Standards (Partial) 1/22/2009 © Donald F. Ferguson 2008 37
  • 38. Web Service Standards • WS-I – Brings disparate standards into tested, integrated profiles. – Basic Profile (BP), Reliable Secure Profile (RSP) • HTTP – Protocol for exchanging messages. – Logical “result = cancelTrip(id)” is – Encoded in the POST/GET data. • XML, XML Schema Definition (XSD) – XML/XSD is how you define itinerary, hotel reservation, etc. – SOAP is how you serialize/deserialize to a byte[] for transmission. • WSDL is like a Java interface definition for XML 1/22/2009 © Donald F. Ferguson 2008 38
  • 39. Web Service Standards (cont) • Endpoint (WS-Addressing, WS-Transfer) – Where do you send/route the message? – Where do you send the response? – Which itinerary are you canceling? • Eventing – How does the airline tell the travel agency about a cancelation? – How do I filter which cancelation I want to see? – WS-Eventing. • Quality of Service – WS-Security: • How do I know Don sent the message? • How do I know that no one tampered with the message? – WS-Reliability • Did you get the message? • Do I need to resend it? – WS-Transaction: • Reserve a flight, car rental and hotel room as a unit. • Tell me if you could not. 1/22/2009 © Donald F. Ferguson 2008 39
  • 40. Web Service Standards (cont) • Composition (BPEL, SCA) – What services make up the travel self service application? – In which order do I call the verbs to book a trip. • Management (WS-Management, SMASH, DASH) – The composite application • Is a set of services/modules. • Running “in” a set of things, e.g. Tomcat, database – How do I write code that manages and monitors • The services (modules)? • The things in which they are running? • Portal (WS-RemotePortlet, JSR 168) – My task requires access to five services. – I want them on “one page” – How to I define the page and connect to the services? 1/22/2009 © Donald F. Ferguson 2008 40
  • 41. SOA and Web Service Standards Business Abstraction SOA Abstraction > Document > XML > Form > WS-* Message >Requirements >Policy >Security >Reliable Messaging >Process >BPEL4WS >WS-Coordination WS-BusinessAgreement >Business artifacts (customer, account) >XML, XQuery >“Yellow Pages” >Metadata Exchange >WS-Discovery >Workspaces >WS-RemotePortlet >Portal standards >Monitoring >WS-Management, WSDM >Business Events >WS-Eventing 41 © Donald F. Ferguson 2008
  • 42. Implementing a Services Policy Interface: How to call this component I M P Reference: What this L Component components calls Java Interface Uniform Representation of Java Encapsulated WSDL Interface Port Type Implementation WSDL Port Type Business Business Business Human Interface SQL Selector Java Process State Machine Rule Task Map XQuery January 22, 2009 Japan Java Users 42 © Donald SOA and Components Group – F. Ferguson 2008
  • 43. Implementing a Service “Web services describes the outsides. How do you implement a service? How do you compose services?”  Encapsulate Components for Reuse; All look the same from outside  Components may be wired together and aggregated via flow  Business Objects are the data flowing on wires between ComponentsPolicy  Enable type, role and skills specific tools. Interface: How to call this component Reference: What this Java Component components calls Interface Uniform Representation of Java WSDL Encapsulated Interface Port Type Implementation WSDL Port Type Business Business Business Human Interface SQL Selector Java Process State Machine Rule Task Map XQuery January 22, 2009 Japan Java Users 43 © Donald SOA and Components Group – F. Ferguson 2008 43

×