CST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services 1995 2008 Skilltop Technology Limited. All rights reserved.

Similar documents
T Network Application Frameworks and XML Web Services and WSDL Tancred Lindholm

WEB SERVICES. Revised 9/29/2015

Research on the Model of Enterprise Application Integration with Web Services

Agents and Web Services

Grid Computing. Web Services. Explanation (2) Explanation. Grid Computing Fall 2006 Paul A. Farrell 9/12/2006

VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR DEPARTMENT OF COMPUTER APPLICATIONS SUBJECT : MC7502 SERVICE ORIENTED ARCHITECTURE

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

How To Understand A Services-Oriented Architecture

Introduction to Web Services

Enterprise Application Designs In Relation to ERP and SOA

Web Services Technologies

IBM Rational Rapid Developer Components & Web Services

XIII. Service Oriented Computing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

A standards-based approach to application integration

2. Define Contemporary SOA. Contemporary SOA represents an architecture that promotes service orientation through the use of web services.

Developing Java Web Services

Creating Web Services in NetBeans

ISM/ISC Middleware Module

Service Oriented Architecture

The presentation explains how to create and access the web services using the user interface. WebServices.ppt. Page 1 of 14

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

Introduction into Web Services (WS)

1 What Are Web Services?

XML: extensible Markup Language. Anabel Fraga

EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.

XML WEB TECHNOLOGIES

Service-Oriented Architecture: Analysis, the Keys to Success!

Introduction to UDDI: Important Features and Functional Concepts

Introduction to XML Applications

SOA CERTIFIED JAVA DEVELOPER (7 Days)

Leveraging Service Oriented Architecture (SOA) to integrate Oracle Applications with SalesForce.com

Concrete uses of XML in software development and data analysis.

Getting Started with Service- Oriented Architecture (SOA) Terminology

Introduction to Service Oriented Architectures (SOA)

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Introduction to Service-Oriented Architecture for Business Analysts

What is a Web service?

Lesson 4 Web Service Interface Definition (Part I)

An XML Based Data Exchange Model for Power System Studies

JVA-561. Developing SOAP Web Services in Java

Consuming and Producing Web Services with Web Tools. Christopher M. Judd. President/Consultant Judd Solutions, LLC

Service Oriented Architecture 1 COMPILED BY BJ

IT6503 WEB PROGRAMMING. Unit-I

David Pilling Director of Applications and Development

Developing XML Solutions with JavaServer Pages Technology

REST vs. SOAP: Making the Right Architectural Decision

What Is NetBeans? Free and open-source based > Open source since June, 2000 > Large community of users and developers

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)

Automating the DEVS Modeling and Simulation Interface to Web Services

Consuming and Producing Web Services with WST and JST. Christopher M. Judd. President/Consultant Judd Solutions, LLC

Network Security. Chapter 10. Application Layer Security: Web Services. Part I: Introduction to Web Services

XML Processing and Web Services. Chapter 17

Enterprise Application Integration (EAI) Architectures, Technologies, and Best Practices

Java Web Services Training

Service Oriented Computing: SOAP, WSDL and UDDI. Dr. Cristian Mateos Diaz ( ISISTAN - CONICET

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE:

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction

A Case Based Tool for Monitoring of Web Services Behaviors

Literature Review Service Frameworks and Architectural Design Patterns in Web Development

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

1 What Are Web Services?

SOA REFERENCE ARCHITECTURE

Strategic Information Security. Attacking and Defending Web Services

Middleware and the Internet. Example: Shopping Service. What could be possible? Service Oriented Architecture

Introduction to Service Oriented Architecture (SOA)

REST web services. Representational State Transfer Author: Nemanja Kojic

Internationalization and Web Services

Core Feature Comparison between. XML / SOA Gateways. and. Web Application Firewalls. Jason Macy jmacy@forumsys.com CTO, Forum Systems

Web Services Development for IBM WebSphere Application Server V7.0. Version: Demo. Page <<1/10>>

Service-Oriented Architectures

Data Integration through XML/XSLT. Presenter: Xin Gu

SOA Myth or Reality??

So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO

XML for Manufacturing Systems Integration

SOA Planning Guide The Value Enablement Group, LLC. All rights reserved.

Distributed systems. Distributed Systems Architectures

SOA CERTIFIED CONSULTANT

AquaLogic Service Bus

Service Virtualization: Managing Change in a Service-Oriented Architecture

4.2 Understand Microsoft ASP.NET Web Application Development

Service Oriented Architecture (SOA) Implementation Framework for Satellite Mission Control System Software Design

Service Oriented Architectures

SOA and Virtualization Technologies (ENCS 691K Chapter 2)

Introduction to Web services architecture

SOA Architect Certification Self-Study Kit Bundle

Service Mediation. The Role of an Enterprise Service Bus in an SOA

Oracle Service Bus Examples and Tutorials

Last Week. XML (extensible Markup Language) HTML Deficiencies. XML Advantages. Syntax of XML DHTML. Applets. Modifying DOM Event bubbling

How To Create A C++ Web Service

Semistructured data and XML. Institutt for Informatikk INF Ahmet Soylu

Integration of Hotel Property Management Systems (HPMS) with Global Internet Reservation Systems

Transcription:

CST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services 1995 2008 Skilltop Technology Limited. All rights reserved.

Opening Night Course Overview Perspective Business Case Technology Development Summary References 1995 2008 Skilltop Technology Limited. 2

CST6445 Course Overview Session 1 Introduction To Web Services Session 3 Processing XML (Part 2) Session 5 Web Service Interaction (Part 2) Session 7 Standards Session 2 Processing XML (Part 1) Session 4 Web Service Interaction (Part 1) Session 6 Web Services Workshop Lecture 1 Architecture XML JWSDP Lecture 2 XML DTD JAXP SAX Lecture 3 XML Schema JAXP DOM Lecture 4 XSLT SOAP SAAJ API Lecture 5 UDDI WSDL JAXR JAX RPC Lecture 6 Workshop Goals Lecture 7 Web Service Standards Course Summary Lab 1 Web Service Deployment Lab 3 Parsing XML DOM Lab 5 JAX RPC Services Lab 7 Workshop Evaluation Lab 2 Parsing XML SAX Lab 4 SAAJ Lab 6 Develop/Deploy Web Service Final Exam Required Text :J2EE Platform Web Services Ray Lai Prentice Hall Recommended Text Building Web Services with Java: Making Sense of XML, SOAP, WSDL, and UDDI (2nd Edition) by 9 people and Sams Publishing Labs 50% Final 50% 1995 2008 Skilltop Technology Limited. 3

What is a Web Service? Used primarily as a means for businesses to communicate with each other and with clients, Web services allow organizations to communicate data without intimate knowledge of each other's IT systems behind the firewall. Web services do not provide the user with a GUI Web services instead share business logic, data and processes through a programmatic interface across a network. 1995 2008 Skilltop Technology Limited. 4

What is a Web Service? Web services describes a standardized way of integrating applications (or some functionality of an app) using open standards such as XML, SOAP, WSDL and UDDI over an Internet Protocol backbone. Web Service Consumer Web Service Producer Communicating data in standardized way. 1995 2008 Skilltop Technology Limited. 5

What is a Web Service? The W3C defines a Web service as a software system designed to support interoperable machine to machine interaction over a network. 1995 2008 Skilltop Technology Limited. 6

Perspective: Overview Good deal of hype and promise to solve the needs of business with a single all encompassing solution. In reality, we know this to be a natural occurrence while things are evolving. However, there are technologies and practices we can use today that mitigate risk and solve both short and long term business goals. 1995 2008 Skilltop Technology Limited. 7

Perspective: Business Relevance Primary goals of any business are to solve information delivery problems to achieve a high degree of customer satisfaction and improve crucial business processes. There is a definite trend away from proprietary point to point and rich client interfaces. Web Services are becoming the de facto approach to implementing B2C and B2Bi. 1995 2008 Skilltop Technology Limited. 8

Perspective: Industry Trends White label services Post bubble economics Broadband availability Destructive client technology Mobile clients Customer Expectations Standards for interoperability Platforms and frameworks 1995 2008 Skilltop Technology Limited. 9

Perspective: Why Web Services? Internet and pervasiveness of the WWW. Customer experience. Interoperability standards. Patterns and tools for accessing legacy information systems. IT and development costs. Quality of service ilities. (e.g. scalabilty, availabilty) Language and platform independence. 1995 2008 Skilltop Technology Limited. 10

Perspective: Why Web Services? Technology enabler for legacy systems integration and crossplatform interoperability. Proliferation of XML, Java technology and B2B Business drivers Cost reduction B2B integration Time to market Legacy systems and mainframe integration 1995 2008 Skilltop Technology Limited. 11

Perspective: Why Web Services? Technology drivers Single, common framework for many business services and business partners Loose coupling with stable interfaces and common code base Industry wide support in application servers and middleware vendors: Sun, IBM, Microsoft and BEA. Addresses data silos and restrictive ERP architectures Mitigates risk from obsolete technology 1995 2008 Skilltop Technology Limited. 12

Business Case: Analysis Web Services implementation should consider the need to aggregate business information from existing monolithic business services. Is there a requirement for a business process engine to perform this aggregation into meaningful business information and customer services? What are the characteristics? 1995 2008 Skilltop Technology Limited. 13

Business Case: Characteristics Trading Partners More than one? Need to interoperate with back end legacy systems and heterogeneous platforms? Reusability No reuse? Don t bother. Branding Integrating two different services may need to accommodate different constraints. 1995 2008 Skilltop Technology Limited. 14

Business Case: Characteristics (cont d) Technology Constraints Back end business services will never be reengineered. Need to coexist and leverage existing services. Limited Delivery Time Window Must be easy and quick to deploy. Must support different protocols and message formats. Support for a variety of industry standards and platforms. 1995 2008 Skilltop Technology Limited. 15

Business Case: Benefits Interoperability Low cost tool to meet time to market. Cross platform and legacy systems integration. Reusability and Maintainability Business services exposed as Web Services. Service calls and interface easy to maintain. ROI Deployable within weeks or months. Lower costs of integration and maintenance. 1995 2008 Skilltop Technology Limited. 16

Technology: Definition Web services are units of business services, applications, or system functionality that can be accessible over an IP network. Web Services can enable legacy system functionality to be exposed as a reusable business service without rewriting it. Web services technology can be used as a cross system or cross enterprise integration. 1995 2008 Skilltop Technology Limited. 17

Technology: Components Web services are units of business services, applications, or system functionality that can be accessible over an IP network. XML is the enabling technology on which these are built. SOAP and HTTP provide transport. WSDL provides service description. UDDI provides service registration. J2EE provides the APIs. 1995 2008 Skilltop Technology Limited. 18

Technology: Components Web services describes a standardized way of integrating applications (or some functionality of an app) using open standards such as XML, SOAP, WSDL and UDDI over an Internet Protocol backbone. Web Service Consumer Web Service Producer Communicating data in standardized way. 1995 2008 Skilltop Technology Limited. 19

Technology: Actors Service Provider Runs business services Defines, registers and publishes Service Broker Defines, register and publishes on behalf of Service Providers Service Consumer Locates business services Retrieves and binds 1995 2008 Skilltop Technology Limited. 20

Service Oriented Architecture With the trio of Service Provider Service Broker Service Consumer we have the foundation for a Service Oriented Architecture. By the end of the course you will have a better understanding of Web Services and will be able to understand SOA. 1995 2008 Skilltop Technology Limited. 21

XML Overview 1995 2008 Skilltop Technology Limited. 22

Technology: XML Markup language like HTML Like SGML used to define new grammars. Semantics VS Presentation of data unlike HTML A language for describing Web application languages/protocols Describes data and/or process Fundamental for Web service interactions Global namespace support facilitates standard service protocols (e.g. SOAP) 1995 2008 Skilltop Technology Limited. 23

Technology: XML Document Representing Data <customer> <name>john Smith</name> <address type= billing > 123 Anonymous St. Someplace, Somewhere </address> <credit> <type>visa</type> <number>99999999999</number> <expiry>31/12/2003</expiry> </credit> </customer> 1995 2008 Skilltop Technology Limited. 24

Technology: XML Document Representing Process <method> <name>getcustomer</name> <arg> <name>customername</name> <value>john Smith</value> </arg> <arg> <name>getcreditinfo</name> <value>true</value> </arg> </method> 1995 2008 Skilltop Technology Limited. 25

Technology: XML Document Elements Encapsulate data or child elements Well formed: must have a matching end element or element denoting no content (empty element): <start tag> some content </end tag> < self closing tag /> Attributes Additional information specific to an element Attribute data must be contained in quotes < start tag attribute= attribute data > </ start tag > 1995 2008 Skilltop Technology Limited. 26

Technology: XML Document Processing Instructions XML processor directives <?target instructions?> Can be used to include code fragments <?xml?> reserved for XML standards Character data Data between tags and in attributes Special notation can be used to pass data through unprocessed. <! This is a comment > 1995 2008 Skilltop Technology Limited. 27

Technology: XML Document Plain text method for describing and identifying data Can be styled according to application defined rules Document inclusion, reuse and standardization Easily processed Well formedness rules Hierarchical representation 1995 2008 Skilltop Technology Limited. 28

Technology: XML Document XML document consists of: Declarations and definitions Elements and attributes Processing instructions Character data and comments Definitions section identifies element and attribute names and declares constants Element and attribute names are defined by application requirements 1995 2008 Skilltop Technology Limited. 29

Technology: XML DTD Declarations and Definitions DTD Document Type Definition DTD is used for document validation ELEMENT, ATTRIBUTE and ENTITY declarations Defines element relationships Parent child, multiple occurrences Entities are like constants & is an entity declaration in the DTD for XML 1995 2008 Skilltop Technology Limited. 30

Technology: XML XSD XML Schema Definition (XSD) Used for document validation XML document More concise description of document structure Strong typing and constraint definition Reuse and object definitions 1995 2008 Skilltop Technology Limited. 31

Technology: Some Terminology URI Uniform Resource Identifier URL Uniform Resource Locater defines how to locate a resource URN Uniform Resource Name Tells something about a resource the name A URI is defined to be a locater, a name or both. It is the more general term. 1995 2008 Skilltop Technology Limited. 32

Technology: XML Namespaces Namespaces Differentiates elements with the same name Addresses conflicting name issues when exchanging documents with partners xmlns= URI sets the default namespace for elements and attributes xmlns:pfi= URI sets the namespace for elements prefixed with PID <PFI:name>...</PFI:name> 1995 2008 Skilltop Technology Limited. 33

Technology: XML Parsers Parsers SAX Simple API for XML processing event driven DOM Document Object Model Hierarchy of elements 1995 2008 Skilltop Technology Limited. 34

Technology: XML Many standards: SAX, DOM, OO models (JDOM, dom4j) DTD, XML Schema Namespaces XSL (XSLT, XPath, XSL FO), Xlink XHTML RDF, ebxml, WSDL, UDDI, SOAP Many more to come Thanks to an open and flexible specification 1995 2008 Skilltop Technology Limited. 35

Technology: J2EE APIs JAXP Processing XML documents JAXM Messaging with XML documents (SOAP) JAXRPC Remote Procedure Calls with XML (SOAP) JAXR Accessing Web service registries with XML 1995 2008 Skilltop Technology Limited. 36

Development: Programming Details Factory Design Pattern Tree Structures Attribute Value pairs Event driven programs 1995 2008 Skilltop Technology Limited. 37

Development: Factory Design Pattern A helper class (factory) that instantiates (produces) objects on behalf of another object Hides or abstracts implementation details Typically produces Interface types Underlying concrete class can be associated with the factory through a java system property This is the case for the XML processors 1995 2008 Skilltop Technology Limited. 38

Development: Factory Design Pattern Typically a program must first get an instance of a factory using a static factory method FactoryClass.newInstance() FactoryClass.getInstance() Factory classes are usually abstract FactoryClass.newInstance() returns a concrete implementation of the abstract class javax.xml.parsers.saxparserfactory 1995 2008 Skilltop Technology Limited. 39

Development: Tree Structures XML documents can be modeled using a hierarchical (tree) data structure Each node in the tree (regardless of type) has a parent node and zero or more child nodes The root node has no parent A node with no children is a leaf node Access methods are provided to move around in the tree structure 1995 2008 Skilltop Technology Limited. 40

Development: Tree Structures Any node in the tree presents a uniform view no matter what data is contained or represented by the node An interface or abstract class is used to define the node contract public interface TreeNode { TreeNode getparent(); void setparent(treenode); TreeNode [] getchildren(); void addchild(treenode childnode); void setnodedata(object nodedata); Object getnodedata(); } 1995 2008 Skilltop Technology Limited. 41

Development: Tree Structures Recursion is often used to evaluate trees int countchildnodes(treenode startnode) { int count = 0; if ( startnode!= null ) { TreeNode children[] = startnode.getchildren(); count = children.length; for(int i= 0; i < children.length; i++ ) { count += countchildnodes(children[i]); } } return count; } org.w3c.dom.node 1995 2008 Skilltop Technology Limited. 42

Development: Attribute Value Pairs Names associated with values type="ordered" font="arial" name="value" Maps are data structures used to associate one object with another object Hashtable, HashMap in java.util String => String models attribute value pairs org.w3c.dom.namednodemap 1995 2008 Skilltop Technology Limited. 43

Development: Event Driven Programs Event listener objects events classes and listener interfaces are defined by an API java.awt.event.actionevent java.awt.event.actionlistener Listener interface implementations define the callback methods used by the API to notify Events are stream oriented org.xml.sax.contenthandler 1995 2008 Skilltop Technology Limited. 44

Summary Web services are units of business services, applications, or system functionality that can be accessible over the Web. Web services technology provides interoperability and integration solutions while mitigating risk. 1995 2008 Skilltop Technology Limited. 45

Summary XML is the technology enabler. SOAP and HTTP provide transport services. WSDL provides service binding. UDDI provides discovery and retrieval. J2EE provides the APIs. 1995 2008 Skilltop Technology Limited. 46

References W3C World Wide Web Consortium XML standards http://www.w3.org/ Sun Microsystems J2EE 1.4 Tutorial http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.ht ml J2EE Platform Web Services Ray Lai, Sun Microsystems Press, ISBN 0 13 101402 1 Wikipedia http://wikipedia.org/ 1995 2008 Skilltop Technology Limited. 47