1 XINS 1.5.0 features 101 new features of XINS 1.5.0. This presentation has 102 pages.

Slides:



Advertisements
Similar presentations
Chapter 6 Server-side Programming: Java Servlets
Advertisements

Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
OpusCollege and Spring-DM. OSGi based web applications – three strategies OSGi container embedded in another container: OSGi Bridge Server (OBS)  e.g.
SE 370: Programming Web Services Week 4: SOAP & NetBeans Copyright © Steven W. Johnson February 1, 2013.
Technical BI Project Lifecycle
Web Applications Development Using Coldbox Platform Eddie Johnston.
ANT: Another Nice Tool Ali Beyad October 1, 2003.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
Servlets and a little bit of Web Services Russell Beale.
1 HyCon Framework Overview Frank Allan Hansen and Bent Guldbjerg Christensen ! Run this presentation in presentation mode to watch animations.
DT211/3 Internet Application Development
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Microsoft ASP.NET AJAX - AJAX as it has to be Presented by : Rana Vijayasimha Nalla CSCE Grad Student.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Using Ant to build J2EE Applications Kumar
UNIT-V The MVC architecture and Struts Framework.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
Overview of JSP Technology. The need of JSP With servlets, it is easy to – Read form data – Read HTTP request headers – Set HTTP status codes and response.
CSE 403 Lecture 11 Static Code Analysis Reading: IEEE Xplore, "Using Static Analysis to Find Bugs" slides created by Marty Stepp
Unit Testing & Defensive Programming. F-22 Raptor Fighter.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Pittsburgh Java User Group– Dec Java PureFaces: A JSF Framework Extension.
RUG Australia meeting 2012 Feb 6, V Tiers & sequencing suppliers Tiers and sequencing and load balancing  Tiers = groups of suppliers.
MAVEN-BLUEMARTINI Yannick Robin. What is maven-bluemartini?  maven-bluemartini is Maven archetypes for Blue Martini projects  Open source project on.
PHP TUTORIAL. HISTORY OF PHP  PHP as it's known today is actually the successor to a product named PHP/FI.  Created in 1994 by Rasmus Lerdorf, the very.
AUTOBUILD Build and Deployment Automation Solution.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
DSpace UI Alexey Maslov. DSpace in general A digital library tool useful for storage, maintenance, and retrieval of digital documents Two types of interaction:
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
1 Thomas Lippert Senior Product Manager - Mobile What’s new in SMC 5.0.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
1 What’s the difference between DocuShare 3.1 and 4.0?
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
JSTL Lec Umair©2006, All rights reserved JSTL (ni) Acronym of  JavaServer Pages Standard Tag Library JSTL (like JSP) is a specification, not an.
Oracle Data Integrator Procedures, Advanced Workflows.
Chapter 6 Server-side Programming: Java Servlets
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
Eclipse 24-Apr-17.
Ganymede Simultaneous Release | © 2008 by Springsite B.V., The Netherlands made available under the EPL v1.0 Teneo Ganymede Simultaneous Release.
TOS / TIS Code Architecture Copyright © 2008 Talend. All rights reserved.
 Registry itself is easy and straightforward in implementation  The objects of registry are actually complicated to store and manage  Objects of Registry.
GOSS iCM Gary Ratcliffe. 2 Agenda Webinar Programme V10 Overview Version Information Supported Browsers Architectural Changes New Features.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
ICM – API Server & Forms Gary Ratcliffe.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
1 G52IWS: Example Web-services Chris Greenhalgh. 2 Contents Software requirements AXIS web service run-time components Getting started with Jetty & AXIS.
Overview of Servlets and JSP
1 Java Server Pages A Java Server Page is a file consisting of HTML or XML markup into which special tags and code blocks are inserted When the page is.
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring.
UpgradinguPortal to What’s new that matters Better use of third party frameworks Faster! Improved caching Drag and Drop New Skin & Theme Accessibility.
Text INTRODUCTION TO ASP.NET. InterComm Campaign Guidelines CONFIDENTIAL Simply Server side language Simplified page development model Modular, well-factored,
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
Google Code Libraries Dima Ionut Daniel. Contents What is Google Code? LDAPBeans Object-ldap-mapping Ldap-ODM Bug4j jOOR Rapa jongo Conclusion Bibliography.
Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영.
Lecture Transforming Data: Using Apache Xalan to apply XSLT transformations Marc Dumontier Blueprint Initiative Samuel Lunenfeld Research Institute.
SG Introduction to ANT scmGalaxy Author: Rajesh Kumar
UAB Requirements for 2016 Ivan Prieto Barreiro 18/04/2016 UAB Requirements for
An Introduction to Ant. What is Ant? How do you use it? Why would you want to?
CS520 Web Programming Spring – Web MVC Chengyu Sun California State University, Los Angeles.
Architecture Review 10/11/2004
Development Environment
Brian Leonard ブライアン レオナルド
UAB Development Status
5 Tips for Upgrading Reports to v 6.3
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Windows Forms in Visual Studio 2005: An in-depth look at key features
Presentation transcript:

1 XINS features 101 new features of XINS This presentation has 102 pages

2 API version ● Added the possibility to set a different version for an API. ● Just create a.version.properties in the apis\ directory.

3 API specific log system ● Log system can be defined at the API level allowing to have different log systems for different APIs started in the same Servlet container. ● log4j..rootLogger=... ● If not found log4j.rootLogger used as default.

4 logIgnorableException ● Added convenient utility method to log exceptions that should be ignored: – Utils.logIgnorableException(Throwable)

5 Supported methods ● Calling conventions can define which HTTP methods are supported. ● String[] getSupportedMethods() ● String[] getSupportedMethods(HttpRequest)

6 XML Element to Object ● Added utility method to fill an Object with an XML Element. – Useful for filling Result objects with data sections. ● Object BeanUtils.xmlToObject(Element, Object);

7 Object filler ● Copy the value of an object to another object. – Using the get and set method – Converting types whenever possible – Mapping of names possible – Useful for filling Request and Result objects – Useful with tools as String Framework or JPA ● Object BeanUtils.populate(Object source, Object destination)

8 Bug fixes ● Many bug fixes (probably more than 101) ● See changes file for more details

9 CallResultOutputter ● New public class CallResultOutputter. – This class will ease the custom calling convention to return a result similar to the XINS standard calling convention ● org.xins.server.CallResultOutputter

10 Calling Convention primer ● New tutorial to help you create a custom calling convention. ●

11 Links to API in categories ● Generated category pages have a link to the API in which it's defined.

12 Checked with updated tools ● XINS has been checked with the updated versions of the following analysis tools: – FindBugs – PMD 3.8

13 Checkstyle ● Check the style your Java code. – Creates the checkstyle HTML report for the implementation of the API. ● xins checkstyle

14 Code coverage ● Generates a unit test coverage report – uses Cobertura ● xins coverage

15 Conditional redirection ● In XINS FF, it's now possible to redirect to another page based on an XPath expression ● Admin MainPage

16 Control command with XSLT ● The command=Control returns HTML – Looks better than XML – Includes the links to manage the cache and the links to the meta functions

17 CVS Change log ● Generate the CVS report for the specified API. – Report is in HTML – /!\ There seems to be a bug with all non-US locales (in Ant) ● xins cvschangelog

18 Date utility method ● New utility method to convert a long to a human-readable date. ● String DateConverter.toDateString(long date)

19 Default attribute ● Added possibility to set a default value for a parameter or an attribute. – Only for optional parameters ● An example of input for an integer with a default value.

20 Documentation page ● Documentation is now on a separate page – Sorted in categories ●

21 Easter egg ● There is now an easter egg. It's very easy to find it, all you need to do is …

22 Eclipse integration ● Creation of an Eclipse project for an API – Much easier than doing it by hand – One project per API ● xins eclipse

23 Element to session ● Element objects which are stored in the XINS FF (front-end framework) session are returned in the data section.

24 Feature sheet ● XINS features list on one page. ●

25 FindBugs ● Analyse your API for bugs ● xins findbugs

26 XINS FF in core ● The xins front-end framework is part of the xins core (in server.jar) – But still a custom calling convention ● package org.xins.server.frontend

27 Full path for build dir ● All generated files that refer to the build directory, reference it using the full path. – Allows the execution of the script from other directories

28 Function.getName() ● getName() method of the Function object is now public.

29 Public Request and Result ● The generated Request and Result objects are now public – Allows the use of them as a container object – Allows the use of them with utility methods (like BeanUtils)

30 JMeter tests generation ● XINS can generate JMeter tests based on the examples provided in the function. ● xins jmeter

31 Equals Requests ● The Request object overrides the hashCode() and equals() methods. – Two similar requests are now equal – Useful for result caching

32 Generic debug log ● A new generic DEBUG log message has been added to ease logging. ● Log.log_1053(message);

33 Maven repository ● XINS will be submitted to the Maven repository – Ease of use with the dependencies ● xins xins 1.5.0

34 HEAD handling ● HTTP HEAD requests are handled according to the HTTP specifications. – using the internal Servlet container

35 XSLT handling ● reload.stylesheet has been added to correct an XSLT processor error that sometimes shows up. ● Also a bug with the XSLT transformation using the Ant version of Eclipse has been identified. The action to fix this problem has been documented in the user guide and the FAQ.

36 Improved Servlet Container ● Several improvements have been done in the internal Servlet container: – Handles different HTTP Methods – Better handling of HTTP headers – Clean-up of the code

37 XML Element faster ● Removed unneeded code in XML Element object – 5% improvement of the query on the _GetStatistics function at ERROR log level.

38 Installation Guide ● New installation guide – Shorter XINS primer ●

39 Installation in pf\xins ● Installation of XINS using the installer is now in c:\Program Files\xins – Correct place – Avoid multiple directories

40 JDK 1.5 support ● Use of generics if the code is compiled for Java 1.5 ● List listProduct();

41 JDepend target ● Generation of the dependency report for your API – HTML report ● xins jdepend

42 JMX support ● Java Management Extension support – Usable with HP OpenView – statistics – properties – list of functions – versions – NoOp and ReloadProperties operations

43 Java coding convention ● New document for coding convention ● a%20Coding%20Conventions%20- %20v1.0%20-%20July% pdf

44 Lint4J target ● Analyses your API for possible bugs ● xins lint4j

45 Local call to API ● Call an API using the XINS Client Framework without using HTTP – Just a Java method call – Uses the internal servlet container – Faster, avoids network overhead ● capis=service, file:////usr/MyApi.war, 2000

46 Maven target ● Creates the Maven file to describe your API. – From the Maven file, a lot of different targets can be called. ● xins maven – ->pom.xml in the api directory.

47 Control command ● More information is returned by the Control command in the XINS FF.

48 Added more unit tests ● More tests – New portal API in tests – HTTP compliance tests – Tests for new features

49 Sending files ● Added MultipartCallingConvention to the examples with the fileupload demo. – Directly send binaries over the network as specified with HTTP

50 NetBeans integration ● Improvements: – Copy project files for an existing API (added also in 1.4.2) – Specdocs in context menu. – Better profiler detection.

51 Checked with Lint4J ● XINS code has been analyzed with Lint4J tools for possible bugs.

52 Removed NPE ● A few exceptions were thrown when creating a CAPI. This has been fixed. – Easier to debug

53 Release notes in HTML ● The release notes file is available on the web site in HTML form. – Issues found after the release can be added – Looks better

54 PMD target ● New target to analyze the code of the API. ● xins pmd

55 Page number in ODT ● The generated OpenDocument Format has numbered pages. – Easy to read when printed

56 Param-combo in ODT ● The generated OpenDocument Format contains documentation of the param- combos or attribute-combos defined in the API.

57 Value dependency ● Added the possibility to require a parameter if another parameter has a specific value. – There are also other combinations (See example or user guide)

58 Rebranded ● Changed copyright to Orange Nederland Breedband BV. s changed

59 Regeneration of ODT ● The OpenDocument Format is regenerated when a function or a type changes.

60 xiff -> XINS FF ● Renamed xiff to XINS FF for xins front- end framework.

61 Result caching ● New article on how to do result caching – List advantages, drawbacks ●

62 JMeter run target ● Added possibility to run JMeter to measure the performance of your API from xins – Default uses the location of the generated JMeter tests ● xins -Djmeter.home=... run-jmeter

63 Session properties ● In the XINS FF, input parameters are set in the session only when the method is successful and the input fields are specified as input parameters.

64 Shared types ● Possibility to share types between APIs – Corporate types – Avoids errors – Reduces the number of files

65 HTTP 1.0 supported ● The internal Servlet container also supports HTTP 1.0 – Used by WebMethods

66 OPTION * supported ● The HTTP request “OPTIONS *” will return the full list of supported methods

67 Tested by other teams ● Cap Gemini using WebMethods – Used the WSDL/SOAP/opendoc targets ● Axioss

68 Ant 1.7 Beta support ● Tested with Ant 1.7 Beta – Found and fixed problem.

69 Java SE 6 ● Tested with Java SE 6 (rc-b90 – rc-b99). – No problems found

70 This presentation ● features presentation

71 Tomcat for Eclipse ● Tomcat files needed for Eclipse are generated – No need to copy the WAR file manually after every build

72 Updated examples ● Added some of the new features to the examples

73 Upgraded libraries ● HTTPClient ● Log4J

74 Upgraded docbook ● Documentation generated with XSLT docbook version

75 WSDL without input ● WSDL file can be generated even if the function doesn't have any input section.

76 Dir with spaces ● XINS works when installed in a directory with spaces in the name

77 Hex type ● New type for binaries – _hex –

78 _list type ● New _list type for a list of text items

79 _set type ● New _set type for a set of text items

80 _userAgent session ● It's possible to get the HTTP user agent in XINS FF using the _userAgent session property.

81 _inputs session property ● The list of the input parameters sent to the XINS FF is available in the _inputs session property.

82 Compilation version ● New build property “build.java.version” to specify the Java version used at runtime. – Default the same as the one used to compile ● build.java.version=1.4

83 callxins task ● New Ant task to call a xins API. – Returned values are stored in Ant properties ● Peter -> foo.message=”Hello Peter” where foo.message is a new Ant property.

84 API information public ● getBootstrapProperties() and getFunctionList() public in API.java

85 build release improved ● nodocs and nomanuals properties to skip the generation of the documentation ● -init-release used for release related targets

86 Java2html target ● Generates the HTML pages of the API implementation source code. ● xins java2html

87 Improved code coverage ● Generated log files are no longer taken into account in the code coverage of XINS.

88 Request and Result as beans ● The Request and Result object are Serializable to better fit the Java beans specification – Used for data binding

89 set method with object ● a set method with object for primitive types is also generated – Before: setApproved(boolean approved) – Now: setApproved(boolean approved) and setApproved(Boolean approved)

90 Test with NetBeans ● Test target for API is now compatible with the NetBeans IDE. – Uses NetBeans UI for result

91 Front-end framework documentation ● New document explaining the XINS Front-end Framework. ●

92 XINS FF fixes ● Fixed several possible problems in the XINS FF: – Possible null pointer when no command specified – Param-combo generated a HTTP 500 error

93 xins task ● Call a xins target using the xins task – Generates build.xml if needed ●

94 Tested with Web Logic ● Tested with Web Logic and Java 1.3.

95 Detection of multiple input ● The calling convention will detect if an input parameter is passed more than once in the request and return HTTP 400 Bad request in such case.

96 Logging in XINS FF ● Logging in the XINS FF uses logdoc

97 HTTP correctness ● Correct HTTP error code returned if the HTTP method used for the request is incorrect (like unknown HTTP method).

98 Updated online examples ● Demos on the web site are using xins 1.5

99 New flash demo ● Available on Google – Using NetBeans

100 Log.java in correct dir ● The Log.java file is now generated in the correct directory – Eclipse was showing warnings about it

101 Relative file for XSLT ● Loading XSLT using the XSLTCallingConvention can locate relative XSLT files.

102 XINS FF tested in real application ● XINS FF has been used for the migration of an application containing about 20 pages – Help to detect bugs in the framework – Help to detect improvement areas in the framework – Help in testing the framework