Apache Wink Developer Guide. Draft Version. (This document is still under construction)
|
|
- Virginia Adams
- 6 years ago
- Views:
Transcription
1 Apache Wink Developer Guide Software Version: 1.0 Draft Version (This document is still under construction) Document Release Date: [August 2009] Software Release Date: [August 2009]
2 Apache Wink Developer Guide This page last changed on Aug 09, 2009 by michael. Apache Wink Apache Wink is a complete Java based solution for implementing and consuming REST based Web Services. The goal of the Apache Wink framework is to provide a reusable and extendable set of classes and interfaces that will serve as a foundation on which a developer can efficiently construct applications. Contents 1 Introduction to Apache Wink 2 Apache Wink Building Blocks 3 Getting Started with Apache Wink 4 Applications 5 Resources 6 Providers 7 Context 8 Environment 9 Runtime Deligate 10 Apache Wink Client 11 Index Document generated by Confluence on Aug 09, :15 Page 2
3 1 Introduction to Apache Wink This page last changed on Aug 04, 2009 by michael. Introduction to Apache Wink Apache Wink 1.0 is a complete Java based solution for implementing and consuming Rest based Web Services. The goal of the Wink framework is to provide a reusable and extendable set of classes and interfaces that will serve as a foundation on which a developer can efficiently construct applications. Wink consists of a Server module for developing Rest services, and of a Client module for consuming Rest services. It cleanly separates the low-level protocol aspects from the application aspects. Therefore, in order to implement and consume Rest Web Services the developer only needs to focus on the application business logic and not on the low-level technical details. The Wink Developer Guide provides the developer with a rudimentary understanding of the Wink framework and the building blocks that comprise it. Welcome to Apache Wink Wink is a framework for the simple implementation and consumption of Rest web services. Rest is an acronym that stands for REpresentational State Transfer. Rest web services are "Resources" that are identified by unique URIs. These resources are accessed and manipulated using a set of "Uniform methods". Each resource has one or more "Representations" that are transferred between the client and the service during a web service invocation. The central features that distinguish the Rest architectural style from other network-based styles is its emphasis on a uniform interface, multi representations and services introspection. Wink facilitates the development and consumption of Rest web services by providing the means for modeling the service according to the Rest architectural style. Wink provides the necessary infrastructure for defining and implementing the resources, representations and uniform methods that comprise a service. Rest Architecture For a detailed understanding of the Rest architecture refer to the description by Roy Fielding in his dissertation, The Design of Network-based Software Architectures Rest Web Service Figure 1: Rest Web service design structure Document generated by Confluence on Aug 09, :15 Page 3
4 Figure 1 demonstrates the design principles and components that comprise a Rest web service. Wink reflects these design principles in the implementation of web services. Apache Wink Open Development The purpose of this document is to provide detailed information about Wink 1.0 and describe the additional features that the Wink 1.0 runtime provides in addition to the JAX-RS Java API for REST Web Service specification. In addition to the features description, this document also provides information regarding implementation specific issues. This document provides the developer with a rudimentary understanding of the Wink 1.0 framework in order to highlight the underlying concepts and precepts that make up the framework in order to create a basis for understanding, cooperation and open development of Wink. JAX-RS Specification Document For more information on the JAX-RS functionality, refer to the JAX-RS specification document, available at the following location: JAX-RS Compliancy Wink 1.0 is a complete implementation of the JAX-RS v1.0 specification. The JAX-RS TCK tests still need to performed in order to be able to declare that it is JAX-RS compliant. JAX-RS is a Java based API for RESTful Web Services is a Java programming language API that provides support in creating web services according to the Representational State Transfer (REST) architectural style. JAX-RS uses annotations, introduced in Java SE 5, to simplify the development and deployment of web service clients and endpoints. Document generated by Confluence on Aug 09, :15 Page 4
5 2 Apache Wink Building Blocks This page last changed on Aug 04, 2009 by michael. In order to take full advantage of Apache Wink 1.0, a basic understanding of the building blocks that comprise it and their functional integration is required. The following chapter describes the basic concepts and building blocks of Wink, version 0.1. This chapter contains the following sections Service Implemenatation Building Blocks Providers URI Dispatching Assets Annotations Url Handling Http Methods Basic URL Query Parameters Apache Wink Building Blocks Summary Client Components Building Blocks RestClient Resource ClientRequest ClientResponse ClientConfig ClientHandler InputStreamAdapter OutputStreamAdapter EntityType ApacheHttpClientConfig The Apache Wink Runtime Request Processor Deployment Configuration Handler Chain Service Implementation Building Block Overview As mentioned in the previous chapter, Apache Wink 1.0 reflects the design principles of a REST web service. It does so by providing the developer with a set of java classes that enable the implementation of "Resources", "Representations" and the association between them. Wink 1.0 also enables the developer to define the resource URI and the "Uniform methods" that are applicable to the resource. Resource A "resource" represents a serviceable component that enables for the retrieval and manipulation of data. A "resource class" is used to implement a resource by defining the "resource methods" that handle requests by implementing the business logic. A resource is bound or anchored to a URI space by annotating the resource class with annotation. Document generated by Confluence on Aug 09, :15 Page 5
6 Providers A provider is a class that is annotated with annotation and implements one or more interfaces defined by the JAX-RS specification. Providers are not bound to any specific resource. The appropriate provider is automatically selected by the Apache Wink runtime according to the JAX-RS specification. There are three types of providers defined by the JAX-RS specification: Entry Providers Context Providers Exception Mapping Provider Entity Provider An "Entity Provider" is a class that converts server data into a specific format requested by the client and or converts a request transmitted by the client into server data. An entity provider can be restricted to support a limited set of media types using annotations. An entity provider is configured to handle a specific server data type by implementing the MessageBodyWriter and or MessageBodyReader interfaces. Figure 2: Entity Provider Diagram Context Provider Context providers are used to supply contexts to resource classes and other providers by implementing the context ContextResolver interface. Context providers may restrict the media types that they support using annotation. Figure 3: Context Provider Diagram (Picture) Exception Mapping Provider Exception mapping providers map a checked or runtime exception into an instance of a Response by implementing the ExceptionMapper interface. When a resource method throws an exception for which there is an exception mapping provider, the matching provider is used to obtain a Response instance. Figure 4: Exception Mapping Provider Diagram (Picture) URI Dispatching Designing an efficient REST web service requires that the application developer understands the resources that comprise the service, how to best identify the resources, and how they relate to one another. Document generated by Confluence on Aug 09, :15 Page 6
7 Restful resources are identified by URIs in most cases related resources have URIs that share common path elements. Figure 5: Apache Wink Logic Flow Symphony SDK Logic Flow Figure 5 illustrates the Apache Wink logic flow. The Http request sent by the client invokes the "Apache Wink Rest Servlet". The Rest servlet uses the "Request Dispatcher" and the request URI in order to find, match and invoke the correct resource method. Bookmarks Example Throughout this document, various project examples are used in order to describe the functionality and processes that comprise the Apache Wink. In order to explain the Rest design principles used in the Apache Wink this developer guide refers to the "Bookmark" example project found in the examples folder located in the Apache Wink distribution. Refer to the code (using an IDE application) in the example in conjunction with the following explanations and illustrations in this developer guide. Apache Wink Servlet and Request Processor Figure 6: Apache Wink Rest Servlet and Request Processor for the Bookmark Services Document generated by Confluence on Aug 09, :15 Page 7
8 Server and Reqest Processor Figure 6 shows the Apache Wink servlet and request Processor concept in the context of the application server. In the "Bookmarks" example in figure 6 there are two Resources, the first Resource is assosiated with the /mybookmarks URI and manages the bookmarks collection, the second resource is assosiated with the /mybookmarks/{bookmark} Resources and manages an individual bookmark within the collection. The Resources' defined by the web service and managed by Apache Wink are referred to as "URI space". The Resources space is the collection of all URI's that exist in the same context. Figure 6 shows the URI spacew that contains /mybookmarks and /mybookmarks/{bookmarks}. URI Space The Bookmarks service URI space consists of the following URI space items and detailed descriptions about their context and functionality. Table 1: URI Management URI space Item /Bookmark/rest /Bookmark/rest /mybookmarks Description This URI is the root context of the bookmark service and the entry point of the URI space of the service. An Http GET request to this URI returns a "Service Document" which is automatically generated by Apache Wink. The service document provides information about all available collections in the URI space. This URI is associated with a collection of bookmarks resources. Clients use the Http GET method in order to retrieve a representation of Document generated by Confluence on Aug 09, :15 Page 8
9 the collection and Http POST method in order to create a new item in the collection. /Bookmark/rest /mybookmarks/ {bookmark} This URI template is associated with a single bookmark resource. Clients use the Http GET method in order to retrieve a representation of the resource, Http PUT method is used in order to update the resource and Http DELETE method is used in order to delete the resource. Assets Assets are classes that contain "web service business logic" implemented by the developer. Each Asset is associated with one or more URI. The Apache Wink dispatcher invokes the Asset, which is associated with the URI found in the Http request. An Asset class can implement one or more methods, each method is associated with a single Http method (GET, HEAD, POST, PUT, DELETE etc). The methods can be associated with a Mime type of a produced representation. Methods that handle Http verbs of requests with a body (such as PUT, POST) are also associated with the Mime type of the Http request. The Asset class can be registered to the Apache Wink using the "Spring context xml" or by using a registration API. For further information regarding the Spring Context, refer to the "Advanced Functionality" chapter xx, and go to the "Spring Context Configuration" section, on page xx. Annotations URL Handling The Apache Wink receives Http requests and then dispatches a wrapped Http request to the appropriate Resource method. The Http request is match to the Resource method based on the Http request parameters, the Resource method definitions and the Mime type. Figure 7: URL Request Handling Document generated by Confluence on Aug 09, :15 Page 9
10 Request Handling Figure 7 demonstrates the Http Client request path to the URI dispatcher, once the dispatcher receives the request it is then matched according to the Http method, URL and Mime type and finally the Resource registry definition. Http Methods - GET, POST, PUT, DELETE and OPTIONS The common Http 1.1 methods for the Apache Wink are defined in the following section. This set of methods can be expanded. Method Usage Table 3: Http Methods Method Safe Idempotent Cacheable GET X X X HEAD X X X PUT X POST * DELETE X OPTIONS Document generated by Confluence on Aug 09, :15 Page 10
11 Key - X Safe - does not affect the server state Idempotent - a repeated application of the same method has the same effect as a single application Cacheable - a response to a method is cacheable if it meets the requirements for Http cachin * - Responses to this method are not cacheable, unless the response includes an appropriate Cache-Control or Expires header fields. However, the 303 response can be used to direct the user agent to retrieve a cacheable resource. GET The GET method is used to retrieve information from a specified URI and is assumed to be a safe and repeatable operation by browsers, caches and other Http aware components. This means that the operation must have no side effects and GET method requests can be re-issued. HEAD The HEAD method is the same as the GET method except for the fact that the HEAD does not contain message body. POST The POST method is used for operations that have side effects and cannot be safely repeated. For example, transferring money from one bank account to another has side effects and should not be repeated without explicit approval by the user. The POST method submits data to be processed, for example, from an Html form, to the identified resource. The data is included in the body of the request. This may result in the creation of a new resource or the updates of existing resources or both. PUT The PUT method requests that the enclosed entity be stored under the supplied Request-URI. If the Request-URI refers to an already existing resource, the enclosed entity should be considered as a modified version of the one residing on the origin server. If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new resource by the requesting user agent, the origin server can create the resource with that URI. DELETE The DELETE method requests that the origin server delete the resource identified by the Request-URI. This method can be overridden on the origin server. The client cannot be guaranteed that the operation has been carried out, even if the status code returned from the origin server indicates that the action has been completed successfully. OPTIONS The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. Basic URL Query Parameters A URL parameter is a name and value pair appended to a URL. The parameter begins with a question mark "?" and takes the form of name=value. If more than one URL parameter exists, each parameter is separated by an ampersand "&" symbol. URL parameters enable the client to send data as part of the URL to the server. When a server receives a request and parameters are appended to the URL of the request, the server uses these parameters as if they were sent as part of the request body. There are several predefined URL Document generated by Confluence on Aug 09, :15 Page 11
12 parameters recognized by the Symphony SDK. The following table lists the parameters commonly used in web service URLs. These special URL parameters are defined in the "RestConstants" class. Query Parameters Table 4: URL Parameters Parameter Description Value alt absolute-urls relative-urls callback Provides an alternative representation of the specified Mime type. Apache Wink recognizes this as a representation request of the highest priority. Indicates to Apache Wink that the generated links in the response should be absolute, mutual exclusive with the relative-urls parameter Indicates to Apache Wink that the generated links in the response should be relative, mutual exclusive with the absolute-urls parameter Wrap javascript representation in callback function, is relevant when requested with an application/json MimeType. Mime type, e.g. "text%2fplain" NONE NONE name of callback function. For example, "myfunc" Combining URL Parameters A single URL can contain more than one URL parameter, example "?alt=text%2fjavascript &callback=myfunc"(where "%2F" represents escaped "/"). Apache Wink Building Blocks Summary The previous section "Service Implementation Building Blocks" outlines the basic precepts and building blocks that comprise the service side of Apache Wink. In order to understand the relationship between the building blocks that comprise Apache Wink a set of example applications have been designed and built that provide a reference point that demonstrate a rudimentary understanding about the functionality of Apache Wink. Apache Wink Examples The following examples applications are used in this "Apache Wink Developer Guide". Bookmarks HelloWorld QADefects Bookmarks Project This developer guide uses the bookmarks example application in order to describe the logic flow process within Apache Wink. Refer to the comments located in the "Bookmarks" example application code for in-depth explanations about the methods used to build the bookmarks application. Document generated by Confluence on Aug 09, :15 Page 12
13 HelloWorld Project Complete the step-by-step "HelloWorld" tutorial in chapter 3 "Getting Started with Apache Wink" and then follow the installation instructions on page xx, in order to view the "Bookmarks" example application from within the Eclipse IDE. QADefects The QADefects example application illustrates the advanced functionality of Apache Wink by implementing most of the features provided by the Apache Wink (Runtime) framework. Client Component Basics Overview Apache Wink interacts with Rest Web-Services. It maps Rest concepts to Java classes and encapsulates underlying Rest related standards and protocols, as well as providing a plug-in mechanism for RAW Http streaming data manipulation. This mechanism also provides the ability to embed cross application functionality on the client side, such as security, compression and caching. Figure 8: Apache Wink Client Simplified Breakdown Apache Wink Client The illustration figure 8 shows the basic elements that comprise the client side of Apache Wink. Apache Wink exposes several data models for use in the applications business logic. These data models are utilized by the application with the Rest concepts that the client exposes. Apache Wink provides the developer with the ability to implement and embed cross application functionality by implementing a Handler Chain mechanism. The Apache Wink Client communicates with Rest services via the Http protocol. Client Components Apache Wink is comprised of several key elements that together create a simple and convenient framework for the consumption of Rest based web services. RestClient The RestClient class is the central access point to Apache Wink. It provides the user with functionality that enables the creation of new resources. The RestClient provides the user with the ability to set different configuration parameters and propagated them, to each resource created. Once the resource is created, it can be manipulated by invoking the Http common methods, GET, PUT, POST and DELETE. The default usage of the Apache Wink is to create and reuse the RestClient object within the application. Document generated by Confluence on Aug 09, :15 Page 13
14 Resource ClientRequest ClientResponse ClientConfig ClientHandler InputStreamAdapter EntityType ApacheHttpClientConfig The Apache Wink Runtime The Apache Wink runtime is deployed on a JEE environment and is configured by defining the RestServlet in the web.xml file of the application. This servlet is the entry point of all the Http requests targeted for web services, and passes the request and response instances to the Symphony engine for processing. Figure 9: Apache Wink Request Processor Architecture Document generated by Confluence on Aug 09, :15 Page 14
15 The diagram illustrates the core components of the Apache Wink runtime. The Wink engine is the RequestProcessor. It builds an instance of a MessageContext with all of the required information for the request and passes it through the engine handler chains. The handler chains are responsible for serving the request, invoking the required resource method and finally generating a response. In case of an error, the RequestProcessor invokes the Error chain with the generated exception for producing the appropriate response. The Apache Wink runtime maintains providers and resources in two registries, the "providers registry" and the "resource registry" utilizing them during request processing. Request Processor The RequestProcessor is the Apache Wink engine, that is initialized by the RestServlet and is populated with an instance of a DeploymentConfiguration. When a request is passed to the handlerequest() method of the RequestProcessor, a new instance of a MessageContext is created. The MessageContext contains all of the information that is required for the Wink runtime to handle the request. The RequestProcessor first invokes the Request Handler Chain and then the Response Handler Chain. If an exception occurs during any stage of the request processing, the RequestProcessor invokes the Error Handler Chain for processing the exception. Deployment Configuration The Apache Wink runtime is initialized with an instance of a Deployment Configuration. The Deployment Configuration holds the runtime configuration, including the handler chains, registries, configuration properties. The Deployment Configuration is initialized with an instance of a JAX-RS Application used for obtaining user resources and providers. Customization The Deployment Configuration is customized by extending the DeplymentConfiguration class, overriding specific methods and specifying the new class in the web.xml file of the application. In order to specify a different Deployment Configuration class instead of the default Deployment Configuration, the value of the symphony.deploymentconfiguration RestServlet init parameter must be set to be the fully qualified name of the customized configuration class. Document generated by Confluence on Aug 09, :15 Page 15
16 <servlet> <servlet-name>restsdkservice</servlet-name> <servlet-class> com.hp.symphony.server.internal.servlet.restservlet </servlet-class> <init-param> <param-name>symphony.deploymentconfiguration</param-name> <param-value>com.hp.example.mydeploymentconfig</param-value> </init-param> </servlet> The following table details the customizable methods of the Deployment Configuration class. Deployment Configuration Table 5: Deployment Configuration Customizable Methods Method initalternateshortcutmap initmediatypemapper initrequestuserhandlers initresponseuserhandlers initerroruserhandlers Description Initializes the AlternateShortcutMap. Refer to section Initializes the MediaTypeMapper. Refer to section Return a list of User Handler instances to embed in the Request chain. Refer to section Return a list of User Handler instances to embed in the Response chain. Refer to section # Return a list of User Handler instances to embed in the Error chain. Refer to section # Handler Chains The handler chain pattern is used by the Wink runtime for implementing the core functionalities. There are three handler chains utilized by the Wink runtime: RequestHandlersChain ResponseHandlersChain ErrorHandlersChain Refer to Chapter???????? Reference source not found. for more information on Handler Chains. Registries The Apache Wink runtime utilizes two registries for maintaining the JAX-RS resources and providers. Both registries maintain their elements in a sorted state according to the JAX-RS specification for increasing performance during request processing. In addition to the JAX-RS specification sorting, Wink supports the prioritization of resources and providers. Document generated by Confluence on Aug 09, :15 Page 16
17 Refer to section???? for more information on Resources and Providers Prioritization. Resource Registry Firgure 10: Resource Registry Architecture The resources registry maintains all of the root resources in the form of Resource Records. A Resource Record holds the following: URI Template Processor - represents a URI template associated with a resource. Used during the resource matching process. Resource Metadata - holds the resource metadata collected from the resource annotations. Sub-Resource Records - records of all the sub-resources (methods and locators) collected from the sub-resource annotations. Resource Factory - a factory that retrieves an instance of the resource in accordance to the creation method defined for the resource. Possible creation methods include: - singleton - prototype - spring configuration - user customizable Document generated by Confluence on Aug 09, :15 Page 17
2 Apache Wink Building Blocks
2 Apache Wink Building Blocks Apache Wink Building Block Basics In order to take full advantage of Apache Wink, a basic understanding of the building blocks that comprise it and their functional integration
More informationApache Wink User Guide
Apache Wink User Guide Software Version: 0.1 The Apache Wink User Guide document is a broad scope document that provides detailed information about the Apache Wink 0.1 design and implementation. Apache
More informationApache Wink 0.1 Feature Set
Apache Wink 0.1 Feature Set Software Version: 0.1 [The Wink REST Runtime Feature Set internal draft document is a broad scope document that provides detailed information about the Runtime strategy and
More information5.1 Registration and Configuration
5.1 Registration and Configuration Registration and Configuration Apache Wink provides several methods for registering resources and providers. This chapter describes registration methods and Wink configuration
More informationSession 12. RESTful Services. Lecture Objectives
Session 12 RESTful Services 1 Lecture Objectives Understand the fundamental concepts of Web services Become familiar with JAX-RS annotations Be able to build a simple Web service 2 10/21/2018 1 Reading
More informationDeveloping Applications for the Java EE 7 Platform 9-2
Developing Applications for the Java EE 7 Platform 9-2 REST is centered around an abstraction known as a "resource." Any named piece of information can be a resource. A resource is identified by a uniform
More informationJBoss SOAP Web Services User Guide. Version: M5
JBoss SOAP Web Services User Guide Version: 3.3.0.M5 1. JBoss SOAP Web Services Runtime and Tools support Overview... 1 1.1. Key Features of JBossWS... 1 2. Creating a Simple Web Service... 3 2.1. Generation...
More informationRest Client for MicroProfile. John D. Ament, Andy McCright
Rest Client for MicroProfile John D. Ament, Andy McCright 1.0, December 19, 2017 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile
More informationRest Client for MicroProfile. John D. Ament, Andy McCright
Rest Client for MicroProfile John D. Ament, Andy McCright 1.1, May 18, 2018 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile
More informationCopyright 2012, Oracle and/or its affiliates. All rights reserved.
1 JAX-RS-ME Michael Lagally Principal Member of Technical Staff, Oracle 2 CON4244 JAX-RS-ME JAX-RS-ME: A new API for RESTful web clients on JavaME This session presents the JAX-RS-ME API that was developed
More informationRESTful SCA with Apache Tuscany
RESTful SCA with Apache Tuscany Luciano Resende lresende@apache.org http://lresende.blogspot.com Jean-Sebastien Delfino jsdelfino@apache.org http://jsdelfino.blogspot.com 1 Agenda IBM Software Group What
More informationDevelop Mobile Front Ends Using Mobile Application Framework A - 2
Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 3 Develop Mobile Front Ends Using Mobile Application Framework A - 4
More informationRESTFUL WEB SERVICES - INTERVIEW QUESTIONS
RESTFUL WEB SERVICES - INTERVIEW QUESTIONS http://www.tutorialspoint.com/restful/restful_interview_questions.htm Copyright tutorialspoint.com Dear readers, these RESTful Web services Interview Questions
More informationRest Client for MicroProfile. John D. Ament
Rest Client for MicroProfile John D. Ament 1.0-T9, December 05, 2017 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile Rest
More informationSkyway Builder 6.3 Reference
Skyway Builder 6.3 Reference 6.3.0.0-07/21/09 Skyway Software Skyway Builder 6.3 Reference: 6.3.0.0-07/21/09 Skyway Software Published Copyright 2009 Skyway Software Abstract The most recent version of
More informationJVA-563. Developing RESTful Services in Java
JVA-563. Developing RESTful Services in Java Version 2.0.1 This course shows experienced Java programmers how to build RESTful web services using the Java API for RESTful Web Services, or JAX-RS. We develop
More informationJava J Course Outline
JAVA EE - J2SE - CORE JAVA After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? CHAPTER 1: INTRODUCTION What is Java? History Versioning The
More informationSession 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes
Session 8 Deployment Descriptor 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/_status_codes
More informationBEAWebLogic. Portal. Overview
BEAWebLogic Portal Overview Version 10.2 Revised: February 2008 Contents About the BEA WebLogic Portal Documentation Introduction to WebLogic Portal Portal Concepts.........................................................2-2
More informationRest Client for MicroProfile. John D. Ament, Andy McCright
Rest Client for MicroProfile John D. Ament, Andy McCright 1.2-m2, December 10, 2018 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile
More informationIntroduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX
Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject
More informationServices Web Nabil Abdennadher
Services Web Nabil Abdennadher nabil.abdennadher@hesge.ch 1 Plan What is Web Services? SOAP/WSDL REST http://www.slideshare.net/ecosio/introduction-to-soapwsdl-and-restfulweb-services/14 http://www.drdobbs.com/web-development/restful-web-services-a-tutorial/
More information(9A05803) WEB SERVICES (ELECTIVE - III)
1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available
More informationReST 2000 Roy Fielding W3C
Outline What is ReST? Constraints in ReST REST Architecture Components Features of ReST applications Example of requests in REST & SOAP Complex REST request REST Server response Real REST examples REST
More informationuick Start Guide 1. Install Oracle Java SE Development Kit (JDK) version or later or 1.7.* and set the JAVA_HOME environment variable.
API Manager uick Start Guide WSO2 API Manager is a complete solution for publishing APIs, creating and managing a developer community, and for routing API traffic in a scalable manner. It leverages the
More informationRESTful Java with JAX-RS
RESTful Java with JAX-RS Bill Burke TECHMiSCHE INFORMATIO N SEIBLIOTH EK UNIVERSITATSBiBLIQTHEK HANNOVER O'REILLY Beijing Cambridge Farnham Koln Sebastopol Taipei Tokyo Table of Contents Foreword xiii
More informationBEAAquaLogic. Service Bus. Interoperability With EJB Transport
BEAAquaLogic Service Bus Interoperability With EJB Transport Version 3.0 Revised: February 2008 Contents EJB Transport Introduction...........................................................1-1 Invoking
More informationApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum
ApacheCon NA 2015 How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum 1Tech, Ltd. 29 Harley Street, London, W1G 9QR, UK www.1tech.eu 1 Overview Common Getting Started Problems Common
More informationC exam. IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1.
C9510-319.exam Number: C9510-319 Passing Score: 800 Time Limit: 120 min File Version: 1.0 IBM C9510-319 IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile Version: 1.0 Exam A QUESTION
More informationAgent-Enabling Transformation of E-Commerce Portals with Web Services
Agent-Enabling Transformation of E-Commerce Portals with Web Services Dr. David B. Ulmer CTO Sotheby s New York, NY 10021, USA Dr. Lixin Tao Professor Pace University Pleasantville, NY 10570, USA Abstract:
More informationSERVICE TECHNOLOGIES
SERVICE TECHNOLOGIES Exercises 3 16/04/2014 Valerio Panzica La Manna valerio.panzicalamanna@polimi.it http://servicetechnologies.wordpress.com/exercises/ REST: Theory Recap REpresentational State Transfer
More informationWeb Services & Axis2. Architecture & Tutorial. Ing. Buda Claudio 2nd Engineering Faculty University of Bologna
Web Services & Axis2 Architecture & Tutorial Ing. Buda Claudio claudio.buda@unibo.it 2nd Engineering Faculty University of Bologna June 2007 Axis from SOAP Apache Axis is an implementation of the SOAP
More informationJAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP
2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries
More informationVision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1
Umair Javed 2004 J2EE Based Distributed Application Architecture Overview Lecture - 2 Distributed Software Systems Development Why J2EE? Vision of J2EE An open standard Umbrella for anything Java-related
More informationSSC - Web applications and development Introduction and Java Servlet (I)
SSC - Web applications and development Introduction and Java Servlet (I) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics What will we learn
More informationModule 3 Web Component
Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session
More informationGetting started with WebSphere Portlet Factory V6.1
Getting started with WebSphere Portlet Factory V6.1 WebSphere Portlet Factory Development Team 29 July 2008 Copyright International Business Machines Corporation 2008. All rights reserved. Abstract Discover
More informationSocket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.
Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise
More informationweb.xml Deployment Descriptor Elements
APPENDIX A web.xml Deployment Descriptor s The following sections describe the deployment descriptor elements defined in the web.xml schema under the root element . With Java EE annotations, the
More information04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6
04 Webservices Web APIs REST Coulouris chp.9 Roy Fielding, 2000 Chp 5/6 Aphrodite, 2002 http://www.xml.com/pub/a/2004/12/01/restful-web.html http://www.restapitutorial.com Webservice "A Web service is
More informationRESTful API Design APIs your consumers will love
RESTful API Design APIs your consumers will love Matthias Biehl RESTful API Design Copyright 2016 by Matthias Biehl All rights reserved, including the right to reproduce this book or portions thereof in
More informationType of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes
Java CORE JAVA Core Java Programing (Course Duration: 40 Hours) Introduction to Java What is Java? Why should we use Java? Java Platform Architecture Java Virtual Machine Java Runtime Environment A Simple
More informationImplementation Architecture
Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern ISDS, TU Graz 2017-11-15 Roman Kern (ISDS, TU Graz) Implementation Architecture 2017-11-15 1 / 54 Outline 1 Definition
More informationWeb Services. GC: Web Services Part 3: Rajeev Wankar
Web Services 1 Let us write our Web Services Part III 2 SOAP Engine Major goal of the web services is to provide languageneutral platform for the distributed applications. What is the SOAP engine? A (Java)
More informationTutorial: Developing a Simple Hello World Portlet
Venkata Sri Vatsav Reddy Konreddy Tutorial: Developing a Simple Hello World Portlet CIS 764 This Tutorial helps to create and deploy a simple Portlet. This tutorial uses Apache Pluto Server, a freeware
More informationGetting started with WebSphere Portlet Factory V7.0.0
Getting started with WebSphere Portlet Factory V7.0.0 WebSphere Portlet Factory Development Team 29 September 2010 Copyright International Business Machines Corporation 2010. All rights reserved. Abstract
More informationSession 9. Deployment Descriptor Http. Reading and Reference. en.wikipedia.org/wiki/http. en.wikipedia.org/wiki/list_of_http_headers
Session 9 Deployment Descriptor Http 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/http_status_codes
More informationJava SE7 Fundamentals
Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various
More informationWeb Application Development Using Spring, Hibernate and JPA
Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options:
More informationPROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/...
PROCE55 Mobile: Web API App PROCE55 Mobile with Test Web API App Web API App Example This example shows how to access a typical Web API using your mobile phone via Internet. The returned data is in JSON
More informationMigrating traditional Java EE applications to mobile
Migrating traditional Java EE applications to mobile Serge Pagop Sr. Channel MW Solution Architect, Red Hat spagop@redhat.com Burr Sutter Product Management Director, Red Hat bsutter@redhat.com 2014-04-16
More informationStefan Tilkov innoq Deutschland GmbH REST + JSR 311 Java API for RESTful Web Services
Stefan Tilkov innoq Deutschland GmbH stefan.tilkov@innoq.com REST + JSR 311 Java API for RESTful Web Services Contents An Introduction to REST Why REST Matters REST And Web Services JSR 311 Intro Demo
More informationUnderstanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018
Understanding RESTful APIs and documenting them with Swagger Presented by: Tanya Perelmuter Date: 06/18/2018 1 Part 1 Understanding RESTful APIs API types and definitions REST architecture and RESTful
More informationGetting started with WebSphere Portlet Factory V6
Getting started with WebSphere Portlet Factory V6 WebSphere Portlet Factory Development Team 03 Jan 07 Copyright International Business Machines Corporation 2007. All rights reserved. Abstract Discover
More informationSun Sun Certified Web Component Developer for J2EE 5 Version 4.0
Sun Sun Certified Web Component Developer for J2EE 5 Version 4.0 QUESTION NO: 1 To take advantage of the capabilities of modern browsers that use web standards, such as XHTML and CSS, your web application
More informationINF5750. RESTful Web Services
INF5750 RESTful Web Services Recording Audio from the lecture will be recorded! Will be put online if quality turns out OK Outline REST HTTP RESTful web services HTTP Hypertext Transfer Protocol Application
More informationJ2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.
J2EE Development Detail: Audience www.peaksolutions.com/ittraining Java developers, web page designers and other professionals that will be designing, developing and implementing web applications using
More informationWeb Application Development Using Spring, Hibernate and JPA
Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days Price: 1,995 + VAT Course Description: This course provides a comprehensive introduction to JPA (the Java Persistence API),
More informationCOURSE 9 DESIGN PATTERNS
COURSE 9 DESIGN PATTERNS CONTENT Applications split on levels J2EE Design Patterns APPLICATION SERVERS In the 90 s, systems should be client-server Today, enterprise applications use the multi-tier model
More informationWA2018 Programming REST Web Services with JAX-RS WebLogic 12c / Eclipse. Student Labs. Web Age Solutions Inc.
WA2018 Programming REST Web Services with JAX-RS 1.1 - WebLogic 12c / Eclipse Student Labs Web Age Solutions Inc. Copyright 2012 Web Age Solutions Inc. 1 Table of Contents Lab 1 - Configure the Development
More informationImplementing a Numerical Data Access Service
Implementing a Numerical Data Access Service Andrew Cooke October 2008 Abstract This paper describes the implementation of a J2EE Web Server that presents numerical data, stored in a database, in various
More informationREST Easy with Infrared360
REST Easy with Infrared360 A discussion on HTTP-based RESTful Web Services and how to use them in Infrared360 What is REST? REST stands for Representational State Transfer, which is an architectural style
More informationWeb Services Development for IBM WebSphere Application Server V7.0
000-371 Web Services Development for IBM WebSphere Application Server V7.0 Version 3.1 QUESTION NO: 1 Refer to the message in the exhibit. Replace the??? in the message with the appropriate namespace.
More informationSecuring REST using Oracle WebService Manager July 2013
Securing REST using Oracle WebService Manager 12.1.2 July 2013 Step-by-Step Instruction Guide Author: Prakash Yamuna Oracle Corporation Oracle Corporation Prakash Yamuna 1 Table of Contents 1 Getting Started...
More informationREST Web Services Objektumorientált szoftvertervezés Object-oriented software design
REST Web Services Objektumorientált szoftvertervezés Object-oriented software design Dr. Balázs Simon BME, IIT Outline HTTP REST REST principles Criticism of REST CRUD operations with REST RPC operations
More informationSECTION II: JAVA SERVLETS
Chapter 7 SECTION II: JAVA SERVLETS Working With Servlets Working with Servlets is an important step in the process of application development and delivery through the Internet. A Servlet as explained
More informationSession 9. Introduction to Servlets. Lecture Objectives
Session 9 Introduction to Servlets Lecture Objectives Understand the foundations for client/server Web interactions Understand the servlet life cycle 2 10/11/2018 1 Reading & Reference Reading Use the
More informationOracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)
Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Code: URL: D101074GC10 View Online The Developing Applications for the Java EE 7 Platform training teaches you how
More informationIntroduc)on to JAX- RS 3/14/12
JAX-RS: The Java API for RESTful Web Services Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Mr.Pongsakorn Poosankam (pongsakorn@gmail.com) 1 q Goals of JAX-RS q Creating resources q HTTP
More information1Z Java EE 6 Web Services Developer Certified Expert Exam Summary Syllabus Questions
1Z0-897 Java EE 6 Web Services Developer Certified Expert Exam Summary Syllabus Questions Table of Contents Introduction to 1Z0-897 Exam on Java EE 6 Web Services Developer Certified Expert... 2 Oracle
More informationIntroduction to JSP and Servlets Training 5-days
QWERTYUIOP{ Introduction to JSP and Servlets Training 5-days Introduction to JSP and Servlets training course develops skills in JavaServer Pages, or JSP, which is the standard means of authoring dynamic
More informationTeamcenter Global Services Customization Guide. Publication Number PLM00091 J
Teamcenter 10.1 Global Services Customization Guide Publication Number PLM00091 J Proprietary and restricted rights notice This software and related documentation are proprietary to Siemens Product Lifecycle
More informationWeb Application Development Using Spring, Hibernate and JPA
Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days Price: CDN$3275 *Prices are subject to GST/HST Course Description: This course provides a comprehensive introduction to JPA
More informationRESTful Services. Distributed Enabling Platform
RESTful Services 1 https://dev.twitter.com/docs/api 2 http://developer.linkedin.com/apis 3 http://docs.aws.amazon.com/amazons3/latest/api/apirest.html 4 Web Architectural Components 1. Identification:
More informationCHAPTER 7 WEB SERVERS AND WEB BROWSERS
CHAPTER 7 WEB SERVERS AND WEB BROWSERS Browser INTRODUCTION A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information
More informationTPF Users Group Fall 2007
TPF Users Group Fall 2007 z/tpf Enhancements for SOAP Provider Support and Tooling for Web Services Development Jason Keenaghan Distributed Systems Subcommittee 1 Developing Web services for z/tpf Exposing
More informationDistributed Systems 1
95-702 Distributed Systems 1 Joe Intro Syllabus highlights 95-702 Distributed Systems 2 Understand the HTTP application protocol Request and response messages Methods / safety / idempotence Understand
More informationPractice 2. SOAP & REST
Enterprise System Integration Practice 2. SOAP & REST Prerequisites Practice 1. MySQL and JPA Introduction JAX-WS stands for Java API for XML Web Services. JAX-WS is a technology for building web services
More informationSession 8. Introduction to Servlets. Semester Project
Session 8 Introduction to Servlets 1 Semester Project Reverse engineer a version of the Oracle site You will be validating form fields with Ajax calls to a server You will use multiple formats for the
More informationApplication Integration with WebSphere Portal V7
Application Integration with WebSphere Portal V7 Rapid Portlet Development with WebSphere Portlet Factory IBM Innovation Center Dallas, TX 2010 IBM Corporation Objectives WebSphere Portal IBM Innovation
More informationUIMA Simple Server User Guide
UIMA Simple Server User Guide Written and maintained by the Apache UIMA Development Community Version 2.3.1 Copyright 2006, 2011 The Apache Software Foundation License and Disclaimer. The ASF licenses
More informationEnterprise Java Unit 1- Chapter 3 Prof. Sujata Rizal Introduction to Servlets
1. Introduction How do the pages you're reading in your favorite Web browser show up there? When you log into your favorite Web site, how does the Web site know that you're you? And how do Web retailers
More informationImplementation Architecture
Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2014-11-19 Roman Kern (KTI, TU Graz) Implementation Architecture 2014-11-19 1 / 53 Outline 1 Definition 2
More informationUnraveling the Mysteries of J2EE Web Application Communications
Unraveling the Mysteries of J2EE Web Application Communications An HTTP Primer Peter Koletzke Technical Director & Principal Instructor Common Problem What we ve got here is failure to commun cate. Captain,
More informationSAS 9.2 Foundation Services. Administrator s Guide
SAS 9.2 Foundation Services Administrator s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2009. SAS 9.2 Foundation Services: Administrator s Guide. Cary, NC:
More informationAxis2 Tutorial. Chathura Herath, Eran Chinthaka. Lanka Software Foundation and Apache Software Foundation
Axis2 Tutorial Chathura Herath, Eran Chinthaka Lanka Software Foundation and Apache Software Foundation Overview Introduction Installation Client demonstration - Accessing existing endpoint Implementing
More informationRESTful -Webservices
International Journal of Scientific Research in Computer Science, Engineering and Information Technology RESTful -Webservices Lalit Kumar 1, Dr. R. Chinnaiyan 2 2018 IJSRCSEIT Volume 3 Issue 4 ISSN : 2456-3307
More informationSoftware Design COSC 4353/6353 DR. RAJ SINGH
Software Design COSC 4353/6353 DR. RAJ SINGH Outline What is SOA? Why SOA? SOA and Java Different layers of SOA REST Microservices What is SOA? SOA is an architectural style of building software applications
More informationAdvanced Topics in WebSphere Portal Development Graham Harper Application Architect IBM Software Services for Collaboration
Advanced Topics in WebSphere Portal Development Graham Harper Application Architect IBM Software Services for Collaboration 2012 IBM Corporation Ideas behind this session Broaden the discussion when considering
More informationCGI Subroutines User's Guide
FUJITSU Software NetCOBOL V11.0 CGI Subroutines User's Guide Windows B1WD-3361-01ENZ0(00) August 2015 Preface Purpose of this manual This manual describes how to create, execute, and debug COBOL programs
More informationCMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition
CMP 436/774 Introduction to Java Enterprise Edition Fall 2013 Department of Mathematics and Computer Science Lehman College, CUNY 1 Java Enterprise Edition Developers today increasingly recognize the need
More informationProgramming Web Services in Java
Programming Web Services in Java Description Audience This course teaches students how to program Web Services in Java, including using SOAP, WSDL and UDDI. Developers and other people interested in learning
More informationHTTP, REST Web Services
HTTP, REST Web Services Martin Ledvinka martin.ledvinka@fel.cvut.cz Winter Term 2018 Martin Ledvinka (martin.ledvinka@fel.cvut.cz) HTTP, REST Web Services Winter Term 2018 1 / 36 Contents 1 HTTP 2 RESTful
More informationOracle Service Bus. 10g Release 3 (10.3) October 2008
Oracle Service Bus Tutorials 10g Release 3 (10.3) October 2008 Oracle Service Bus Tutorials, 10g Release 3 (10.3) Copyright 2007, 2008, Oracle and/or its affiliates. All rights reserved. This software
More informationUser Plugins. About Plugins. Deploying Plugins
User Plugins About Plugins Artifactory Pro allows you to easily extend Artifactory's behavior with your own plugins written in Groovy. User plugins are used for running user's code in Artifactory. Plugins
More informationNotes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title
Notes Ask course content questions on Slack (is651-spring-2018.slack.com) Contact me by email to add you to Slack Make sure you checked Additional Links at homework page before you ask In-class discussion
More informationWeb Services Technical Reference
IBM WebSphere Business Connection Web Services Technical Reference Version 1.1.0 Note! Before using this information and the product it supports, be sure to read the general information under Notices on
More informationDESIGN PATTERN - INTERVIEW QUESTIONS
DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions
More informationDeveloping Applications with Java EE 6 on WebLogic Server 12c
Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need
More informationChapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.
Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: The IDE: Integrated Development Environment. MVC: Model-View-Controller Architecture. BC4J: Business Components
More information