510 likes | 814 Views
precursor to AOL/MSN/ICQ buddy chat systems. The Bloody Future of Info ... Web services are in reality simply XML-based interfaces to business, application, and ...
E N D
Slide 1:MD240Web Services
Slide 2:The Good Old Days …Service vs. Internet Services
FoxTrot by Bill Amend
Slide 3:The Good Old Days …Internet Services
Internet Services Gopher Wide Area Information Server (WAIS) FTP = File Transfer Protocol transferring files across the Internet Telnet shell access = logging into your computer account SSH = Secure Shell HTTP = Hyper Text Transfer Protocol e-mail = sendmail service/SMTP (Simple Mail Transfer Protocol) newsgroups IRC = Internet Relay Chat precursor to AOL/MSN/ICQ buddy chat systems
The Bloody Future of Info Tech …Web Services Source: theserverside.com The Showdown Bill “Vader” Gates and Scott “Luke” McNealy each defend the honor of his platform. Will Microsoft .NET be humbled … or will J2EE go over to the dark side? “The J2EE versus .NET battle will be the soap opera of the decade for geeks to watch.” - Chad Vawter and Ed Roman, The Middleware Company The Bloody Future of Info Tech …Web ServicesSlide 6:Background
Slide 7:Background
Common Business Problem -- how to let trading partners interact with our organization Complicated by multiple customer-facing and supplier-facing channels Human customer service Automated customer service WWW Handhelds WAP EAI, EDI, ERP systems, CRM systems, supply chain applications
Slide 8:Background
Hardware #1 Hardware #2 Systems Software #1 Application Software #1 Distributed Application Software EDI WWW (html/http) DCOM, CORBA, RMI Web Services (xml/soap) Systems Software #2 Application Software #2 Ex: Mainframe ERP System Ex: Handheld Browser message passing Desired Interactions w/ Customers Desired Interactions w/ Suppliers
Slide 9:Background
Old Approach Develop a custom-coded application (containing similar business logic) to link each customer/supplier to each of these channels Drawbacks Task multiplied by the number of customers and/or suppliers 250 customers … 250 custom-coding projects EDI proprietary solutions … very expensive Client/Server or Web-Based Service highly interdependent applications … if one fails, they all fail synchronous communication only DCOM, CORBA, RMI work well as long as you use only one platform (i.e., all Windows, all Unix) don’t scale well for large numbers of users difficult to program, deploy, and maintain
Slide 10:Background
New Approach = “Web Services” Develop business logic once, then wrap it with an interface that can talk to each channel in the appropriate manner Eliminates custom recoding of identical business logic for each use 250 customers … 1 coding project
Slide 11:Web Services
Slide 12:The Bloody Future of Info Tech …Web Services
Organizations are building “Service Oriented Architectures” The enterprise develops modular application components that can be reused and conform to industry standards These applications are connected to the organization’s information system and made available to the user via the Internet Method … “Web Services” The application can then be called from inside or outside of the organization
Slide 13:Web Services Definitions
Web Services are … A collection of functions that are packaged as a single entity and published to the network for use by other programs. Web services are building blocks for creating open distributed systems, and allow companies and individuals to quickly and cheaply make their digital assets available worldwide. Web services are in reality simply XML-based interfaces to business, application, and system services, and are really old technologies wearing a new hat.
Slide 14:Web Services Example
Example A bank develops an internal application for simulating expected returns to a portfolio of stocks Many customers are interested in calculating the expected return on their portfolios, so the bank decides to offer the use of the application as a service to its customers The bank exposes the application (via WSDL and UDDI) to these customers as a Web Service that they can connect to via the WWW Customers study the public description (WSDL) of the service, and identify how they would like to use it Customers use the service Investment advisors who sell the bank’s services build simple web pages or desktop applications through which they can use the Web Service Corporate clients of the bank embed it into their own corporate portals, so their employees can simulate the return on their retirement stock portfolios
Slide 15:Web Services Advantages
Advantages of Web Services peer-to-peer communication between applications any server process (on one computer) can talk to any other server process (on another computer) any client can talk to any server process loose coupling between applications, instead of the hard coupling used in prior technology FLEXIBILITY
Slide 16:Web Services Advantages
Advantages of Web Services direct access to services, without having to go through a centralized web page … customers can more easily access web services web services are not so tightly tied to computing platform of hardware and software web services “components” can be joined together and integrated into more complex services savings in development time savings in development budget
Slide 17:Web Services Forecasts
Forecasts Application vendors will begin widely supporting web services by 2003 (Forrester) Web services will reach maturity by 2005 (Forrester) Surveys QNB Intelligence (sponsored by Microsoft) surveyed 415 senior corporate decision makers in Europe (Source: http://www.theregister.co.uk/content/53/32743.html) 75 percent had adopted J2EE for web services 58 percent had adopted .NET for web services 41 percent had adopted both
Slide 18:Web Services Technology
Slide 19:Basic Concept of e-ServicesWeb Pages as “Request and Respond”
Platform-Specific Software Object e.g., a web page e.g., a CGI program e.g., a Database HTTP request Communication with software object (disk access, or via TCP/IP) HTTP response HTML Output WWW Server .jpg/.gif File Response is in a generic language (HTML) that any WWW browser can understand Web browser
Slide 20:Web Services Technologies
Web Service Process Develop a software component once for a piece of business logic Package the component within web service technology, which “exposes” the component’s “services” that it can provide to customers and/or suppliers Publicize that the “services” are available Customers and suppliers use and customize the published, publicly available web service
Web Services Technologies XML - Extensible Markup Language SOAP - Simple Object Access Protocol WSDL - Web Services Description Language UDDI - Universal Description, Discovery, and IntegrationSlide 22:Web Services Technologies
XML A common language for connecting and sharing information with others Provides a standard format for data exchange that does not require your business partners to use a particular programming language, application, or operating system to interact with your application
Slide 23:Web Services Technologies
WSDL Used to describe the functions an XML-based web service can perform A standard format in which a service can publish … the names of functions the parameters required in order to use the function the results returned from the web service
Slide 24:Web Services Technologies
SOAP The W3C’s XML protocol for exchanging data Enables systems to communicate and make requests through a common protocol
Slide 25:Web Services Technologies
UDDI A way to discover services on the Internet that are available for you to use An industry effort to make it easy to locate and understand other companies’ XML-based web services Like a yellow-pages directory … for web services Links www.uddi.org uddi.microsoft.com
Slide 26:Web Services TechnologiesUDDI Advertises Web Services
UDDI Directory ABC, Inc. offers the following web services … Factory simulation Financial simulation XYZ Corp. offers the following web services … Process a credit card transaction Order a product Generate account information Click for WSDL description Click for WSDL description Click for WSDL desc. Click for WSDL description Click for WSDL desc. “Hmmm, I think I’ll use this service …”
Slide 27:Basic Concept of Web ServicesWeb Service Method of “Request and Respond”
Platform-Specific Software Object e.g., a program e.g., a Java Bean A “Wrapper” around the software object XML Input SOAP request / HTTP Service #1 Service #2 Communication with software object SOAP response/HTTP XML Output Response is in a generic language (XML) that any application can understand
Slide 28:Web Service Frameworks
Slide 29:Web Services Frameworks
Sun Java Open Network Environment (ONE) Java 2 Enterprise Edition (J2EE) enterprise-wide + inter-organizational applications Java 2 Standard Edition (J2SE) desktop applications Java 2 Micro Edition (J2ME) handheld (PDA/cell) applications Microsoft .NET .NET Framework desktop + enterprise-wide + inter-organizational applications .NET Compact Framework handheld (PDA/cell) and set-top box applications
Slide 30:Web Services Frameworks
Java 2 = J2EE/J2SE/J2ME One programming language … JAVA Write once, run anywhere A technology standard that can be implemented as a product by any company Many vendors of development tools Many vendors of application server platforms ONE LANGUAGE MANY VENDORS OF TECHNOLOGY
Slide 31:Web Services Frameworks
J2SE v1.4 Components
Slide 32:Web Services FrameworksJ2EE Framework
Slide 33:Web Services FrameworksDeveloping Web Pages with J2EE
Client Tier Web Service Containers Back-End Systems Browsers on Desktops, PDAs, Cells Java Server Pages Enterprise Java Beans Databases HTTP SQL
Slide 34:Web Services FrameworksDeveloping Web Services with J2EE
Client Tier Web Service Containers Back-End Systems Business Partner or other system Servlets Enterprise Java Beans Connectors Existing System Legacy System ERP System Business Partner or other system Context Repository Databases SOAP, UDDI, WSDL, ebXML SQL Proprietary Protocol Proprietary Protocol SOAP, UDDI, WSDL, ebXML
Slide 35:Web Services Frameworks
.NET An open language platform for Enterprise and Web development Supports many programming languages More than 20 so far Many development tools for the many programming languages One developer of application server platforms (Microsoft) MANY LANGUAGES ONE VENDOR OF TECHNOLOGY
Slide 36:Web Services FrameworksProgramming Languages Supported
APL C++ C# COBOL Component Pascal Curriculum Eiffel Fortran Haskell Java Languages (J#) Microsoft JScript Mercury Mondrian Oberon Oz Pascal Perl Python RPG Scheme SmallTalk Standard ML Microsoft Visual Basic … and many more
Slide 37:Web Services FrameworksThe .NET Architecture
Slide 38:Web Services Frameworks.NET Framework
Slide 39:Web Services FrameworksDeveloping Web Pages with .NET
Client Tier Web Service Containers Back-End Systems Browsers on Desktops, PDAs, Cells ASP.NET .NET Managed Components SQL Server 2000 HTTP SQL
Slide 40:Web Services FrameworksDeveloping Web Services with .NET
Client Tier Web Service Containers Back-End Systems Business Partner or other system ASP.NET .NET Managed Components Host Integration Server 2000 Mainframe System Business Partner or other system Passport.NET SQL Server 2000 SOAP, UDDI, WSDL, ebXML SQL Proprietary Protocol SOAP, UDDI, WSDL, ebXML SOAP, UDDI, WSDL, ebXML
J2EE vs. .NET Feature Type of Technology # of Middleware Vendors Interpreter Dynamic Web Pages Middle-Tier Components Database Access SOAP, WSDL, UDDI Implicit Middleware Development Process Development Participants Programming Languages Sun J2EE Industry Standard 30+ Java Runtime Environment Java Server Pages Enterprise Java Beans JDBC, SQL/J Yes Yes Java Community Process Sun, IBM, Oracle, + others One (Java) Microsoft .NET Microsoft Product Microsoft, Mono Project Common Language Runtime Active Server Pgs (ASP.NET) .NET Managed Components ADO.NET Yes Yes Microsoft Microsoft ManySlide 42:Web Service Tools and Vendors
Slide 43:Web Service Tools
Application Server Features Configuration tools Monitoring tools Management tools Administration tools
Slide 44:Web Service Tools
Development Tool Features Support for web service protocols (XML, SOAP) Support for whole development cycle Visual (GUI) design environment Rapid Application Development (RAD) tools Round Trip Engineering capability Integration with requirements of web service application server(s)
Slide 45:Web Service ToolsMajor Vendors
J2EE Application Servers Sun/Netscape(AOL) – iPlanet Application Server Oracle – Oracle 9i Application Server IBM – WebSphere Application Server ($8,000-$12,000/CPU) BEA Systems – WebLogic Application Server ($3,000-$17,000/CPU) IONA – IONA Application Server Lutris – Enhydra Application Server JBOSS Application Server Development Tools TogetherSoft – Together Control Center Rational – Rational Rose Borland – JBuilder WebGain – Visual Café Sun – Forte NetBeans.org – NetBeans IBM – IBM Visual Age
Web Service Tools Major Vendors .NET Application Servers Microsoft .NET Application Servers Development Tools Microsoft – VisualStudio.NET ActiveState – Python.NET, Perl.NET Lots of other languages will be integrated into the .NET framework by smaller companies (e.g., Eiffel.NET, COBOL.NET)Slide 47:Web Services Deployment Strategy
Slide 48:Web Services Deployment StrategyManagement Issues
Management Issues Security of web services from competitors Availability for customers Acceptable performance levels Reliability Fault-tolerant Costs Training developers to develop web services Investment in new web service development tools Upgrades to web service application servers
Web Services Deployment Strategy Recommended Strategy Start experimenting/developing now Develop an internal web service platform a protected space within which to practice developing web services share functionality across enterprise work out the bugs before deploying to customers Deploy web services for supplier-facing processes Less risky if this goes down Work out more bugs Deploy web services for customer-facing processes Once organization is totally sure of how to deploy to meet customer expectationsSlide 50:Conclusions
Slide 51:Conclusions
Web Services are here Targeted at reducing development costs, simplifying development, improving electronic service delivery Major decisions … J2EE vs. .NET how to integrate them when they will work, and when they won’t work well Opportunities for managers who understand how to … transform existing software components into web services make money off of web services improve organizational performance using web services