260 likes | 644 Views
SOA Concepts. 605.702 Service Oriented Architecture Johns-Hopkins University Montgomery County Center, Spring 2010 Session 1: January 28, 2010 Instructor: T. Pole . Lecture 1 Goals. Learn what a Service Oriented Architecture is What does Service Oriented Architecture (SOA) mean?
E N D
SOA Concepts 605.702 Service Oriented ArchitectureJohns-Hopkins University Montgomery County Center, Spring 2010 Session 1: January 28, 2010 Instructor: T. Pole
Lecture 1 Goals • Learn what a Service Oriented Architecture is • What does Service Oriented Architecture (SOA) mean? • Not just definition of the acronym • How does SOA compare to Object Oriented Design (OOD)? • How does SOA compare to Business Process (Re)Engineering? • What problem does SOA solve?
Session #1 Today’s Agenda • Textbook and Software • Text • Text: “Service Oriented Architecture: Concepts, Technology and Design”, Thomas Erl, Edition 05 • To have been completed before today’s lecture • Software: • Visual Studio 2008 • Windows XP (pref.) Vista or Windows 7 Pro • Overview of the course • Goals • Required work from students and grading • Instructor's contact information • Lecture: Introduction to Service Oriented Architecture (SOA) • Text: • Erl Chap. 1: Introduction (to book) • Erl Chap. 2: Case Studies • Erl Chap. 3: Introducing SOA • Additional Material
Text Book • Text: Service-Oriented Architecture : Concepts, Technology, and Design • By Thomas Erl • ISBN-10: 0131858580 • 2005 • One of the most popular books on the subject, one of several written by Erl on SOA • Covers the core of the course material
Software • Microsoft Visual Studio 2008 Professional • No cost to registered JHU students • Download from DreamSpark • https://www.dreamspark.com/ • Must register before download • Sign in • Windows Live ID required, sign up if needed • Validate against JHU • Download and install VS 2008 Prof. Edition • Speak to the instructor before the end of class today if you do not already have access to this software platform (Windows XP Pro, Vista or Windows 7 Pro, Visual Studio 2008 for exercises and projects
Overview of the Course – Goals • Goals of the Course, that students will: • (1) That each student knows the set of tasks that an architect of a SOA is responsible for • (2) That each student understands the rationale behind, that is the need for each of these tasks • (3) That each student be capable of participating in the execution of each of these steps • (4) So that each student is capable, with limited oversight of performing the analysis, design and implementation of an SOA solution to an enterprise or cross-enterprise set of requirements for the automation of strategic business processes
Designing an SOA in Contrast to Implementing Web Services • Yes you will design SOA solutions • Yes we will implement portions of our SOA examples using web services • No, this is not a course in building Web Services • But… we will cover Web Service basics • Enough of the basics of building SOAP based, C# and .Net Framework implemented Web Services so that you can implement portions of the SOA’s you design in this class. • We will not learn enough about implementing SOA via Web Services to satisfy commercial production needs • e.g. We will not build secure systems with assured message delivery, but we will learn how to design them
Required Work and Grading • Weekly Work (30% of grade) • Corrected but not graded • Class homework • Participation in class discussion • Class exercises • Mid Term Exam (30% of grade) • SOA and Web Service basics • Combination Final Project and Exam • Application of basics and advanced topics • Final project/paper (20% of grade) • Final exam (20% of grade)
Instructor’s Contact Information • Thomas Pole: prof@hisdomain.net • Office/consultation hours: by appointment only
Lecture: Introduction to Service Oriented Architecture (SOA) • Introduction to the Erl Book • Erl Chapter 1: Why this book is important • Introduction to Erl book’s case studies • Erl Chapter 2: Case Studies • Introduction to SOA • Erl Chapter 3: Introducing SOA • Additional Material
Chapter 1: Text Overview and Introduction of Concepts • Concepts: • What is a service? • What is a Web Service? • What is Service Orientation in the context of IT architecture? • What are WS extensions? • Introduced, but will discuss in Chapter 3 • What is primitive SOA? • What is a contemporary SOA? • All these are answered in the text, Ch 1-3 • Additional details later in the class, and the text
Warning, your author is a “true believer” • The value of SOA to the industry may be over sold in the text. • The author’s presentation of SOA is no less valuable because of his excitement about it.
Chapter 1: Points to Remember • The Number One Mistake • “SOA benefits are attainable simply by investing more in Web services”, not! • Ideal SOA • A universal model in which automation logic and even business logic conform to a vision in which resources are cleanly partitioned and consistently represented. • The real SOA • Based on an understanding of service-orientation, how it shapes technical architecture into SOA, and concrete step by step processes for realizing SOA.
Chapter 1: Points to Remember • Objectives of book • Understanding SOA, service orientation and Web services • Primitive and contemporary SOA • Fundamental web services • WS-*specs • Building SOA with Web Services
Introduction to Erl book’s, Chapter 2: Case Studies • Case Studies • Purpose: Give real world context to what the book covers • Case Study Businesses • RailCo Ltd • Small business (40 staff) • IT immature • Both efficiency (implied) and opportunity (explicit) reasons for adopting SOA • Efficiency improvements for outdated business processes and IT infrastructure • Opportunity to participate in existing service oriented B2B networks
Chapter 2: More Points to Remember • Transit Lines Systems Inc • Medium size firm (staff of 1800) • Relatively mature IT infrastructure • Already adopting Services, primitive SOA, 200 staff IT department • Both efficiency (implied) and opportunity (explicit) reasons for adopting SOA • Existing service oriented B2B partners • Integration of legacy systems from multiple acquired and/or closely partnered organizations.
Chapter 3: Introduction to SOA: Erl Chapter 3: Introducing SOA • Fundamental SOA • Service oriented: services are independently managed and employed by multiple consumers. • Analogy of small businesses as service oriented • Primitive SOA • See page 37 for attributes • Contemporary SOA • Section 3.2 Characteristics of Contemporary SOA
Additional Material • Service Oriented Architecture versus Web Services • A design technique, and an implementation technology • SOA History • Introduction to our programming environment • Visual Studio 2008 and implementing Web Services using ASP.Net
SOA History • Simple Object Access Protocol vs SOAP • Way to connect CORBA and DCOM distributed objects • HTTP Tunneling • Firewalls • Remote Procedure Call
Web Services: The Preferred but Not the only SOA Implementation Technology • Consuming a SOAP based Web Service • Amazon Associate Web Service • Building a SOAP based Web Service • A simple ASP.Net based Web Service • Building a consumer of our new Web Service • Hosting Web Services on Windows OS • IIS Internet Information Services • SOAP, WS-X extensions and TCP/IP Protocols
Introduction to Our Programming Environment • Operating System: • Windows XP Pro (pref.) Vista or Windows 7 • Optionally (for Service installs only) Windows 2003 Server • Web and Application Server • Microsoft Internet Information Server (IIS) • Web Service Protocols • SOAP over HTTP • WS-* extensions (much more on this later) • Programming IDE • Visual Studio 2008 Pro, and the C# Programming Language
Operating System & “SOAP App Server” • If you wish, you may use Windows 2003 Server for deploying Web Services, but XP Pro or Vista (may be version dependent) is sufficient for all our class needs. • Supports the full functionality of all software produced by Visual Studio (XP Home does not support Web Service development) • Supports running Internet Information Service (IIS) which is our Web Server and Application Server platform for this class
(optional) Internet Information Server (IIS) • Free download/install from Windows distribution media. • Full function web server and web service application server. • Some IIS services (which we don’t need for this class) are not available when running on XP Pro. • Very easy to install, configure and manage in the context of what we need to do for this class.
Web Service Protocols • SOAP over HTTP • Simple Object Access Protocol • Lightweight Web Service Protocol • Supported by Visual Studio and IIS • Can run over multiple communication protocols (e.g. NNTP) but almost always runs over HTTP in commercial systems • Language and operating platform agnostic. • SW-* Extensions (optionally) • A set of extensions to Web Services • This will be covered in later class sessions
Programming Integrated Development Environment (IDE) • Microsoft Visual Studio 2008 Pro Edition • Integrated set of design, development, debugging and testing tools • Visual C# 2008 • A programming language based on C++, and the .Net framework, a ECMA sponsored standard language which is CLI compliant. • .Net Framework 3.5 • Framework for software development which supports CLI development on the Microsoft Windows platform.
For next week • Read Chapters 4 & 5 • Obtain and install Visual Studio 2008 • One of: • Buy VS 2008 • Provantage.com sells with “Academic” pricing • Sign up for Dreamspark • Free download, same software • Install • If you are not familiar with installing programming environments, wait for next weeks lecture in which we’ll discuss it.