Web Services Overview 1
Agenda ● Evolution of network computing ● What is Web Services? ● Why Web Services? ● Where is Web Services? ● Web Services Architecture ● Web Services Standards ● Java ™ APIs for Web Services ● J2EE as platform of choice for Web Services ● Web Services Tools ● Roadmap and Summary 2
Evolution of Network Computing 3
Waves of Things - 10 14 Embedded Computers Thermostats Thermostats Network Computing 10 11 Cars Cars Switches Switches TVs TVs Computers Packages Packages Phones Phones 10 8 Clothes Clothes Games Games Desktops Clients Transfers Transactions Transactions Content Content Telemetry Telemetry Control Control Transfers Functions IP v4 IP v6 IP Layer Protocols Organization
Waves of Things - 10 14 Embedded Computers Network Computing Thermostats Thermostats 10 11 Cars Cars Switches Switches TVs TVs Computers Packages Packages Phone Phone 10 8 s s Clothes Clothes Games Games Desktops Clients Transfers Transactions Transactions Content Content Telemetry Telemetry Control Control Transfers Functions IP v4 IP v6 IP Layer Protocols X FT SMTP RMI/IIOP RMI/IIOP Telnet P RPC/XDR Identity Identity LDAP LDAP Organization SOAP SOAP HTTP Jini Jini Client/Server UDDI UDDI JXTA JXTA N-tier Web Applications Web Applications Web Web Polyarchical Polyarchical Services Services Fractal Fractal
The New Software Payment Payment X1 Developer X1 Developer Locater Locater X10 6 6 X10 New New User’s User’s 6 X10 6 X10 Service Service Device Device Calendar Calendar Authentication Authentication Shrink Wrap Software-as-a-Service
History of History of Distributed Computing Distributed Computing 7
Platform Evolution The Network The Network The Computer The Computer Network of Network of Catch Legacy to Network Catch Is the Legacy to Is the Embedded Network Is the Is the Embedded Objects Phrase Objects the Web of Things Phrase Computer the Web Network Things of Things Computer Network Things 100,000,000s Scale Scale 100s 100s 1,000s 1,000s 1,000,000s 10,000,000s 1,000,000s 10,000,000s 100,000,000s 100,000,000 100,000,000 s s When/Peak When/Peak 1984/1987 1984/1987 1990/1993 1990/1993 1996/1999 1996/1999 2001/2003 2001/2003 1998/2004 1998/2004 2004/2007 2004/2007 Leaf +HTTP +XML Leaf +HTTP +XML X X X X +RM +RM Unknown Unknown Protocol(s) (+JVM) Portal Protocol(s) (+JVM) Portal +LDAP(*) Directory(s) Directory(s) NS, NS+ NS, NS+ +CDS +CDS +LDAP(*) +UDDI +UDDI +Jini +Jini +? +? +CORBA, +SOAP, +CORBA, +SOAP, Session Session RPC, XDR RPC, XDR +CORBA +CORBA +RM/Jini +RM/Jini +? +? RM XML RM XML Schematic Schematic
Communication Patterns Client- Web Web Hybrid 3-Tier Fractal Server Application Services P2P
Communication Patterns: TM 2 Java Business Systems Business Systems DB Server DB Server App Server App Server J2EE J2EE Web Server Web Server J2SE/ Browser J2SE/ Browser J2ME J2ME Client Client Web Application
Communication Patterns: Sun ONE Bus. Bus. Sys. Sys. XML XML (UDDI, (UDDI, DB DB SOAP) SOAP) App App J2EE J2EE Web Web J2SE/ J2SE/ Browser Browser J2ME J2ME Context and Identity Context and Identity (LDAP, Policy, Liberty) (LDAP, Policy, Liberty) Web Service
What is a What is a Web Service? Web Service? 12
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 and discovered by XML artifacts and ● supports direct interactions with other software applications ● using XML based messages ● via internet-based protocols 13
Distributed Computing Evolution Servers Servers Cell PDA Clients Internet Phone Client- Server(C/S) silos Server Clients Workstation Web-based computing Laptop Kiosk Web Services/Peer-to- 14 Peer
Traditional C/S vs. Web Services Web Service Traditional C/S Within enterprise Between enterprises ● ● Tied to a set of Program language ● ● programming languages independent Procedural Message-driven ● ● Usually bound to a Easily bound to different ● ● particular transport transports Tightly-coupled Loosely-coupled ● ● Efficient processing Relatively not efficient ● ● (space/time) processing 15
Web Application vs. Web Services Web Service Web Application User-to-program Program-to-program ● ● interaction interaction Static integration of Possibility of dynamic ● ● components integration of components (in the Monolithic service ● future) Possibility of service ● aggregation (in the future) 16
Characteristics of Web Services ● XML based everywhere ● Message-based ● Programming language independent ● Could be dynamically located ● Could be dynamically assembled or aggregated ● Accessed over the internet ● Loosely coupled ● Based on industry standards 17
Web Services The Service Grid Service registration Service Registry Service Service invocation Service discovery delivery 18
Service Assembly Macro Micro Service Service Business Process Management Micro Service Micro Service 19
Service Nasdaq Aggregation Input: Symbol Output: Price News feed 1 Stock Service Input: Symbol Output: News links Portal User Input: Symbol Output: Price, News, Trade News feed n Input: Symbol Output: News links Brokerage 1 Brokerage n Input: Symbol, Price, Input: Symbol, Price, Qty Qty 20
Why Web Services? Why Web Services? 21
Why Web Services? Web Services: ● Are platform neutral ● Are accessible in a standard way ● Are accessible in an interoperable way ● Use simple and ubiquitous plumbing ● Are relatively cheap ● Simplify enterprise integration 22
Why Web Services? ● Interoperable – Connect across heterogeneous networks using ubiquitous web-based standards ● Economical – Recycle components, no installation and tight integration of software ● Automatic – No human intervention required even for highly complex transactions ● Accessible – Legacy assets & internal apps are exposed and accessible on the web ● Available – Services on any device, anywhere, anytime ● Scalable – No limits on scope of applications and 23 amount of heterogeneous applications
Web Services Usage Example Distributor XML XML Manufacturing Internet Supplier Facility XML XML Logistics “Growing need for a standard lightweight infrastructure for data exchange in e-business applications.” 24
Impact of Web Services on Software: “Application Dis-Integration” Web Services Monolithic App App App Software Service Service Service Application System System System System Software Service Service Service A Computer The Network 25
Macro web services – Virtual Systems Web Services A web service is accessed Bank Balance programmatically by applications or other Stock Position Net worth web services Insurance Portfolio Cash Value Stock ticker Biz News “Portfolio” can be an News application, a portal channel, or a web World News service itself 26
Micro web services – Virtual Apps A web service is Web Services accessed Bank balance programmatically by Spell Check applications or other web services Dictionary Grammar Thesaurus Word Processing Media c:\... “Word processing” can be an Publishing application, a capability, or a web http://... service itself 27
Three Laws of Computing ● Moore's Law – Computing power doubles every 18 months ● Gilder's Law – Network bandwidth capacity doubles every 12 months ● Metcalfe's Law (Net Effect) – Value of network increases exponentially as number of participants increases 28
Impact on Integration: Trigger the Network Effect Custom Integration Web Services Metcalfe’s Law: The value of the network is proportional to the square of the number of 29
Myth: Web Services is a New Concept ● Web services is distributed computing all over again – only now it is based on the web Distributed Computing ala CORBA / Concept Java Basic Web Services Interface Description CORBA IDL, Java interface WSDL RPC support ORBs, Idl2java compilers, rmic SOAP, compilers for WSDL Service Registry CORBA naming service, JNDI UDDI Messaging support CORBA Event/Notification service, JMS ? Transaction support CORBA Transaction service, JTS ? Secuity support CORBA Security service, Java security ? 30
Other Popular Myths Surrounding Web Services ● Web services require only SOAP, WSDL, UDDI: We need more high-level semantics ● Web services are based on the RPC paradigm: Document-driven model would be more popular communication model ● Web services must be based on HTTP: Other transports such as SMTP can be also used 31
Where is & Where is & Where is Web Services Where is Web Services going? going? 32
Myths about Web Services ● Web Services cure cancer: Not for a very very long time! ● Web Services are something completely new: Not True! ● You have to write Web Services from scratch: Not True! ● J2EE Platform does not support web services: Not True! 33
Recommend
More recommend