Professional Documents
Culture Documents
605.702 Service Oriented Architecture Johns-Hopkins University Montgomery County Center, Spring 2009 Session 2: Lecture 2, February 4, 2009 Instructor: T. Pole
Review Chapters 1, 2 (and finish 3) Introducing SOA (Ch 3) Evolution of SOA (Ch 4) Web Services and Primitive SOA (Ch 5) Content Management and the CMIS (additional material)
Assignments
Exercise 1 (due 2/11/2009) Building a Web Service Client
Not a lecture, but an opportunity for you to ask questions Chapter 1: About the Book Chapter 2: About the Case Studies General Discussion
Ch 3 Introducing SOA
Varied scales == a process step, set of steps or the entire process Services are related via relationships Services communicate via messages which are independent units of communication Service design promotes: loose coupling, contract driven composability, autonomy, discoverable stateless reusable components To this point we have described primitive SOA
See list of primary characteristics, page 40-41 3.2.20 Defining SOA page 54
3.3.1 thru 3.3.3: Major Misperception #1: SOA is NOT really something new NOT Some validity, but the combination of Old ideas, as well as some new ideas synthesizes a new approach: th whole is greater then the sum of its parts. 3.3.4: SOA Simplifies: NOT The point is not to simplify the solution to the problem, but to simplify performing individual steps in solving he problems, and in the integration of those resultant steps into the complete solution. 3.3.5 thru 3.3.6: SOA is Web Services, or WS with some extensionsNOT Those are just technologies used to implement SOA 3.3.7 SOA makes everything interoperable NOT If you design and build an SOA system properly, its pieces are interoperable with similar good SOA systems
Section 3.4 SOA Benefits and the start of a Business Case for SOA
Integration of components, reuse of components, streamlined architecting of components into solutions. Business Case is reduction of effort, solving multiple problems with single work products. Retaining and (optionally) controlling the evolutionary replacement of legacy systems Business Case is extending usable life of past investments
Question: What kinds of systems should not be designed as SOA? What problem is it that XML solves? What does SOA change in designing for Performance requirements? What does SOA change in designing for Security requirements?
Section 4.1 An SOA Timeline XML Initially a publishing tool Then a data format tool Now a service oriented version of a remote procedure call protocol Web Services Initially port 80 tunnelling Initially Simple Object Access Protocol Now (with WS-*) much more complex
HTTP basis of most SOAP implementations forces some call and response behavior
Can be used to wrap non Service Oriented components, integrating their functionality in to an SOA
Services exposed through a Web Server, usually via SOAP (sometimes other protocols such as REST) that may or may not be service oriented SOAP WSDL UDDI
Encapsulate operations related to this business processes Encapsulates operations related to infrastructure, basic system engineering functions Controls multiple services for a high level, more complex, larger scope task
WSDL
Describes a service What operations does it publish Programmatic interface specification level of description Supports export of common data types as well
Soap Sender
Initial Sender in a serial chain of SOAP message exchanges, the first node in the change
Soap Receiver
Ultimate Receiver in a serial chain of SOAP message exchanges, the node that only responds, it does not send another message on to another node
SOAP Intermediary
We will have an in class tutorial tonight on developing web services on XP Pro, IIS, and Visual Studio. You can build and test Web Services without IIS. But for other computers to reach those web services, a SOAP enabled Web Server, sometimes (erroneously) called a SOAP Application Server, IIS must be used to deploy them. This will help you get started by getting, VS 2008 and the .Net framework up and running and being able to build a client for a basic Web Service using C#.
System_Requirements:http://www.microsoft.com/visualstud io/en-us/products/professional/default.mspx Select max install you have disk space for Select .Net 3.5, install MSDN documentation SQL Server and ther tools are optional
Start Visual Studio (VS 2008) File -> New -> Project Choose the Console Application template Type in a path to where you will store the files for this application Be sure the Project Type tab is C# Enter a name in the project Name textbox, and optionally the same or different name in the Solution Name Click OK
There is a file named Program.cs. Which is the source file for this project Select with right mouse button in explorer windows, left of screen
add service reference At bottom of Service References Settings click Add Web Reference
In URL enter http:areopagussoa.net/TP_Sample01_SimpleWebServer/Se rvice.asmx Enter meaningful name in Web Reference Name textbox, e.g. SimpleWebService
20
Menu: Build -> Rebuild Solution Menu: Debug -> Start Debugging
Control Panel->Add/Remove programs ->Add/Remove Windows Components-> Select Internet Information Services (IIS) ->Next, Finish Select the Front Page 2000 Extensions option http://localhost
I've installed the .NET Framework, but ASP.NET doesn't seem to work. What can I do to fix it?
You must have IIS (Internet Information Services) installed before you install the .NET Framework. If you install IIS after you install the .NET Framework, you must also register the ASP.NET extensions with IIS.
You can do this by running the aspnet_regiis executable from: %windows root directory%\Microsoft.NET\Framework\%version of the .NET Framework%\aspnet_regiis -r where %windows root directory% is the directory Windows is installed to (typically c:\windows or c:\winnt) and %version of the .NET Framework% is the version of the .NET Framework you have installed. The directory for .NET 1.0 is v1.0.3705, for 1.1 is v1.1.4322, and for 2.0 is v2.0.50727
The Web Service is at: Build a simple client that can invoke the operation: SaveMyName Use the WSDL to read the interface
Areopagus-soa.net/TP_Sample01_SImpleWebServer/Service.asmx
Areopagus-soa.net/TP_Sample01_SImpleWebServer/Service.asmx?wsdl
Also available from the generated C# code after you add a reference to the Web Service Email me the executable and the source file Program.cs